提高软件研发团队效能是一个持续的过程,想要快速提高效能的实践几乎都是以失败告终。
利用自动化减少重复性工作
把工作中技术含量较低,经常重复出现的事务进行自动化,把员工时间节省下来,去做更有价值和挑战性的工作。
把员工从重复机械性的工作中解放出来,可以大幅提高员工的工作满意度,从而在更有挑战性的地方有更多的产出。
利用自动化加强反馈机制
把工作自动化之后,可以减少人员之间的工作依赖,可以大幅加快迭代速度,让很多工作前置。
测试人员可以随时获取最新的构建版本,加快测试效率。
可以更早的发现分支合并冲突,更加方便的发现代码中的质量问题。
同时自动化也是团队知识沉淀的有效方式,可以大幅减少人员流动带来的负面影响。
提高信息传递密度
如果一个事情需要反复多次沟通才能完成的话,效率必然是低下的。
如果可以让每个事情的所有信息都集中在一个地方,可以大幅提高信息传递的密度和质量。
我们可以使用文档作为主要的信息传递媒介,然后把任务,缺陷,接口管理,沟通等系统的内容集成进来。
我们可以为每个时间建立一个沟通频道,从而保证沟通内容的聚焦。
保护研发人员的专注力
让研发人员有连续的时间进行工作,避免碎片式的工作安排。连续的时间可以让研发人员进行深入的思考,从而产生高质量的代码。
在现实中真正十万火急,需要立刻处理的工作很少,大多数工作晚处理几个小时几乎不会有影响。而碎片化的工作安排,只能让研发人员进行简单和表面的工作。
即时消息和共享日历对于需要高度集中思考的工作来说会保护专注力。
让员工系统性地掌握知识
利用搜索引擎,技术问答社区会非常方便地找到问题答案,但是会造成知识碎片化,不系统化的问题。
让员工系统化地掌握所需知识通常可以产出更高质量的代码,我们可以通过建立学习文化来改善这点。
从工具上来说,我们可以将相关的知识系统整理,打包成书籍的形式,在日常的沟通,文档中引用相关内容,从而诱发员工去阅读书籍。
利用研发行为数据改进薄弱环节
我们要避免定义一些指标作为研发绩效的目标,容易把团队带入局部最优,数据作假的状态。
我们需要尽可能地收集员工的研发行为数据,然后定期分析,从而找出改进点,制定改进计划,持续改进。
避免对下属的主观评价
由于人的精力有限,加上下属的表演天赋不同,作为主管很难做出对下属正确的评价。
我们应该更依赖研发行为数据的收集和事后分析,以及员工之间的互评机制。