文 / 王不留(微信公众号:程序员生存指南)
2020年过得真快,一晃热闹的国庆节结束了。回顾这一年,印象最深的应该是这场疫情,其它时间可能是将一天的工作生活复制了180次。
作为一家软件公司,涉及实施的项目经理很多很辛苦。他们也很苦恼,主要集中在这几个方面:
1)我是被领导赶鸭子上架负责这个破项目的。刚接手这个项目,啥也不知道,压力山大。
2)让我一个人管这么多项目,就配了两三个人。另外,钱还少,有的员工比我的工资还高。
3)区域现在人少项目多,我们以前还能搞搞团建,现在也没有了。大半年了,除了工作,就是加班,没其它乐子。
4)项目组每天都在忙碌,啥时是个头?每天不断的需求,分配的任务,弟兄们爱理不理,没时间观念。搞到最后全是我加班解决。你说这是什么事儿?啥事都要自己搞,好心累!
5)团队中有的同事比我的工作年限还长,一些任务分配不下去,大家都不理解我。另外,工期又紧,领导、客户都在催促我。我很无助很无奈,但这些又不方便和直接领导吐槽。唉。不想干了。
6)天天和客户扯淡,没时间搞技术,开发水平严重下降,感觉人已经废掉了。
7)有些客户特让人心烦,每天看我不顺眼似的,不安排一两件事,他心里不爽。这也就罢了。给他干了这么多事,项目验收时他就怂了,没有担当,不愿签字盖章。我特想揍他。
……
项目经理的吐槽太多。真正梳理下来。集中在这几条:
1)项目不好做,工期难以控制;
2)项目成员无法管理,安排的任务分配不下去;
3)领导只知道完成业绩,不能体谅大家的辛苦;
4)区域有难处,但要合理配置人员,不能一人当两三个人用;
5)接手的项目太多,没有闲暇时间;
6)想学习技术,这是吃饭的本钱。管理太虚,看不到效果;
7)项目做得不好还扣钱。
综合以上,大家的心声就是:更想再回到从前,当个快乐的程序员!
这些问题,记到本子好久了,最近集中梳理了一遍,我想以个人的经历尝试着回答上面的一些问题,不保证正确,而且可能观点偏颇,但应该会有那么一点点借鉴意义,希望对大家有所帮助。
1、要不要当项目经理?
我们的人生每个阶段大致是相似的。3岁上幼儿园,踏上漫长学习路;7岁上小学,痛苦求学之旅正式开始;19岁上大学,迎来学生时代最后的狂欢;24岁大学毕业,转变身份踏入职场;30岁左右结婚生子;60岁退休,安享天伦之乐。
我们职业规划也是如此,相应的年龄段做相应的事情。
为了证明自己不是瞎扯,搬个理论上来。职业生涯发展阶段理论由美国职业管理学家萨柏提出,理论的核心在于职业纵向发展阶段的研究,基于对美国人群(中国人也适用)的研究,将人的纵向职业生涯发展过程分为五个阶段,分别是:
1)成长阶段,0-14岁,建立自我概念,对职位好奇,有意识的培养职业能力;
2)探索阶段,15-24岁,自我考察,职业探索,完成初步就业;
3)建立阶段,25-44岁,获得工作领域,谋求发展;
4)维持阶段,45-64岁,维持地位,维持工作和家庭的关系;
5)衰退阶段,65岁及以上,退出职业,开发社会角色。
职业生涯发展阶段理论中最为核心的建立阶段,包括尝试期(25-30岁, 寻求职业及生活上的稳定)和稳定期(31-44岁, 职业发展和转折期),也就是职场黄金二十年。
那么在国内,我们到34岁时候,即第一个黄金十年结束时,会存在一个分界岭。
1)假如还在基层,可能会被优化掉,重新找工作,可能继续做基层,重复以前的工作,浑浑噩噩度过职业生涯的后半段,60岁退休;
2)假如已成为一个管理者,则可能在基层或中层的管理岗已磨砺3-5年,凭这些经验和实力,开始或已经步入职场的后一个黄金十年,即34-44岁。
按上面的理论,大家作为项目经理,已经是一位基层管理者,正是职场开挂人生的开始。
现在如果退缩,那么自己设定的一个职场天花板已经形成。自己再想突破它,很难!
可能大家会想:我没退缩啊,我只是想搞技术,不想再搞实施了。
我们再看下技术线。
提前声明,我不是指让大家做纯管理,而是做一个有技术能力和业务水平的管理者。
大家都是科班出身,玩JAVA和数据库肯定是绰绰有余。大家更想做的应该是从事技术研发,掌握新技术。
首先我承认技术是值钱的,前提是要拥有别人无可替代的技术,或者说是达到技术专家的水平才行。
按照二八原则来看,世界上 20% 的人掌握着世界上 80% 的财富。
同样的道理世界上可能只有 20% 的人才能达到技术专家的水平,80% 的人都是普通的技术水平。
将范围缩小至公司级时,理论一样成立。
我们为什么想学技术?说直白一点,肯定是想让自己增值,让自己更值钱呗。
那么同样的技术水平,人又多?如何让自己增值呢?
对于我们来讲,拓展自己的边界和知识可能比精专技术更容易。
要拓展自己的边界,又会扯到团队管理,现在的软件开发已经不是个人英雄的时代,均需要团队协作来完成。所以,我们要增值,自然还会去做研发经理。
闲聊时,大家很羡慕公司的研发经理,坐在办公室。不用于客户打交道,避免了很多烦心事,能够专注于技术研发,专注于产品设计。假如有人撂蹶子,自己也不怕,反正自己能搞定。
而项目经理却要直面客户。如果客户认真负责,积极协调,项目就很容易按期完成;如果客户敷衍了事,做事推脱,自己就会被搞得心力交瘁,还完不成任务。
我们只想搞技术,比如对着电脑,你让它做什么,就做什么。而与人打交道就不一样,会遇到各种问题,让人心情时好时差。难以处理,难以成效。
其实研发和交付,在管理上是相通的。项目经理遇到的烦恼,研发经理一样会碰到。
研发经理的客户在哪儿?就是我们呀。我们提个必须实现的奇葩需求,你认为他们的心情是好还是坏?
以上只是说明,咱们不要把技术和管理很生硬地割裂开。虽然咱们因为客观条件,不能专注于技术,但可以在项目管理过程中提升技术开发能力呀。
以前提到过一个解决思路。可以参考文章《从事运维工作的程序员提高开发能力的一些方法》。
我认为大家能成为项目经理是幸运的。不管是自愿还是强制,大家及早抓住了这个提升能力的机会。在这个平台上,大家其实可以尽情实践自己的管理想法。越早踩坑,后面可以越少走弯路。
大家先认清项目经理这个岗位,在这个平台上学到东西才是关键。不希望大家在这个平台,把一年的经验复制使用多年,那肯定是无法进步的。
对项目经理岗位有个较好的认识后,我们再谈谈项目经理应提升的能力,这是我们前进的方向。
2、怎么当项目经理?
我们用下图的“项目经理心智成长模型”做个对标,看看我们如何把项目经理做好。
要成为合格甚至是优秀的项目经理,需要经过一段时间的“砺炼”,这个时间的长短,很大程度上取决于项目经理的“悟性”和“努力程度”。
项目经理需要从“全面考虑问题”、“把握轻重缓急”、“平衡各方期望”、“冷静对待异议”、“善于承担压力”和“不计个人得失”六个方面打磨自己,实现“心智”晋级。
项目经理心智成长模型所表达的基本含义是:
一个刚刚走上项目经理岗位的人员(我们姑且称之为“初级项目经理”),一般可能只具备“全面考虑问题”、“把握轻重缓急”、“平衡各方期望”三个特质中的一个或两个;
随着在工作中的不断“砺炼”,项目经理逐渐具备了“全面考虑问题”、“把握轻重缓急”、“平衡各方期望”这三个特质,成为了合格或是中级项目经理;
随着工作经验的日趋丰富和自我成长,项目经理慢慢地又具备了“冷静对待异议”、“善于承担压力”和“不计个人得失”这三个特质,成为了优秀或者是高级项目经理。
我们通过上图,可以反思自己还有哪些不足需要弥补。
可能有人说,我好像都掌握了,怎么还只是一个项目经理?
很抱歉,屈才了。有必要聊下优秀人才发现机制。
3、项目经理优秀品质如何被发现?
咱们的项目经理可能会被多重发现和考核。
一方面是项目经理的直接领导,即项目主管对你的认可,以及区域管理者对你的认可,再往上就是公司层面对你的认可。
另一方面是项目管理办公室(简称:项目办)通过项目管理或项目表现对项目经理的评判。
项目管理办公室会发现和物色区域优秀的项目经理。并通过质量保证员(QA),在与项目经理的日常工作交流过程中对其进行评判。
另外,还有一个平台,可以展现自己的能力。项目办运营的项目经理微信群和QQ群,以及项目管理财富库。
咱们项目经理是最了解公司业务的人员。大家身处一线,直接与客户对接,最明白客户的想法和需求,所以最容易出彩。
运营项目经理的这两个社群,就是想让大家多交流思想,交流业务心得,共同成长。
然而,咱们的微信群和知识财富库的互动分享并不多,氛围很冷清。
这其实不是我们想看到的。为了让大家能畅所欲言,我们并没有邀请项目主管及以上人员入群。
当然,这里面可能缺乏各种激励和保障机制。项目办也在学习互联网社群的玩法,希望把这两个群活跃起来,而不是现在的状况:
只有问题,没有答案。
4、项目管理太难,还是搞技术吧?
一个成规模的公司,其职业规划基本上会固定下来,形成多条人才晋升通道。
对交付线的说,通常是 助理软件工程师->软件工程师->项目经理->高级项目经理(项目主管,或大项目经理)->区域项目总监->公司项目总监等。
项目经理想搞技术,也是可以的。并不是说只有进公司研发部门这一条路。
咱们可以靠自己努力,组成一个区域的虚拟研发团队,兼职解决区域其它团队的需求或技术难题,把这个虚拟团队的工作做实,慢慢地就会变成区域内部的研发中心。
区域内部的研发组织需要有一个内部孵化演进的过程,而不是单纯靠外界介入成立。
比如公司依据行政命令在区域内部成立一个研发机构,但如果没有具体的工作目标或能落地的手段及措施,也很难成型。
所以,事在人为。莫抱怨,靠自己的力量缓慢地推动区域发展。
另外,做项目经理后,通过对客户业务多年的深刻理解,是可以轻松转入技术线的。
公司很多产品线负责人都是在项目经理岗位历练后,对负责的产品有了更深刻的认识,对客户的业务有了更深入的把握后,逐步转入产品研发的。
5、不懂理论知识,能做好项目经理吗?
可以换个说法:懂项目管理的五大过程十大知识域,就是一名合格的项目经理吗?国外不知,这是老外总结的一套理论,在国内不可行。
这些只是基础知识。只有把这个基础工作夯实的基础上,加强六大特质的锻造,才能从初级到合适,并最终变成优秀,可继续参考“项目经理心智成长模型”。
而且我们公司基于PMP、CMMI5、ISO体系,整合成了一套完整的组织标准过程。
大家没有基础知识也没问题。我们已对体系精简再精简,形成了《项目管理一页纸》,按这个文档做项目管理,八九不离十,不会有太大偏差。做第一个项目,可能磕磕绊绊,做第二个项目就可以得心应手了。
6、作为一名项目经理,特想揍客户怎么办?
与客户产生冲突的时段通常是在与客户对需求的时候。比如客户让你实现“用户APP的主题颜色能根据手机壳自动调整。”(2018年8月,某公司产品经理与程序员因“手机壳颜色打架”而被双双开除,离职的时候又干了一架。)
客户需求,这是一个让项目最头疼的字眼。每当想起客户需求,就想起了以下这些话:
1)项目经理说:这是你的个性需求,不具有通用性,我们不建议做。客户说:不做可以,我们找你们领导去,我们是花钱买了你们产品的。
2)客户说:“这个页面风格太难看,给我换个风格。”项目组加班加点调整N次后,“我发现还在第一版的页面更适合我们,还是换回去吧。” 项目经理:“我晕。”
3)项目经理说:等你们内部斗争完,你们协调完了,我再调研需求。
似乎,我们在需求上无能为力,我们永远在追赶客户的需求,满足他们的现状,把N多家的客户需求都加进软件中,只要能实现的,我们尽量咬牙实现了。
最后,我们发现,我们的软件无比复杂,谁也不知道这个需求当时为什么是这样的。因为无比复杂,所以实施、培训、技术支持都成了问题,稳定性更成了问题。
代码互相交叉,根本无法理清有多少交叉影响点。维护的软件工程师都快崩溃,天天在祈求,千万别接到客户电话,千万别接到客户电话。
上面的牢骚归牢骚,打铁还需自身硬。
我们把业务知识扎实,用自己深厚的专业知识,获得客户的认可,进而引导客户选择合适靠谱的方案。
控制自己的情绪,就事论事,不带感情色彩,和客户讨论和商定需求。
两者之间不是对抗,而是合作共赢,核心是对客户有价值,对公司有价值,对自己有价值,争取三方共赢吧。
不同的客户有不同的处事特点,更多技巧需要大家共同来摸索。欢迎大家把经验分享出来。
7、区域就不能多招些人吗?
资源永远是不饱和的。公司成本每年都要增长,业绩目标也在不断提高,从公司到区域再到项目组,各方压力都很大。
我们团队缺人,可能有两方面的原因:
1)团队真的缺人。项目优质,合同额高,工期紧;
2)项目经理的工作安排不下去,想通过招新人,来完成任务。
这些需要通过公司体制来完成。公司今年邀请咨询公司导入组织绩效,引入业务运营体系,就是想全面有效地解决这些问题。
让大家敢闯敢搞,多劳多得,不劳不得,能者上庸者下。紧紧围绕人效和费用开展经营,关注组织绩效。
8、项目验收延迟还会被扣钱?
其实这个问题少了一句话:项目提前验收是有奖励的。有奖有罚,公平合理,这就是我们经常所说以结果为导向。项目经理做为项目的第一负责人,理应对项目的按期交付负责。
虽然有各种原因,比如客户原因,环境因素,项目验收延迟了,但不能认为这不是自己的问题,就不去推动。
咱们很多项目经理,毕竟是技术出身,与人交流比较腼腆。感觉客户没提验收,自己也不好意思去催他们。
另外,项目验收的推动,咱们不少项目经理认为这是客户经理的事情。反过来,客户经理又认为这是项目经理的事情。
这种扯皮的事情很多。我们还是不要指望别人,把自己能做的做好。
项目按期交付的责任很明确,这就是项目经理的工作。
我们除了积极推动项目进度,推动项目验收,还应多和客户联系,处成朋友,处成熟人,然后多诉诉苦。这样效果会好得多。
有不少项目经理反映客户经理不给力。不给力就自己搞,一两顿饭就能解决的问题,那就向区域领导请示后,自己来处理。
咱们就要有担当。项目按期验收就是项目经理的责任。在遵守公司规章制度的情况下,很多推进思路或解决方案都可以在请示领导后主动去尝试。
多实践,才有经验;多总结,才有经验;多分享,才能固化经验。
最后,希望大家互帮互助,把自己的经验总结分享出来。
项目办会参考技术委员会每周技术分享的方式,定期召开“项目管理经验分享”视频分享会,给大家提供一个学习交流的平台。
希望大家多参与,多学习借鉴。看得多学得多,在项目管理方面的思路才会多,解决问题才会更得心应手。
每位项目经理都是项目第一负责人,是小CEO,脚踏实地在这个平台上,多练手多实践。接受它,再尝试改变它。提升自己的能力,开阔自己的视野,相信会成长更快,也会更值钱!
程序员生存指南 发起了一个读者讨论想说点什么?
* 作者简介:王不留(微信: wbliu85),早晨四点开启奔跑人生的一枚非典型程序员。