上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
原则10 做好抛弃的准备
PLAN TO THROW ONE AWAY
对一个项目来说,最关键的成功因素之一,是它所涉及的领域是否是全新的。在全新领域(可能涉及应用程序、体系结构、接口、算法等)研发的程序很少能第一次就成功。弗雷德·布鲁克斯(Fred Brooks)在《人月神话》中明确建议:“无论如何,你一定要做好抛弃的准备。”这个建议最初由温斯顿·罗伊斯(Winston Royce)在1970年提出,他说一个人应该做好准备—第一个被完整部署的系统,往往是第二个被创建的系统。第一个系统至少可用于验证关键的设计问题和操作概念。此外,罗伊斯建议,应该使用大约25%的资源开发这样的预发布版本。
作为一个全新定制产品的开发人员,在开始全面开发之前,要规划开发一系列“一次性原型”(见原则11、12和13)。作为商用大规模系统的开发人员,可以预期第一个版本的产品在一定年限内将能够被修改,之后它将被完全替换(见原则185、186、188和201)。作为产品的维护者,请注意,在程序变得不稳定以至于必须被替换之前,你对程序可以调整的地方还有很多(请参阅相关原则186、191、195和197)。
Royce,W.,"Managing the Development of Large Software System,"WESCON'70,1970;reprinted in 9th International Conference on Software Engineering,Washington D.C.:IEEE Conputer Society Press,1987,pp.328-338.