一個成功的軟件項目首先要有一個好的起點,也就是一個合理的規劃。同樣道理,一個好的規模估算也需要有一個好的規劃。
規模估算前先制定良好的規劃
當我們的辦公室內堆滿了雜亂無章的文件時,恐怕是無法知道對于我們真正有用的文件在哪里。同樣道理,當我們從軟件項目中收集了各種需求、意見和問題時,我們也很難從中估算出整個項目的規模、工作量以及成本。
因此,在估算之前首先要對眾多信息進行整理、歸類和分析,從而得到一個條理清晰的項目規劃。在這個規劃提供的框架內,才可能正確的估算。因為有了規劃才能成竹在胸,才能給規模估算指出正確的方向。
確定軟件項目的范圍
確定軟件項目的范圍,就是確定目標軟件的數據和控制、功能、性能、約束、接口以及可靠性的要求。這項工作和需求分析是很類似的,如果之前已經達成需求分析規約,那么可以直接從《需求分析說明書》中把有用的部分拿來使用。
如果還沒有開始需求分析,就必須要使用需求分析技術從客戶處得到一個具體的軟件范圍。因為確定軟件項目的范圍,就能形成一個有界限的開發框架。雖然這個開發框架還不夠精確,但足以進行規模的估算工作。
制訂各級別的估算表框架和模板
在開發框架明確后,我們下一步要做的是把公司內部最有項目經驗、最有估算經驗的工程們召集在一起,制定各級別的估算表框架和估算表模板,并寫上足夠清晰的指導。
當項目組用這些模板的時候,就相當于用了估算精英們的腦袋來思考本項目的估算了。然后,再根據項目的實際情況列出具體的活動,最后是把這些活動進行細化估算。
據過往的經驗,很多時候規模估算沒有做好的緣故是因為沒有估算好非直接生產編程的活動的規模,例如管理類、支持類、維護類的活動,而根本的原因是沒有制定好估算表框架和有合適的模板可利用。
根據合適的估算表模板進行由底而上的估算
最后一步是項目組根據項目的特點利用合適的估算表模板繼續細化,例如進行詳細的WBS分解,列出要完成這個項目所需要的全部工作。
然后,把這些工作通過由底而上的方式進行綜合,以估算出項目規模的大小。