,我们可以根据需要对某些重要的项目进行更细致的预算评估。例如,我们可以为我们需要的基础构架提供一个精略评估,而不仅仅是一个关于人员和时间的宏观预算评估结果。
三、如何进行粗略预算评估
当我们对项目的任务有了一个好的想法,并知道如何去做的情况下,可以使用这种预算评估。
1. 最好让实际参与项目的人来进行这种评估工作。最后可以将这些参与评估的人的评估结果累加,从而得到最终的预算评估。
2. 确保评估函数的自变量为:时间、人员和资源需求。
3. 对分拆后的任务尽可能地考虑到它们的细节部分。在上面曾经提到过。按着典型的软件设计和实现轨迹,如分析、设计、实现、演示、测试、bug核对、文档、发布以及技术支持,并考虑这些任务是否为每个任务都需要的,对做这项工作是非常必要的。我们应保证每个时间单位为八十小时或更少的时间。
四、如何进行宏观预算评估
当我们开始个全新的项目时,所面对最多的就是这种预算评估方式。新的技术、对领域知识和技术不熟悉的团队,或是对需求不清楚。而对付这些情况最好的预算评估方式就是宏观预算评估。
1. 有效地评估任务所需的时间。对于最后形成的任务,需要定义它们所需的时间和资源。这些量化后的指标和基于团队和项目的指标不同,这此指标和数据将在下一次评估时帮助我们获得更好的效果。例如,我们可以设置低复杂度和工作量少的任务需要最多需要一周的时间,而中等复杂度和小工作时的任务需要三周的时间等等。
2. 打破项目是由许多不同需要的任务组成的束缚。尝试着为项目尽可能地增加任务。典型的做法是按着设计和实现软件的一般方法来提取出新任务,如分析、设计、实现、演示、测试、bug核对、文档、发布以及技术支持等,看看如果这些步骤在每个任务中都要求去做,那么就可以考虑将它们提出来做为一个新的任务。
3. 使用两个指标来评估每一个任务:复杂度(分为高、中、低三个档次)和工作量(分为大、中、小三个档次)。一个并不复杂的任务仍然可能是一个工作量很大的任务。例如,将paper form上的信息保存在数据库中可能需要数周的时间。一个非常复杂的的任务的工作量也可能不大,但仍然需要花很多时间来完成,例如对一个数据库的性能优化。对于复杂的任务,一般当其非常大时,拆分成小的任务后分配到许多人或团队时是非常困难的。而简单的任务就很容易地被分拆和分配。