工作分解结构(WBS)就是将项目的工作按照既定的设计进行分解成更细节的工作任务,将这些工作任务分配到项目团队的每一个人的日常工作中,这些任务不能再继续分解了,这些任务易于实现,方便跟踪。我们经常利用甘特图来描述任务,以及任务所需要的时间和人员。
工作分解结构分为管理部分和技术部分,管理部分将会议、定期沟通纳入到工作分解结构中去管理,技术部分,则是将目标可交付成果分解成为工作任务,工作分解结构有不同的分解方法,根据项目的不同类型采用不同的模式,一般产品按照产品的组成部分,项目找阶段来进行分解。制定工作分解结构的工作主要有:
1、根据项目目标的可交付成果,识别项目的主要阶段和主要技术组成部分,这是工作分解的第一层。例如传统的软件项目技术部分按照生命周期首先分为启动阶段,执行阶段和验收阶段,执行阶段分为需求、设计、开发和测试。项目的监控属于管理部分。本层面主要能够看到项目的阶段组成部分和完成目标需要做那些阶段工作。如果采用敏捷的方式,计划则是另外一种模式,定义好总迭代计划和本次迭代的Backlog和开发计划。
2、定义每一个阶段的阶段可交付成果,然后将近期的可交付成果,再利用一到二层分解到一周或二周内每天可以完成的细节工作包程度,即详细程度不可再细分,并可以估算出人月成本和工作历时,这样可以容易做到绩效测量和考核。本层面就是说明了工作的具体内容,并且也能说明先后次序。这些可交付成果是满足高层的所有工作的,同时也是可以向上组合成高层的工作任务的,即可以核实分解的正确性的。总之,这些工作构成的是项目的范围。
3、分解完工作任务以后,估算好完成的时间,同时也要检查任务和其他任务的关系,是否有实现先后顺序的冲突。如果是项目内,先后关系还相对好处理,如果是项目集中的项目先后关系就复杂多了,如果项目中的一个功能要等待另外一个项目的一个系统功能,所涉及的影响面比较大,需要项目经理能够从更高的层次上来审视项目。
4、将细节的工作任务分配到人来执行,实际的情况是,分解任务的工作是有团队共同完成的,在分解的过程中会出现很多冲突、妥协和平衡,一切不能想当然。分解完成的时候,也基本对个人角色所承担的工作任务达成了一致,大家对分配到自己的工作也表示认同,这是非常关键的一步,要不计划就发布不出去。
最后将计划形成可视化的文档,将计划发布出去,形成近期工作的计划基线。如果是复杂的计划,还会包括工作分解结构词典,一般包含工作包描述、进度计划、成本预算和人员安排等。工作分解结构是一项实践性工作,在实际工作中不能纸上谈兵,是考研团队执行能力,个人能力的重要工作。