在敏捷开发实践中,人日评估是团队常常感到困惑的环节。简单来说,就是由开发人员自行估算每个模块所需的工作时间。人日的定义也很直观——1人日相当于1个人1天完成的工作量。如果两个人协作,理论时间可缩短至0.5天,但由于代码合并存在兼容性问题,实际效率往往低于预期(1+1<2)。
如何快速估算开发人日
那么,如何为一个需求快速打上人日标签?根据经验,可以先将3人日的开发工作量作为基准,再根据其他环节进行调整——
开发周期:3人日。这个阶段负责接口设计、数据库设计与代码开发,是核心工作部分。
自测周期:1人日,大约为开发周期的0.3至0.5倍。别小看这一步,自测不到位后续会埋下大量隐患。
联调周期:2人日,约为开发周期的0.5倍。特别要注意的是,联调过程中接口很可能需要重新设计,因此时间必须预留充足。
测试周期:2人日。基本与联调周期持平,但此阶段前后端Bug会集中暴露,修复时间也需纳入考量。
发布周期:2小时左右。如今自动化部署平台可一键完成,或在Linux下直接上传jar包手动部署,时间相对可控。
常见需求开发人日参考
上述模型是通用框架。实际工作中,不同需求的人日差异较大,以下列举几个典型场景供参考——
- Excel导入导出:2人日
- 单表增删改查:1人日
- 跨服务业务逻辑
- 远程服务调用(OpenFeign/Dubbo):3人日,需预留对方提供接口的时间
- 远程服务消费(MQ):3人日,同样要考虑对方提供MQ的时间
需要补充的是,以上人日评估均基于“只做这一个需求”的前提。如果多个需求并行推进,则需适当扩展。具体拆分细节可参考:

