首页 > 代码库 > 现代软件工程 练习与讨论 第十五章 稳定和发布阶段

现代软件工程 练习与讨论 第十五章 稳定和发布阶段

对电脑控制的丹佛机场行李系统做Postmortem总结

 

首先,这是典型的软件项目开发失控的例子,甲乙双方都是有实力而且有丰富项目经验的公司,但却最终导致了项目失控,可从以下几个方面找原因:

 

1,在项目开始前的需求和目标不明确导致在施工过程中,后加需求。比如,“丹佛市决定建设一个全机场范围的集成自动化行李处理系统,替代各家航空公司自行建设的方案”;这里忽略了当时机场的基础设施中缺少安装行李系统所需的足够空间以及建筑结构无法承受行李系统所附加的重量等问题,盲目的进行开发。因此,锁定需求:一开始就必须锁定最终需求,与客户(可以是老板、上级、同事或真正的外部客户)谈妥之后,要形成需求文本,约定需求考核点、可投入资源以及出现需求变更时的处理原则。以文本形式确认最终需求的考核点等内容,可以避免很多误会和扯皮,并为应对不可控因素埋下伏笔。 

 

2,出现结构性问题和施工次序不当,在施工之前,没有一个系统的准确的分析,明确这样一个庞大项目的各个子项目施工顺序,应遵循先易后难,想简单后复杂,前期工作是为了后期打基础,避免后期工作在施工时,又要回头先做前面没有完成的部分,导致项目无法按时完结。

 

3,贪大求全,需求控制失效。“丹佛市决定建设一个全机场范围的集成自动化行李处理系统,替代各家航空公司自行建设的方案”,这个决定的本身就缺乏科学的考量和调研,我想这与那位市长追求政绩,好大喜功有不可分割的关系,一个需求的提出,不是拍脑门,而是经过一系列内部与外部的,结合实际情况的过程,科学求证出来的,盲目的需求会导致一系列重大问题,甚至灾难性的后果,赔了夫人又折兵。

现代软件工程 练习与讨论 第十五章 稳定和发布阶段