上班这点事儿程序员职场菜鸟成长记

刚入行的程序员,如何做好项目开发的预估时间?

2018-08-18  本文已影响20人  鲸鲸景鲸叻

近期,我们的前端开发团队,在我们千呼万唤中终于招聘了两个小伙子。

在他们逐步接触具体的开发项目时,也遇到了最开始困扰我的问题:原来第一个难题并不是我看不懂其他人开发的代码,而是我不会做项目开发的预估时间!

项目开发的预估时间(以下简称“开发估时”)这个问题,在过了刚入职的适应期的时候,有跟老大请教过怎么做好开发估时。老大的方法很好用,当时记录的小纸片在我经过几个项目洗礼之后就不见了。

做开发估时为什么很头疼呢?

我们以前在学校大部分的课程都是如何用代码跟着老师做出一个小demo。没有接触过开发估时这些内容,也可能老师确实讲了,但我是真心不记得了。

第一个我跟进的从0到1的项目,是移动端H5的项目,2016年4月~5月第一期做完,5月31日晚上上线的。那真是一次难忘的“六一”节啊。

老大把这个项目的需求原型发给我以后,让我了解一下需求,然后交给他一份开发估时。

第一次做开发估时,真是一个脑袋两个大,心理活动很丰富:

我没做过啊,我不会啊

这个功能我也没开发过啊,预估的时间少了,那我做不完怎么办?预估的时间多了,项目负责人打回来怎么办?

我只是把项目需求点列出来以后,就写不下去了,真的不知道这个功能用多长时间能写完啊。我就跑去跟老大讨经验去了。


01

项目需求文档/原型,不是看看就可以了

1、梳理需求内容、理解需求要做的是什么   

前期的项目需求评审等工作都是老大参与的,我拿到的那份项目需求原型是已经确定要做的。

所以,我需要知道这个项目是要做什么,梳理清楚需求原型里讲的内容以及需要实现的效果是什么。

刚开始,对于公司的业务并不是很熟悉的情况下,里面有很多具体的业务名称并不是很理解,都会先标记好。

然后,数页面。对,数页面。数有几个 list 页面,有几个详情页面,有几个特殊的页面。不理解业务,但是我需要明确做的是什么页面。

2、解决需求内容的疑点

在梳理需求时,重点要标记好看不懂讲的是什么内容,然后找到老大,让他解释给我听。他也疑惑的点,会带着我一起去找产品经理解答。

其实,一般都是直接找产品经理进行需求答疑,只是我刚来谁也不认识,而且项目的需求原型是老大给我的,我就直接找到老大了。

总之,要解决掉需求内容的疑点。

02

开发的难点,变的没那么难

开发的难点,一般包含实现效果选用什么组件什么框架做更好呢?跟后台开发的数据如何交互呢?这种问题。

1、实现效果如何选用框架

H5的项目在2016年的时候还是很火的,可是选用框架,这、这我也不会……怎么办呢?

老大告诉我,去GitHub上找2~3个同效果的框架,按照需求内容分别写出demo来比较比较。

其实,他已经选好了,只是看我真的一脸懵,不忍心……

2、与后台开发的数据交互

先咨询后台开发的同事,他们会给出什么样的数据格式呢?

如果没有,那前端开发需要明确,做出该效果需要什么数据格式,写好demo,发给后台开发的同事确认。

第一次做前后端开发数据分离的项目,心里没底,特别积极的把数据格式自己写了demo,拿去跟后台开发的同事确认结果去了。

开发的难点,有些是技术的难点,有些是协作的难点。这些可以都可以先抛出来,让在开发之前确认解决方案,让难点没那么难了。


03

做好项目开发的预估时间,需要反复练习

项目的需求原型的疑点、开发的难点解决了,开发估时就需要在以后的时间里反复练习啦。

我们的开发估时不包含跟后台开发的数据接口联调的时间,而是包含:静态页面完成+动态数据交互完成的时间。

把开发的模块功能切分颗粒度,颗粒度越小越好,以小时为单位,然后把所有的时间累加即可。

比如:form表单页面包含的颗粒度

    展示form表单静态页面(0.5h/人)

    添加校验、展示错误提示(1.5h/人)

    提交数据(1h/人)

以上,3个小颗粒度的内容完成时间累加即为form表单这个开发模块的预估时间为:0.5+1.5+1=3h/人。

(此处只是举例,具体开发估时,根据项目需要的效果来定。)

如果这个页面没有难点,只是因为没做过而不确定估时,可以找一两个同事一起把把关。

在初期,估时不准都是很正常的事情,需要多练习、多练习、多练习。


04

风险时间

虽然开发的难点在前面已经确定方案了,但是有些问题是在具体开发的时候才会暴露出来的,这些都不能未卜先知。

那么,此时就需要加一些风险时间来预留解决的时间。

一般,风险时间 = 预估时间*20%  基本上问题不大了。

那么,总的项目开发的预估时间=风险时间+预估时间

上一篇下一篇

猜你喜欢

热点阅读