站在web前端的角度我瞎说一下,各位哥哥姐姐请多指教
一些面试中,在项目开始时,leader/mentor丢给你一个需求/模块时,对方经常会问的一句话是:“这个东西如果给你开发要多长时间?”(文章1000字,不想看直接看图)
时间不允许的根据自己开发经验意念估算
1.确定需求
当拿到ui图(这里打个比喻70张),先跟产品沟通这个沟通最好细化到每一张ui图你的理解与产品经理的理解一致,如:a按钮在几种状态下点击有几种效果,说清楚。(这个事情尽量提前做,不然到开发时发现,可能会晚了...)
2.站在个人开发某个功能/模块去评估
2.1html+css(写样式)
一般写样式的时间要考虑:1是后端接口没开发出来时先写假数据,2是接口对接后一些交互功能样式变动。
2.2接口对接时间
这个主要是调用接口,写判断,处理数据后渲染页面,这里的时间评估尽量包含一点后端的时间,难免搭档遇到bug,那么这个接口就要等了(这时可以去完善一些小功能,写css呀,写注释呀等等)。
2.3修改与bug的时间
个人认为考虑这个时间,如果客户有些微小需求变更,可以把时间算上。测试工程师测出或者自己碰到bug短时间难解决也要考虑进来。
2.4buffer(缓冲时间)
考虑一些突发情况,如请假,大功能需求变更,或领导需要压缩时间等等
3.补充(考虑几种情况)
情况一:如果一个人不只是搞单独一个项目...那么你懂的
情况二:组织过程资产中有类似的功能,可以直接复用组件/模块等,可以压缩一下时间
情况三:这个功能完全没写过,需求拆分不难那么时间预估的时间是 1 * 1.1
如果时间允许,或者有必要的话列一个这样的表(个人理解求指点)
设每天8小时,那么真正开发的时间最多为7小时(程序运行时间呀,上厕所呀,喝水呀,沟通呀,摸一下鱼呀等等)
把每张ui图拆分,如果允许细化到2小时,比如这个大的div/view样式+接口对接(这时后端接口早就写好了)可以用两小时写好
那么一天下来无突发事件,那么这样的功能可以写3.5个,然后汇总一个模块需要多少天
所有模块汇总,估算开发最早完工事件,然后这个时间 * 1.1等于最晚完工时间
这里打个比喻70张ui图,
假设分6个模块
假设每个模块12个页面
假设3个页面一天
那么需要最早24天
最晚 24+24*0.1 = 27天
即:开发时间大约是24-27天
更多推荐
如何评估前端开发周期/排期?
发布评论