如何减轻或预防它们。?
11.根据工作计划而不是日历来估计?
人们通常以日历时间做估计,但是我倾向于估计与任务相关联的工作计划(以“人时”为单位)的数量,然后把工作计划转换为日历时间的估计。这个转换基于每天我有多少有效的小时花费在项目任务上,我可能碰到的任何打断或突发调整请求、会议,和所有其他会让耗费时间的地方。?
12.不要为人员安排超过工作时间80%的任务量?
跟踪你的组员每周实际花费在项目指定工作上的平均小时数,实在会让人吃惊。与我们被要求做的许多活动相关的任务切换的开销,显著地降低了我们的工作效率。一个员工一周理论上工作40小时,但不要只是因为有人在一项特定工作上每周花费10小时,就去假设他或她可以马上做4个这种任务,如果他或她能够处理完3个任务,你就很幸运了。?
13.将培训时间放到计划中?
确定你的组员每年在培训上花费多少时间,并把它从组员工作在指定项目任务上的可用时间中减去。你可能在平均值中早已经减去了休假时间、生病时间和其他的时间,对于培训时间也要同样的处理。?
14.记录你的估算和你是如何达到估算的?
当你准备估算你的工作时,把它们记录下来,并且记录你是如何完成每个任务的。理解创建估算所用的假设和
方法,能够使它们在必要的时候更容易防护和调整,而且它将帮助你改善你的估算过程。
15.记录估算并且使用估算工具?
有很多商业工具可以帮助你估算整个项目。根据它们真实项目经验的巨大数据库,这些工具可以给你一个可能的进度和人员分配安排选择。它们同样能够帮助你避免进入“不可能区域”,即将任务量、小组劳动力和进度安排组合起来一看,根本不可能成功。?
16.遵守学习曲线?
如果你在项目中第一次尝试新的过程、工具或技术,你必须承受短期内生产力降低的代价。不要期望在新软件工程方法的第一次尝试中就获得惊人的效益,在进度安排中考虑不可避免的学习曲线。?
17. 考虑意外缓冲?
事情不会像你项目计划的一样准确地进行,所以你的预算和进度安排应该在主要阶段后面包括一些意外的缓冲,以适应无法预料的事件。不幸的是,你的管理者或客户可能把这些缓冲作为你的托辞,而不是明智地承认事实确实如此。向他们指明一些以前项目不愉快的意外,来说明你的深谋远虑。?
18. 记录实际情况与估算情况?
如果你不记录花费在每项任务上的实际工作时间,并和你的估算做比较,你将永远不能提高你的估算能力,你的估算将永远是猜测。?
19. 只有当任务100%完成时,才认为该任务完成?
使用英寸大小的小圆石的一个好处是:你可以区分每个小任务要么完成了,要么没有完成。这比估计一个大任务在某个时候完成了多少百分比要实在得多。使用明确的标准来判断一个步骤是否真正的完成了。?
20. 公开、公正地跟踪项目状态?
创建一个良好的风气,让项目成员对准确地报告项目的状态感到安全。努力让项目在准确的、基于数据的事实基础上运行,而不是从因为害怕报告坏消息而产生的令人误解的乐观主义。使用项目状态信息在必要的时候进行纠正操作,并且在条件允许时进行表扬。