即使在最完美的条件下,管理一个软件项目也是很困难的。不幸的是,许多新项目经理实质上没有受到任何就职培训。这里有20个成功的管理经验供项目经理参考。不过,只依靠某一两条“妙计”,是无法顺利完成项目的。
1.定义项目成功的标准。在项目的开始,要保证各方对于判断项目是否成功有统一的认识。
2.把握各种要求之间的平衡。每个项目都需要平衡它的功能、人员、预算、进度和质量目标。
3.定义产品发布标准在项目早期,要决定用什么标准来确定产品是否准备好发布了。
4.沟通承诺。尽管可能无意中承诺了不可能的事件,但不要做一个明知不能保证的承诺。
5.写一个计划。你用来分析解决问题需要花费的时间,会减少项目以后会带给你的意外。
6.把任务分解成“英寸大小的小圆石”。把大任务分解成多个小任务,帮助你更加精确地估计它们,暴露出在其他情况下你可能没有想到的工作活动,并且保证更加精确、细密的状态跟踪。
7.为大任务制定计划工作表。如果你的组经常承担某种特定的通用任务,你需要为这些任务开发一个活动检查列表和计划工作表。
8.计划中,在质量控制活动后应该有修改工作。几乎所有的质量控制活动,如测试和技术评审,都会发现缺陷或其他提高的可能。
9.为“过程改进”安排时间。你的小组成员已经淹没在他们当前的项目中,但是如果你想把你的组提升到一个更高的软件工程能力水平,你就必须投一些时间在“过程改进”上。
10.管理项目的风险。如果你不去识别和控制风险,那么它们会控制你。
11.根据工作计划而不是日历来估计。
12.不要为人员安排超过工作时间80%的任务量。跟踪你的组员每周实际花费在项目指定工作上的平均小时数,实在会让人吃惊。与我们被要求做的许多活动相关的任务切换的开销,显著地降低了我们的工作效率。
13.将培训时间放到计划中。确定你的组员每年在培训上花费多少时间,并把它从组员工作在指定项目任务上的可用时间中减去。
14.记录你的估算和你是如何达到估算的。当你准备估算你的工作时,把它们记录下来,并且记录你是如何完成每个任务的。
15.记录估算并且使用估算工具。有很多商业工具可以帮助你估算整个项目。
16.遵守学习曲线。如果你在项目中第一次尝试新的过程、工具或技术,你必须承受短期内生产力降低的代价。
17.考虑意外缓冲。事情不会像你项目计划的一样准确地进行,所以你的预算和进度安排应该在主要阶段后面包括一些意外的缓冲,以适应无法预料的事件。
18.记录实际情况与估算情况。如果你不记录花费在每项任务上的实际工作时间,并和你的估算做比较,你将永远不能提高你的估算能力,你的估算将永远是猜测。
19.只有当任务100%完成时,才认为该任务完成使用英寸大小的小圆石的一个好处是:你可以区分每个小任务要么完成了,要么没有完成。
20.公开、公正地跟踪项目状态。创建一个良好的风气,让项目成员对准确地报告项目的状态感到安全。努力让项目在准确的、基于数据的事实基础上运行,而不是从因为害怕报告坏消息而产生的令人误解的乐观主义。