一个不懂技术的软件项目经理,怎么管理好项目?
(一)一个不懂开发的人可以做项目经理吗?
自己之前的想法是项目经理应该是技术大牛,或者起码应懂一些技术,因为只有这样才能更好的确定客户所提出的需求是不是可以实现。但是现在又有了一些新的想法,项目经理不需要懂技术,或者说项目经理不懂技术反而更好。
讨好客户
如果项目经理懂技术就会被技术所束缚,简单来说就是在客户提出需求的时,项目经理根据自己已有的技术水平做出判断:这个需求无法实现,或者实现起来工作量过大。于是很有可能当面就把客户的需求给回绝了,一次两次还是可以接受的,如果不巧这个项目经理的技术水平低、见识少,那么就会把大多数有难度的需求都给回绝。长此以往,客户便对这个开发团队失去信心,“怎么什么也做不了呢?”。
但是如果项目经理丝毫不懂技术那么面对客户的请求,会说尽量去试一试之类的话,回来之后就是我们现在非常熟悉的场景了。项目经理的口头禅:我不管你是如何实现的,我要的是半个小时以后的结果。随后就是程序员苦命的加班了。
但是最终的结果是好的,起码客户认为这个团队是由能力实现自己的需求的。从这一方面来说项目经理不懂技术可以更好的讨好客户,给客户一个好印象。
推动技术的发展
上面说到项目经理在谈需求的时候由于不懂技术从而答应了客户“过分”的需求,所以下面负责实现的童鞋们非常的命苦。相信任何一个加班的程序员都在暗地里骂过那个屁也不懂的项目经理,但是从大局的角度出发,只有这些过分的需求才能推动技术的进步。就像Ajax的出现,不就是想把BS的客户体验搞得和CS的一样么,可能当时看来这个需求是过分的,但是现在这几技术已经变得非常常见了。这就是所谓的推动技术的发展。(说不定那天某个客户的一个刁钻需求就引发了一场技术的革命。)
保证开发进度
项目经理的口头禅是“十分钟能不能弄出来”,而且一会儿催一遍,一会儿催一遍,跟催命鬼似的。没有办法,人都是有惰性的,别说上班的惰性,就是为自己学习都是有惰性的。所以需要一个人去监督,去鞭笞。
但是项目经理如果懂技术,大概就会这么说,“这个挺难做的,你看看这两天能不能做好吧”这样一来来把项目的进度拖了两天,但是如果是前一种,那么编程人员可能会快马加鞭,加班加点的把功能实现,对于项目来说这个莫大的幸福。
凡事都不是绝对的
并不一定说不懂技术的项目经理要比懂技术的项目经理好。凡事没有绝对,要辩证的看,各有各的好处,不同的场合需要不同类型的人而已。
(二)不懂技术的项目经理,要如何发展?
项目经理不一定需要懂技术,会敲代码,但是最好还是往产品经理这块发展,这块也是很吃香的,懂客户的需求,了解产品的不足,以及更好的怎么改变用户的体验度,这样你可以领导技术人员更好的完善项目。
(三)软件项目经理要懂技术吗?
你指的软件项目经理更多的是软件实施,售前或售后项目经理。这种角色一般熟悉些软件工程基础知识就可以了,技术不用太深入。重点灾沟通和干系人管理。 对于外部软件商的软件项目经理就很大不同的,这种项目经理重点是根据用户需求,定制化软件开发,需要进行估算和安排详细的软件项目开发进度计划。也就是说项目经理一般还承担软件开发经理角色。必须有较深入的技术基础。
(四)案例分析:不懂技术的人做项目经理靠谱吗?
【案例正文】
在这里讲一个案例,和大家进行分析讨论。我也可以从中学习,找找问题。
年初领导问我是否有空作为一个程序员参加另一个项目,因为人员紧张。我当时手头比较空闲,就答应下来。这个项目做到目前,我觉得我实在不想再参加了,就跟领导要求退出,所以我就退出这个项目了。我退出的原因有很多:
1)我自己手头有个比较大的项目,我需要花时间和精力在这个上面;
2)这2年一直在做项目管理、分析等工作,没有涉及编码,这个项目用到的技术刚好是我不熟悉的,因此觉得上手很困难;
3)由于部门的一些做法,让我对工作失去热情,觉得没有必要让自己那么辛苦。其实,我退出就是增加了项目组其他成员的工作量,所以我觉得这个事,我还是做的挺自私的。
我想说的就是这个项目。
首先说一下这个项目成员。不算其他边边角角的人员,项目组主要有4个人。这4个人里,有三个都是很强势的人(我一直是项目经理,另一个也是,还做些架构设计;还有一个应届生,虽说他是应届生,但他是很强势的,因为一方面他毕业的院校比较好,而且他在学校里也很优秀)。最不强势的人就是项目经理了。为什么项目经理会这样呢?因为他对业务和技术都不懂,而且他自己还很清楚这点,所以他平时就什么都不敢说也不敢管(不过我觉得他也缺乏带项目的经验)。并且,我们3个人都不是全职做这个项目。这个项目涉及的技术我们都没有人用过。
接下来说一下工作安排。由于我是项目开始后加入,所以需求分析我没有参加。然后详细设计,请大家讨论一下,每个人分一块来写,项目经理收齐后合并成一份文档,交给领导审批。开发时,再打乱分下来一人开发一个模块。由于,我们部门今年内增加了很多规章制度,要求文档要齐全,格式要标准,并且要经过技术委员会审批。因此当这一切做完,已经到年中了。
然后架构师开始搭开发框架(一边摸索一边搭)。我们开始开发。开发时碰到一些问题:
1)对使用的新技术我们都不熟;
2)详细设计文档不够详细(文档其实就是为了应付领导),需要不断地询问;
3)项目经理不统一项目开发标准和管理项目事项。
4)每个人都有其他事情不断地打断开发。
我个人觉得项目经理是无辜的。领导为什么要指派一个技术和业务都不熟悉,并且缺乏项目管理经验的人做项目经理?领导为什么要指派给他的成员都是其他项目的项目经理,并且都是强势的?领导为什么要指派我这种很久已经不写代码的人去写代码?
这个项目我有很多疑问,在怀疑领导的做法同时我也在怀疑自己。当然,其实我也不用怀疑自己,我退出这个项目,纯粹是因为我的思维已经转到业务分析、项目管理上,再往编码上转我就觉得很困难,也许我比较笨吧。
想听听大家对这个项目有什么想法。
网友观点1:项目经理不一定要精通项目涉及的各项技术,但必须对项目的实现方法和实施框架非常清楚,他可以不懂JAVA,但对系统的结构和软件工程必须非常清楚。这才能对各成员的工作思路、项目的总体实施进行把控。 另外,他更多的时间应该用在项目组内部和外部成员的沟协调上。 对业务需求必须要清楚的。
网友观点2:做项目经理不一定是要自己有很强的专业能力,其实做好一个项目离不开团队的共同努力,更离不开公司的支持,给你财权、人事权,拿钱招聘好的助手、及备用员工,平时要强团队建设,提高凝聚力及威信,好的员工奖励,不好的员工勉励,实在不行就劝退,有出路又有退路你难道还说你做不好是不可能的,除非你自己不想做好而已!这方面我觉得还是要好好学学万达的管理方法!
网友观点3:个人觉得还是有一定的技术基础的人比较适合做项目管理,从事过技术的,对于一个项目的具体流程比较熟悉,工作起来也比较顺手。
