第0章 《软件时间》
“软件就是麻烦一堆,程序员一直陷入调试除错之苦,但也用更多功能,更快更好的工作与生活方式来引诱我们。”,的确,开发项目时总是会不可避免的遇到很多bug,有些bug甚至绞尽脑汁都无法解决,但我们仍然不能放弃软件开发,因为它们的确给我们的生活、工作带来了很多便利。
“我们对软件的需要,远甚于对它的仇恨。”
第1章《死定了》
“软件缺陷列表” Chandler项目列出了软件缺陷列表,但当交付时间即将延误时,面对软件缺陷列表,却只有“死定了”的想法。因此,光是列出缺陷不能解决问题,在写缺陷的同时,至少应该标注好缺陷是非解决不可还是可以延缓解决。
“不确定因素”,软件开发不像建筑工程,存在很多不确定因素,这也是导致项目延误的重要因素。
“往已延误的项目中补充人力,只会使其继续延误”。如果一味的往已延误的项目中加人,老成员要花时间精力带新成员了解项目,项目成员之间负责的工作可能还存在依赖关系,因此,一味的往已延误的项目中加人并不能解决问题。
“二进制文件保护机密”。
“好程序员懂得写什么,卓越的程序员懂得改写(并复用)什么,若能取之于现有,程序员决不肯创之于本无”。这句话刷新了我的认知,让我明白了开源项目的价值。的确,用合适的方式改写并复用已有的开源代码会比自己开发更有效率。
“只要有足够多的beta版测试人员和开发者队伍,几乎所有问题都会很快被发现,而且总有人知道该怎么修复”。这也是开源项目带来的好处。
至本章结束,还并未讲到怎么有效的解决项目交付延误的问题。开源虽然有很多好处,但并没有解决这个问题。