作为一个描述开发任务分解的可视化工具,WBS能直观地展现一个项目全貌,清晰地用树形图表(或其它逻辑图形)来表示各工作任务之间的相互联系,详细说明为完成项目所必须完成的各项任务的计划工具。同时,它在图表上直观的标注和定义里程碑事件,这可以作为项目状况的可视化工具向高层报告项目完成情况。当项目结束时,还可以是项目绩效衡量的量化依据。因此,它能帮助项目经理把工作任务图形化和显影化,也能更直观的管理和评价开发工作的绩效。
(1)初期作用:图形化项目任务规划
WBS是面向可交付成果的一组工作任务,这些任务定义了工作范围,未在WBS中包括的工作任务就不属于开发的范围。WBS树形图每下降一层就代表对项目工作更加详细的定义和描述。因此,可视化的可交付成果工作分解可以防止遗漏项目的可交付成果,这能帮助项目经理直观的关注项目目标和明确职责。
(2)项目计划时:使项目进度表一目了然
可视化的WBS能帮助改进时间、成本和资源估计的准确度。软件开发是个庞大的项目,过程控制主要是体现在执行过程中的时间进度控制,而WBS能把开发计划过程图形化,能在图形上标注各阶段投入的资源和达到目标所用的时间。通过图表化的树形结构能把大任务分解成多个小任务,使可视化的项目可交付成果一目了然。因此,这种可视化的WBS方法不但能更加精确估算工作量和分配工作,并且能更加细密的跟踪,而且也有利于按质按量的在规定时间内完成任务。
(3)WBS可视化有利于多方沟通
在软件开发过程中,一般要历时一段时间,这会涉及到大量的资源和人员。因为原先设想的开发环境会随着项目进展发生很大的变化,这时就非常需要一个简洁高效的沟通工具。而图表化的WBS能把开发过程中的各类信息通过显形化、图象化表现出来,这就使得用户和各方参与者有了一个简洁易懂的信息沟通联接器。
(4)明确划分和落实人员职责
WBS分解的核心思想之一是体现在人员职责的明确划分和落实,这正是图表化WBS的强项之一。责任到人是软件开发管理的核心,软件开发中最怕的就是“没人认账,没人负责”。要避免这个问题的出现,就要在每一层次WBS分解过程中都考虑到人员责任的划分和归属,尽可能每一个最底层的节点任务都有唯一责任人(或部门)相对应。
(5)有利于全过程进度监控
开发管理很重要一点就是在确保质量的前提下做好进度监控,进度滞后的软件项目是许多项目经理心中永远的痛。因此,无论是小的开发项目还是大的开发项目,进度控制是一个重要的工作。当应用可视化WBS时,由于任务结构划分一目了然,进度监控自然也就能一目了然。
而且当开发项目规模越大时,可视化WBS就更重要了。通过查看WBS图形(如用不同的颜色区分),项目经理就能在项目过程中及时了解项目实际进展,并与进度计划进行比较,对出现偏差的原因和影响进行分析,及时找出调整方法并对原计划进行变更,如此不断循环,就按计划进行项目验收。
怎样制作软件开发的可视化WBS?
许多资深开发人员都会认为“没有WBS,就没有软件开发管理”。因此,如何制定正确的可视化WBS就成为软件开发管理的核心过程。构建可视化WBS有很多不同的方法,对于软件开发管理比较成熟的软件公司,针对不同类型的开发项目都有不同的可视化WBS模版供项目经理参考。这里与大家分享我制定项目开发的可视化WBS的过程。
(1)列出树形图表化的目标任务清单
目标清单(Working List)是开发活动需要产出的工作结果,可以是开发最终交付成果的组成部分,也可以是开发中间过程的阶段性结果。目标清单有大有小,有的相互关联,有隶属的关系,但核心一点是要列出树形结构图表。在列出开发工作清单的过程,可以是头脑风暴的方法,由项目组成员和资深技术专家共同完成。在分解项目目标时,如果有现成的模板应该尽量利用,这样可以大大提高工作效率。
(2)画出图形化的工作任务分解结构图
针对项目目标进行任务分解得到WBS,然后画出图形化的WBS的层次结构图。简单说,是将主要项目可交付成果细分为更小的、易于管理的工作包,工作包必须详细到可以对该工作包进行估算(成本和历时)、安排进度、预算、分配负责人员或部门。如果有必要,可建立一个树形的逻辑编码系统。最后,需要不断地对可视化的WBS更新或修正,直到覆盖所有工作。
(3)画出图表化的人员职责分解结构图
当可视化WBS中的工作任务确定了后,这时就需要对完成任务的责任人也用图表化来明确。例如,具体明确由那些人来完成哪些任务,将得到什么样的可交付成果。因为人员职责的图表结构化也是可视化WBS的一个特点,也是关键的一步。
(4)建立图表化的WBS字典
一般来说,如果WBS含有数百(或数千)条详细的活动,那么各方人员沟通和理解就是一件繁重的工作。在这种情况下,把所有重要信息放入一个图表化的WBS字典中会有好处,因为图表化的WBS字典会对项目范围和工作任务清晰的定义发挥着的重要作用。
总之,可视化的WBS能体现出开发任务、人员职责的明确划分和落实。它是贯穿开发全过程的一条主线,能将开发计划、过程控制、业绩评价串联起来形成有效的管理。简单说,就是可视化WBS是把一个比较复杂的软件开发项目逐步分解为比较简单的过程, 让原来看起来不可控的一件事情变得清晰直观和可控。