文章来源 | 程序视界
作者 | 安晓辉,毕业于西安交通大学,有10余年的IT和互联网从业经验,曾为创业公司技术合伙人,现为软件开发技术专家和职业规划师。
大部分人工作三五年后,都能掌握所在岗位必须的知识、经验和技能。然而很多人却会一直停在这个程度,被困在原地,左冲右突,无法加薪升职。
这种现象的背后原因,是不理解个人职场晋升的逻辑,不能制定有效的发展策略。因此,今天我们来学习一个模型——职场成长金字塔,看看该按怎样的规律来提升能力实现跃迁。
职场成长金字塔
从这张图上可以看到,个人在职场上的成长与修炼,分为 6 个层级。
第1层是个人专业能力,我们大部分人刚进入企业时,都在修炼这个层次的能力,比如编程、做PPT、用Excel、报税等等。一般工作3年左右,在专业能力上获得的积累,就足够胜任底层执行工作。成长快的小伙伴,可能 1-2 年就可以完成这个阶段的修炼。
第2层是人际沟通能力的修炼,要刻意在人际沟通方面发力,提升自己的人际敏感度,能够洞察他人的想法、情绪、感受,更好的理解他人,尤其是上司,这样才能更好的与他人协作,成为既有专业能力又有人际协作效能的员工。在这个层级修炼时,还要有意识的提升自己的高度,从项目全局看问题,拥有项目管理能力,能够拆分任务、分派任务,为后面向初级经理晋升做准备。完成这一层,往往是工作 5 年左右的事情。跑得快的小伙伴,3-4 年也能走完。
第3层是组建团队能力。要求我们具备管理、计划、组织、协调、目标管理、激励、反馈、辅导、招聘、评估绩效等等能力,以便带领他人完成团队目标。处在这个层级的职场人士,可以迅速组建新团队或接管已有团队,能够很好的带团队、带项目,具备因人而异解释工作目标的能力,能用团队目标统合团队成员共同实现目标。完成这层的修炼,工作经验在 6-8 年左右,跑得快的,4-5 年。
第4层是跨职能协作能力,修炼到这层,应当具备多线程工作的能力,可以带领几个初级经理,统管多个团队和项目,同时,也能够跨职能沟通,比如能够很好的协调行政、人事、市场、研发、销售、产品等各个团队一起工作。完成这层的修炼,一般人需要 8-10 年左右的时间。也就是说,工作 10 年左右,发展得好,你就可能会成为一家企业的中层经理。
第5层是组织发展能力,修炼到这层的人,了解企业的各个职能是如何工作的,能够为公司的扩张做支撑,哪个部门该加人,哪个部门该减人,要不要建立分支机构,都应该心中有数。此时的头衔,往往是部门总监。走到这一层,需要 9-12 年的时间。
第6层是战略眼光,此时个人的身份往往已经是CEO了,为公司的未来发展负责,判断未来趋势,规划战略方向,组织效能提升,人才战略,产品战略,都是需要关心的问题。
技术管理知识树
对开发者来讲,第1层对应的就是具体的软件开发角色,卡在这层无法晋升,是指没办法成为技术管理角色。这其中最重要的原因是:大部分开发者只注重专业技能的修炼,忽视了人际沟通、项目管理等技能。
而实际上,技术管理岗位,需要软件开发的专业知识体系,也需要项目管理、部门运营、人际沟通、产品知识、自我提升、公司知识、行业知识等等,这个岗位,需要的是一个知识树:
在这棵知识树中,有1个知识体系,特别重要,那就是——项目管理。如果一个开发者不具备项目管理知识体系和实操能力,就很难带好软件项目,很难走向技术管理岗位,很难做好技术管理工作。
所以,今天我们来聊聊项目管理能力修炼的6个阶段:
1、学习项目管理知识体系
2、以生活中的项目作为练习
3、观察软件项目,推演项目管理的过程
4、主动打杂,熟悉某些项目管理过程
5、独立带小项目
6、带大项目
学习项目管理知识体系
很多事情都是有章法、框架的,项目管理也是如此。比较知名的项目管理体系就是PMP认证所定义的体系了。建议想走技术管理路线的小伙伴,都学习一下PMBOK,考一个PMP认证。
在PMBOKv6中,把项目管理分为10个过程:
1、整合管理
2、范围管理
3、进度管理
4、成本管理
5、质量管理
6、风险管理
7、采购管理
8、人力资源管理
9、沟通管理
10、干系人管理
前7个过程,是对事务的管理,后3个过程,是对人的管理。而且,后3个过程往往会在很大程度上影响前面的7个过程。所以,人际沟通能力,协作管理能力,都是技术管理岗位必须具备的能力。
我们掌握一项技能的最开始,就是找到这个领域的知识体系和框架去学习。了解了基本框架,再去实践,以实践来印证所学知识体系,相互促进。这样,知识才能内化为能力。
以生活中的项目作为练习
其实项目管理并不是软件开发过程中特有的东西,它是通用的技能,可以在变通应用于任何类型的项目,比如电视生产、汽车制造、年会,各种都可以用。所以在一开始我们还是普通开发者,无缘管理项目时,可以通过生活中的项目来练习。
比如国庆长假的旅游,就是一个很好的练手项目,因为它牵涉到多个人、成本、线路规划、住宿、交通、饮食等等,比较复杂,几乎包含了项目管理的10个过程。再比如同学聚会、读书分享会、组团爬山等等,都是很好的练手项目。
我们在生活类项目中练就的能力,比如规划、进度管理、成本控制,都可以直接拿到软件项目中使用。
观察软件项目,推演项目管理过程
我们还不是项目经理、技术经理的时候,可以观察别人是怎么做的,把自己放在管理角色上,来推演自己会怎么做,这样也是一种有效的练习。
一个简单有效的练习方法,是给自己定一个目标:每天挑出一个项目管理相关的问题来琢磨解决之道。
-
比如代码管理工具使用 svn 而不使用 git 会有什么问题;
-
比如每日站会上有些程序员每天都说“昨天改 Bug ,还没查出原因,今天接着改 Bug ”到底有无意义;
-
比如开发因为技术实现原因而选择忽略 App 的视频启动动画,需求不同意,该怎样和她沟通;
-
比如前端开发者元小二经常性地把 Bug 直接分配给后端开发袁大头,两人为此不断口角,怎么解决;
-
比如有几位程序员,提交代码时不写任何日志;
-
比如阿三提交代码十次有八次不做集成构建测试;
-
比如老板总是越过项目经理直接指挥团队的开发者新增需求;
-
……
带着问题去学习,是最有效的方式。
主动打杂,熟悉项目管理过程
生活中练习,工作中代入角色,日常推演,这些方法可以让我们熟悉项目管理的知识、技能和过程,但有效的办法,还是直接做目标领域的项目管理工作。
有人说我不是项目经理啊,怎么做项目管理?别急,你虽然不是项目经理,但你身在项目之中,承担了某个角色嘛,那自然有些工作是和你相关的。另外,更关键的是:你要跳出工作内容和岗位职责的范围,放眼全局来思考。站出来,你才有机会。老想等着领导看见你给你机会,那是不可能有机会的。
所以,你要用心观察,发现机会,主动去做。比如拔高自己,站在全局视角思考整个项目,从立项、需求、开发、测试、交付、运维、项目生产工具,分析哪个环节做得不好,哪个环节改善之后效果可以被看见,主动去做这些事情,主动成为衔接不同环节、不同人员、不同部门的桥梁;
比如观察项目经理、研发经理,看他们有哪些项目管理相关的事情是不愿意做的,比如组织会议、跟踪计划、分派任务、推动多干系人协作等,主动找他们表达你可以分担这部分工作的意愿,获得打杂的机会。
有心就可以发现很多可以发挥的机会——因为大多数开发者都嫌麻烦不想把事情揽在自己身上哦。
独立带小项目
如果我们在第四个阶段做出一些亮点,比如会议组织的很好、项目计划跟踪的很到位,那团队有新的项目时,经理可能就会安排你来管理。到这个时候,你就可以系统地进行项目管理了。
自己独立带小项目时,要注意下面这些点:
-
充分了解项目背景、需求、目标、交付要求、时间要求、干系人等。
-
充分了解研发团队成员的情况,谁是什么性格、行为风格,擅长什么技术,有哪些项目经验。这点尤其重要,因为大多数软件项目的管理,都不是全过程的,而是集中在软件开发生命周期(产品定义、需求分析、开发、测试等),这个阶段,研发团队成员非常关键。
-
充分了解团队曾经使用过的开发过程和工具,比如迭代、精益、SCRUM、看板、Redmine、JIRA等,选择大家熟悉的。
-
不要在项目管理过程中全面引入新方法、新过程、新工具,尽量在现有基础上来做渐进式改革。
-
建立有效的反馈渠道(会议、周报、特定的信任你的项目成员等),能适时了解项目管理的效果。很多人一开始带项目,只管推方法、推工具,不知道实际的效果如何,往往是把经念歪了还不知道。
带大项目
经历了第五阶段若干个小项目的实践,我们对软件项目管理应该有了丰富的知识积累和实践经验,可以挑战比较大的项目了。
5个人2个月可以完成的小项目,与100个人2年才能完成的中大型项目,不是一个概念,对项目管理能力的要求,非常不同。
回顾&预告
今天,我简单的介绍了关于项目管理能力修炼的6个阶段,给大家提供了一个循序渐进的参考。实际上,软件项目的管理,有它自己的特色,与建筑、生产、娱乐等,大不相同,所以,要做好软件项目管理,除了PMBOK构建的体系,还需要了解软件工程特有的知识体系,这方面,建议看看下面几本书:
《人月神话》
《软件工程》
《软件工程:实践者的研究方法》
《项目百态:深入理解软件项目行为模式》
《软技能——代码之外的生存指南》
面对面公开课
为了帮助大家更透彻的了解到需求开发与管理方面的最佳实践,我们特意邀请到了《软技能——代码之外的生存指南》的译者David Wang,于7月26-27日在成都为大家分享《有效需求分析训练营》这门课程,点击此处即可面对面与老师沟通交流。
讲师简介
David Wang
前华为项目经理、内部教练
王老师拥有15年的软件研发、项目管理与质量管理经验,曾先后供职于华为技术有限公司、国际商用机器技术有限公司(IBM Solution and Services Co.)、中国移动无线数据研发中心和QAI(外资全资咨询顾问公司)等多个企业,担任过项目经理、质量总监、咨询顾问等多个职务。他深厚的理论知识、丰富的咨询经验以及犀利而又不失亲和力的咨询风格使得他近年来在业界屡获殊荣。
价值收获
-
分析业界公司在需求管理和需求开发过程中的误区,并分享成功经验;
-
站在“项目交付价值”的全新角度了解在需求开发和需求分析的过程、以及在这个过程中各种技术和方法论的使用特点;
-
理解需求捕捉时的主要方法:用户故事、业务概念分析、最小原型法;
-
理解需求分析/需求建模的主流方法:User Story 用户故事、UseCase用户用例、数据流图、有限状态集图、实体/关系图……;
-
理解非功能性的分类、示例以及如何获取的方法;
-
掌握规格化需求时的注意事项与模板示例;
-
了解需求评审时的3种常用的方法:正规检视、同行专家评审与走查;
-
了解需求变更控制的流程、要素与注意。
培训对象
项目经理及项目管理(PMO)人员、需求分析人员、高级开发与设计人员、高级测试工程师
课程大纲
软件需求分析是一个项目的开端,也是项目实施最重要的关键点。一个项目的成功,软件需求分析是最关键的一步,所以想成为技术管理者,不妨在学习上述经验的同时,报名这门公开课,帮助自己更系统的培养思维方式。