程序员该如何确定任务(项目)的排期?

未经作者(微信ID:Byte-Flow)允许,禁止转载

所谓定任务的排期其实就是预估完成一个任务所需要的时间,简而言之就是给你一个活,你预估下需要多长时间可以搞定。排期这个东西,一般是老板比较喜欢的,通过一张表格便可以对每个人的进度和安排一目了然,项目经理也能通过它更好地对项目进行把控。

定任务的排期往往还会涉及自我内心的博弈,什么博弈呢?

比如你排期估的太长了,心里可能会犯嘀咕:时间估长了,领导和同事会不会觉得我能力不行,这样会不会不太好?

又比如你为了证明自己能力牛逼吧,把时间估的比正常时间还短,这个时候心里又会犯嘀咕:估时间那么短,到时候完不成了怎么办,领导和同事会不会觉得我能力不行?就算可以按时完成,搞得自己压力很大、天天加班也不好吧?

经过这样的博弈,最后定下来的排期一般不会太离谱。据我观察大部分同学的任务一般都能在排期结束之前搞定,在时间上给自己留了一点余量。

据一些初入职的小伙伴反馈,他们普遍讨厌排期这个东西,自己定不好,然后 PM(产品经理) 还不断催促,还以为是 PM 在为难他们。

那么,该如何定任务(项目)的排期?

非自主排期,就是上面定一个期限,必须在这个期限内完成任务,排期要基于这个期限确定。打个比方,某某公司要在 3 个月之内完成某个产品,那么留给市场调研,设计,研发和测试的时间基本上都是固定的,最后某项任务分配给你的时间也是固定的。

非自主排期说白了就是上面直接给你分派任务,限期完成。这种情况一般比较紧急,对于研发人员来说压力比较大,可能需要经常加班。

那么,这个时候你觉得分配给你的任务限期搞不定怎么办?首先要冷静下来,分析一下可能会遇到的难点,及时咨询周围的同事(绝大部分问题这个阶段可以解决),如果周围的同事也搞不定,那就需要反馈给 leader 。如果 leader 也搞不定,就由 leader 来协调更高层面的资源帮你解决问题。

这种情况,如果你没能及时向上反馈,那么项目 delay 的责任就在你身上了。

自主排期,就是自己定时间完成一项任务,期限没有强制性的要求。但是很多人对于自主排期反而拿不定主意,这就是对自己的能力估计不足。自主排期也分2种情况,一种是自己比较熟悉的任务(属于重复劳动),这种不用说了,就参考之前任务的进度确定排期;

另一种是完成任务需要用到新技术(涉及新的领域、新的技术栈),这个时候先别着急定排期,先花时间对任务所涉及的技术栈(新技术)做下调研,咨询一下相关同事(参考一下别人的排期),看看同事能不能分享一些现成的方案,再结合自己的学习能力做下评估。

这个前期的调研很重要,很多新同学一听会用到新技术,马上就闷头兴奋地搞起来,最后勉强搞成了,发现有一堆问题,弄得自己灰头土脸。这个时候才想起来去找外援,结果发现人家已经有一套现成的"轮子",该踩的坑已经帮你踩过了。

自己定的排期,如果在排期内搞不定任务怎么办?同样,要及时反馈,主动去协调资源解决问题。如果 PM 增加或者变更了需求,带来了工作量的增加,这个时候要主动提出来,要求增加排期。

非紧急的情况下,建议排期要留有一定的弹性,给自己留一些优化和学习的时间,这是双赢。

技术交流

技术交流/职场困惑解答,可以添加我的微信:Byte-Flow

联系我

你可能感兴趣的:(代码人生,程序人生)