摘要: 项目管理能力修炼的6个阶段。

  • 原文:缺这项能力,做不了技术管理工作
  • 作者:安晓辉
  • 公众号:程序视界

Fundebug经授权转载,版权归原作者所有。

我门在“程序员加薪升职之成长金字塔”中介绍了职场成长金字塔:

大部分开发者工作三五年后,都能掌握所在岗位必须的知识、经验和技能,然而很多人接下来就陷入困境,左冲右突,无法加薪升职,一直停在第1层,三年五年过去了,八年十年过去了,可能都还停在1层的位置。

对开发者来讲,第1层对应的就是具体的软件开发角色,卡在这层无法晋升,是指没办法成为技术管理角色。这其中最重要的原因是:大部分开发者只注重专业技能的修炼,忽视了人际沟通、项目管理等技能

而实际上,技术管理岗位,需要软件开发的专业知识体系,也需要项目管理、部门运营、人际沟通、产品知识、自我提升、公司知识、行业知识等等,这个岗位,需要的是一个知识树:

在这棵知识树中,有1个知识体系,特别重要,那就是——项目管理。如果一个开发者不具备项目管理知识体系和实操能力,就很难带好软件项目,很难走向技术管理岗位,很难做好技术管理工作。

所以,今天我们来聊聊项目管理能力修炼的6个阶段

  • 学习项目管理知识体系
  • 以生活中的项目作为练习
  • 观察软件项目,推演项目管理的过程
  • 主动打杂,熟悉某些项目管理过程
  • 独立带小项目
  • 带大项目

1. 学习项目管理知识体系

很多事情都是有章法、框架的,项目管理也是如此。比较知名的项目管理体系就是PMP认证所定义的体系了。建议想走技术管理路线的小伙伴,都学习一下PMBOK,考一个PMP认证。

在PMBOK中,把项目管理分为10个过程:

  • 整合管理
  • 范围管理
  • 进度管理
  • 成本管理
  • 质量管理
  • 风险管理
  • 采购管理
  • 人力资源管理
  • 沟通管理
  • 干系人管理

前 7 个过程,是对事务的管理,后 3 个过程,是对人的管理。而且,后 3 个过程往往会在很大程度上影响前面的 7 个过程。所以,人际沟通能力,协作管理能力,都是技术管理岗位必须具备的能力。

我们掌握一项技能的最开始,就是找到这个领域的知识体系和框架去学习。了解了基本框架,再去实践,以实践来印证所学知识体系,相互促进,这样,知识才能内化为能力。

2. 以生活中的项目作为练习

其实项目管理并不是软件开发过程中特有的东西,它是通用的技能,可以在变通应用于任何类型的项目,比如电视生产、汽车制造、年会,各种都可以用。所以在一开始我们还是普通开发者,无缘管理项目时,可以通过生活中的项目来练习。

比如国庆长假的旅游,就是一个很好的练手项目,因为它牵涉到多个人、成本、线路规划、住宿、交通、饮食等等,比较复杂,几乎包含了项目管理的10个过程。

再比如同学聚会、读书分享会、组团爬山等等,都是很好的练手项目。

我们在生活类项目中练就的能力,比如规划、进度管理、成本控制,都可以直接拿到软件项目中使用。

3. 观察软件项目,推演项目管理的过程

我们还不是项目经理、技术经理的时候,可以观察别人是怎么做的,把自己放在管理角色上,来推演自己会怎么做,这样也是一种有效的练习。

一个简单有效的练习方法,是给自己定一个目标:每天挑出一个项目管理相关的问题来琢磨解决之道。

  • 比如代码管理工具使用 svn 而不使用 git 会有什么问题;
  • 比如每日站会上有些程序员每天都说“昨天改 Bug ,还没查出原因,今天接着改 Bug ”到底有无意义;
  • 比如开发因为技术实现原因而选择忽略 App 的视频启动动画,需求不同意,该怎样和她沟通;
  • 比如前端开发者元小二经常性地把 Bug 直接分配给后端开发袁大头,两人为此不断口角,怎么解决;
  • 比如有几位程序员,提交代码时不写任何日志;
  • 比如阿三提交代码十次有八次不做集成构建测试;
  • 比如老板总是越过项目经理直接指挥团队的开发者新增需求;
  • ……

带着问题去学习,是最有效的方式。

4. 主动打杂,熟悉某些项目管理过程

生活中练习,工作中代入角色,日常推演,这些方法可以让我们熟悉项目管理的知识、技能和过程,但有效的办法,还是直接做目标领域的项目管理工作。

有人说我不是项目经理啊,怎么做项目管理?

别急,你虽然不是项目经理,但你身在项目之中,承担了某个角色嘛,那自然有些工作是和你相关的。另外,更关键的是:你要跳出工作内容和岗位职责的范围,放眼全局来思考。

站出来,你才有机会。老想等着领导看见你给你机会,那是不可能有机会的。

所以,你要用心观察,发现机会,主动去做。

比如拔高自己,站在全局视角思考整个项目,从立项、需求、开发、测试、交付、运维、项目生产工具,分析哪个环节做得不好,哪个环节改善之后效果可以被看见,主动去做这些事情,主动成为衔接不同环节、不同人员、不同部门的桥梁;

比如观察项目经理、研发经理,看他们有哪些项目管理相关的事情是不愿意做的,比如组织会议、跟踪计划、分派任务、推动多干系人协作等,主动找他们表达你可以分担这部分工作的意愿,获得打杂的机会。

有心就可以发现很多可以发挥的机会——因为大多数开发者都嫌麻烦不想把事情揽在自己身上哦。

5. 独立带小项目

如果我们在第四个阶段做出一些亮点,比如会议组织的很好、项目计划跟踪的很到位,那团队有新的项目时,经理可能就会安排你来管理。到这个时候,你就可以系统地进行项目管理了。

自己独立带小项目时,要注意下面这些点:

  • 充分了解项目背景、需求、目标、交付要求、时间要求、干系人等。
  • 充分了解研发团队成员的情况,谁是什么性格、行为风格,擅长什么技术,有哪些项目经验。这点尤其重要,因为大多数软件项目的管理,都不是全过程的,而是集中在软件开发生命周期(产品定义、需求分析、开发、测试等),这个阶段,研发团队成员非常关键。
  • 充分了解团队曾经使用过的开发过程和工具,比如迭代、精益、SCRUM、看板、Redmine、JIRA等,选择大家熟悉的。
  • 不要在项目管理过程中全面引入新方法、新过程、新工具,尽量在现有基础上来做渐进式改革。
  • 建立有效的反馈渠道(会议、周报、特定的信任你的项目成员等),能适时了解项目管理的效果。很多人一开始带项目,只管推方法、推工具,不知道实际的效果如何,往往是把经念歪了还不知道。

6. 带大项目

经历了第五阶段若干个小项目的实践,我们对软件项目管理应该有了丰富的知识积累和实践经验,可以挑战比较大的项目了。

5个人2个月可以完成的小项目,与100个人2年才能完成的中大型项目,不是一个概念,对项目管理能力的要求,非常不同。具体怎么不同,我没做过太大的项目,并不知道啊……

呃,所以,这个阶段,我没什么好说的……如果你有经验,文后留言来聊聊呀。

总结

这次我简单介绍了项目管理能力修炼的6个阶段,提供一个循序渐进的参考。实际上,软件项目的管理,有它自己的特色,与建筑、生产、娱乐等,大不相同,所以,要做好软件项目管理,除了PMBOK构建的体系,还需要了解软件工程特有的知识体系,这方面,建议看看下面几本书:

  • 《人月神话》
  • 《软件工程》
  • 《软件工程:实践者的研究方法》
  • 《项目百态:深入理解软件项目行为模式》

好啦,这次就到这里,下次来聊如何成为技术管理者。

作者信息: 安晓辉,《程序员的成长课》作者,公众号“程序视界”主理人。

程序员如何修炼项目管理能力?相关推荐

  1. 《程序员的修炼——从优秀到卓越》一一1.6 勿以专家自居

    本节书摘来自异步社区出版社<程序员的修炼--从优秀到卓越>一书中的第1章,第1.6节,作者:[美]Jeff Atwood,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  2. 程序员思维修炼:如何从新手成为专家

    在"职场跃迁工具:德雷福斯模型及应用2例"中,给大家分享了"德雷福斯模型": 这个模型,来自<程序员思维修炼>这本书: <程序员思维修炼> ...

  3. 程序员怎么做项目管理?

    (小灰养了一只小小灰,希望为大家带来好运气) 小灰身边不乏很多优秀的程序员,他们很擅长与机器和代码打交道.当他独立写代码.单打独斗的时候,一点不在话下. 但是,当一个优秀的程序员身处一个团队,需要通过 ...

  4. 《高效程序员的修炼》读后感

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 首先非常感谢陆经理的赠书,如有想购买的同学,可到京东购买,地址:http://item.jd.com ...

  5. 《程序员的修炼之道——从小工到专家》读书笔记

    概览 最近读了<程序员的修炼之道--从小工到专家>这本书,感觉这本书又是属于开发进阶的必读的一本著作,而且我觉得一遍甚至还只是入门,这是一本值得都第二遍的书.再次推荐给大家,没看过的都去看 ...

  6. 程序员架构修炼之道:软件架构基本概念和思维

    引子 互联网发展到今天,软件系统早就不是一个万行代码加上一台服务器这样的作坊玩具.BAT的服务器规模已经达到甚至超过百万级.传统企业向互联网的靠拢,势不可挡. 优秀的软件系统架构师就像大海航船舵手,指 ...

  7. 高效能程序员的修炼读后感

    不知道我是何时关注codinghorror这个网站的.可能是我开始想使用RSS的时候吧.在Google上搜索了关于一些程序员必读的RSS源,在知乎上也有相关的回答.等收集了一大堆后,发现了coding ...

  8. 程序人生:程序员要修炼的第一本秘诀--哲学

    昨天开通了公众号,得到了很多朋友的支持,首先在这里表示感谢,我会坚持做有帮助的输出. 承接我的第一篇文章,咱们接下来就从程序员修炼开始聊,以玩游戏的方式展开.俗话都说万事开头难,如果你有一个好的开头, ...

  9. 《程序员的修炼——从优秀到卓越》一一1.10 十年磨一剑

    本节书摘来自异步社区出版社<程序员的修炼--从优秀到卓越>一书中的第1章,第1.10节,作者:[美]Jeff Atwood,更多章节内容可以访问云栖社区"异步社区"公众 ...

最新文章

  1. linux通过串口读取文件,Linux 串口读写(二)
  2. pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换
  3. 致命错误: Python.h:没有那个文件或目录
  4. linux sed在容器中怎么用,概述LFCS 基础之sed用法
  5. iview 表单提交之前验证是否符合条件
  6. java is开头版本解决_eclipse指定jdk版本启动,解决Version XXXX of the JVM is not
  7. 创建自己的共用js库
  8. linux查看队列 msg,linux第10天 msg消息队列
  9. django使用LDAP验证
  10. CSS3 Flex布局子元素的属性
  11. 异常总结2013-04
  12. 去掉CSDN blog 多余的版权申明部分[转贴]
  13. 网络游戏防沉迷的理想与现实
  14. 孙玄达叔:年薪75万的真实技术面试实践攻略(篇章二)
  15. 工业机器人图册 索罗门采夫_机械手控制电路 机电一体化毕业设计论文.doc
  16. 第1期:手把手教你制作网易邮箱注册页面
  17. 波士顿大学 计算机专业,波士顿大学计算机科学专业波士顿大学计算机科学专业.pdf...
  18. android rom结构_如何将新的ROM刷新到您的Android手机
  19. CDA数据分析师认证与Pearson VUE达成深度合作
  20. react-native Error installing Flipper-Glog

热门文章

  1. 深度学习推荐系统实战笔记
  2. 疫情风险地区查询数据库
  3. “牌面”养成记4:阅读顺序,工具,以及小成果
  4. 2022年计算机软件水平考试信息系统项目管理(高级)练习题及答案
  5. WinEdt引用参考文献
  6. 非常专业的图形图像处理工具-Adobe Illustrator CS5提供下载
  7. 分布式协调系统ZooKeeper的安装
  8. NP路由器——OE要点整理
  9. arm oe linux gnueabi 系统,交叉编译移植openssl
  10. python随机生成小写字母表_用小写字母生成大随机字符串的最快方法