1.1. 工作量估算的定义
工作量估算 即对开发软件产品所需的人力和时间的估算——人力成本是一个项目的主要成本。
我们可以根据预估的工作量决定具体由几个人、哪几个人参与该项目。
工作量通常以 人/天
、人/月
、人/年
的形式来衡量。
1.2. 为什么要进行工作量估算
做好工作量估算对内对外都有好处:
- 对内可以更好的分配预算,更好的进行人力资源的调配,提升工作效率;
- 对外可以合理估算和控制项目成本,实现精准报价。
1.3. 常用估算方法
估算方法有很多,但是最常用的是 类比法
、WBS 拆分法
、Delphi 法
1.3.1. 类比法
也叫经验值法或历史数据法。是根据以前或相似项目(主要在项目性质,领域,规模上有相似)所积累的经验或历史数据来估算工作量。
类比法精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一有较好的项目后总结与分析机制。
在通过类比法估算时,主要参考内容包括:在设计和实现阶段花费的时间、 测试工作的规模、用户需求的数量、页面数、功能点、数据样式 等内容。
1.3.2. WBS拆分法
全称 :work breakdown structure
, 即项目结构拆分估算法。
将项目或产品分解为具体的工作,然后分别对各个工作进行时间估算,最终求和得出项目或产品的测试工作量/时间。
1.3.3. Delphi 法
即专家调查法,由多种相关经验的人共同参与,各人进行估算,然后汇总讨论,最终得出一个协商后的结果。
其他估算方法还有
CPM (Critical path method)
关键路径法,即分析项目中从开始到结束耗时最长的内容,然后将多个耗时较长的内容组合得到一个估算值。PERT (Program Evaluation and Review Technique)
计划评审技术。CPM
和PERT
的区别在于,后者是基于乐观值、悲观值的平均取值。
1.4. 我们怎么做
由于我们前期对历史项目的积累不够充分,所以暂时无法使用类比法。我们实际项目中可以采用 WBS
和 Delphi法
组合的方式来估算项目或任务的工作量。也就是说,接到任务或项目后,先分析牵涉到哪几端的工作量,然后从各端抽选一个负责人对具体任务进行拆分和估算,然后汇总给总负责人,从而得到一个相对准确的估算结果。
1.4.1. 工作量评估牵涉的内容
项目工作量评估牵涉的内容:运维、产品、UI 设计、研发、测试、交付(验收)、运营、团队技术能力、项目负责人的协调能力、风险控制(外部影响因素)
1.4.1.1. 运维
- 服务器配置表
- 服务器搭建
- Https 域名申请
- 云端存储服务申请
- 项目部署演练和最终部署
- 如果由甲方提供服务器内容,我们的运维必须提前预备好部署项目所需的服务器配置。
- 在验收部署项目前,需要进行必要的项目部署演练,防止验收阶段部署时出现问题。
1.4.1.2. 产品和设计
- 需求确定
- 原型绘制
- 交互逻辑梳理
- UI 设计稿绘制
1.4.1.3. 研发
- 前端
- 移动端
- Android、
- iOS
- 服务端
- 架构设计
- 数据库模型设计
- 接口编写
- 关键脚本(SQL)留存
- 相关三方账号申请
- 软著申请
- 各应用平台账号申请
- 短信平台申请
- 其他分享、定位等平台申请
- 前端、移动端的工作量评估可以从页面数量、功能点数量两个方面来分别估算。需要注意的是,交互逻辑和 UI 复杂度也会影响这两段的工作量。
- 服务端工作量基于功能点(接口数量)来确定,需要预留数据库模型设计等工期。
- 研发结算最好预留出架构设计的工作量,方便后续项目或任务中复用。
- 软著和三方账号申请时,必须明确是否由我们申请,我们申请的话需要明确软件所有权是属于我们还是属于对方,如果属于对方,需要对方提供相关授权证明
- 短信平台申请时需要与对方明确费用问题,并且需要对方授权;如果对方不方便授权,则由对方直接申请,只给我们提供对接账号密码即可。
1.4.1.4. 测试
- 功能测试
- 兼容测试
- 全量测试
- 功能测试时确保各功能正常运行,交互流程,没有遗漏功能点
- 兼容测试需要确保在不同设备上能正常运行,无显示异常现象,无卡顿崩溃现象。
- 全量测试由全体相关人员对项目整体流程进行测试。
综上,一个项目的测试过程,起码要保证 2-3 轮测试。
1.4.1.5. 验收
- 验收负责人(或单位)
- 验收流程和标准
- 各系统使用培训
- 各系统使用文档交接
- 验收负责人、验收流程和标准决定了验收过程中所耗费的主要时间。所以,在项目开始时必须明确这几项内容,在研发过程中有意向这几项靠拢。项目开始前估算工作量的话,需要根据历史经验预留一定的时间周期。
1.4.1.6. 运营
- 项目中人物角色配置
- 项目中人物权限分配
- 运营文档编写
其他内容待补充
1.4.1.7. 团队技术能力
理论上讲,能力强的员工完成同样的任务耗时会更短,但我们能力强的员工不一定会参与当前项目,所以,在评估工作量时需要做一个平衡。
1.4.1.8. 项目负责人的协调能力
项目负责人的协调能力也是工作量评估的重要因素:
- 对外需要协调好与客户的关系,把握好客户的需求出发点,最大限度的控制需求变更数量,及时与客户沟通项目进度;
- 对内需要组织好项目成员,及时协调项目所需资源(人力资源、物质资源等),及时跟进项目进度。
- 项目结束时,做好项目总结,整理好项目中的相关文档以备后续参考。
1.4.1.9. 风险控制
- 需求变更
- 项目内成员稳定性(请假、离职等)
- 政府或相关平台政策变化
- 客户方负责人变更
- 外部不可抗力因素(台风、雷电、暴雨、大面积疫情等)
1.4.2. 工作量评估表模板
如果需要上述表格,关注公众号 CnPeng,后台回复 工作量评估
即可获取下载地址。