浅谈软件项目规模估计——怎么估?

周三的下午,我像平常一样,写着代码听着歌,突然从天而降一份莫名其妙的故事列表,说让我给个人天,用来投标用。作为一个技术异常牛逼的高端程序员,这对我来说岂不是 A Piece Of Shit…哦不,Cake。拿着列表,打眼一看就知道是做什么 — 又是个审批流系统。注册、登录、忘记密码…这些也需要时间?!哦,还要做个SSO,可能要做点数据集成,给个15人天吧!又是一堆CRUD… CRUD 各给2人天一共8个。看起来有4个 Model,乘个4,32个人天差不多。前端还有些工作量,找前端估一下…还有些跟遗留系统集成的部分,这块应该比较麻烦,给个30人天差不多…还要用微服务架构,估计需要一些基础环境,每个组件给3个人天,一共8个组件,算24吧….总共算起来130个开发人天,差不多,再加点buffer,算150吧!差不多了吧…

这一幕是不是有点眼熟?不过,这样的做法可能会带来下面的几个问题。

浅谈软件项目规模估计——估什么?

定制化软件开发是一件复杂的事情,尤其是目前我们主要提供的端到端软件交付,它极大拓宽了软件开发的生命周期,更加着眼于业务价值,但这也增加了整个设计、分析、交付过程中的复杂度。软件交付已不仅仅是传统意义上的技术交付,更包括了体验设计、业务分析、测试、管理、运维、运营支持、以及流程管理的内容。

基于笔者几年浅薄的软件交付经验,尝试总结在初期进行规模估计的时候,应该考虑的范围会有哪些。