原则10 计划扔掉一个
principle 10 : plan to throw one away
One of the most important critical success factors for a project is whether it is entirely new.Programs that tread on brand new territory(whether it be with respect to application, architecture, interface, or algorithm) rarely work the first time.Fred Brooks, in his Mythical Man Month, makes this perfectly clear with his advice, “Plan to throw one away; you will anyway.”This advice was originally presented by Winston Royce in 1970, when he said one should plan for the first fully deployed system to be the second one created.The first should at least check out the critical design issues and the operational concept.Furthermore Royce recommended that such a prerelease version should be developed with approximately 25 percent of the total system development resources.As a developer of a new custom product, plan to build a series of throwaway prototypes(Principles 11, 12, and 13)before embarking on the full-scale product development.As a commercial high-volume developer expect that your first product version will be able to be modified for a certain period of years, after which it will need to be fully replaced(related Principles 185, 186, 188, and 201).As a maintainer of a product, be aware that you can fiddle with the program just so much before it becomes unstable and must be replaced (see related Principles 186, 191, 195, and 197).
一个项目最重要的关键成功因素之一是它是否全新。踏上全新领域的程序(无论是在应用程序、体系结构、接口或算法方面)很少在第一次运行。弗雷德·布鲁克斯(Fred Brooks)在他的《人月神话》一书中明确提出了这一点:“计划扔掉一个;反正你会“。这条建议最初是由温斯顿·罗伊斯在1970年提出的,当时他说一个人应该计划将第一个完全部署的系统变成第二个系统。首先,至少应该检查关键的设计问题和操作概念。此外,Royce建议这样的预发布版本应该使用大约25%的系统开发资源来开发。作为新定制产品的开发人员,在开始全面的产品开发之前,计划构建一系列一次性的原型(原则11、12和13)。作为一个商业的大容量开发人员,您的第一个产品版本将能够在一定的时间内被修改,之后它将需要被完全替换(相关原则185,186,188和201)。作为产品的维护者,请注意,在程序变得不稳定并必须被替换之前,您可以对它进行太多的修改(请参阅相关原则186、191、195和197)。