一个成功的软件项目首先要有一个好的起点,也就是一个合理的规划。同样道理,一个好的规模估算也需要有一个好的规划。
规模估算前先制定良好的规划
当我们的办公室内堆满了杂乱无章的文件时,恐怕是无法知道对于我们真正有用的文件在哪里。同样道理,当我们从软件项目中收集了各种需求、意见和问题时,我们也很难从中估算出整个项目的规模、工作量以及成本。
因此,在估算之前首先要对众多信息进行整理、归类和分析,从而得到一个条理清晰的项目规划。在这个规划提供的框架内,才可能正确的估算。因为有了规划才能成竹在胸,才能给规模估算指出正确的方向。
确定软件项目的范围
确定软件项目的范围,就是确定目标软件的数据和控制、功能、性能、约束、接口以及可靠性的要求。这项工作和需求分析是很类似的,如果之前已经达成需求分析规约,那么可以直接从《需求分析说明书》中把有用的部分拿来使用。
如果还没有开始需求分析,就必须要使用需求分析技术从客户处得到一个具体的软件范围。因为确定软件项目的范围,就能形成一个有界限的开发框架。虽然这个开发框架还不够精确,但足以进行规模的估算工作。
制订各级别的估算表框架和模板
在开发框架明确后,我们下一步要做的是把公司内部最有项目经验、最有估算经验的工程们召集在一起,制定各级别的估算表框架和估算表模板,并写上足够清晰的指导。
当项目组用这些模板的时候,就相当于用了估算精英们的脑袋来思考本项目的估算了。然后,再根据项目的实际情况列出具体的活动,最后是把这些活动进行细化估算。
据过往的经验,很多时候规模估算没有做好的缘故是因为没有估算好非直接生产编程的活动的规模,例如管理类、支持类、维护类的活动,而根本的原因是没有制定好估算表框架和有合适的模板可利用。
根据合适的估算表模板进行由底而上的估算
最后一步是项目组根据项目的特点利用合适的估算表模板继续细化,例如进行详细的WBS分解,列出要完成这个项目所需要的全部工作。
然后,把这些工作通过由底而上的方式进行综合,以估算出项目规模的大小。