报告坏消息而产生的令人误解的乐观主义。使用项目状态信息在必要的时候进行纠正操作,并且在条件允许时进行表扬。
12 沟通承诺
尽管可能无意中承诺了不可能的事件,但不要做一个明知不能保证的承诺。坦诚地和客户和管理人员沟通那些实际成果。任何以前项目的数据会帮助你做说服他们的论据,虽然这对于不讲道理的人来说没有真正的作用。
13 只有当任务100%完成时,才认为该任务完成
使用英寸大小的小圆石的一个好处是:你可以区分每个小任务要么完成了,要么没有完成。这比估计一个大任务在某个时候完成了多少百分比要实在得多。使用明确的标准来判断一个步骤是否真正的完成了。
14 定义产品发布标准在项目早期,要决定用什么标准来确定产品是否准备好发布了
你可以将发布标准基于:还存在有多少个高优先级的缺陷,性能度量,特定功能完全可操作,或其他方面表明项目已经达到了它的目的。不管你选择了什么标准,都应该是可实现的、可测量的、文档化的,并且与客户所指的“质量”一致。
15 记录你的估算和你是如何达到估算的
当你准备估算你的工作时,把它们记录下来,并且记录你是如何完成每个任务的。理解创建估算所用的假设和方法,能够使它们在必要的时候更容易防护和调整,而且它将帮助你改善你的估算过程。
16 记录估算并且使用估算工具
有很多商业工具可以帮助你估算整个项目。根据它们真实项目经验的巨大数据库,这些工具可以给你一个可能的进度和人员分配安排选择。它们同样能够帮助你避免进入“不可能区域”,即将任务量、小组劳动力和进度安排组合起来一看,根本不可能成功。
17 遵守学习曲线
如果你在项目中第一次尝试新的过程、工具或技术,你必须承受短期内生产力降低的代价。不要期望在新软件工程方法的第一次尝试中就获得惊人的效益,在进度安排中考虑不可避免的学习曲线。
18 考虑意外缓冲
事情不会像你项目计划的一样准确地进行,所以你的预算和进度安排应该在主要阶段后面包括一些意外的缓冲,以适应无法预料的事件。不幸的是,你的管理者或客户可能把这些缓冲作为你的托辞,而不是明智地承认事实确实如此。向他们指明一些以前项目不愉快的意外,来说明你的深谋远虑。