第三章 制定计划
u 如何制定阶段计划
u 如何制定产品计划
u 管理好时间
3.1如何制定阶段计划
这里介绍两种计划:阶段计划和产品计划。阶段计划是关于这段时间内对时间的安排,产品计划是关于制作产品活动期间的时间安排。以读一本书为例来说明阶段计划和产品计划的区别。为了计划这项工作,首先估计出整个任务应花费多少时间。例如,你可能希望用20小时阅读全书20章的内容。对于这个任务来说,产品计划就是以20小时读完全部书为目标,阶段计划就是每周安排1小时读书这种方式。下图表示了业务领域中产品计划和阶段计划的关系。
为了制定阶段计划,必须清楚时间的使用情况。根据上一章介绍的周活动总结表,我们就可以跟踪记录自己是如何支配时间的。在制订下一周的计划时,就可以参考最近的周活动总结表。根据以前各个任务花费的时间,就能判断出下一周将在这些任务上花费多少时间。制定这种计划最简单的方法就是假设将要使用的时间与过去平均使用的时间相同。一种较为精确的方法就是首先考虑下周将要做的工作内容,然后根据以前的最长和最短时间来估计出一个合适的时间。
3.2如何制定产品计划
当工程师在项目小组中工作时,就需要计划个人的工作。计划是按期完成承诺的任务的可靠基础,可以在工程师合作开发产品过程中协调他们的工作,可以帮助工程师了解项目的状态。做计划是软件工程师工作的一个重要部分,要成为一个有才干的工程师,就必须知道如何制订准确的计划,也需要知道如何将这些计划与实际结果相比较,从而学会制定更好的计划。
制定产品计划是可以通过事件加以提高的一种技能。从现在开始对每个产品制订计划,产品可以是一个可制定的程序、一个程序设计方案或是一个测试计划,并在以后的项目中继续这样做下去。
收集历史项目数据。对于工程人员,一个产品计划包含产品规模、工作时间和进度三方面的估计。最基本的产品计划只包括对任务或作业所需时间的估计。通过收集以前不同任务所用时间的数据,就能够估计将来类似的任务大概所需要的时间。表3.1是为了记录每个项目估计时间和实际时间而设计的作业编号日志,参考这些历史项目数据,我们可以方便、准确地作出估计。准确的估计是做好计划的关键。
表3.1 作业编号日志
作业号
日期
过程
估 计 数 据
实 际 数 据
累 计 数 据
时间
单元
时间
单元
平均值
时间
单元
平均值
最大值
最小值
描述:
描述:
估算程序规模。产品计划的第一步是要估计产品的规模。对于程序来说,可以使用代码行测量方法估计新程序的规模。为了准确的估计,需要用到以前的规模数据,因此把以前的规模数据按照功能分类是有帮助的。首先查看新程序的需求,估计各类代码有多少行,然后与以前统计的数字进行比较,可以得出开发新程序需要多少时间完成。随着所积累的数据越来越多,作出的估计就会越来越准确。作业编号日志作为记录大量的历史的规模和效率数据提供了一种简便的方法,还可以使用表3.2记录不功能类型的程序历史数据,并按照规模排列。
表3.2 程序规模估计表
程序
代码行
以前的功能
估计的功能
最小
平均
最大
规模测量的方法很多,应该根据不同的对象使用不同的估计方法,即使对程序来说,代码行测量方法也不能覆盖所有的情况。没有任何方法可以保证估计的结果一定准确,作出好的规模估计的关键是要有大量的历史数据,要进行多次规模估计,并且要定期的将实际结果与估计值进行比较。