Page 66 - 软件工程与项目管理
P. 66
软件工程与项目管理
Software Engineering & Project Management
通常的做法是使用 project 或者在 excel 中绘制甘特图跟进项目进展。在这种情况
下,如何准确地评估出项目排期,并且如何有效地保证项目各阶段的进展是我们
需要思考和解决的问题。根据项目管理知识体系的五个过程组:启动阶段、计划
阶段、执行阶段、控制阶段、收尾阶段的工作内容,我们只有把每个阶段的任务
都按时完成,才能保证后面的环节不会顺延。由于大量的工作任务落在计划、执
行、控制阶段,所以这里主要针对这几个阶段的工作内容来分析哪些常见问题会
影响项目进度。
(一)需求分析
1. 需求确认
洽谈需求时,不论是甲乙方公司合作的情况,还是自己公司内部主导做的
项目,最好有项目经理和研发负责人一起在场聆听需求,这样可以从技术角度大
致判别该项目的可行性,如果是非产研部门单独与需求方洽谈,很容易拍脑袋答
应一个交付时间,给产研部门制造难题。由于软件项目的需求特点通常是模糊的,
首先应当仔细领会需求方的真正意图,去伪存真,然后将这些需求进行整理加工,
我们可以利用快速原型法做一版设计 demo 拿给需求方确认,哪里有不合适可以
及时修正。这样才能保证项目整体的走向不偏离轨道。经用户初步确认的需求,
一般需要与产研部门开需求评审会,同步具体要开发的功能模块,确定最终要做
的功能模块。会后还有关键的一步是:要与需求方及主要干系人有正式的书面确
认,可以是纸质版签字,如果是异地合作的部门或团队也可以邮件确认最终需求。
好的开始是成功的一半,如果没有准确的理解用户的需求,以及具体要做什么不
做什么,后续可能浪费了大量时间做的都是无用功。
2. 需求变更
由于软件项目的开发过程逐渐清晰,实施过程中需求方随时会提出需求变
更,比如今天想把A功能增加A1子功能,刚做完A1功能又提出想把A变成B功能。
如果不约束需求变更流程,任由需求方不断提出新的想法,团队成员不断地接受
修改,不但会导致原工期延迟,还有可能做出来的结果跟需求评审确定的设计不
一致。需求变更可以说是对项目进度影响最大的因素,ISO9000 认证和 CMM 认
证也都十分强调对需求的变更控制,所以我们在开头就要确定好规则:需求一旦
确定尽量不变,如果要变必须遵循需求变更流程。这个约定可以写在甲乙双方的
合约里,自己公司内部做的项目就约定在项目立项的相关文件中。需求方每提出
56
56

