8月24日,ONES 研发管理大师课第三期课程正式开课。ONES 联合创始人兼 CTO 冯斌老师,分享了《大型软件团队高效协作的方法和实践》。借助「价值增长飞轮」这一概念,他剖析了大型软件团队如何实现业务价值的飞速增长。
以下是冯斌老师分享的核心内容。
软件研发协作过程中的问题
我们先来分析软件团队协作过程中经常出现的问题。
下图展示的是问题背后的原因,不同颜色代表不同原因,比如,深蓝色代表质量问题,绿色代表需求的变更。
综合来看,如何提高目标匹配率、提高工作效率、保证质量、降低返工率等是我们做研发管理时比较关注的问题。总结成一句话,我们希望在保证效率、提升效率的同时,更好更快地产出业务价值。
大型软件团队的价值增长飞轮
那么,如何做到保证效率的同时又更好更快地产出业务价值呢?
软件团队,特别是大型的软件团队,在协作的过程中,要保证团队的高效以及价值输出,需要三个重要的管理方法——目标管理、组织管理、端到端数字化项目管理,我把它称为大型软件团队的「价值增长飞轮」。接下来,我来对「价值增长飞轮」进行深入讲解。
目标管理:
团队需要对目标形成一致的认知和共识,聚焦目标,如果目标偏离过大,再优秀的执行也难以产出价值。那么管理者应如何制定目标呢?有以下几个不可忽视的步骤:
全局思维,俯视当下,规划未来。例如,在敏捷流程里,我们不单只是表达要做什么,同时也要表达业务价值。
定五年方向,做三年规划,执行一年目标。我们不单只是看短期的目标,更要坚持长期主义。
优先规划「增加业务价值」的目标,后期再规划「减少成本」的目标。
组织管理:
典型的组织架构分为「职能型」与「业务型」,不同的组织设计反映的是组织的资源分配和团队协作方式。职能型,例如前端组、后端组、测试组、产品组,这就是职能型组织架构的特点;业务型更多是关注业务的闭环,例如,一个功能需要产品、研发、测试、运维等多个团队的协作才能成功发布,为了实现相同目标把这些角色放在一个团队内,这就是业务型组织架构。
需要注意的是,「职能型」与「业务型」组织架构并不是静态的,根据团队的具体情况,可能会同时存在两种组织架构。当团队规模增加速度超过50%,管理者应当机立断,调整组织架构;同时,组织架构的设计也是灰度的,两种架构可以混合使用。我在和很多客户的交流里发现,绝大多数的团队组织架构设计都是灰度的。
加强团队文化建设同样重要,关键在于清晰定义团队价值观,并能够自上而下地贯彻执行。相同的价值观、行为差异小,是协同效率的基本保障。
端到端数字化项目管理:
大型团队的项目管理往往会遇到目标无法对齐、团队缺乏创新、流程繁琐等问题,这需要通过建立端到端的数字化项目管理方案来解决。
目标对齐:
舍九取一,做优先级最高的任务。我们经常开玩笑说,世界这么大,需求那么多,不可能都做完。当我们真正对齐目标后,就会发现许多优先级较低的需求,是不一定要做的。因此,我们一定要聚焦目标,找到最高优先级的任务去做。只有聚焦最优先目标,才能把最大资源投入进去。这里的「聚焦目标」最难之处在于,就算有10件事情都很有价值,我们也需要找出1件最有价值的事情,将另外9个都舍弃掉,做优先级最高的任务。
使用量化优先级,对所有任务进行排序。在 ONES 项目管理工具的实践中,我们会通过优先级对任务进行排序。排序结束以后,最上面的任务就是最高优先级,也是应该先完成的。在这个情况下才能和组员共享这个任务的优先级,并且进行对齐。
团队创新:
为成员提供上下文信息,为创新提供土壤。我们只有将信息共享,让每个成员都有上下文的信息,他们才有机会通过这些信息去思考如何更好地解决问题。
信息透明带来安全感,激发能动性。沟通的时候无法避免有很多新消息,所以,不知道就不敢说;不敢说,就不敢想;不敢想,就无法做出创新。信息透明带来的安全感非常重要,当我们信息对齐的时候,安全感自然而然也会加深。
信息与知识的沉淀,提升协作效率。通过在线协同的软件,把我们的知识沉淀下来以后,可以随意翻阅,有助于提升协作效率。
流程标准化:
工作流程标准难以落地,究其原因可以总结为:执行成本高、流程标准限制了创新能力、团队成员养成新习惯周期过长等。那么如何解决呢?有以下几个思路:
剃刀原理:精简流程,将不必要的流程剃掉。
流程标准保证下限,如实现70%即可,并不需要精确管控。
将流程标准固化到工具当中,实现自动化。
那我们具体如何将标准落地呢?
- 第一步,建立标准文档,这是基础。
- 第二步,基于工具建立模板,固化到工具中。下图就是 ONES 系统在处理某一类工单时的工作流。大家可以看到,每一个状态的流转,都是需要在满足不同角色和准出标准的情况下才能到下一个环节。这个就是所谓的把标准流程固化到工具里。
持续改进:
量化反馈是有效复盘改进的前提,而足够的项目数据则是量化的前提。通过一站式的研发管理工具,统计和分析研发全流程产生的效能数据,能够更加客观、科学地度量团队效能,复盘改进任务,并将其按照优先级排入任务列表中,实现持续循环改进。
下图是很经典的 PDCA 循环图。当我们去复盘相关的改进任务时,可以把它汇入到待办列表里面;在待办列表里确定它的优先级,并最终形成一个循环,达到解决问题的状态。
综上所述,「目标管理」、「组织管理」、「端到端的数字化项目管理」这三个「飞轮叶片」是相互依赖、相互推进的关系。当三个叶片同时推动,大型团队的业务价值才能快速地提升,实现业务增长。
- Q & A -
Q1:老师在讲到价值增长飞轮的时候提到了目标。那对于大型软件团队来说,团队的目标应该是自下而上制定还是自上而下制定呢?
冯斌老师:不同的情况下要做不同的决策。例如,在确定因素比较多的情况下,自上而下地确定目标会是更高效的方法;如果不确定因素比较多,高层有想法,同时,基层员工也根据自己的想法提供反馈与建议,最后双方再进行对齐。所以,自下而上的方法或许更加有效。
其实,在很多软件团队里,都会看到两种方式的结合。就像是 OKR,管理者有自己的思考,并且向下传递,同时基层员工也有创新的想法,两边进行对齐、综合,这是一个更好的做法。
Q2:我们公司是大型集团,应用软件非常多,而且总是买新的软件,要如何解决这个过程中产生的信息孤岛问题呢?
冯斌老师:这个问题产生的原因之一,是这些系统覆盖的面比较小,它只能解决一个小的事情。还有就是开发能力或是回调能力还不够强等等。
如何解决呢?两个方法。第一,我们要找到一整套的解决方案。一开始,ONES 做的一站式研发管理工具就是有价值的,因为在研发过程当中,有很多问题是连在一起的。所以,一个一站式的解决方案,能更好地把信息聚拢在一起,达到数字化程度;第二,产品必须有一定的开放性,拥有丰富的 API 接口。有了这些工具作为基础后,就可以去解决数据孤岛的问题以及治理这些数据,将有价值的数据进行建模,并且收集上来。
Q3:前段时间我们公司承接了一个软件项目,开发团队也按照需求的规格说明书进行了开发,并且完成了所有功能的实现。但是客户在验收的过程中却说这与他们想要的产品差距非常大,这种问题应该怎么去避免呢?
冯斌老师:我们应该通过类似敏捷的方式,尽早给到客户一个可用的产品,获取反馈后,再去沟通交流、修正。在研发这个可用的产品过程中,优先级也起到很大的作用,什么事情先做、后做,都要排序。其实,没有人可以将最初的需求和最终的产品精确地对应起来,都是要通过每一步的迭代、沟通、修正,才可以交付一个有价值的产品。
ONES 研发管理大师课第一季课程还在继续,「研发效能度量的行业趋势及五项精进」「500强企业提升效能实践」等课程即将上线。