原则17:只要可能,购买而非开发
要降低不断上涨的软件开发成本和风险,最有效的办法是购买而非自己从头开发。
* 从头开发的软件,可能会冒着超出预算 100% 和 延期 的风险,且最终可能只完成了75%的预期。
* 不断增加的成本通常会导致需求缩减,最终的实现可能跟已有的软件差不多。
* 作为开发者,应当复用尽可能多的软件(参考原则84)。
Brooks, F., "No Silver Bullet: Essence and Accidents of Software Engineering", IEEE Computer, 20, 4 (April 1987), pp. 10-19.