聊聊外包和远程项目的敏捷管理(合辑共7篇)
这是鼎叔的第五十一篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。
欢迎关注本专栏和微信公众号《敏捷测试转型》,大量原创思考文章陆续推出。
第四个合辑完工了,咱们介绍了外包管理或远程项目如何敏捷交付,满足管理层预期。
外包项目主要分为项目外包,计件外包和人力外包,它能给公司带来运营成本下降,补充重要技能,缩短获取市场的时间等多个好处,但是带来的严重问题也很多,比如技能有限,人员流失快,效率较低,管理事故等等。本合辑从外包项目和团队的建立过程和管理机制开始简单介绍,然后重点分享了提升测试管理效能的实践经验,如关键角色和对接模式,技能类型分工,外包管理系统及度量,风险把控等知识。
最后,针对ODC建设与远程管理,本章给出了组织及能力层面的敏捷改善心得和真实范例,这些也适用于多地联合研发的敏捷管理。
之前三个合辑可以看这里:聊聊提升用户体验的评测方案(合辑共8篇),聊聊团队能力培养与创新氛围(合辑共17篇),聊聊探索式测试理论与实践(合辑共9篇)
1 聊聊多地点团队的敏捷研发
随着全球化和信息技术的发展,以及疫情的助推,多地点“分布式研发”成为新常态,给项目管理者带来很大的新挑战。即使团队分布在多个不同的地点,各种经典敏捷实践活动都是适用的。
2 聊聊远程项目交付的敏捷管理
对于日益重要的国际化市场,越来越多的离岸项目(内包或外包)在进行中,即需求方/客户在A地,开发团队在B地甚至海外。这种情形下,常见的敏捷实践活动也都是适用的。敏捷和精益关注的是价值观和原则。价值观也是文化的一部分,因此需要和离岸团队交谈并学习如何共同工作才能建立。本文内容也适用于任何远程项目的敏捷管理。
对于远程项目,关键的不足在于缺少致力于理解和应用敏捷价值观的利益相关方(即客户和管理层),因此,我们要教导真正客户和真正开发者之间通过反馈循环进行紧密而持续的协作。所有利益相关方的思维模式和行为要为了敏捷而改变。
3 聊聊CMM/CMMI认证的反敏捷
对于传统软件行业的QA(过程改进)和PM人员,CMM/CMMI知识是基本要求,但是在推行敏捷的组织中,CMM/CMMI并不被接受,甚至和敏捷转型理念背道而驰。CMM/CMMI如果作为一个过程改进的知识框架,本身并不会和敏捷研发产生冲突,但这篇文章我们会关注CMM/CMMI行业认证中的反敏捷之处。QA人员也可以对比思考,如何在组织中选取更符合敏捷价值观的实践方案。
4 聊聊技术外包的价值和团队组建
测试团队通常是企业外包实践的主力部门,基于鼎叔多年的实践经验,本篇会展开聊聊,外包的分类和价值,如何选择合适的外包敏捷管理模式,以及如何组建外包团队。提高敏捷交付效率,满足商业目标。内容也适用于其他岗位的外包团队。
测试工作繁重,在业务快速发展的同时,把部分测试任务外包出去,既可以降低管理成本和快速扩张的风险,又可以快速承接任务,同时让核心成员专注做更有价值的工作。
5 聊聊技术外包的风险与定位
外包团队的建设和管理虽然看着比较简单,但是实际运作时还是会感觉效率不高,经常出现一些意外问题,甚至让投资外包的公司管理层不甚满意。
而内部员工和外包,各自做哪些测试类型的分工是最合适的,有利于各自长期发展?
6 聊聊外包团队的高效管理机制
对于大规模的外包团队,需要一个易用的外包管理OA系统,才能提高日常交付效率。同时,我们也在探索哪一种外包交付的对接模式运作更为高效。
7 聊聊远程技术中心的高效建设(真实案例)
随着外包团队规模的扩大,以及安全和效率管控的需求,越来越多的外包项目采用ODC场地办公模式(Offshore Development Center),国内的外包行业把甲方公司以外建设的技术中心统称为ODC,而跨国企业通常把ODC定义为跨国的离岸技术中心。本文引用国内的ODC概念,泛指远程技术中心。
在上节介绍的外包高效管理经验之上,我们进一步阐述如何让ODC远程管理更加完善。
总结:针对远程团队外包交付,或者多地联合研发的项目,敏捷测试理念和实践方法都是适用的,下面是给这类项目团队的提效建议汇总。
1)如无必要,尽可能减少研发的地点数量,据行业数据统计,多地联合研发项目的平均效能是单地点研发的一半。
2)迭代规划一定是围绕产品的增量交付,而不能为每个联合开发的地点单独安排迭代。这时本书介绍的持续测试和验收测试驱动开发等实践就能发挥关键作用。所有团队聚焦在最高优先级的待办条目上,这样的投入产出效率是最高的。
3)每个地点的研发团队最好都是一个或多个相对独立的特性团队,分而不散,尽量减少彼此的交付依赖。
4)尽可能不要按职能来安排各地点的研发分工,比如把测试团队安排在地点A,把开发团队安排在其他地点;也不要把公共基础组件放在单独的地点。这种安排会让团队直接的沟通协作变得极为错综复杂,如果团队隔着多个时区,更会陷入低效的噩梦状态。各个团队尝试和其他地点的专家结对学习和远程视频技术评审,逐步掌握原先不熟悉的测试工具和能力,真正具备独立工作的交付水平。
5)当团队不得不分散时,每个地点配备好加强彼此沟通的设备,流畅的网络,在多个会议室布置便宜易用的视频设备和软件,所有团队在共享Wiki上记录和更新有争议的内容。尝试着在初期让所有团队飞到一个地点一起工作几个迭代,建立真正的信任关系。在迭代的回顾会议上可以增加不同层次的回顾内容,比如按地域进行回顾:针对某地团队的工作环境和资源情况回顾。
6)多地点团队交流时,可以通过共享的词汇来创造共通的团队文化。尝试在大项项目开始前组织一场“产品愿景研讨会”,绘制共同的业务领域视图,一同认知产品未来的发展蓝图和重大特性。
7)不建议盲目购买昂贵的商业敏捷工具用于多地联合研发,尽可能挑选简单的免费协作软件。商业工具可能会拖慢多地研发,因为要频繁申请预算,购买许可和远程认证,不利于团队发展的频繁需求定制和本地化部署。
8)把远程的用户卷入到研发之中,让他和工程师及产品经理可以直接建立联系,清晰地知道我们敏捷研发运作的机制。可以邀请客户参与迭代重要会议和验收测试,增加他对远程项目的信心。
9)多地研发团队建立健康平等的合作关系,切记不要“某地负责管理,其他团队负责远程开发”。如果是跨国团队协作,开多地会议时不要总是安排某个团队不方便的时候,关注彼此的公共假期。尽可能把一整套以客户为中心的完整特性让一个单地域团队承担,但是接近客户的其他团队可以帮助其进行详细的需求分析。
10)鼓励远程外包团队说不,当团队发生问题时,甲方应过去拜访合作伙伴,实地寻找根本原因,而不是依赖所谓的“质量规范”粗暴要求其整改。
相关文章:
聊聊外包和远程项目的敏捷管理(合辑共7篇)
这是鼎叔的第五十一篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。欢迎关注本专栏和微信公众号《敏捷测试转型》,大量原创思考文章陆续推出。第四个合辑完工了,咱们介绍了外包管理或远程项目如何敏捷交付,满足管理层预期。…...
2023-2-15 刷题情况
检查「好数组」 题目描述 给你一个正整数数组 nums,你需要从中任选一些子集,然后将子集中每一个数乘以一个 任意整数,并求出他们的和。 假如该和结果为 1,那么原数组就是一个「好数组」,则返回 True;否则…...
汉诺塔递归算法精讲
文章目录前言一、汉诺塔是个啥?二、手动解法三、解法抽象四、递归解法五、总结前言 递归算法是计算机算法中的基础算法,也是非常重要的算法,从某种程度上讲,它有一点儿AI的影子。人脑是可以完成递归思路的,但是对不起…...
vue的$nextTick的原理
参考:https://cloud.tencent.com/developer/article/1633546 总结一下:就是$nextTick将回调函数放到微任务或者宏任务当中以延迟它地执行顺序;(总结的也比较懒👶) 重要的是理解源码中它的三个参数的意思&a…...
前端学习第一阶段——第五章CSS(下)
5-9 浮动 08-浮动导读 09-传统网页布局三种方式 10-为什么需要浮动 11-什么是浮动 12-浮动特性-脱标 13-浮动特性-浮动元素一行显示 14-浮动特性-浮动元素具有行内块特性 15-浮动元素经常搭配标准流的父元素 16-浮动布局练习1 <!DOCTYPE html> <html lang"en&quo…...
基于django搭建简单的个人博客
文章目录第一步、在Ubuntu中安装虚拟环境并进入第二步、安装blog所需要的包,在requirements.txt中安装mysqlclient可能会报错,输入下列命令后在安装即可成功第三步、创建好数据库,把测试数据导入第四步、修改DjangoBlog包中 settings中数据库…...
JVM解释器与JIT编译器如何并存?
[1] JVM解释器 JVM设计的初衷仅仅只是为了满足Java程序实现跨平台特性,因此避免采用静态编译的方式直接生成本地机器指令,从而诞生了实现解释器在运行时采用逐行解释字节码的执行程序。 解释器真正意义上所承担的角色就是一个运行时“翻译者”࿰…...
生产者消费者模型
目录 一、生产者消费者模型的概念 二、生产者消费者模型的特点 三、生产者消费者模型优点 四、基于BlockingQueue的生产者消费者模型 4.1 基本认识 4.2 模拟实现 一、生产者消费者模型的概念 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题 生产者和…...
mysql索引--实例
学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…...
浅聊一下,可中断锁(ReentrantLock)
前言 今天早上上厕所,上的我痔疮犯了,屁股一坐下去就感觉一根针在刺我,得的是外痔,之前还坚持用痔疮膏来着,但是感觉涂药的那个姿势以及位置我实在无法忍受,就把它给断了,到头来还是屁股糟了罪&…...
关于Arcgis林业数据处理的62个常用技巧
一、计算面积 ( 可以帮我们计算小班面积 ) 添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED --》把下面的代码输入,然后在最下面 处写 OUTPUT 点击 OK 就 OK 了。 Dim Outp…...
一些NLP术语
一些NLP术语pre-training(预训练)fine-tuning(微调)下游任务Few-shot Learning(少样本学习)Prompt?(自然语言提示信息)二级标题三级标题pre-training(预训练&…...
Session详解,学习 Session对象一篇文章就够了
目录 1 Session概述 2 Session原理 3 Session使用 3.1 获取Session 3.2 Session保存数据 3.3 Session获取数据 3.4 Session移除数据 4 Session与Request应用区别 4.1 Session和request存储数据 4.2 获取session和request中的值 4.3 session和request区别效果 5 Sess…...
Java——不同的子序列
题目链接 leetcode在线oj题——不同的子序列 题目描述 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新…...
Git 基本操作之Git GUI界面和git命令行如何选择
1. 为啥推荐使用git命令行 我发现公司有很多的同事都喜欢使用git的GUI界面工具,喜欢鼠标点点点就完成了代码的提交,这种方式的确是比较简单便捷,但是却存在风险。先上一个事故给大家醒醒脑。 VScode Git 界面操作引发的惨案 上面的惨案是VS…...
Python编程 动态爱心
作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 目录 前言 一.所用库 1.random简介 2.math 简介 3.tkinter库的简介 二.实际图 三.…...
JavaScript :基础语法
位置: HTML 中的 Javascript 脚本代码必须位于 <script> 与 </script> 标签之间。 JavaScript 输出方式 window.alert() 弹出警告框。document.write() 将内容写到 HTML 文档中。innerHTML 写入到 HTML 元素。console.log() 写入到浏览器的控制台。 …...
buu [AFCTF2018]Single 1
题目描述: Jmqrida rva Lfmz (JRL) eu m uqajemf seny xl enlxdomrexn uajiderc jxoqarerexnu. Rvada mda rvdaa jxooxn rcqau xl JRLu: Paxqmdyc, Mrrmjs-Yalanja mny oekay. Paxqmdyc-urcfa JRLu vmu m jxiqfa xl giaurexnu (rmusu) en dmnza xl jmrazxdeau. Lxd …...
Linux C++ 200行完成线程池类
文章目录1、atomic使用2、volatile关键字3、条件变量4、成员函数指针使用5、线程池6、主线程先退出对子线程影响7、return、exit、pthread_exit区别8、进程和线程的区别1、atomic使用 原子操作,不可分割的操作,要么完整,要么不完整。 #includ…...
C语言指针剖析(初阶) 最详细!
什么是指针?指针和指针类型野指针指针运算指针和数组二级指针指针数组什么是指针?指针是内存中一个最小单元的编号,也就是地址。1.把内存划分为一个个的内存单元,一个内存单元的大小是一个字节。2.每个字节都给定唯一的编号&#…...
AcWing语法基础课笔记 第三章 C++中的循环结构
第三章 C中的循环结构 学习编程语言语法是次要的,思维是主要的。如何把头脑中的想法变成简洁的代码,至关重要。 ——闫学灿 学习循环语句只需要抓住一点——代码执行顺序! while循环 可以简单理解为循环版的if语句。If语句是判断一次…...
A simple freeD tracking protocol implementation written in golang
可以使用的go版本freed调试代码 可以通过udp发送和接收数据 What is freeD? freeD is a very simple protocol used to exchange camera tracking data. It was originally developed by Vinten and is now supported by a wide range of hard- and software including Unreal…...
简约精美电商小程序【源码好优多】
简介 一款开源的电商系统,包含微信小程序和H5端,为大中小企业提供移动电子商务优秀的解决方案。 后台采用Thinkphp5.1框架开发,执行效率、扩展性、稳定性值得信赖。并且Jshop小程序商城上手难度低,可大量节省定制化开发周期。 功…...
全网详解 .npmrc 配置文件:比如.npmrc的优先级、命令行,如何配置.npmrc以及npm常用命令等
文章目录1. 文章引言2. 简述.npmrc3. 配置.npmrc3.1 .npmrc配置文件的优先级3.2 .npmrc设置的命令行3.3 如何设置.npmrc4. 配置发布组件5. npm常用命令6. 重要备注6.1 yarn6.2 scope命名空间6.3 镜像出错1. 文章引言 今天在某低代码平台开发项目时,看到如下编译配置…...
从0开始学python -31
Python3 模块-1 在前面的几个章节中我们基本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。 为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互…...
Jenkins的使用教程
介绍: Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 目的: 最重要目的就是把原来分散在各个机器上繁杂的工作全部…...
1.Maven的坐标和依赖
【maven坐标】1.groupId: 通常与域名反向一一对应2.artifactId: 通常使用实际项目名称3.version: 项目当前版本号4.packaging:maven项目的打包方式,默认是jar5.classifier: 定义构建输出的一些附属构件,例如:nexus-indexer-2.0.0.…...
Jenkins 笔记
Jenkins brew install jenkins-lts brew services restart jenkins-lts brew services stop jenkins-lts b999ff5683464346b6d083f894968121 l 软件构建自动化 :配置完成后,CI系统会依照预先制定的时间表,或者针对某一特定事件,…...
Python和Java语言,哪个更适合做自动化测试?
经常有测试新手问我:Python和Java语言,哪个更适合做自动化测试?本来想简单的回答一下的,但又觉得对不起大家对小编的信任。因此,小编今天专门写了一篇文章来回答这个问题。欢迎各位大佬补充~1、什么是自动化测试&#…...
互联网的路由选择协议
互联网的路由选择协议 文章目录互联网的路由选择协议路由选择协议的几个概念分层次路由选择协议内部网关协议RIP协议距离向量算法RIP协议的报文格式内部网关协议OSPFOSPF的报文格式✨OSPF的特点外部网关协议BGPBGP的报文格式参考本篇主要讨论的是路由表中的路由是如何得出来的。…...
网站建设公司北京/seo网站推广是什么意思
在使用 GridControl 的时候经常需要添加右键菜单。一般的做法是自己创建菜单项,然后注册GridView的Mouse-Click事件,然后Show出定义好的菜单。但是涉及到一些单击事件会收到编辑器编辑状态影响,所以Mouse-Click事件不好用。 幸好,…...
兼职做任务赚钱的网站有哪些/最新搜索引擎排名
1638: [Usaco2007 Mar]Cow Traffic 奶牛交通 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 618 Solved: 217[Submit][Status]Description 农场中,由于奶牛数量的迅速增长,通往奶牛宿舍的道路也出现了严重的交通拥堵问题.FJ打算找出最忙碌的道路来重点整治. 这个牧区包括一个…...
交互式网站开发技术包括/app数据分析软件
Intel Driver and Support Assistant 以下简称 Intel DSA。 Intel DSA 依赖 Microsoft Visual C 2015-2019 Redistributable (x86),以下简称 vc_redist.x86。 我电脑上安装的 cv_redist.x86 版本是 14.23.27820,但 Intel DSA 的安装器(Intel-…...
wordpress 网站锁/网站建网站建设网站
本文实例讲述了jQuery超简单遮罩层实现方法。共享给大家供大家参考,详细如下:在开发中,为了避免二次提交,遮罩层的运用越来越普遍看了很多代码,下面跟大家共享一下我认为最简单的遮罩层实现方式:1.风格如下…...
什么自己做网站吗/代做关键词收录排名
1、JSP页面 <a href"javascript:void();" id"PicName" > 选择图片</a> <input type"file" id"fileToUpload" name"fileToUpload" ><!--需要设置name属性值,不然上传不了 --> <butto…...
怎样用微信做购物网站/网络营销案例范文
昨天帮人看了一个界面小程序代码,是用python写的,用的是tkinter库。我是macOS Catalina10.15.5,我python是3.6.6用的是pyenv安装的虚拟环境。导入tkinter库的时候出现了错误“ModuleNotFoundError: No module named ‘_tkinter”,…...