行业经验表明,了解软件规模有助于制定更准确的项目资源和交付日期规划,同时有助于项目跟踪以避免任何不可预见的范围增加。
功能点分析(FPA)也能用于绩效指标的衡量,它能够与其他开发团队进行基准比较,并建立行业基准数据库,有助于更好地对未来项目进行更准确的估算。
合理利用功能点分析(FPA)能够规避掉软件项目相关的大部分风险,那么接下来聊一聊它在软件项目规划阶段起到了哪些作用?带来了什么好处?
一、项目范围
- 作用:功能点计数首先需要将软件分解为其基本功能组件(基本功能组件)。功能层次结构以图表方式说明这种分解。层次结构提供了要交付的应用程序功能的“主干”与“枝丫”。
- 好处:优点是能够轻松地向客户传达应用程序的范围,不仅通过说明每个功能交付的功能数量,还通过功能点来衡量每个功能大小。
二、评估更换影响
- 作用:如果计划用新开发的软件替换现有的应用程序,则需要评估业务是否将交付更多、更少或相同的功能。替换系统的功能是否可以映射到现有系统中的功能。
- 好处:可以在功能点中测量差异的定量评估。请注意,只有在现有应用程序已按功能点确定大小时,才能进行此比较。
三、评估更换成本
- 作用:将要替换的应用程序的规模(功能点数)乘以每个功能点的开发成本(参考所在地的行业基准),可以快速估算出替换成本,并提供成本的大概数字。理想情况下,组织应该根据项目历史为自己的特定环境建立自己的“每个功能点的成本”指标。
- 好处:如果组织还正在考虑实施软件项目的解决方案,那么FPA可以快速估算软件项目方案的实施成本(更换成本VS迭代成本),以便于组织内部进行比较。
四、谈判范围
- 作用:最初的项目估算通常会超过发起人的计划交付日期和预算成本。通常需要缩小要交付的功能范围,以便在预定时间或预算限制内交付。PFA功能层次结构提供了“草图”来进行范围协商。
- 好处:然后可以通过测量不同场景的功能大小来快速确定不同场景的范围。例如,可以客观地估算项目规模,以确定如果所有功能都实施、仅实施强制性功能、仅实施强制性和必要性功能的规模(以及成本和持续时间)。客户可以根据项目的时间、成本和资源限制的可能性制定相对优先级,做出更明智的决定。
五、评估需求
- 作用:从功能上量化了应用程序提供的不同类型的功能。功能点计数将功能点分配给每种功能类型:外部输入、输出、查询以及内部和外部逻辑文件。ISBSG(国际软件基准用户组)数据库中提供的使用IFPUG功能点衡量的项目的行业数据表明,可以将计划应用程序中每个功能类型交付的功能配置文件与之典型配置文件进行比较,
- 好处:通过比对,可以评估项目需求说明规范是否不完整或可能存在异常的范围。
六、估算项目资源需求
- 作用:一旦软件项目的范围达成一致,就需要对工作量、人力资源、成本和时间表进行估算。如果项目的生产率(每个功能点的成本)是已知的,那么项目经理可以使用功能点计数来对项目进行适当的估算。
- 好处:组织注意收集项目规划数据与实际开发数据的指标,长此以往进行项目经验累计,数据可以循环复用,未来能够更准确、更快速的估算出项目的资源需求。
七、评估功能复杂度
- 作用:功能点计数开发的功能层次结构可以帮助项目经理识别出需要额外关注的高复杂性功能区域。
- 好处:使管理层能够就开发大型、高度集成的应用程序涉及的风险做出明智的决策。