软件开发的目标是实现流程(Process)自动化。
只要一个流程实现了自动化,便可以针对大多数情况在可预期的时间内反复运行。
源代码就好像生产蓝图,而电脑就好像生产工厂,输入(数据)好像原材料,输入(数据)就像制成品。
而使用另一种类比,星巴克可以重复迅速地制作咖啡的原因就在于他们花费很多时间在流程的设计上,使得该流程成为了一个复杂且昂贵的作业。
星巴克的个人经营者不必再去重新研究该流程,只需买下此蓝图便可。我会让各位读者练习推断我对COSTA咖啡制作过程的意见。
事实上,不可预期的开发时间并不总是坏事,因为它所带来的价值也是如此。一款成功的软件可以制造或节省的价值远超过其成本。
Tom DeMarco之所以赞成关注高成本项目,正是基于这个原因。
能注意到这点,需要一种价值增长的理念,而不是广泛而又普遍的成本控制理念。
这是很重要的问题。
