阅读本文大概需要5分钟。
上周五,刚准备开开心心下班过节,突然不知道啥情况,领导过来问“你们组今天是不是有个项目上线?”。
有点懵,心想大周五的上啥线!之后了解到原来是组里有个小伙伴负责的一个需求今天是Deadline,从PMO哪里统计的是项目延期了,所以一轮含蓄的谴责就从上至下开始了!
因为需求不是我负责,所以我也需要了解下情况,仔细问了问原因,原来是在研发过程中产品经理又临时加了点需求,然而这件事并没有及时同步到PMO哪里,也没有在项目管理软件上及时调整计划,所以从PMO的角度看,项目延期了!
作为一名朴实无华的程序员,你是不是也经常背过类似的锅呢?其实从项目管理的角度看,项目延期的确是一个严重的问题。因为毕竟公司的资源有限,一个项目的延期对于扑在这个项目上的前后端研发、测试来说,都是资源的Block!也会影响到其他需求。所以这事也不能怪PMO往上捅了!要怪只能怪谁让你是个实在的程序员呢!
借着这个平淡无奇而又抓心挠肺的小故事,今天不聊技术、和大家聊一聊关于工作中项目排期的话题!
PMO是个什么鬼
可能有人好奇怎么会有PMO这么个角色?其实并不是所有的公司都有这种岗位,这取决于公司发展所处的阶段,以及产品技术迭代的驱动方式!对于刚起步的创业公司来说,往往是产品经理或者老板自己来承担产品迭代节奏的管理,这个时候的技术呢,往往也非常有经验、富有激情,毕竟大家选择出来跟创业团队,多少也是奔着牛逼一把去的,所以会非常具有主观能能动性,对于项目技术的事情、只要产品/老板提出想法,剩下的一般技术团队就会拼了命加班去搞定了!
这个阶段的产品技术团队往往是非常有活力的,处于全员驱动状态,PMO在这个时候纯粹就是吃干饭的,浪费预算!
但随着公司发展,人员越来越多、产品线也由之前单一的产品向多条产品线发展,这个时候往往就要验证“林子大了什么鸟都有了!”这句古话了,因为团队利益,业务团队被拆分成1、2、3..个部门,每个部门都希望自己的业务抓紧搞,这个时候的技术团队往往需要同时面对多个业务线的需求轰炸,而且这些个业务之间并不互相协调,他们只知道自己需求是最紧急的!于是拼命的压榨技术,此时的技术研发就会处于一个无序并发的状态,搞的非常累!
于是乎,有个聪明的技术这个时候就提出来说,你们这么搞可不行,研发是需要时间和周期的,以后所有的项目必须排期,而所谓的排期意思就是事情得一件一件干,不能乱搞需求轰炸了!这个时候问题就来了,谁来负责这个排期管理呢?于是产品研发团队就说要招一个专门的人来负责这个,于是PMO的职位需求就出来了!国外有些公司也将这类人员叫做TPM!
PMO说:我TM也很累
自从有了PMO,整个产品研发团队终于从无序的混乱状态终于被PMO这把锁给同步了,程序员小哥终于开心了,因为以后凡事有产品经理来提需求,都可以整一句:“麻烦先去PMO哪里排个期!”,说着是非常爽啊,终于不用整日累成狗屁了,凡事皆有章法,按流程套路办事!
看着似乎天下太平了!但是互联网公司毕竟不是国企,按国企方式运行的互联网公司差不多也该死翘翘了!所以并不是所有的事情都能按照这个流程进行,因为毕竟产品经理和研发是最能感知产品变化的,完全把流程演变了凡事都需要PMO来协调同步,往往也会降低工作效率!
所以产品经理和研发私下协商添加需求,修改需求的事情是常有的,这多少会对项目初期的排期计划产生影响,但对于PMO来说毕竟他面对的又不是一个需求,也不是一个产品经理,但是研发资源却是共享的,所以原先产品<->研发二角关系,就变成了产品<->PMO<-研发这样略复杂的三角关系,产品经理往往因为排期和PMO扯皮;而研发往往也会因为排期时间和PMO、产品经理扯皮!
没想到事情居然变成了这个样子!研发突然发现自己比以前更心累了!而居中的PMO也是两头不讨好,既深入不了业务被产品经理怼,也会因为排期时间被研发怼,也想说一句我TM也是心累!
问题到底出在哪?
不知哪位文学家说过一句话:“幸福的人都是一样的,不幸的人确实各有各的不幸”!这句话同样也适用不同的公司/团队,因为所处的阶段、业务发展的节奏、资源的充足程度都不一样,所以遇到的情况都是有差异的!
对于一个业务类型比较固定、团队规模也适中、人员也相对固定的团队来说,这种事是很少发生的,一般情况下也是不需要PMO过多的介入。例如大厂中专门负责某个固定业务的产品技术团队,因为事情固定、人员固定、资源也相对充足,自然也就不会有这么复杂的事了!
但对于业务发展比较快、研发资源又比较紧张的团队/公司来说,出现这类问题只能说是一种发展的客观规律了!而这也是为什么总有人说某些创业公司非常“乱”的原因!
程序员的生存之道?
无论什么发展阶段的公司或团队,归根到底最后所有的事情还是要落到咱们程序员头上,所以面对排期这种事作为程序员的咱们应该遵守点什么生存法则,才能不被两头怼呢?以下是我的一点心得供大家参考:
1、对所负责的需求要有深入代码级别实现的思考,拆分的研发计划在客观的情况下,尽量留足buffer;
2、对于研发过程中需求的变化、或最初排期考虑不够,对工作量有变化的地方要及时更新计划并同步PMO;
3、项目排期的Deadline尽量不要排到大周五,除非明确周末你要来加班;
4、及时保持和上级的沟通,确保你的老板们对项目情况有感知;
以上几点,都是在最近写代码之余被老板们怼出来的血泪经验,希望对各位老铁有所参考!
·················END·················