1. 如何估计项目工作量的?
得到项目规模后,我们采用公司的历史数据。规范建设小组每年会发布一个历史参考数据供我们使用,这个数据是单个人天完成的功能个数,这里的个数指的是加权的个数。
我们公司每年大概有8个左右的项目,项目的类似性比较大,经过统计我们规范建设小组的统计(一般提供下表给项目组使用),我们选用企业平均的生产率
历史项目名称 | 加权功能个数 | 工作量(人天) | 生产效率 |
XXXX | AAAA | BBBB | AAAA/BBBB |
XXXX | AAAA | BBBB | AAAA/BBBB |
XXXX | AAAA | BBBB | AAAA/BBBB |
XXXX | AAAA | BBBB | AAAA/BBBB |
XXXX | AAAA | BBBB | AAAA/BBBB |
企业平均生产效率 | =sum(以上数据)/项目数量 |
由我们项目的规模/企业平均生产率,就得出本项目的工作量,我们这个项目的工作量是XXX人天。
*工作量的单位为人月、人天或人时
*根据业界统计,一般0.25个功能/人天,80行代码/人天
2. 如何估计项目成本的?
在得到项目的工作量之后,我们采用公司的历史数据。规范建设小组每年会发布一个历史参考数据供我们使用,这个数据是上一年度单个人天的成本,我们去年发布的人均成本是1000/人天。
我们上面估算出的工作量*人均成本,就得出我们这个项目的成本,我们这个项目的成本大概是XX万元。
3. 如何选择开发生命周期的?
产品或项目开发的生命周期在公司有规定,该规定定义了几种经过经验总结的项目开发生命周期,包含瀑布方式开发,迭代方式开发,敏捷SCRUM方式开发。其中瀑布方式开发主要用于需求比较明确,客户对时间要求不太急迫的情况下,如果需求变动较大,一般采用迭代方式和敏捷SCRUM方式开发,迭代方式适用于客户配合较少的情况,敏捷SCRUM适用于客户配合较多,关系比较好,能够随时随地打电话或当面沟通的情况。
我们这个项目采用的是XXXX开发方式,由于我们的需求XXX,客户对时间的要求XXXX,而且客户关系XXXX,所以我们选择XXXX开发方式。
*生命周期指项目或产品从无到上线给客户使用的生产过程划分,如一个人分为初生,童年,青年,中年,老年,死亡等。
*瀑布方式(迭代方式、敏捷SCRUM方式)开发:可以查询百度。
*里程碑随开发方式不同,也不相同(里程碑是指具有典型意义的一个节点,这个节点必须达到一定标准才能进入下一阶段,否则不能进入。)每个达到标准根据开发方式不同,也不相同,具体可以百度查询里程碑退出准则,会查询到相应内容。