`
metaphy
  • 浏览: 339645 次
  • 性别: Icon_minigender_1
  • 来自: 大西洋底
社区版块
存档分类
最新评论

假如我是项目经理

阅读更多
做过不少项目,也跟过几个项目经理,管理水平不同,管理方式也各有千秋;有的不懂程序,只做管理;有的只做程序,不去管理;还有的水平一般,经常做一些指手画脚的事;更多的是负责项目,也做开发。勿庸置疑,项目经理对于一个项目的成败至关重要,也肩负着最大的责任。

首先,优秀的程序员与平庸的程序员效率差5-10倍(有资料提到)。因此,选择最优秀的程序员,绝对是项目经理的第一要务。 “优秀的程序员”比较难以定义,但依然会有一些共性。首先,高等教育,基础扎实,自学能力强,编程领域,永远不要指望别人教你什么什么。其次,勤于思考,动手能力强;逻辑能力和抽象能力非常重要。当然,还有其他一些属于优秀人才的但不限于优秀程序员的品质,比如:做事积极,团队合作等等。我认为,对于采用一个优秀程序员,给予3倍4倍甚至5倍的工资,也要比采用2个或3个平庸的程序员来的划算。因此,编程工作,其实应该是一个工资相差极大的工作。

其次,项目控制。项目控制过程,就是Team管理(建设)的过程。Team 所有工作的成果,就是提交一份代码,因此,成员代码的质量以及对代码的控制,是Manager管理的主要任务。
1. 代码规范的控制。代码90%的时间是人在读,而不是机器,因此,代码其实是写给人看的。简明、清晰,是第一规范。
2. 不合规范的代码应该尽早找出,这个可以通过小组会议,做代码View,找出不合规范的,并警示之。不合规范的东西要尽早找出,这样改正代价比较小。
3. 交叉测试。自测是必需的,但作用也是有限,因为人往往都是对他人的缺点很清楚,却不能看清自己的缺点。并且你很难控制程序员自测到何种程度;因此需要交叉测试。根据需求,A实现的代码由B测试,B将测试结果反馈到A,由A修改之。B的代码由C测试,同样,C的代码再由别人测。
(暂时想这么多)
分享到:
评论
42 楼 metaphy 2008-04-24  
abang 写道
一个好的项目经理是要在有限的资源条件下,按时按质完成项目。

不会像楼主想的那样,可以任由你“选择最优秀的程序员”


“选择最优秀的程序员”
这个,确实有点理想化,“最优秀的程序员”数量少且比较难找,就是找到,也不一定认可你的公司或薪水;如果你既不是MS也不是google的话。但还是值得尽量去找。
41 楼 abang 2008-04-23  
一个好的项目经理是要在有限的资源条件下,按时按质完成项目。

不会像楼主想的那样,可以任由你“选择最优秀的程序员”
40 楼 jimmy_c 2008-04-22  
引用
我就不知道收款跟项目经理有什么屁关系
你们公司项目经理拿提成?

引用
这里其实有几个概念:

这里其实有太多概念了。你所说的几个概念都局限于产品开发阶段,看看产品生命周期的几个阶段:
售前(市场)->销售->产品开发->售后(维护)
收款问题按理来说应该是销售的职能。

即使在产品开发阶段,你所列举的也只是目前国内项目经理职责的一部分:
项目经理;产品经理;质量经理(测试);team leader;IT;Localization;...

还不说这样的项目经理自己还得是个programmer和tester。
39 楼 stefli 2008-04-18  
现在很多公司就是把收款也跟项目经理挂钩。这明显不是项目经理的职责。
这里其实有几个概念:
1、项目经理
应该说他的关注点就是项目的进度把控,协调各方资源,使项目能够如期完成。
结果现在到处都是项目经理这也做那也做的,还要coding

2、技术经理
当然有的公司的项目经理也就是技术经理,但是,如果公司有这两种可以分开的人,觉得还是分开的好。他们的思维在很大程度上是不一样的。技术经理考虑的是项目中遇到的技术问题,已经技术实现。通常不应该去考虑项目的进度问题。

3、team leader
这个我可能理解有误。一个项目里面可能需要若干个组来协调完成。那team leader(我狭义理解了)就是负责了解team的进度,以及参与项目的研发。

现在很多公司由于公司实力或者其他原因,导致一个人身兼多职,这样一是把人搞的很累,另一方面也是一个很大的风险。工作还是单纯点好,各尽其责,协同做好项目。
38 楼 gigix 2008-04-15  
zq5143 写道
要照楼主这么说,肯定不是一个合格的项目经理,充其量算个技术经理。合格的经理是如何把项目做到高效、低成本。如何与客户有效的沟通、如何去协调各种资源。如何短时间内要回项目尾款。暂时想到这么多~

我就不知道收款跟项目经理有什么屁关系
你们公司项目经理拿提成?
37 楼 zq5143 2008-04-15  
要照楼主这么说,肯定不是一个合格的项目经理,充其量算个技术经理。合格的经理是如何把项目做到高效、低成本。如何与客户有效的沟通、如何去协调各种资源。如何短时间内要回项目尾款。暂时想到这么多~
36 楼 寄生虫 2008-03-02  
metaphy 写道
1.代码规范的控制。代码90%的时间是人在读,而不是机器,因此,代码其实是写给人看的。简明、清晰,是第一规范。
2.不合规范的代码应该尽早找出,这个可以通过小组会议,做代码View,找出不合规范的,并警示之。不合规范的东西要尽早找出,这样改正代价比较小。
3.交叉测试。自测是必需的,但作用也是有限,因为人往往都是对他人的缺点很清楚,却不能看清自己的缺点。并且你很难控制程序员自测到何种程度;因此需要交叉测试。根据需求,A实现的代码由B测试,B将测试结果反馈到A,由A修改之。B的代码由C测试,同样,C的代码再由别人测。


1.代码规范:
  公司应当有一套成熟的规范,如果没有,项目经理应当配合技术经理制定,尽早避免不规范代码出现。
  每个人的编码习惯都不一样,如何发现不同并避免不同,这应当才是项目经理去控制的,而不是给予警告,这样会打击coder的积极性。
  开发规范制定的合理了,就不会出现代码不规范的问题了。其实类中的代码规范好控制,我个人比较头痛的是JS代码规范和HTML代码规范。(非常难控制,你们认为呢?)
2.交叉测试:
  我们项目组就采用了这种测试方案,但是没有达到预期目标。
  项目组几个coder,每个人的性格不一样,如果互测的两个人私下感情比较好,这样测试是非常有功效的;反之,互测只会激发更多矛盾的产生。所以说,测试应当由专人负责,给这个人少分配一部分工作,让其做测试,比互测来得更有效,问题发现的也比较集中(这个人最好是女孩子,哈哈 )。
35 楼 老肥羊 2008-03-01  
有一千个读者,就有一千个三国人物
每个人心里都有一份项目经理人物
借周恩来总理一句话,求同存异...求同存异...
34 楼 ladofwind 2008-02-14  
我个人理解国内项目的项目经理,第一是做好客户沟通,尽量在我们能做的和客户要的之间找一个相对完美的平衡,其次是控制开发人员的开发质量,进度,提高士气,这些其实完全也可以交给开发经理,如果有这个职位的话
33 楼 xiaolin0105 2008-02-04  
我觉得项目经理最好不要懂技术,主要起组内协调,资源分配,成为开发团队,客户,高层的桥梁,至于技术,让technical lead去负责。
32 楼 LucasLee 2008-01-23  
有一个问题,真是说起来简单做起来难。
优秀的程序员是平庸程序员效率的5倍,所以应当雇用更多优秀的程序员。。。
可是我见到的公司基本上工资差距不会有几倍,而且跟市场平均水平都差不多。(外企除外)
可见实践这个的并不多
31 楼 js_dw 2008-01-23  
进度进度

客户只看进度,所以逼的项目经理们……
30 楼 metaphy 2008-01-22  
引用
全国不光it这样,任何行业都是在做初级,低附加值的劳动密集型产业工作。
从生产者身上节约成本是最有效,也是最容易的。
反正便宜coding到处有。
这句话特别好,也是现实
29 楼 blockhsm 2008-01-22  
metaphy 写道
做过不少项目,也跟过几个项目经理,管理水平不同,管理方式也各有千秋;有的不懂程序,只做管理;有的只做程序,不去管理;还有的水平一般,经常做一些指手画脚的事;更多的是负责项目,也做开发。勿庸置疑,项目经理对于一个项目的成败至关重要,也肩负着最大的责任。

首先,优秀的程序员与平庸的程序员效率差5-10倍(有资料提到)。因此,选择最优秀的程序员,绝对是项目经理的第一要务。 “优秀的程序员”比较难以定义,但依然会有一些共性。首先,高等教育,基础扎实,自学能力强,编程领域,永远不要指望别人教你什么什么。其次,勤于思考,动手能力强;逻辑能力和抽象能力非常重要。当然,还有其他一些属于优秀人才的但不限于优秀程序员的品质,比如:做事积极,团队合作等等。我认为,对于采用一个优秀程序员,给予3倍4倍甚至5倍的工资,也要比采用2个或3个平庸的程序员来的划算。因此,编程工作,其实应该是一个工资相差极大的工作。

其次,项目控制。项目控制过程,就是Team管理(建设)的过程。Team 所有工作的成果,就是提交一份代码,因此,成员代码的质量以及对代码的控制,是Manager管理的主要任务。
1. 代码规范的控制。代码90%的时间是人在读,而不是机器,因此,代码其实是写给人看的。简明、清晰,是第一规范。
2. 不合规范的代码应该尽早找出,这个可以通过小组会议,做代码View,找出不合规范的,并警示之。不合规范的东西要尽早找出,这样改正代价比较小。
3. 交叉测试。自测是必需的,但作用也是有限,因为人往往都是对他人的缺点很清楚,却不能看清自己的缺点。并且你很难控制程序员自测到何种程度;因此需要交叉测试。根据需求,A实现的代码由B测试,B将测试结果反馈到A,由A修改之。B的代码由C测试,同样,C的代码再由别人测。
(暂时想这么多)


很明显的是站在程序员的角度上看问题了,成本,资源,项目内每个成员的情绪和客户的沟通等考虑过吗??
老板比较注重项目经理能否给他带来更多的利润,至于项目经理的技术,相对来说到不是那么重要,所以对于公司来说只要项目经理能给公司赚钱那就是好的项目经理。
28 楼 抛出异常的爱 2008-01-21  
不是什么人生来就是项目经理
几乎我见过的所有的项目经理都是用失败的项目堆出来的
(如果不单单指没收上钱上来的话)
27 楼 ball_cao 2008-01-21  
stevenwang 写道

面对现实情况说话比较客观吧。
实际上没有几个合格的项目经理。
在中国,毕业2年就能当项目经理的情况太多了。
基本都是拼命加班堆代码,搞人海战术。
效果怎么样?非常见效。
se待遇如何?非常低。
这就是没有技术含量,靠体力弥补脑力缺陷的祸根。
需求搞不好,没关系,跟上级关系好就行,
设计不行没关系,变作变设计,coding 完事,设计也出来了。
编码不行?没关系,加班就行。累死也得编。
全国不光it这样,任何行业都是在做初级,低附加值的劳动密集型产业工作。
从生产者身上节约成本是最有效,也是最容易的。
反正便宜coding到处有。


现状多是你描述的这样
但如果作为项目经理没有一种想法要改进自己团队中的缺陷
那么你又有什么资格期待中国软件行业的大环境有所改变呢?你又有什么资格抱怨招聘不到有能力的程序员呢?
如果你没有对大环境变好的期待 那就不用多说了 该怎么挣扎就怎么挣扎
但如果你有这个期待 那就在自己有能力的时候努力去改变它
如果你的team的培训做得足够好,首先你不担心找不到人。因为你只需要能沟通、学习能力好的人。这样的人其实市面上还是相当多的。其次你不用太担心你的员工流失,因为你可以很容易再培养一个,而且有良好教育环境的团队本来就是很吸引人的。
26 楼 stevenwang 2008-01-21  
ball_cao 写道
metaphy 写道

编程领域,永远不要指望别人教你什么什么。

如果在你的team中没有人教你什么,说明你的teamleader不合格。如果你做了teamleader也不教别人什么,那么你这个teamleader也不合格。教育是项目经理的一个必要职责!

------------------------------------
面对现实情况说话比较客观吧。
实际上没有几个合格的项目经理。
在中国,毕业2年就能当项目经理的情况太多了。
基本都是拼命加班堆代码,搞人海战术。
效果怎么样?非常见效。
se待遇如何?非常低。
这就是没有技术含量,靠体力弥补脑力缺陷的祸根。
需求搞不好,没关系,跟上级关系好就行,
设计不行没关系,变作变设计,coding 完事,设计也出来了。
编码不行?没关系,加班就行。累死也得编。
全国不光it这样,任何行业都是在做初级,低附加值的劳动密集型产业工作。
从生产者身上节约成本是最有效,也是最容易的。
反正便宜coding到处有。
25 楼 stevenwang 2008-01-21  
抛出异常的爱 写道
平衡所有干系人的期望

为你加红。。。

-----------------------
很多项目经理特别招人烦。
水平高低还是次要的,最重要的是人品极其恶劣。
24 楼 stevenwang 2008-01-21  
mvmouse 写道
从标题,忽然想起了多年前上小学时的YY:

假如我是老师
作业一定不多留;
上课一定不提问;
绝对不会骂学生笨;
要和学生成为好朋友……

--------------------------------
哈哈哈哈哈,
你逗死我了。春晚不让你去,真是埋没人才了。
23 楼 ball_cao 2008-01-21  
metaphy 写道

编程领域,永远不要指望别人教你什么什么。

如果在你的team中没有人教你什么,说明你的teamleader不合格。如果你做了teamleader也不教别人什么,那么你这个teamleader也不合格。教育是项目经理的一个必要职责!

相关推荐

Global site tag (gtag.js) - Google Analytics