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