软件开发工作量如何评估?

单位自己配备了一批软件开发人员,其他部门经常提开发一些业务系统方面的需求,但到底开发这个业务系统要多少人月,升级这个功能要多少人月,怎么评估。经常出现这种情况,我认为2人月,项目经理说4人月。我认为有分歧是可以的,关键是大家找不出一个双方都认同的计算方式,这么争没有结果。

各位专家有没有好的办法,客观评价一个业务系统到底要多少人月。

软件开发工作量如何评估?

一个工作或者是项目的工作量的评估,会牵涉到的因素确实比较多。根据我的经验,罗列几种因素,比如使用的方法或者工具、开发者的熟悉程度、以及(部门之间的)利益关系、对项目的理解评估人员的个性。基于各种因素考量最后出现的工作量评估会有比较大的区别。

1.使用的方法或者是工具

对与一个项目,A有些现成的模块,B需要重新开始搭建,A和B对完成时间的评估自然不一样。

或是对于开发一个网站,假设合理的工作量是,做前台展示页面需要1个月,后台管理需要1个月。A会评估为1个月,等前台上线之后,再同步开始做后台管理。B可能会认为需要2个月,B认为前后台都完成,才是工作完成。

2.开发者的熟悉程度

这个容易理解,如果是一般对语言或是技术掌握不熟悉的人,花费的时间和返工的时间、沟通的时间自然就要长一点

3.(部门之间的)利益关系

公司之间的外包项目,服务方就倾向于时间长一点,考虑的因素是假设用户需求会有一部分变化或者希望从中多賺钱。公司的部门之间也是类似,营销部门总是希望越快越好,但是开发部门总是认为营销部门没有更早提出需求等等。

4.对项目的理解或者评估人员的个性

同样一个项目,类似微信,如果1000个用户数和1千万的用户数,做法上会有非常大的区别。

在不同阶段,可能有不同的评估方式

在投标及方案阶段,估工作量更多比较倚重个人经验或历史估算法(有类似的参考项目),更多是基于粗的工作范围去评估。这个工作量评估结果是为了支撑售前用的

在项目立项后的计划阶段,工作量评估会基于前面工作范围分解出的wbs进行评估,同时考虑deadline、技术难点、需求变更风险等等因素。

在实际开发过程中,工作量评估还需要根据多种实际情况随时使用,不同的开发模式或开发模式也是影响工作量评估的因素之一

方案很简单,负责庞大的东西是无法评估过工作量的。唯一的办法就拆分,洗到每个功能点,程度是能给出时间。

然后汇总统计

当然还跟团队的技术有关。

你是干嘛的?项目经理都说4人月了,你跟着瞎掺和什么?

你们单位到底谁说了算?

我们一般都是把详细计划做出来,然后每个小计划再去讨论到底花多少时间,工作量在哪里,难点在哪里。

将系统按模块划分,每个模块需要多少时间,加上之前沟通的时间和测试、实施的时间,综合在一起的时间多算上30%,是系统总时间。人员水平有高低,按平均算。

如果有技术难点和需求变更,还多需要时间

相关内容推荐