05梦断代码阅读笔记之二
时间的重要性:
软件缺陷列表-未解决或“开放的”问题及确先,列表给出开发者们需要修复的所有程序问题。缺陷列表存在一个Bugzilla程序中,美味程序员必须将自己的列表输入Bugzilla中,并且说明每个任务预计花费的时间。
落后进度的原因?
John Anderson:“原因有很多,必须先有蓝图,因为没蓝图,多以碰上没有预料到的问题,”
托伊:“不能甩手不干,越快结束越好,应该估算进度,找出可能导致延误的原因”。
Jeb Burgess:“不确定因素太多,你需要的时间取决其他人所花的时间”。
每一个项目都需要有完整的蓝图,如果没有蓝图,事倍功半,最后肯定会本末倒置,让我们很疲惫。
布鲁克斯法则:“往已延误的项目中补充人力,只会使其继续延误”。
她是如此地违反直觉,常使程序员和开发经理现如狼狈地境地,他们宁愿装作法则并不适用于自己,也不肯与之妥协。
布鲁克写道:“软件开发者通常是乐天派,他们认定每个缺陷都可以被迅速修正,且修正旧缺陷必能减少新的缺陷地数量”。这种盲目乐观,加上程序员想要取悦主顾,往往让进度在一开始就偏离正轨。在实际开发中,编码只占软件项目开发时间的1/6,有一半时间用于测试和修正缺陷。但只有少数项目经理会真正按照这种思路来安排开发人员的工作时间。
他又提到“在预估及安排项目进度上的每一份努力”都是“危险且具欺骗性的神话”。
布鲁克说的很正确,在我们团队刚开始来做安卓软件的时候,就很乐观,认为一个月就可以基本学会安卓的基本功能,然而,花了很长时间,并且进度毫无,很是挫败,然后在开发中遇到了照片上传的功能,我们仍然很是乐观,认为很快就可以解决,然而现实很残酷。