`

从程序员到项目经理:完美主义也是一种错

阅读更多

从程序员到项目经理:完美主义也是一种错

追求完美是一种可贵的精神,完美主义也历来被认为是一种优秀的品格。可是在项目中,完美主义也是一种错,虽然是一种“美丽的错误”。项目讲求平衡,要的是合格,而不是优秀;要的是70分,而不是100分!

 

1.两极分化的程序员

相信在很多人眼里,程序员都是工作一丝不苟、对代码精雕细琢、精益求精的人。瞧,他们在电脑前面一坐就是大半天,如果不是追求完美之人,谁能这样坐得住板凳?

可 是依我所见,在“追求完美”这个问题上,程序员其实是严重的两极分化。有一部分程序员确实对自己的代码要求很高,他们在编程时,非常注意逻辑是否严谨、运 行效率高不高、代码是不是优雅,经常进行代码重构与优化。他们就像有洁癖农村老太,整天扫把不离手,在哪里看到不顺眼的代码,就要改到哪里,如果让他来维 护一个系统,多半最后会让他把整个系统的代码全部重构或者重写了一遍。他们是真正的完美主义者。

还有一部分人,他们写代码似乎只是为了完成任务。他们对自己负责的功能,缺乏计划和设计的过程,想到哪里就写到哪里,最后按下F5,编译通过,欧耶!他们甚至不愿意多点一下自己创建的按钮,更加不会在一个身份证号码文本框中输入一个电话号码来测试一下,最关键的是终于可以向经理交差了,至于代码中多少隐藏的问题,以后再说吧。这让我想起了程序员部落酋长Joel所说的,他们编写的程序“看上去像是给狗吃的早餐,只经狗能吃饱就行了,何必再花钱让食物变得色得味俱全呢?”我们甚至可以想象一下,他们的电脑屏幕上是不是铺满了灰尘,键盘缝里是不是塞满了头发和食物碎屑,电脑桌面的图标是不是如七彩拼图一般,让人眼花缭乱。

后一类程序员,在数量上似乎占据绝对的优势,对于一个不擅于控制项目质量的项目经理来说,他们的代码最终会成为项目的噩梦。系统一旦投入运行,虫子就会像美国恐怖片中的外星生物一样,源源不断的从鼻孔、嘴巴和耳朵缝里冒出来。

第二种程序员这种低标准低要求、随随便便的做法,很容易被识别出来是一种不好的倾向,而完美主义不是这样,因为我们从小就被教导要追求完美,完美主义一般被认为是一种优秀的品格,是每个人应追求的目标。

然 而完美主义虽然听上去不错,却并不适合于项目,因为项目的目标是用最少的成本来完成项目,让各方满意,而不是制造一个完美无瑕的产品,以证明个人或公司的 能力。显然,完美主义更适合于个人能力的修炼,或者一项没有限期出成果的科学研究,在项目中,完美主义也是一种错,虽然是一种“美丽的错误”。

完 美主义者和随随便便的人,这两种程序员都不是项目的最佳人选,他们是恰好是两个相反的极端,如果让他们负责项目,估计就像玩跷跷板一样,要么压到地底下, 要么翘到天空上。但是项目经不起这样的折腾,项目中需要有平衡能力的人,他们很好的把握追求完美的“度”,使得软件功能既能满足客户的应用需求,又不至于 要花费过多的精力。可惜的是,这种程序员实在是不多,因为度的把握对程序员而言,确实不是一件容易的事情。

2.完美不等于质量100分

程序员心中的完美和项目经理心中的完美并不是一回事,因为两者关注中心不一样。程序员关注的是自己的软件功能本身,力争将软件产品质量做到最好,因此程序员的完美实际上是质量的完美。

而项目经理眼中,看到的是整个项目,包括质量、进度、成本、范围、风险等方方面面,需要进行平衡,花最少的成本、用最少的时间、达到各方满意、实现项目验收,这就是完美。单纯产品质量一流,而进度拖延、成本超支,这显然不是什么完美的项目。

其实现代质量管理理论普遍认为,质量并不是越高越好。事实上,市场已经对此无数次给出了证明。很多人骂过微软公司的产品烂,据说乔布斯也曾经大骂windows是坨屎,但微软公司后来却成了软件行业的霸主。

ISO9000对质量的权威定义是:一组固有特性满足要求的程度。看到了吧,是满足,而不是超出,这非常重要。不要少,少了通不过;但也不用多,多了便是浪费。我们需要的不是100分的质量,甚至也不是一流的质量,而只是满足要求的质量。

在项目管理中有一个名词叫“镀金”,也就是在产品达到客户要求后,再多做一些额外的工作,让产品更加完美,以进一步提升客户满意度,这在PMBok中是一种被明确禁止的行为。软件质量100分,在项目中不但是一种巨大的浪费,而且几乎是一个不可达到的目标, 只会让项目不堪重负,最后陷入灾难的境地。

3.合格就是完美

追 求完美本身并没有错,但如果上升到完美主义,时时处处要做到最好,却不一定符合当时当地的条件限制。一个“最”字会害死人,因为“没有最好,只有更好”, 如果一味追求更好,其结果可能就如陷入焦油坑的怪兽一般,无法自拔。在这样一个讲求效率的时代,完美主义更是可能会造成机会的丧失。因此,要保持追求完美 的心,但又要懂得权衡,不要陷入极端的完美主义的陷阱。

 

要 完美不要完美主义,本质上是一个度的问题,项目应讲求平衡,避免极端。学过项目管理理论的人都知道,项目管理中有一个“铁三角”,也就是在一定的项目范围 的约束下,成本、进度和质量构成三角形的三个端点,为了让三角形面积保持不变,任何一个端点的变动,都会引起其他一个或两个端点的同步变动。这个铁三角本 质上就是一种平衡和制约的关系,而完美主义,则只单纯的强调质量,而忽略了其它方面的因素,这显然是一种极端的行为。

那项目中质量的“度”倒底是什么呢?其实就“合格”二字。合格意味着被认可,却不需要达到优秀的代价。客户认可、领导高兴、员工轻松,这不就是完美吗?可以说项目中没有最好,只有合格,合格就是完美。

4.“70分主义”

从小老师和书本就教育我们要追求完美,考试要考100分,90分都嫌太低,那70分还拿得出手吗?

其实70分不低了,要知道现在大学生的口号是“60分万岁,多一分浪费,少一分作废”。当然这种口号容易被批评为不思进取,但万物存在就有其合理的一面,“60分万岁”也是事出有因。

在学习方面,我是主张完美主义的,前提是学的是个人感兴趣、有用的、切合实际的东西,可以我们大学的大部分课程,基本上是背道而驰。上课、考试,无非是为了不挂科,顺利拿到毕业证和学位证。这种情况下,60分万岁也就容易理解了。何必要考100分,节省下来的时间,完全可以用来学习自己更感兴趣东西。

从某种程度来说,做项目也是一种考试:有考试内容(项目范围)、考试时间(进度要求),还有及格线(质量要求和验收标准)。项目的及格线如果用分数来表示,也是60分,既然60分就够了,为什么还果提出“70分主义”呢?其实很简单,因为要想刚好考60分,实在太不容易了,搞不好就会弄个不及格。所以我提出“70分主义”,一种超越完美主义的新主义,力求在及格和完美之间达到平衡。

项目如果以70分为目标,适当留出缓冲,就可以做到游刃有余,更容易把控。70分意味着已经达到客户的验收要求,已经能投入正常使用,但可能存在一些影响较小的Bug,个别页面效率有待提升,个别操作不是很顺手,系统扩展性一般,代码组织有等进一步优化……这些不完美的地方,就让他们在那里待着吧,毕竟客户已经觉得已经达到目标,何苦自己跟自己较劲,非要达到100分呢?早验收、早收钱,这才是王道!吃饭只用7分饱,项目也是只要70分,“70分万岁”!

 

 

http://developer.51cto.com/art/201211/364725.htm

分享到:
评论

相关推荐

    程序员第二步:从程序员到项目经理

    针对文件信息,接下来的内容将基于“程序员到项目经理”的职业发展路径进行详细的知识点阐述。 首先,程序员与项目经理虽然都属于IT行业中的职位,但他们的工作职责、技能要求、以及日常活动有着根本的不同。程序员...

    从程序员到项目经理

    作为一个程序员,你的职业生涯可能会经历从编码到管理的转变,而这个转变的核心角色就是项目经理。项目经理不仅是技术团队的领导者,更是项目成功的关键人物。在这个过程中,你需要掌握一系列技能和知识,包括但不...

    从程序员到项目经理:让员工为目标而干活.doc

    【标题】与【描述】提及的是从程序员转型到项目经理的过程中,如何有效地管理和引导团队,让员工为共同的目标努力。文档中的主要内容围绕着目标在项目管理中的核心作用展开,以下是相关知识点的详细说明: 1. 目标...

    程序员第二步 从程序员到项目经理--高清版.pdf

    从程序员到项目经理的转型是一条在职业发展过程中常见的晋升路径。程序员通常具有一定的技术背景和编程经验,而项目经理则要求具备更多的管理和协调能力。这一转变涉及到多个方面的技能提升,从技术知识到团队合作,...

    程序员到项目经理:从内而外的改变和提升.docx

    【程序员到项目经理】的转变是IT职业生涯中一个重要的里程碑,涉及到角色、责任和思维方式的重大变化。从技术专家转变为团队领导者,意味着需要从关注代码细节转向管理项目整体,协调团队资源,确保项目按时按质完成...

    程序员的数学4:图论入门.pptx

    在有向图中,边的两端连接到两个节点,但方向是从一个节点指向另一个节点。在无向图中,边的两端连接到两个不同的节点。 图的表示方法有多种,包括邻接矩阵和邻接表。邻接矩阵是一个矩阵,其中每个元素表示两个节点...

    图灵书籍(程序员第二步:从程序员到项目经理.pdf+Node即学即用.pdf)

    《程序员第二步:从程序员到项目经理》这本书,主要探讨的是程序员如何在职业生涯中实现角色转变,从编写代码的技术人员晋升为管理项目的领导者。书中可能涵盖了以下几个关键知识点: 1. **项目管理基础**:讲解...

    程序员成长路线图:从入门到优秀

    程序员成长路线图:从入门到优秀 程序员成长路线图是 IT 行业中一个非常重要的主题,作为一个 IT 行业职员,我经历过一个普通程序员成长的过程,同时也接触过许多不同层次的程序员。他们或在我身边匆匆而过,或与我...

    程序员和项目经理职场经验杂谈

    在IT行业中,程序员到项目经理的转变是一个从技术专精到管理协调的转型。本文通过一位项目经理的亲身经历,分享了他在职场中的点滴故事,揭示了如何从一个普通的菜鸟程序员逐步发展为一名有影响力的项目经理。这个...

    程序员到项目经理

    【程序员到项目经理】的主题探讨的是IT从业者如何从技术岗位转型到管理岗位,即成为项目经理的过程。这个转变不仅仅涉及技能的升级,更是一个从内在态度到外在能力全面转变的过程。 1. **为什么要当项目经理** - ...

    从程序员到项目经理.doc

    从程序员到项目经理.doc

    程序员&项目经理

    从程序员到项目经理的角色转变,不仅仅是技术能力的提升和职责的扩展,更是一种思维方式的转变和综合素质的提升。程序员主要负责的是软件开发、编写代码、调试程序以及相关技术工作,而项目经理则需要具备全局观,对...

    程序员成长路线图:从入门到优秀.pdf

    ### 程序员成长路线图:从入门到优秀 #### 一、程序员的梦想与现实 ##### 1.1 程序员的梦想——中国的比尔·盖茨 在IT行业中,很多程序员都有着一个共同的梦想——成为中国版的比尔·盖茨。这种梦想不仅仅是对...

    程序员成长路线图 从入门到优秀

    程序员成长路线图 从入门到优秀

Global site tag (gtag.js) - Google Analytics