软件研发过程是一个跨职能团队协作的过程,通常涉及项目线、产品线、技术线、质量保证线等各个职能部门或小组之间的协调和交互。随着团队成员的增多以及业务系统复杂性的提升,跨职能团队的协作和交互过程中信息的有效传递和维护,或者说“信息的透明性”日益成为研发过程中的一个瓶颈,信息透明化是否完善很大程度上影响着研发过程的结果。本文从研发的范围和时间出发,介绍这两个特定领域在Redmine这一特定平台下的表现形式和透明化管理的操作方式,并探讨基于该平台的团队协作和流程。
一. 范围和时间基本概念
在经典项目管理知识领域中,项目管理通常追求以下三个方面的平衡:
软件行业中,“成本”这个概念普遍没有像传统行业那么直观,所以我们重点关注的是“范围”和“时间”。范围和时间同样涉及方方面面的内容,本小节从“信息的透明性”角度出发,关注如何剖析信息透明在这两个领域之中的表现形式以及如何对这些表现形式进行抽象以便能够将其映射到实际的工作流程中。
1. 范围的透明化
范围的信息透明通常采用的手段就是两个字:分解。项目管理中“WBS”就是如何进行范围分解的有效手段,当然分解的方式和结果也是根据组织会有所不同,我们可以采用需求(Requirement)->模块(Module)->功能(Function)->活动(Activity)分四级对范围进行分解,参考下图(注意下图中功能与活动之间的对应关系可以是1对1,即功能不需要再分解就可以作为活动;也可以是1对多,及功能需要再次分解才能成为活动):