WBS是交付成果导向的项目工作分解结构。那我们首先要寻找什么是我们的交付成果。
这个问题使我想起了面向对象技术中的一个问题,那就是如何寻找类和对象。寻找类和对象的前提是,我们对系统进行了需求分析。根据需求分析的结果,
1. 遍历需求有关文档
2. 寻找所有的名词,形成候选的类与对象清单。
3. 清理掉那些重复与无意义的候选者
4. 确定剩下的类和对象之间的相互关系
5. 将他们按照主题组织起来
重复上面的过程,你就可以找到系统的对象结构,你就可以进行进一步的动态结构建模。
面向对象系统的关键问题,对象原来是这样找出来的。那么项目管理的关键问题,可交付成果其实也是这样来的。
你首先要搞清楚什么是你寻找的起点。然后根据起点,执行一个寻找过程,你就可以基本上找到你的可交付成果了。
什么是你的起点呢?
首先你应该将你的目光聚焦在你的客户上,因为你所做的所有事情,他是买单的人。他说的话、他发给你的邮件、正式给你的文档、他要求做的报告、他要求你交付的东西就是你的起点。
你应该将与客户有关所有的东西组织起来。
从这些材料中,你应该:
1. 遍历所有这些材料
2. 寻找到有关的名词,建立你的候选交付成果清单
3. 清理掉那些重复的、无意义的候选者
4. 分析剩下的哪些是你要交付的客户的
5. 分析客户是否让你将某些东西打成包一起交给他,这样你可以对这些交付成果进行归类
6. 按照主题进行收集这些交付成果,以便方便你进行组织
你如果执行上面这个过程,你就可以大致建立一个初始的WBS。你要知道,WBS是你和客户之间对要提交什么东西给他的约定,所以你应该与他达成一致。
上面这个过程,最好是你与你的团队一起去做,这样可以保证所有人对项目的可交付成果都有一个清楚而且共同的认识。
这是WBS的最基本也是最核心的部分,我们来举几个例子:
例子一:
客户要求开发一个车队跟踪系统,对车队的每一台车跟踪其状态、路线。开发周期2010-4-5日至2010年9月15日。
客户要求交付需求分析文档、设计书、程序、手册,并负责安装与培训,以及为其2各月的维护工作。
那我们大致可以知道WBS的构成如下:
车队跟踪系统
需求分析文档
设计书
程序
手册
安装
培训
维护
项目管理
其中安装、培训、维护是客户要求交付的,也是可交付成果。
例子二:
客户要求完成一个大型COBOL系统的迁移工作,该系统原来在主机平台上,现在要迁移到AS400为基础的小型机平台,功能原封不动的使用RPG再实现。
该系统一共有20000个画面,分成14个子系统,客户将这14个子系统分成4个部分进行迁移。
客户要求提供迁移计划,计划获得批准后,要交付RPG系统的整体设计、每个部分的概要设计,以及每个画面的详细设计,以及最终的软件、测试计划与测试结果。但不负责有关安装、培训等工作。
按照上面的要求,我们可以大致得到WBS如下:
**系统迁移
迁移计划
整体设计
部分1
概要设计
子系统1
子系统2
子系统3
子系统**
详细设计
子系统1
子系统2
子系统3
子系统**
程序
子系统1
程序1
程序2
程序3
子系统2
子系统3
子系统**
测试
测试计划
测试结果
程序1
程序2
程序3
部分2
部分3
部分4
从上述两个思路,我们能够比较快的建立项目的WBS核心,在此基础上,我们就可以比较简单的将项目给管理起来。