在项目管理的领域里,有个关键问题常常被提及:项目管理者到底该对技术了解到什么程度呢?简单来说,项目管理者得掌握足够的技术知识,这听起来像是句正确的废话,但实际上意义重大。因为只有这样,他们在做决策的时候,才能进行全面的权衡,无论是帮客户、高层做决策,还是指导团队做出更优的选择,都能做到心中有数。
项目管理者的工作涉及多个关键环节。比如说,得清楚怎么收集和分析项目需求。这就好比盖房子,得先知道客户想要什么样的房子,几居室、什么风格,有哪些特殊要求等等,只有把这些需求摸透了,后续的工作才能顺利开展。
还要知道如何设计项目,并确认设计是否完成。这就像设计师画好了房子的图纸,得有人去检查这图纸是不是符合要求,各个细节是不是都考虑到了,能不能按照这个图纸顺利把房子盖起来。
识别和管控风险也很重要。就像盖房子过程中,可能会遇到天气不好影响工期,或者材料供应不上等问题,项目管理者得提前想到这些风险,并且有办法应对,确保项目能顺利推进。
同时,项目管理者要懂得如何有效地使用配置管理系统,让它发挥出应有的作用。这就好比是一个高效的仓库管理系统,能把项目中的各种资源、文件、数据等都管理得井井有条,要用的时候能快速找到,保证项目的顺利进行。
另外,对于质量人员如何测试以及他们能提供什么信息,项目管理者也得心中有数。这就像是房子盖好了,得有专业的质检人员来检查房子质量,看看有没有漏水、墙面平不平之类的问题,项目管理者得知道质检人员会从哪些方面检查,得出的结果意味着什么,这样才能对项目质量有准确的判断。
这里需要强调的是,并不要求项目管理者对完成这些工作的每一个细节都了如指掌,变成技术专家。他们的核心任务是知道怎么把项目的各项工作组织起来,推动工作顺利完成。这就好比乐队的指挥,不一定要精通每一种乐器,但要知道怎么让各个乐器组配合默契,演奏出美妙的乐章。所以,项目管理者需要具备一些专业领域的知识,以及方法领域的方法论。
具体来说,项目管理者得了解所应用技术的特点和难点。比如说,如果是软件开发项目,得知道这个软件要用什么编程语言,这种语言有什么优势,又有哪些容易出问题的地方。同时,要清楚解决相应技术问题所用到的流程,以及可能会面临的风险。这就像开车,得知道不同路段的特点,遇到堵车或者路况不好的时候该怎么应对。
他们还得理解要解决的问题到底是什么,以及如何利用解决方案来解决问题。而且,要能够快速对技术领域有个基本的理解。如果连要解决什么问题都不清楚,那就没办法确定项目什么时候能完成,要花多大代价,更不知道怎么去判断项目完成得好不好。这就好比出门旅行,如果不知道目的地是哪儿,就没法规划行程,也不知道自己有没有到达目的地。
另外,如果项目管理者不了解系统原理和架构,就好像开车不看地图,根本识别不出路上隐藏的风险,自然也就没办法真正把项目管理好。比如说,在一个大型软件项目中,如果不了解软件的架构,就不知道哪些部分是关键环节,哪些地方容易出现漏洞,一旦出现问题,可能就会手忙脚乱,无法有效应对。
不过,这并不意味着项目管理者要亲自去阅读或是编写代码,像程序员一样敲代码;也不需要像电子工程师那样去设计印刷电路板(PCB);更不用像工艺师那样去编制工艺。虽然有良好的技术背景,能帮助项目管理者更好地了解项目状况,但这并不代表优秀的技术专家就一定能成为优秀的项目管理者。
在实际项目管理中,有两种不称职的项目管理者很常见。第一种是对项目一无所知的管理者。这就好比一个人要带队去探险,却对目的地的环境、路线、可能遇到的危险等一无所知,那这个探险队肯定会困难重重。这样的管理者,连项目最基本的情况都不了解,根本无法有效地组织和推动项目进展。
另一种是一心想成为架构师的项目管理者。架构师虽然对项目的流程和技术很熟悉,就像一个对汽车构造了如指掌的工程师,但如果他们在管理项目时,只专注于开发工作,而把项目管理的本职工作抛在脑后,就好比开车只顾着研究发动机,却忘了看路,项目也会遭遇挫折。项目管理不仅仅是关注技术,还需要协调各方资源、把控项目进度、处理团队成员关系等等,是一个综合性的工作。
总之,项目管理者对技术的了解,要恰到好处。既不能一无所知,也不能过度陷入技术细节,要在技术知识和管理能力之间找到一个平衡点,这样才能带领项目团队顺利达成目标,让项目取得成功。