如何进行软件项目估算?

如何进行软件项目估算?

针对软件如何估算?业界专家提出比较多的方法,比较常见的有类比法、德尔菲专家估算法、功能点估算法,其中功能点估算要求非常精细,已经渗透到设计层级,针对项目初始估算,功能点估算就有比较大的局限性,因为项目这时还没有那么多细节信息来支撑进行功能点估算;针对这些估算的操作方法业界已经有很多相应书籍和案例供学习,本文就不再赘述,本文重点讲解一下如何借助信息化手段,提升估算效率,将估算成为项目运作的重要一环,整体项目估算过程如下:

 

首先,实际业界项目团队通常以需求或模块为估算对象,个人认为需求和功能点有相通之处,需求再细化就可以到功能点层级;模块是大家非常熟悉的对象,例如用户管理模块、权限管理模块、账单管理模块等;估算专家正式估算前,为了提升估算的效率,需要提供相应的历史经验参考,例如历史某个物理模块实际有多少行代码,历史某个需求特性实现时用了多少行代码等;每个专家进行估算时,需要充分考虑复用率系数,通过历史代码复用可以有效节约项目资源投入,如下:

考虑到不同软件项目生命周期的生产率(LOC/人天)不同,所以软件项目生命周期模型选择不同、软件技术难度系数不同,会导致同样规模的软件项目需要投入的工作量(人天不同),如下:

最后,结合所选择软件项目生命周期模型,基于模型定义,我们就可以知道这些工作量在不同阶段是如何分布的,如上,系统需求分析阶段工作量占项目整体工作量比例为10%,大概为69.2人天,再结合我们能在这个阶段投入的人员数量,我们就可以清晰知道这个阶段需要持续多长时间,这样就形成了相对客观准确的项目计划。

这就是我们对软件项目估算实际信息化的探索,信息化带来非常大的好处是便于积累历史经验数据,通过持续历史经验的积累,使我们的估算越来越准,希望以上探索对你有帮助。

更多RDP-GJB5000A信息,请搜索:RDP-GJB5000A

------完------  

(作者: 董奎 (Tiger.dong),致力于创新机会和研发效率,华成研发咨询联合创始人、青铜器软件联合创始人,曾就职华为技术,参与电信交换机、数据路由器等核心电信设备的设计与开发,打造研发创新信息平台,IPD+CMMI+Scrum一体化研发管理体系的践行者,目前该体系已经被华为技术、科大讯飞、美的集团、海信集团、长城汽车、宇通、长城汽车、烽火通信、京信通信、联芯科技、华虹芯片、四维图新等500多家企业,110多家行业第一名公司所采用。

​新浪微博: @董奎Tiger  http://weibo.com/dongkui168)

猜你喜欢

转载自blog.csdn.net/sztiger168/article/details/84252824