從程序員到項目經(jīng)理:完美主義也是一種錯
追求完美是一種可貴的精神,完美主義也歷來被認為是一種優(yōu)秀的品格??墒窃陧椖恐校昝乐髁x也是一種錯,雖然是一種“美麗的錯誤”。項目講求平衡,要的是合格,而不是優(yōu)秀;要的是70分,而不是100分!
1.兩極分化的程序員
相信在很多人眼里,程序員都是工作一絲不茍、對代碼精雕細琢、精益求精的人。瞧,他們在電腦前面一坐就是大半天,如果不是追求完美之人,誰能這樣坐得住板凳?
可 是依我所見,在“追求完美”這個問題上,程序員其實是嚴重的兩極分化。有一部分程序員確實對自己的代碼要求很高,他們在編程時,非常注意邏輯是否嚴謹、運 行效率高不高、代碼是不是優(yōu)雅,經(jīng)常進行代碼重構(gòu)與優(yōu)化。他們就像有潔癖農(nóng)村老太,整天掃把不離手,在哪里看到不順眼的代碼,就要改到哪里,如果讓他來維 護一個系統(tǒng),多半最后會讓他把整個系統(tǒng)的代碼全部重構(gòu)或者重寫了一遍。他們是真正的完美主義者。
還有一部分人,他們寫代碼似乎只是為了完成任務(wù)。他們對自己負責的功能,缺乏計劃和設(shè)計的過程,想到哪里就寫到哪里,最后按下F5,編譯通過,歐耶!他們甚至不愿意多點一下自己創(chuàng)建的按鈕,更加不會在一個身份證號碼文本框中輸入一個電話號碼來測試一下,最關(guān)鍵的是終于可以向經(jīng)理交差了,至于代碼中多少隱藏的問題,以后再說吧。這讓我想起了程序員部落酋長Joel所說的,他們編寫的程序“看上去像是給狗吃的早餐,只經(jīng)狗能吃飽就行了,何必再花錢讓食物變得色得味俱全呢?”我們甚至可以想象一下,他們的電腦屏幕上是不是鋪滿了灰塵,鍵盤縫里是不是塞滿了頭發(fā)和食物碎屑,電腦桌面的圖標是不是如七彩拼圖一般,讓人眼花繚亂。
后一類程序員,在數(shù)量上似乎占據(jù)絕對的優(yōu)勢,對于一個不擅于控制項目質(zhì)量的項目經(jīng)理來說,他們的代碼最終會成為項目的噩夢。系統(tǒng)一旦投入運行,蟲子就會像美國恐怖片中的外星生物一樣,源源不斷的從鼻孔、嘴巴和耳朵縫里冒出來。
第二種程序員這種低標準低要求、隨隨便便的做法,很容易被識別出來是一種不好的傾向,而完美主義不是這樣,因為我們從小就被教導要追求完美,完美主義一般被認為是一種優(yōu)秀的品格,是每個人應(yīng)追求的目標。
然 而完美主義雖然聽上去不錯,卻并不適合于項目,因為項目的目標是用最少的成本來完成項目,讓各方滿意,而不是制造一個完美無瑕的產(chǎn)品,以證明個人或公司的 能力。顯然,完美主義更適合于個人能力的修煉,或者一項沒有限期出成果的科學研究,在項目中,完美主義也是一種錯,雖然是一種“美麗的錯誤”。
完 美主義者和隨隨便便的人,這兩種程序員都不是項目的最佳人選,他們是恰好是兩個相反的極端,如果讓他們負責項目,估計就像玩蹺蹺板一樣,要么壓到地底下, 要么翹到天空上。但是項目經(jīng)不起這樣的折騰,項目中需要有平衡能力的人,他們很好的把握追求完美的“度”,使得軟件功能既能滿足客戶的應(yīng)用需求,又不至于 要花費過多的精力??上У氖?,這種程序員實在是不多,因為度的把握對程序員而言,確實不是一件容易的事情。
2.完美不等于質(zhì)量100分
程序員心中的完美和項目經(jīng)理心中的完美并不是一回事,因為兩者關(guān)注中心不一樣。程序員關(guān)注的是自己的軟件功能本身,力爭將軟件產(chǎn)品質(zhì)量做到最好,因此程序員的完美實際上是質(zhì)量的完美。
而項目經(jīng)理眼中,看到的是整個項目,包括質(zhì)量、進度、成本、范圍、風險等方方面面,需要進行平衡,花最少的成本、用最少的時間、達到各方滿意、實現(xiàn)項目驗收,這就是完美。單純產(chǎn)品質(zhì)量一流,而進度拖延、成本超支,這顯然不是什么完美的項目。
其實現(xiàn)代質(zhì)量管理理論普遍認為,質(zhì)量并不是越高越好。事實上,市場已經(jīng)對此無數(shù)次給出了證明。很多人罵過微軟公司的產(chǎn)品爛,據(jù)說喬布斯也曾經(jīng)大罵windows是坨屎,但微軟公司后來卻成了軟件行業(yè)的霸主。
ISO9000對質(zhì)量的權(quán)威定義是:一組固有特性滿足要求的程度??吹搅税桑菨M足,而不是超出,這非常重要。不要少,少了通不過;但也不用多,多了便是浪費。我們需要的不是100分的質(zhì)量,甚至也不是一流的質(zhì)量,而只是滿足要求的質(zhì)量。
在項目管理中有一個名詞叫“鍍金”,也就是在產(chǎn)品達到客戶要求后,再多做一些額外的工作,讓產(chǎn)品更加完美,以進一步提升客戶滿意度,這在PMBok中是一種被明確禁止的行為。軟件質(zhì)量100分,在項目中不但是一種巨大的浪費,而且?guī)缀跏且粋€不可達到的目標, 只會讓項目不堪重負,最后陷入災(zāi)難的境地。
3.合格就是完美
追 求完美本身并沒有錯,但如果上升到完美主義,時時處處要做到最好,卻不一定符合當時當?shù)氐臈l件限制。一個“最”字會害死人,因為“沒有最好,只有更好”, 如果一味追求更好,其結(jié)果可能就如陷入焦油坑的怪獸一般,無法自拔。在這樣一個講求效率的時代,完美主義更是可能會造成機會的喪失。因此,要保持追求完美 的心,但又要懂得權(quán)衡,不要陷入極端的完美主義的陷阱。
要 完美不要完美主義,本質(zhì)上是一個度的問題,項目應(yīng)講求平衡,避免極端。學過項目管理理論的人都知道,項目管理中有一個“鐵三角”,也就是在一定的項目范圍 的約束下,成本、進度和質(zhì)量構(gòu)成三角形的三個端點,為了讓三角形面積保持不變,任何一個端點的變動,都會引起其他一個或兩個端點的同步變動。這個鐵三角本 質(zhì)上就是一種平衡和制約的關(guān)系,而完美主義,則只單純的強調(diào)質(zhì)量,而忽略了其它方面的因素,這顯然是一種極端的行為。
那項目中質(zhì)量的“度”倒底是什么呢?其實就“合格”二字。合格意味著被認可,卻不需要達到優(yōu)秀的代價??蛻粽J可、領(lǐng)導高興、員工輕松,這不就是完美嗎?可以說項目中沒有最好,只有合格,合格就是完美。
4.“70分主義”
從小老師和書本就教育我們要追求完美,考試要考100分,90分都嫌太低,那70分還拿得出手嗎?
其實70分不低了,要知道現(xiàn)在大學生的口號是“60分萬歲,多一分浪費,少一分作廢”。當然這種口號容易被批評為不思進取,但萬物存在就有其合理的一面,“60分萬歲”也是事出有因。
在學習方面,我是主張完美主義的,前提是學的是個人感興趣、有用的、切合實際的東西,可以我們大學的大部分課程,基本上是背道而馳。上課、考試,無非是為了不掛科,順利拿到畢業(yè)證和學位證。這種情況下,60分萬歲也就容易理解了。何必要考100分,節(jié)省下來的時間,完全可以用來學習自己更感興趣東西。
從某種程度來說,做項目也是一種考試:有考試內(nèi)容(項目范圍)、考試時間(進度要求),還有及格線(質(zhì)量要求和驗收標準)。項目的及格線如果用分數(shù)來表示,也是60分,既然60分就夠了,為什么還果提出“70分主義”呢?其實很簡單,因為要想剛好考60分,實在太不容易了,搞不好就會弄個不及格。所以我提出“70分主義”,一種超越完美主義的新主義,力求在及格和完美之間達到平衡。
項目如果以70分為目標,適當留出緩沖,就可以做到游刃有余,更容易把控。70分意味著已經(jīng)達到客戶的驗收要求,已經(jīng)能投入正常使用,但可能存在一些影響較小的Bug,個別頁面效率有待提升,個別操作不是很順手,系統(tǒng)擴展性一般,代碼組織有等進一步優(yōu)化……這些不完美的地方,就讓他們在那里待著吧,畢竟客戶已經(jīng)覺得已經(jīng)達到目標,何苦自己跟自己較勁,非要達到100分呢?早驗收、早收錢,這才是王道!吃飯只用7分飽,項目也是只要70分,“70分萬歲”!
原文鏈接:http://www.cnblogs.com/watsonyin/archive/2012/11/26/2788987.html