为何过了PMP项目经理认证,还是无法做好IT项目管理?

开发 项目管理
对于项目管理本身有IT项目管理,工程项目管理,项目组合管理等多个领域或分支,但是我个人理解IT项目管理是复杂度最大的,也是最难管好的。

很久没谈IT项目管理方面的内容,因此今天准备写篇文章再谈下IT项目管理。对于项目管理,在IT领域大家比较熟悉的就是CMMI能力成熟度模型和PMBOK知识体系,包括PMP国际项目经理认证考试。

对于项目管理本身有IT项目管理,工程项目管理,项目组合管理等多个领域或分支,但是我个人理解IT项目管理是复杂度最大的,也是最难管好的。这不仅仅是针对没有项目管理经验考取了PMP认证的,包括有项目管理经验考取了PMP认证的,有时候也很难做好IT项目管理工作。

那么IT项目管理的难点究竟在哪里?个人理解主要体现在三个方面。

  • IT项目管理是偏技术类管理
  • 核心是和人打交道的一个工作
  • 软件系统本身的复杂性和不可预测性

如果你没有把这三个点想明白,你基本很难做好项目管理。

在很多年以前在一个论坛上有人提问软件项目管理的核心是什么?我当时只回答了一个字,是解决人的问题。由于没有过多解释,被认为答案太简单被删除掉了。

为何人的问题是最重要的问题?

在最早的PMBOK知识体系里面只有9大知识领域,而现在最新的知识体系单独增加了一个知识领域即干系人管理,即识别干系人,规划分析干系人,管理干系人,这些内容贯彻整个项目管理生命周期。

因为一个项目如何才叫做好?

这不是简单地完成了项目进度,质量,成本等目标。而是真正做到了平衡多方干系人的利益,让大家都处于一种相对满意的状态。

举个最简单的例子,一个对外的IT项目你作为项目经理,如果客户什么新需求或变更你都满足,虽然客户满意了,但是项目范围蔓延,最后项目核算时候还亏本。那么反过来,客户提的什么变更或需求都拒绝,那么客户不满意,到时候没有验收回款。

就这么一个简单的事情你看执行起来这个度把握好都不容易,项目管理是一个平衡的艺术,不仅仅是说范围确定情况下进度,质量和成本三要素的平衡。也包括了干系人利益的平衡,不可能单方满意,而是要找寻多方相对满意状态。

这个干系人还不仅仅是对外部干系人。一个IT项目,项目团队成员也是干系人,项目成员的家庭成员可能也是干系人。

软件项目,很多需求,编码,测试验证工作都是人在执行,一个简单的情绪往往对个人的生产效率都影响极大。那么如果你内部项目成员没有管理好,没有在关键的时候做好激励,鼓励,情绪照顾各种工作,那么本身你安排1到2天能够完成的事情,最后1周甚至更长时间完成都是常见情况。

对于软件开发来说,从基础的软件工程思想和方法论,到《软件工艺》,《人件》这些书籍,你都可以看到软件开发的核心效率体现在人,而不是工程方法或技术工具层面。如何做好人员的培训,最大化地激发人员内在动力和做事激情,往往才是做好事情的关键。

IT项目管理是业务+技术+管理综合

在各个行业,各个业务领域 ,都没有单纯的项目管理,更多的是结合业务,技术的,以项目目标为驱动点的核心能力。

特别是在软件行业,不论是内部的软件产品研发项目管理,还是偏外部的软件项目集成,项目实施类管理,你都会看到项目经理不是简单的进行人员管理,做个沟通,开个会,制定下项目计划并监控下进度这么简单。

项目经理最核心的是能够尽可能早地完成对项目目标是否能够达成的一个预判,同时将预判中你识别出来的最大风险或不确定性提前的解决掉。一个牛的项目经理一定不是风险转为问题后救火,而是及早地就消除风险和隐患。

要做到这点,你就必须熟悉业务,熟悉系统,同时具备业务+技术两个方面的知识储备。也就是说一个项目从启动开始,到计划和工作分解,具体哪些重要的事情,有哪些事情实现有难度如何化解,你都需要了解才可能胸有成竹。

试想你对业务和技术不了解如何做到?

大家也可能有个疑问,业务不是有专门的需求人员,技术不是有专门的设计或开发人员吗?项目经理没有必要了解这些内容。

那我问大家一个最简单的问题。

当你和客户沟通,方案汇报或讨论的时候,客户任何一个问题你都无法当面回答客户,都是我需要下来和需求确认,和开发确认,那么你如何在客户面前建立初步信任关系?特别是前方客户现场项目管理,难道还需要同时给你配置需求,设计,开发,工程多个人员随时跟着你去做沟通和汇报?

还有就是类似客户一个需求提过了,你轻易的就承诺可以做,但是最后开发一分析工作量巨大,远远超过预估的工作量和资源投入,那么你如何做做范围和成本把控?

简单来说对于IT类项目管理,没有业务+技术知识积累基本寸步难行。

一个100万的项目,厉害的项目经理可能60万成本作为客户满意,差的项目经理可能120万做完还延期导致客户不满意。里面的一个差别点就在于你是否熟悉业务和技术,能够去引导客户按自己方向走,而不是被客户牵着鼻子走,被客户牵着走的项目基本都是亏钱项目。客户可能倒是满意了,最后团队一核算却是严重亏损。

如何应对软件复杂性问题

为何IT项目管理难做?

前面谈到了一个是人和干系人管理复杂,一个是软件应用本身的复杂性。你如何解决不了这两个复杂性,那么很难做好项目管理。

为了解决这个复杂性,项目经理一方面是提升沟通,演讲,写作和干系人管理等软技能;另外一个方面就是加强自己业务+技术方面的知识学习,形成综合项目管理能力。

IT项目管理是技术+管理。

那么如何应对软件系统开发,软件应用本身的复杂性问题?

第一,技术副手。又回到了软件研发技术团队上面,如何提升整个软件技术团队的人员技能,开发效率和质量是首先要考虑的问题。否则即使需求很明确,你也可能延期交付,而且交付一个上线后Bug不断的产品。

如果你是一个偏对外的项目经理,那么你的核心是需求范围把控和干系人管理,那么对内你必须要配置一个研发经理,这个开发经理你负责起需求明确后高质量,高效交付的责任。内部的一些技术管理,人员培训,质量管控等工作由研发经理负责。

对于大项目,这个研发经理就相当重要,需要承担起应有的责任。否则对外的项目经理会发现两头忙,两头都无法兼顾的情况。

第二,就是敏捷和迭代思维。软件类项目管理一定要敏捷迭代,刚开始实际精确的范围很难明确,为了应对不确定性和变化,必须敏捷迭代,尽可能地减少返工。要注意渐进明细和范围蔓延的差别,需求的大框架范围是明确的,但是需求的实现细节和逻辑一定是逐步清楚和精确的。

通过快速地迭代本身也是降低风险的关键措施。

软件类开发的进度不能按需求,设计,开发,测试这个大瀑布生命周期,而是要按功能点迭代阶段周期。一个软件系统有50个功能点,如果开发告诉你所有功能已经开发完成,在测试阶段。这个时候你实际很难清楚地把握进度。但是如果是50个功能点,已经30个功能点迭代上线,那么你更有把握当前已经差不多60%的进度。

第三,你能够掌控的只有你自己。我说这句话的意思是想表面,要想项目成功,项目经理就是第一责任人,要将项目成败的关键牢牢地掌控在自己手里面。

如果项目延期或失败的,客户实际并不想听你的原因或解释,也不是你说一个范围大变动,人员流失,关键岗位人员技能有问题,制定计划时候太乐观了等各种原因就能够解决问题。

项目经理对内观的时候是一个悲观者,而对外又是乐观主义。

一个优秀的项目经理一定不能将项目成本依赖在团队某个关键成员身上,你随时都需要有PlanB以应用各种风险和变化,同时为了更好掌控项目,你所有业务和技术储备都是必须的,这个时候项目经理才是项目最大的缓冲或技术储备。

不该你出手的时候你悠然自若,但是关键的时候你能够亮剑,可想而知你业务和技术的储备,项目实践和工程域的经验在关键时候远远比你单纯的管理经验更重要。

责任编辑:武晓燕 来源: 人月聊IT
相关推荐

2022-04-11 09:32:14

项目经理离岸团队CIO

2012-09-26 09:35:13

程序员项目项目经理

2011-05-13 09:34:37

2009-04-01 09:33:00

问题项目经理项目管理

2014-07-16 14:21:35

IT项目经理沙龙

2017-09-18 13:38:34

IT项目经理互联网

2013-04-02 15:18:00

程序员项目经理

2012-08-15 10:53:33

产品项目

2011-06-22 09:43:28

项目经理

2017-03-28 20:18:41

项目管理PDCA循环

2012-04-09 14:19:12

项目经理

2011-11-23 09:36:16

项目经理

2013-03-11 10:08:56

程序员项目经理

2011-05-05 09:19:00

2013-09-10 11:24:14

项目经理项目管理程序员

2021-07-06 12:28:20

项目经理任务管理CIO

2013-09-11 09:20:18

项目经理程序员

2012-03-29 10:17:40

架构师项目经理开发

2011-06-20 09:31:20

项目经理

2011-11-29 09:29:35

项目经理
点赞
收藏

51CTO技术栈公众号