【说明】
王先生刚出任项目经理,并承接了一个中型软件项目。上任时公司高层再三叮咛他一定要尊重客户,充分满足客户需求。项目开始比较顺利,但进入到后期,客户频繁的需求变更带来很多额外工作。王先生动员大家加班,保持了项目的正常进度,客户相当满意。
但需求变更却越来越多。为了节省时间,客户的业务人员不再向王先生申请变更,而是直接找程序员商量。程序员疲于应付,往往直接改程序而不做任何记录,很多相关文档也忘记修改。很快王先生就发现:需求、设计和代码无法保持一致,甚至没有人能说清楚现在系统“到底改成什么样了”。版本管理也出现了混乱,很多人违反配置管理规定,直接在测试环境中修改和编译程序。但在进度压力下,他也只能佯装不知此事。但因频繁出现“改好的错误又重新出现”的问题,客户已经明确表示“失去了耐心”。
而这还只是噩梦的开始。一个程序员未经许可擅自修改了核心模块,造成系统运行异常缓慢,大量应用程序超时退出。虽然最终花费了整整3天的时间解决了这个问题,但客户却投诉了,表示“无法容忍这种低下的项目管理水平”。更糟糕的是,因为担心系统中还隐含着其他类似的错误,客户高层对项目的质量也疑虑重重。
随后发生的事情让王先生更加为难:客户的两个负责人对界面风格的看法不一致,并为此发生了激烈争执。王先生知道如果发表意见可能会得罪其中一方,于是保持了沉默。最终客户决定调整所有界面,王先生只好立刻动员大家抓紧时间修改。可后来当听说因修改界面而造成了项目一周的延误后,客户方原来发生争执的两人这次却非常一致,同时气愤地质问王先生:“为什么你不早点告诉我们要延期!早知这样才不会让你改呢!”王先生委屈极了,疑惑自己到底错在哪里了。
从上面的案例中可以看到各种变更失控的现象和造成的后果,那么王先生主要犯了哪些错误呢?
【问题1】
请说明上述情况中存在着哪些问题?
【问题2】
请说明上述情况可能会导致什么样的后果?
【问题3】
请说明完整的变更处置流程。
参考答案:
【问题1】
请说明上述情况中存在着哪些问题?
答:
1.没有对项目进行整体管理,没有制定详细的项目管理计划,并对之进行有效控制。
2.项目的变更控制出现了问题,每一次的变更都应该严格按照变更程序进行,即遵循申请、评审、批准、执行、评估、记录的变更原则。
3.项目的沟通出现了问题,在与用户的沟通中只是一味地退让,没有将调整需要花费的成本和时间代价也同时告知用户,并为他们分析其中的利害关系,最后让用户来解决是牺牲时间和成本来进行调整,还是维持现状或是在不影响全局的情况下进行微调。
4.项目的进度控制出现了问题,没有对每一次的变更进行项目计划及进度的更新。
5.项目的风险管理没有做好,没有对每一次变更进行风险识别、分析、制定相应对策和控制。
6.没有做好版本的控制管理。
【问题2】
请说明上述情况可能会导致什么样的后果?
答:
1.没有整体管理,将会导致整个项目失控,不能成功完成任务。
2.没有严格执行变更控制流程,导致后续产生了太多的需求、设计和代码无法保持一致,甚至没有人能说清楚现在系统“到底改成什么样了”,致使整个项目失败。
3.在项目沟通上,由于沟通不畅通,会使项目组陷入吃力不讨好的局面,导致整个项目不能在规定的项目约束内完成。
4.在项目的进度控制上,不能在规定的时间内交付成果,项目失败。
5.在风险管理上,没有规避可能的风险,没有有效的控制风险,最后让风险搞垮了项目。
6.缺乏版本管理,会导致项目版本失控。
【问题3】
请说明完整的变更处置流程。
答:
变更处置流程一般按照以下几点来操作:
第一步:申请。需要变更的时候,需要及时以书面的形式提出变更申请。
第二步:评审。提出变更申请之后,由专门的变更控制委员会评审。
第三步:批准。变更控制委员会在审查通过后,发出变更通知。
第四步:实施。按照变更通知实施变更,实施的做好监控。
第五步:评估。实施完成后,评估变更结果。
第六步:记录。把变更过程记录存档。