软件开发基本原则(一)—— 策略和因素 1 概 述 时间 -- 成本 -- 质量(或特性)是评价软件项目成败的三个关键指标,这三个指标之间相互影响和制约,形成了所谓的“项目管理三角形”
要提高质量或增加特性意味着成本和时间的增加,或两者都增加;要在时间不变的前提下缩减开发成本或成本不变的前提下缩减时间则意味着质量的下降或特性的削减
图 1-1 项目管理三角形 上述分析其实只是理论上的“理想平衡”状态
现实工作中往往出现的情形是:要么时间超过计划,要么成本超过预算,要么质量达不到要求,要么三个指标都达不到预期
典型例子: 由于客户的压力需要尽量缩减开发时间,由于企业间的竞争和盈利压力需要尽量节约成本,因此需要一个人做两个人的工作,一个月做两个月的工作,同时压缩需求分析、设计、测试、评审和项目会议等活动
可想而知,即使软件的构建阶段能够按时完成,但做出的软件质量是难以保证的
更糟糕的还在后面:由于质量的低劣,构建阶段结束后对系统进行集成测试时,很多问题就会暴露出来:对某些需求的理解有误差,导致这部分功能要重新分析、设计、编码和测试;架构设计缺乏整体思维导致系统不同模块各自为政,产生大量重复的难以维护的代码;编码太仓促导致一大堆的 Bug;沟通不畅顺导致模块接口不兼容„„从而项目被带入了修改无限循环地带,即使勉强上线发布,修改还是一直持续,直至最后,没有人再敢接近这套代码,对这个项目谈虎色变
软件开发项目有其自身规律和原则,只有遵守其原则并付诸相应的实践才可能使项目健康稳定地前进
本文讲述的是软件开发的基本原则,它是通用的,几乎适用于所有的软件开发项目
不同项目可以根据自身特点在原则的指导下定义相应的项目开发实践
2 策略和因素 2
1 总体策略 要避免混乱低效的开发,就要求每个人能够放弃他们自己的一些坏习惯,通过采取以下四种策略实现快速开发: 1、 避免典型错误 2、