互联网公司的项目经理:减少自找加班的苦

by byteh

看了一下日期,距离最近一篇博文已经过去了一个月有余了,时间确实有点长。之所以这么拖拉,是由于bythe的身体是单线程的,大脑也许是多线程的但还是无能为力。就像近期几位博友写的很有趣的几篇关于在北京上班路上的攻略描写的那样,Byteh每天在地铁和公交上要度过近3个小时……终于决定,通过搬家的方式可以争取些许时间回来,别了,住了2年的小屋,别了,球友们。可能真正的北漂的好处之一就是:可以漂移到离单位近的地方。

《减少自找的加班》,之所以把这个题目插入进来,是因为我认为前一段byteh工作中出现了问题,这些问题可以让我来先问朋友们一个问题,这个问题就是:你喜欢加班吗这个问题?

很绕口,相声段子又听多了!范围缩小点,我认为绝大部分IT工作者们是不愿意加班至少是不喜欢加班的,但是很多情况下,似乎选择了IT选择了开发就选择了加班……

初入职场身体倍儿棒的时候,我就不喜欢加班,因为自己在学校时有时会和一些老师们一起打球,当时梦想着工作后每天下班后能向大学老师们那样每天去打打篮球,锻炼身体并自娱自乐。后来工作了,发现自己为了寻求突破(保质保量完成开发任务也是突破,试图进步提高水平也是突破),会愿意加班,但愿意不等于喜欢,愿意和喜欢之间相差的就是“感情”。

生活就是这样,永远只做自己喜欢做的事情,是成长不了的……永远去做自己不喜欢的事情,是不会有激情的!

记得某次部门的周例会上,各项目组要介绍自己组最近的工作内容和进展情况,轮到我们组时,别的同事打趣说“你们最近加班了”,老幼皆知,由此可见加班强度之大。的确,国庆节前后的一段日子,几乎每天都要加班,好几次都是到午夜了,身体透支严重……没有了自己的时间,我觉得工作不应该是这样的!

最近,各方面有了些转机了,是时候写点东西回忆一下了。

加班,我认为通俗点可分为两种情况,一种是必须的,另一种是自找的。

必须的加班,就好比打仗中的冲锋、抢占阵地、攻坚、打硬仗,是不可避免甚至不能找任何理由逃避的!这种情况是考验一个职业人职业素质、敬业精神、团队意识等等优秀品质的时候,在组织归属感强烈的环境,甚至会越加班越斗志昂扬!无论如何,当相信你的人需要你的时候,至少要站出来一回……至于第N回要不要站出来,就取决于你是否也信任这个人和这个组织了!打硬仗,往往也是出成绩的的时候,平日里锻炼好身体,关键时候一定要Hold住!

自找的加班,怎么还会存在这种情况?难道企业不需要加班,还有人吃多了自寻加班?答案是肯定的,因为这样的情况在神州大地上随处可见。随手捏个例子,某工程为了在某个特定的日子完成,往往会通过加班加点的方式完成,完成后皆大欢喜,但背后往往埋下质量隐患。IT开发行业也是如此,尽管带来的危害不一定会造成生命财产的损失,但还是要重视的。

事情是这样的:Byteh所参与的项目,对公司有特殊意义,开发节奏在整个技术团队也就属于“另类”。第一个版本,一开始就严格定了上线日期,需求量很大因为产品几乎是从无到有的程度,属于硬仗,整个团队自然要加班,没什么说的。

第一个版本之后,开发进度调整为短平快,每6个工作日一个版本(3天开发期2天测试1天维护)。大约经历了3个大小版本的开发后,小组成员都吃不消了,无论是精神还是身体都感觉要垮掉。更让人崩溃的是,几乎每次都不能按时提交测试,导致测试人员需要陪着我们加班完成计划中的第一轮测试,而且bug数量也较多!终于使得测试部门的主管在技术部(包括开发和测试)全体例会上点名“陈述”,项目组受到了领导的“教育”……

记得当时,一位兄弟的QQ签名改成了“working hardhard working?”

出现了问题,就要寻找解决方法,于是小组成员抽空开了个内部的小会。会议很不正式,大家只是分析了实际干活的时间与工作量不匹配,过程自然无需复现,但是值得总结一下,因为后来的日子证明了效果。会议的结论其实很简单,那就是3d的开发期真正用在写代码的时间也就1.8d,在有限的工期内我们消化不了那么多需求,需要让相关各方知道真实的情况,然后一起商量解决方案。实际上,小组已经有了共识:项目经理要从源头上严格控制需求,吃多了消化不了!

一、算工期做计划不妨悲观点

曾经经历过一个延期的软件项目,现在回想起来原因,其实和当初公司领导在只了解需求的皮毛就过于乐观也有一定关系,记得客户说“你们老板认为半年就能完成,后来合同上的时间还是我们让加的”……

而在当下这个场景中,我们已经打过了一场硬仗,接下来的需求仍旧按照打攻坚战的那种节奏那种“胃口”,是不应该的按理说也不会出现的!但是在“客户”(参考文章《互联网公司的项目经理:客户伤不起》)不了解实际开发情况的前提下,通常提出的需求是几倍于开发工期的,即使按照3d的开发期来“砍”,还是会过量!

此时,比如项目经理凭感觉过于乐观的答应了3.5d的需求量,那么后来的压力就全到了开发人员头上。技术出身的人往往都会想象自己是英雄人物,喜欢当出现危难时拍着胸脯站出来后被周围人敬佩的目光包围的那种感觉。

但是,英雄不是容易当的!开发日不能不去参加正常的例会,不能不去应急处理线上bug,不能对同事的求助置之不理,不能去避免未知的困难发生……结果,不管承认是否属于自找的都不重要了,因为加班发生了!

总结:一定要给自己留适当冗余的一些时间,冗余的时间可以做很多事情!比如3d的开发期,最多吃进来2.5d的需求量,至少要给自己留半天的“保险”!

二、要让“客户”理解你的苦

记得在小组会议开始的时候,有技术水平高的同事会认为加班的主要原因是由于开发效率不够高,当然这是一方面原因,但实际上这更是现实,就像大部分人认为房价远远高于自己的收入一样,我们必须要对面对现实,日子还要继续过下去!当大伙达成了在产品需求大会上向各方汇报实际开发期的情况这个决定时,有兄弟还是认为即使说了也效果不大,该怎么样还得怎么样?

byteh凭以往的一些经历却认为一定会生效,因为我们在寻求“客户”们的理解,而不是推卸责任和责难谁!包括产品在内的整个团队都在磨合当中,大家没有理由不共同面对问题!如果不生效,表明我们的苦表达的不够,但总会有效果的!毛主席曾经说过“星星之火可以燎原”,但不是一朝一夕的。

结果:产品会上,包括老大、产品总监在内的“客户”们,都同意了以后会精简需求!

三、有苦早点挖,同情你没用

这点是从领导“批评”我们的谈话中总结出来的,原话大概是“有问题要及早暴漏出来,看别人能不能帮你能不能给你调度资源,不要总自己藏着掖着捂着,到火烧眉毛的时候谁也帮不上你们”

很是受用,很多情况下,你不说出你的苦,别人就会认为你甜得美滋滋的;不早点说出你的难处,也许别人会一直把你当超人;说出了问题,只要不是碰到不讲理的资本家,那么一定是有效果的!不知道怎么搞的,突然间想到了上访被精神病了的同胞,难道是过于追求逻辑的严密性?不做解释了……

就在上周五(2011-11-04),产品部外出集体活动,我们项目组的技术(包括测试)也参加了,当你呆在一个这样的团队中是不需要天天被口头灌输什么企业文化、向心力之类东西的,一切似乎都那么自然。

博主推荐阅读
     球场上的助攻王-职场上你的位置在哪里
    销售,卖的是什么–销售的最高境界
    管理的最高目标:1加1等于1  
    距离产生了,美没了
    职业价值取决于解决问题
    职业寿命取决于营销理念
    互联网公司的项目经理:大同与大不同