雜談項目中的那些事兒:計劃與變化
IT項目中,我們最恐懼什么?
項目中止?不是,因為對于盡心盡力的我們而言,“項目中止”很少是因為咱這些苦哈哈,也許是財務危機、也許是項目的必要性已不存在、也許僅僅是無限期的延遲。
所以,這里我們討論的是:一個正在執行的還算正常的項目進程中的事情。
對于項目執行和管理者而言,我們最恐懼的其實是“變化”,如果誰為了討好客戶和老板,大聲呼喊:“我會快樂地擁抱變化”,那么不要客氣,對他倒豎中指吧,因為他正把大家拖入泥潭。
事實如此,但是縱然我們再怎么不喜歡它,現實情況是:我們不得不接受某些變化。人本身就一直處在動蕩的環境中,只是很多時候沒有覺察而已。洪災、地震、SARS、H1N1、伊拉克、朝核、油價、房價、股市以及生老病死,他們都以不可預料或不可準確預料的方式到來,并深深地影響著我們。一種是已知的未知,一種是未知的未知,無論是哪一種未知的變化,一旦發生就會沖擊我們的生活。
從某些角度來講,我們做IT尤其是軟件項目的同仁們算是幸運的了,不會因為建筑工地在伊拉克、蘇丹、阿富汗而讓家人牽腸掛肚。我們坐在明亮的Office中,對著thinkpad coding,手邊還放著一杯coffee。的確,從這個角度來講,我們真該對自己所處的變化心平氣和了。
為了應對這些變化,我們會采取很多措施來增強自己對項目的安全感。計劃就是其中最終要的手段。
項目經理:
看著WBS:會讓我們覺得事情還是挺清晰的嗎,這事這么干準成。
看著橫道圖,我們又會感嘆,事情正有條不紊地進行。
看著資源負載圖,拿著資源平衡表,雖然有些頭疼,但也不像想象般的糟糕嗎!
技術經理:
恩,所有的都按照原先的架構在進行,只要再過三個月,就能交工了。
事實上,這兩個人無日不生活在焦躁不安中。他們知道:所有的利害關系者都正琢磨著:怎么樣改動一下,才能讓自己臉上倍兒有面子;才能讓錢花得不那么愿望;才能體現出我在項目中的價值。
從供應商和客戶的角度來講:甲乙雙方都會有人參與項目,都會有各自的項目負責人,不是東風壓倒西風,就是西風壓倒東風。我們一般都是乙方,而且經常是被壓倒的那位。
所以,我們的計劃總是在修改后再修改,基線調整后再調整,壓力一日日增大,甚至要委派一個專門的計劃師來做計劃。
我本人本質上很討厭計劃,因為正是計劃的出現,讓我提前感受到變化的痛苦,雖然沒有計劃,變化會在最后一次將項目壓垮,但我真的很討厭計劃。過去做項目 時,總是硬著頭皮,忍著萬分的悲痛去看分解,看進度,看那些我很難相信的完成百分比。我已被計劃折磨瘋了,錯了,應該是我已經被計劃和變化一起折磨瘋了, 我充滿了對現實的懷疑精神,可惜我不是哲學家,也不是科學家。
一度,我陷入一個誤區,希望能制定出一個很彈性的計劃,讓它不那么產生變化。結果是,除了在WBS的最高節點寫上項目名稱和完工日期,其他我什么也不能做,的確夠彈性的了吧。幸好我還沒傻到那種程度,敢拿這玩意兒計劃交給BOSS和客戶,所以也避免了被開除的命運。這都是很久以前的事情了,現在我已經在另外一個職位上工作了,勉強擺脫了項目的夢魘。
對著空白的Project 2003,經過一番苦思,我得出一個結論,應對變化的根本就是計劃之外的事情。計劃跟變化就像哥倆兒一樣,也許更像一面鏡子,他們分屬鏡子的兩端,計劃總是能在鏡內反應出變化所在;變化也能幫鏡外的計劃變得更加美觀合理。
由此,可以看出我這人還真是笨的不一般了吧。
PMP告訴我們:風險管理很重要,處理已知的未知,需要動用應急儲備;處理未知的未知,需要動用管理儲備。但是他沒有告訴我們怎樣鑒別和處理變化。至少在我看來,那些決策樹、散點圖、七點定律都太具有科學意義了,不大適合咱們“不按章法出牌”的中國國情。所以我想從更感情用事的角度探討一下:
1、大膽的拒絕客戶的要求
如果你的合同已經簽立了,如果客戶實在逼得你太狠,如果你真的覺得這是個不應該接受的變化,那么你就大膽的拒絕他。并且告訴你的BOSS,你拒絕了客戶,好讓他有心理準備:客戶要找他麻煩,告自己的黑狀了。你要自信,這事兒就得這么干,換了別人來也一樣,你是為了他的利益才這么做的,絕對沒有私心。如果他是個好BOSS,就應該幫你頂住對方的壓力,畢竟你鞍前馬,不僅有功勞,更有苦勞。
2、拿標準堵住嘴
不是讓你忽悠人,很多時候,客戶提出的要求根本就違背了自己的企業標準,那么你很好心地勸告他:對不起,要修改,請先修改你的企業標準,否則這個將來驗收的時候,我們都不好辦啊!所以,做項目的時候,摸清對方的底子很重要,尤其是這些平時看著是雞肋,卻極有可能影響到項目決策的東東。
3、對你無能為力的請求,照顧一下公司的面子
現在大型的軟件項目,很少是從頭開發一整套方案的。在競標的時候,往往會說基于什么什么平臺,然后在這些平臺上做定制。定制這件事,在做項目時,你還是得強調強調的。如果碰到項目團隊無法承擔,公司也無法解決的問題,怎么辦?建議不要直接說NO。而是委婉地說一句:“已提交研發部”,不要加上什么正在解決之類的話,就這六個字,多一個也不要。因為你很誠實地說出了你所知道的一切。
4、項目第二期
有些需求是你無法拒絕的,特別是一些系統增強性的需求,而且他也包括在簽立合同所包含的項目范圍之內,憑著天地良心,你也覺得這些要求不過分,但是你實在沒有多余的時間、資源去解決,項目要收尾,要尾款,你說NO也太不給客戶面子了,那么不如說:“我們會在項目第二期做”,如果不是大領導,他們也會半含糊著接受了。
5、告訴團隊成員,尤其是開發人員,要變化請告訴我
很多變化其實也是內部產生的,你要雞,結果作出個狗來了,為什么?狗把雞攆跑了。為什么會攆跑,開發人員跟你說:因為我感覺你這個設計不好。然后自我感覺很天才的樣子。說實話,我不反對天才,但是在你拿出天才的成果之前,能不能先跟我談談你天才的想法。你站在局部的角度,我站在項目的角度,老板站在公司的角度。我自個兒還經常跟老板討論項目的事情,你干嗎不跟我討論設計的事情。
6、團隊之中界面得擰清
界面不清爽,大伙兒就容易干出格的事情,所以開發人員會關心架構設計,并主動更改了架構的一部分。團隊的組織雖然靈活,雖然沒有太多的框框條條,但是大家工作界面的劃分是默契協作的根本,否則,出了個什么事,都不知道找誰;不知道找誰,但又很有責任心的人就會自己處理。問題就大發了,雖然我不反對在某些事情上,應該互相幫忙,但是主次始終是存在的,負責人始終是存在的,該知道的人都該通知到的。