美国着名软件工程专家勃姆(b.w.boehm)在总结软件工程准则和信条的基础上,于 1983
年提出软件工程的 7 条基本原则,也是软件项目管理应该遵循原则。勃姆认为,这 7 条原
则是确保软件产品质量和开发效率的原理的最小集合,相互独立但结合得相当完备。
用分阶段的生命周期计划严格管理。统计表明,不成功的软件项目中约有一半左右源
自计划不周。本原则意味着,应该把软件生命周期划分成若干阶段,相应地制定出切实可
行的计划,然后严格按照计划对软件的开发与维护工作进行管理。勃姆认为,在软件的整
个生命周期中应该制定并严格执行 6 类计划,即项目概要计划、里程碑计划、项目控制计
划、产品控制计划、验证计划、运行维护计划。不同层次的管理人员必须严格按照计划各
尽其职地管理软件开发与维护工作,绝不能受顾客或上级人员的影响而擅自背离预定计划。
坚持进行阶段评审。软件的质量保证工作不能等到编码阶段结束之后再加以实施,其
理由为:第一,大部分错误始于编码之前;第二,错误的发现与修改时间越晚,需要付出
的代价就越高。因此,本原则意味着,在软件开发的每个阶段应该进行严格的评审,以便
尽早发现软件开发过程中的错误。
实行严格的产品控制。软件开发过程中不应随意改变需求,因为改变一项需求往往需
要付出较高的代价;但是软件开发过程中改变需求又在所难免,基于外部环境的变化而出
现改变用户需求的情况是一种客观需要,而且迅速应对客户的需求变更是顾客本位的内涵
之一。在这种情况下,只能依靠科学的产品控制技术来顺应这种要求。当改变需求时,为
了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置
管理。所谓基准配置又称基线配置,它们是经过阶段评审后的软件配置成分(各个阶段产生
的文档或程序代码)。基准配置管理也称为变更控制:一切有关修改软件的建议,特别是涉
及到对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后才能实施修
改。避免开发人员对软件随意进行修改。
采用现代程序设计技术。从提出软件工程的概念开始,人们一直把主要精力用于研究
各种新的程序设计技术。从 60 年代末提出的结构程序设计技术到最近的面向对象技术,
人们不断创造先进的程序设计技术。实践表明,采用先进的技术既可提高软件开发的效率,
又可提高软件维护的效率。
结果应能清楚地审查。与其他有形产品不同,软件是看不见摸不着的逻辑产品。软件
开发人员的工作进展情况可见性差,难以准确度量,从而使得软件产品的开发过程比一般
产品的开发过程更难以评价和管理。为了提高软件开发过程的可见性,更好地进行管理,
应该根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得
所得到的结果能够清楚地审查。
开发小组的人员应该少而精。该原则意味着,软件开发项目的组成人员的素质应该好,
而人数则不宜过多。开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因
素。素质高的人员的开发效率比素质低的人员的开发效率可能高几倍至几十倍,而且素质
高的人员所开发的软件中的错误明显少于素质低的人员所开发的软件。此外,随着开发小
组人员数目的增加,因为交流问题而造成的沟通成本也急剧增加。因此,构建和维持少而
精的开发团队甚至标杆团队是软件工程的一条基本原理。