俗话说,“计划赶不上变化”,可是在软件开发项目中,少了计划,就必将面临许多意想不到的变化。将实际情况与计划进行实时对比,就可以尽早发现偏差,及时纠正,降低项目失败的风险。这个计划,在项目管理中被称为计划管理过程。
案例聚焦
一个有两年软件开发项目管理经验的刘某,曾经负责某商场的CRM系统的软件研发工作,项目本身规模相对较小,但当时项目的主要困难是工期要求紧张。刘某根据经验,认为只要让每个人清楚自己的工作,各负其责,迅速投入研发,尽快完成编码,到时候把所有模块组装起来就应该没什么问题,没必要浪费人力、精力、时间在编写项目计划上。于是,大家简单沟通后便启动项目。
在整个软件研发过程中,大家一直都很忙碌,编码工作在一天天进行,表面上看起来也没有任何异常。通过大家的共同努力,在项目的收尾阶段,编码工作基本完成。于是,项目经理组织进行实施前的准备工作。这时候,项目启动初期没意识到的问题、没有足够重视的问题都不约而同地爆发了,如系统联调卡壳、Bug层出不穷,在测试时需要同时纠错,而事先没有预留这步工作的时间;安装打包工作没有进行,文档没有编制,这需要调整人员应急处理,而当时没有计划这部分工作。结果,所有人乱作一团,如果按照原工期要求,即使全员通宵达旦赶进度,也已经无法按时完成,无奈之下只能延迟进场。
事后,刘某反思得出结论,如果能在项目初期制定开发计划,界定工作范围,分解所有任务,就不会出现任务遗漏的现象;如果能在计划中制定项目阶段目标,按阶段控制项目偏差,及时纠正,就不会出现没有时间修改大量程序Bug的问题,也不会到最后一刻,才暴露出隐藏的各种各样的问题,从而产生延误工期的现象等。
经过调整,综合分析后续剩余工作,刘某制定了详尽的工作计划,并且严格按照计划实施执行,终于保证项目在许可的时限内完成任务。
从此案例可以看出:一个清晰可行的项目计划,对项目的顺利执行,影响重大。
项目计划做什么?
项目计划内容可以用3W+2H来简单描述,所谓3W+2H,就是What、Who、When、How to do、How Much Money,也就是项目准备做什么?由谁来做?什么时候做?怎么去做?花费多少?
在软件开发项目管理过程中,做计划的具体思路是:首先要确定项目工作范围,其次要清楚定义工作责任划分,接下来是定义项目活动,最后对项目活动进行排序和历时估计。
当制订项目计划文档时,以上四部分内容应该被清楚地描述。
分解工作
确定项目工作范围是为了有效完成项目目标。一般常用工作分解结构(WBS)的方法来实现,确保找出完成项目工作范围的所有工作要素,同时描述可交付成果和其组成要素的具体内容。
有了明确的工作范围,在项目执行中,如果某个工作不包括在工作分解结构中,则该工作就会被排除在项目执行范围之外。
当然,任何项目不是只有惟一一个正确的工作分解结构。工作分解结构一般用图表形式表达,当前常用的有两种:分级的树型结构和缩进图表。缩进图表类似于分级的图书目录,它能反映出项目的所有工作要素,相对树型结构直观性较差,但应用比较多,因为有些项目分解后,内容分类很多、容量很大,使用缩进图表示比较方便。
分级的树型结构类似于组织结构图,表达起来层次清晰,非常直观,结构性较强。
总之,两种表达方式各有千秋,可以根据实际情况选择使用。如图所示,是一个分级的树型结构的简单示例。
划分职责
接下来,需要划分工作责任,通常利用责
项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~
http://www.leadge.com/pmqhd/index.html