梦断代码阅读笔记十
第9章 方法
从Chandler 项目的最早期开始,卡普尔就坚持要做诚实、现实的计划和进度安排。但项目在满足进度方面却拥有不佳的记录:平均6个月能发布一个版本,但计划却总假设应在3 、4 个月内完成一个版本。部分原因或许是在软件开发和其他领域中计划总是超出了能预见的范围。
Chandler项目的软件开发者很少成组地共同开发一系列项目:他们不太像运动队或是军队单位,也不太像合唱团,而更像是专才们为制作一部电影而临时组合然后解散,再重新为下一部电影组合起来。每次到新团队中开始做新项目时,他们大概还是会按下”重置”按钮, 根据某些首要原则设计出一套新的工作流程。
结构化编程的主要规则:“程序的每一层都该自成一体。”
为了摆脱软件制作的焦油坑,无数软件实行者在不断探索。只有个体开发者为个人工作制定计划并遵循,项目才有控制和管理的基础。想法是好的,但往往很少有人将之付诸于行动。软件的速度和质量造成人月神话的恶性循环,但是质量是保证软件继续发展的前提。
汉弗里在IBM 执行强制进度纪律的成功基于两条原则:
计划是强制性的;
计划必须符合现实情况——“从底向上”,依据那些负责按计划执行的程序员的经验和知识而来,而不是“从顶至下”,靠管理者拍脑袋或对市场的期望而来。
在SEI,汉弗里和同事们创建了软件成熟度模型(Capability Maturity Model, CMM ), 作为一种衡量软件开发组织品质的准绳。
浙公网安备 33010602011771号