进度、时间表
成本必须降低,以产出更低的报价。
文档是有必要的,只有记录下来,分期才会明朗,矛盾才会突出。(不过我们公司从来不用文档,我也从来没有写过。只是听上面分配任务,可是一般没什么任务分配,只好做自己的事情了。)
文档能够作为同其他人沟通渠道。(这个,我们老大就写一些文档,供我们参考,我们按照他的文档,完成相应的任务。最初开发的时候,每个人负责一个模块,分工很明确。每天都有事情做。或者协助别人做一些临时的任务。)
不变只是愿望,变化才是永恒。(不变是相对的,变是绝对的,唯一的不变就是变。)
对于大多数项目,第一个开发的系统并不合用。它可能太慢、太大,而且难以使用,或者三者兼而有之。
在大型项目中,项目经理需要有两个和三个顶级程序员作为技术轻骑兵,当工作繁忙最密集的时候,他们能急驰飞奔,解决各种问题。(能解决问题的程序员才是大牛)
有IT上有两条线,可以走,一条是管理线,另一条是技术线。每升一级,薪水就相应的涨一个级别。(努力提高,才会加薪。薪水和能力成正比,有能力要为公司做事,才能实现能力的价值。)
项目目标、进展、管理问题必须在高级人员整体中得到共享。(我们公司就是的高级的和低级的一同协作。)
在程序发布给顾客使用之后,它不会停止变化。发布后的变更称为“程序维护”,它主要包含对设计却显得的修复。新版本中的新功能会产生新的bug。
缺陷修复总会以(20-50)%的机率引入新的bug。所以修复bug的过程是前进两步,后退一步。
维护人员常常不是编写代码的开发人员,而是一些初级程序员或者新手。(认清自己的定位,并且努力去进修)
理论上,在每次修复之后,必须重新运行先前所有的测试用例,从而确保系统不会以更隐蔽的方式被破坏。
巧匠因为他的工具而出名。(每一章,都有一个引言,很不错。很精辟的引入了内容。)