为何优秀如程序员,也会构建 Bug 满格的软件?( 八 )

因此,为了保证软件的长期良好运行,让你的员工与外部的帮手一起学习系统的知识,将关键性的工程知识保留在组织内部,这极其重要。

开发优秀软件的三个原则

1.项目刚开始的时候越简单越好

对于特定的领域而言,“一站式商店”的项目往往注定会失败。其中的原因很明显:确保你的应用可以为用户解决实际问题,还是解决尽可能多的问题,孰重孰轻?毕竟,“一站式商店”就如同超市一般的实体店。不同之处在于,虽然在实体店建立后添加新商品相对很容易,但是构建拥有两倍功能应用的难度远远不止两倍,而且很难使用。

构建优秀的软件时需要关注:以解决某个问题的最简单方案为起点。一个设计精心又简洁的应用永远不会遇到添加功能的问题。但是,一个大型的IT系统虽然能够解决很多问题,却往往无法简化或修复。即使是成功的“包罗万象”的应用,比如微信、Grab和Facebook,刚开始时也有非常具体的功能,而且只有在确保了他们的地位后才开始进行扩展。软件项目的失败很少可以归因于规模太小,它们的失败往往由于规模太大。

推荐阅读