項目管理的求生指南
我們可以找到極其困難的項目與那些根本不可能的項目之間的差異?!?SPAN style="FONT-FAMILY: Calibri">Crunch Mode》一書的作者John Boddie指出:具有優秀的技術人員、卓越的管理人員、突出的設計人員和聰明、忠誠的客戶并不足以保證處于危急關頭的項目得以成功。的確存在根本不可能實現的項目,而且這種項目每天都在啟動。絕大多數這種類型的項目都可以在開發周期中被識別出來。這種項目看起來有兩大類型:“理解欠佳的系統”和“異常復雜的系統”。 市場人員、高級管理人員、缺乏經驗的項目經理等人所做出的幼稚承諾 幼稚經常與缺乏經驗相連;因此,當人們對建造所需系統需要多少時間和工作量一無所知時,毫不奇怪他們會做出不切實際的承諾。在極端情況下,這甚至會導致我的朋友Tom DeMarco所說的“歇斯底里的樂觀主義”:對于從未嘗試過的復雜系統,盡管項目完工所需時間的合理估算是3年,但組織中的成員卻仍然拼命讓自己相信它不管怎樣都必定能在9個月內被完成。 不僅如此,我們下面還會看到,這種幼稚和樂觀主義也同樣擴散到了技術人員中。但現在暫時讓我們假設罪魁禍首是你的經理、市場人員或最終用戶——是他們導致了過于樂觀、幼稚的進度和預算,問題是:如果情況越來越明顯地證明最初的承諾過于樂觀,這時他們會做出什么反應呢?他們是否會延長工期、增加預算并且冷靜地承認情況比預想的要艱苦?他們此時是否會感謝你和同事們此前所做出的英雄主義行為?如果他們確實這樣做了,那么對你來說,此時最重要的事情就是避免瀑布型生命周期,這樣你才能在交付系統的第一個原型版本后盡快對進度、預算和資源目標做出現實的評估。 然而,在許多死亡之旅項目之中,這種理智的中途修正措施根本不可能發生。例如,如果高級管理人員已經向客戶做出了幼稚的承諾,并且覺得無論如何都應該信守這個諾言時——不管它是什么,情況很可能就是如此。在最壞情況下,做出承諾的人自己對實際情況也十分清楚(下面的情況很明顯就是如此):為了慶祝從一些愚蠢的客戶那里獲得了新合同,宴會上,市場經理一邊暢飲著啤酒,一邊向項目經理坦言相告:“老兄,如果真的把項目實際需要的時間告訴客戶,我們根本就不可能拿到合同;畢竟,我們都知道競爭對手會提出非常有競爭力的方案。何況不管怎樣,你的手下總是會千方百計湊夠進度和預算,對不對?” 如果以上承諾來自你的老板或比你高兩三級以上的經理,情況尤其麻煩。很明顯,在這種情況下,對進度和預算進行估算的整個過程看起來就像是一個談判游戲(將在第3章中討論這一點)。但這其中還是存在一定程度的幼稚和天真,因為你的經理對“湊齊”進度和預算的抱怨有著不言而喻的暗示:你應該能夠完成強加給你的荒謬進度。另一方面,這種承諾很可能還與所謂的“海軍陸戰隊”思想有關,將在后續章節討論這一點。類似地,市場部門對可笑的進度和預算所做出的承諾很可能是另一種形式的政治;更確切地說,因為市場代表關心的主要目標是銷售提成、完成銷售額或者取悅自己的老板,所以他很可能根本不關心自己所提出的進度和預算是否荒謬。 現在讓我們暫時假設死亡之旅項目完全是由“純粹的”幼稚所導致,而不涉及政治和其他惡意因素。問題是:你該如何對待它?正像前面所提到的那樣,關鍵問題之一在于:如果最初的承諾很明顯不能實現,那么決策者可以修改進度和預算的可能性有多大?盡管可以預先參考具有相似情況的死亡之旅,但實際情況還是很難被事先預測。(如果這是公司里出現的第一個這種類型的項目,那么你就處在完全未知的領域之中!) 如果你有下面這種深刻的印象(無論是從自己的政治本能還是從組織中以往的項目經驗):無論多么背離現實,管理層都會堅持最初的預算和進度。這時你就需要對自己是否需要繼續執行項目做出一個重要決定。這其中包括你可以在多大范圍內對項目的其他方面進行談判——比如將被分配到項目的技術人員等,我們將在第2章討論這個問題。 年輕人天真的樂觀主義:“我們周末能完成它!” 對于與死亡之旅項目相關的許多愚蠢決定,盡管管理層是一個方便的替罪羊,但技術人員也不是完全沒有責任。實際上,在很多情況下,對復雜項目的進度和預算所做出的那些幼稚估算完全來自于技術人員,而高級管理人員只不過是高興地接受了而已?!澳阏J為這要花多長時間?”一個副總裁會這樣詢問技術骨干,而他很可能在上星期才剛剛被提升為第一級主管。 如果被問到的這個技術骨干并不了解實際情況,而且他還充滿了朝氣蓬勃的樂觀主義(這與十幾歲少年的錯覺(自認為無所不能、無所不知)十分類似),他的答案往往是:“沒問題,我們也許這個周末就能把它搞出來!”真正優秀的軟件工程師(或者用一個更恰當的詞“黑客”)都非常相信自己只用一個周末就能開發出任何系統。然而,由于某些細節如此令人厭煩,例如文檔、出錯處理、用戶輸入編輯和測試等,所以他們并沒有將它們考慮在內。 如果你就是那個充滿了天真的樂觀的軟件工程師,雖然你負責死亡之旅估算,但很可能你甚至連自己在做什么都不知道。也許你已經讀完了上一段話,而且對這種明顯的侮辱感到非常憤怒,嘴里也在不停地嘟囔著:“當然是這樣!我真的能用一個周末做出任何系統!”愿上帝保佑你;說不定你真的會成功。無論如何,從我這種老朽嘴中所說出的話永遠都不可能改變你的主意。 然而,如果你是一個久經沙場的老手,而且你已經發現,由于一些年輕而幼稚的技術經理對項目的進度、預算和資源做出了過于樂觀的承諾,自己將會被綁定在一個死亡之旅項目之上——此時你該怎么做呢?我認為最好的建議是:“三十六計走為上!”一旦發現自己陷入其中無法自拔,這些技術經理往往會徹底土崩瓦解,做出不理智的行為或陷于徹底停頓。在絕大多數情況下,他們從未處理過如此龐大與復雜的系統,因此也不知道僅憑單純的聰明和匹夫之勇(例如,在周末進行48小時無間斷的編碼)根本無法應付。但無論如何,在項目落后于進度時,他們肯定沒有心情聽你說“我曾警告過你!”。 新公司的創業心理我不僅看到這種事情的發生,而且也參加過這樣的項目,甚至有幾次還曾負責這種項目的啟動。在本書第一版付梓后不久,看起來任何新公司只要在公司或產品名稱里帶有“.com”字樣,就能比“確切知道要干什么”拿到更多的風險投資。然而,正如風險投資家和充滿希冀的投資者逐漸看清的情況一樣,剛剛起步的公司通常不但缺乏人手、經費和必要的管理,而且還對項目的成功存在著盲目的樂觀。他們肯定會是這樣:因為在準備了足夠的資金和進行了大量的計劃之前,謹慎、保守的經理永遠都不會考慮啟動一個新公司。 因此,根據定義,與剛起步的公司相關的項目大部分都屬于死亡之旅項目。不僅如此,在這些項目中,大部分的項目最后都會以失敗而告終,而這最終又會導致公司的消亡。這就是生活——高科技資本主義的全部含義都在于此(不僅僅是在美國,在全世界都是如此)。由于一生中對這種文化長期的耳濡目染,我認為這種現象再正常不過;當然,我的觀點也被自己曾若干次成功完成這種項目的事實所影響。實際上,這種情形通常是啟動死亡之旅項目的積極原因之一,下面將對此進行詳細討論。 然而,并不是每個人都熟知公司起步時的文化和環境。如果你已經在一個因循守舊的政府部門(或者在大多數的銀行、保險公司和電話公司中)中使用僵化的COBOL 工作了20 年,而現在由于機構裁員、外包或重組而不得不在剛剛起步的公司求得一個職位,很可能你根本不知道自己要參加什么樣的項目。雖然死亡之旅項目同樣也會出現在大公司之中,但項目人員卻大多來自公司外部。相比而言,在剛起步的公司中,死亡之旅項目的環境截然不同;它看起來更像是由純粹的興奮導致。 與此同時,剛剛起步的公司往往是前面所討論的這種幼稚的樂觀的受害者。許多這種公司都由狂熱的技術人員所創建,這些創業者確信自己所使用的新技術將會讓他們比比爾·蓋茨還要更加富有;除此之外,其他這類公司則往往由銷售天才創建,這些銷售能手們自信能夠賣掉任何商品,甚至能把因特網化電冰箱賣給輕信的愛斯基摩人。對剛剛起步的公司而言,雖然樂觀的確非常重要,而且風險投資的成功也往往依賴于能夠完成前人不能完成的事業,但即便是充滿開拓精神和樂觀主義的公司,其行動也必須遵守物理和數學的基本定律。因此,如果參加了一個新公司的死亡之旅項目,你一定要弄清楚行動到底是基于為了達到成功而進行的某些計劃,還是基于完全一廂情愿的癡人說夢。 海軍陸戰隊精神:真正的程序員無需睡眠 雖然剛剛起步的公司有時比較容易患上“海軍陸戰隊”綜合征,但根據我所看到的情況,這種癥狀最容易發生在類似EDS和BigX7這樣的咨詢組織中。這種“病癥”很可能反映了企業創建者的個性和企業建立初期的文化,例如,微軟的組織行為就經常被歸因于這種因素。一般而言,經理會這樣通知你:“每個項目都是這樣做的,因為這就是我們這里的做事方法。它很有效,我們也因此獲得了成功,我們真的為此自豪。如果你不能這樣做,那么你就不屬于我們這里。” 上面的觀點是否有道理、人道或正確,需要進行單獨的討論。實際上,即便是它是否真的像宣稱的那樣成功也非常值得另加商榷;重要的是要認識到這種觀點的出現并不是偶然的,而是深思熟慮之后的結果。如果你是一個為了信仰而甘愿犧牲自己的改革者,很可能你會決定攻擊這種企業文化,但結果很可能會以失敗而告終。這種全面的死亡之旅文化很可能還存在很多長期的負面影響,比如,最好的人才會慢慢流失,而公司最終會破產。但是,在當前這個死亡之旅項目到來時,你卻不可能質疑項目為什么設定了幾乎不可能的進度和預算目標。原因很簡單,正像上面那個經理的典型言論:“如果不能這樣做,那么你就不屬于我們這里?!?/P> 有時,對這種企業行為也存在官方的解釋,例如,“我們的市場競爭十分激烈,而且對手和我們一樣聰明。要想脫穎而出,唯一的辦法只能是付出加倍的努力?!绷硪恍r候,啟動死亡之旅項目的目的就是為了淘汰那些比較年輕(能力較差)的人,以便只有死亡之旅項目的幸存者們才能晉升到“合伙人”或“副總裁”這樣的級別。然而,不管理由是什么,它通常都很公平;因此也很少出現針對個別項目的抱怨。 盡管如此,這并不意味著你必須接受這種項目;畢竟,組織里所有其他項目都是死亡之旅并不代表你肯定能成功完成此項目。它僅僅告訴我們:這樣的一個項目有一個可以理解的啟動原因。 市場全球化所導致的殘酷競爭 很多組織過去并不能容忍死亡之旅項目的出現,但進入21世紀之后,由于市場全球化帶來的競爭越來越激烈,他們被迫接受這種項目。當然,這也有第二個因素的影響:因特網和Web以及開放受保護市場或減免關稅和配額的政府決策。 對于某些組織,這種現象并不新鮮;例如,從20世紀70年代起,汽車和電子工業就開始面臨激烈的競爭。但對其他的組織來說,歐亞競爭對手在北美市場上的出現卻實在不亞于一場劇烈的地震。一旦高級管理人員認識到將要面對的殘酷競爭,他們往往會采取不同的極端措施來應對,方式從裁員到將業務外包給世界其他國家,不一而足;除此之外,他們也很可能決定采用一種新產品或新服務來迎接競爭,而這需要建立一種全新而富有挑戰性的系統提供支持。烏拉!又一個死亡之旅類型的項目開始了。 與這種全球化現象相關的一個最新形式是將軟件開發項目外包給位于印度、中國、俄國或其他國家的海外公司。通過訪問多個國家的軟件組織,我可以證實這些公司通常并不是熱衷于死亡之旅(要求程序員以每周7天、每天16個小時的強度進行工作)的苦工作坊。不過,由于這些低成本海外軟件開發資源的存在,國內軟件公司和IT部門很可能將被迫要求美國境內這些薪水相對較高的員工工作更長的時間。正如一位讀者在最近發給我的電子郵件中所指出的: “我預計情況正在變得越來越糟。為了大量削減成本,將軟件開發工作外包給海外的趨勢正愈演愈烈,而剩余的國內軟件公司將遭受巨大的價格競爭壓力??尚械母偁幏椒ㄖ挥幸粋€:第一個將產品投入市場,同時削減成本?!劳鲋谩芸赡軐⒊蔀樵S多公司的標準過程。經濟狀況的改善并不會改變這些市場現實?!?/P> 由于出現新技術而引發的激烈競爭雖然市場擴大引起的競爭通常被看成一個防御問題,但它也能被看成一個主動發揮積極性的時機——例如,“如果采用雙字節字符來構建這種新系統,我們的產品就能銷往日本市場”。與此類似,如果一家公司對采用較老技術生產的產品感到相當滿意,這時引進一種進行了根本革新的技術很可能會引發一場抵制活動;但是,為了在競爭中取勝,公司很可能決定采用這種新技術。在此書正在編寫的時候,類似無線計算和Web服務的技術就是這種現象的明顯實例;但對于我們的工業來說,真正令人驚奇的是每過幾年就會出現全新的例子。 如果公司對新技術完全是抵制性的反應,那么死亡之旅項目的目標就很可能是力圖使舊技術超越其正常情況下所能達到的極限。因此,如果由于以往對老技術(或與其相關的基礎設施)的投資過大而無法完全放棄它,那么公司就很可能決定重新編寫原有系統,但卻會要求開發人員設法將其速度和魅力提高10倍。 許多這種類型的死亡之旅項目都包括對新技術的首次使用。請回想自己組織內實施的第一個客戶機——服務器項目、面向對象項目、關系數據庫項目或者因特網/Java項目的情況;在它們中,部分項目只是為了發現新技術的潛在收益而做的適當實驗,但部分項目很可能是為了與那些使用相同技術的公司進行競爭。在后一種情況下,這些項目不但進度和預算極其緊張,而且其規??赡芊浅}嫶蟆?/SPAN> 但真正使這種項目屬于死亡之旅類型的原因,除了顯而易見的規模、進度和預算特征之外,是試圖在工業強度的應用程序中使用尖端技術。即便這種技術目前已經基本可用,但它的擴展性往往也較差,并不適于大規模應用;不僅如此,此時往往也沒有人知道如何對其取長補短;而且供貨商也不知道如何才能正確提供售后服務;而且…… 盡管年長的技術人員(那些還記得FORTRAN Ⅱ和匯編語言過去黃金歲月的人們)很可能將所有這些都當做一段不愉快的經歷,但重要的是不要忘記項目經理和年輕氣盛的工程師們往往會選擇使用這些新技術,因為它們都很新。而這些人正是上面提到的那些對自己的進度和預算限制充滿了幼稚的樂觀的人。當所有人在深夜和周末還在努力將實驗性的新技術或多或少地加入到工序之中時,還會有人對項目已經變成一場死亡之旅產生懷疑嗎? 不可預期的政府法令所導致的巨大壓力 如前所述,死亡之旅項目的發生與市場全球化相關的原因之一是因為政府權力機構決定減少關稅、消除進口配額和“開放”原先關閉的市場。但這僅僅是政府影響導致死亡之旅項目的例子之一;而放開原先受控制的行業與政府機構私有化是另2個明顯的例子。事實上,今天發生的許多死亡之旅項目都是政府決定放開通信、金融服務、航空等行業的結果。 然而,在其他很多情況中,政府權力機構都增大了規章監管力度,特別是在稅收、向股票監管機構報告詳細財務信息、環境法規等方面。在任何民主社會實行這種法規之前,由于立法機構對細節的辯論和爭執通常很可能都要歷時數月乃至數年之久,因此事先都會有大量預兆出現。然而,細節往往只有在最終才能清晰地呈現出來,而且高級管理人員通常也會采用“在整個事情不可避免之前根本不去理睬它”的對策。隨后,轟隆隆!又一個死亡之旅項目出現了。 對于許多由于政府強制而導致的死亡之旅項目而言,最為棘手的因素是最后期限:新系統必須在某一日期之前投入運行(例如在元旦之前),否則就會導致每天數百萬美元的罰款。雖然申請延期或放棄并不是完全沒有可能,但在絕大多數情況下,最后期限往往不能更改。一旦新系統不能按時就位,最后的結果對組織來說往往就是與上述情況類似的可怕景象:裁員、破產或者其他不幸。 請注意,在這樣的項目中,技術往往不是問題的關鍵;它之所以成為死亡之旅完全是因為進度過于緊張。當然,高級管理人員有時會使情況復雜化:或者給項目分配的人員不足,或者給項目分配的預算不足,結果導致項目停滯不前。 出乎意料和/或未經計劃的危機 你手下最好的兩個程序員剛剛走進你的辦公室,通知了你如下信息:(a)他們剛剛結婚;(b)剛剛加入了要在非洲叢林中建造醫院的傳教團體;(c)今天是他們的最后一個工作日。或者,你的網絡服務經理剛剛通知你:你的供貨商已經破產,為了使用另一家供貨商的網絡協議,你必須在隨后的30天內重新編寫所有的程序?;蛘撸愕姆刹块T打電話告訴你:由于沒有遵守神秘的無人知曉的法規Q的第13(b)條款,公司已經被起訴,而且被要求支付巨額賠償。 當然,你可以這樣爭辯:在良好管理的公司中,兩個最佳程序員的離職不但應該事先被預料到,而且應該制訂出相應計劃;你不會愚蠢到完全依賴一個通信供貨商;管理層應該早已富有遠見地事先檢查過法規Q的具體細節。對于純粹主義者而言,以上這些危機完全是計劃和管理不足的后果;因此“未經計劃的危機”是一個復雜的情況。 也許真是如此;但從實用的角度出發,對于商業世界中可能發生的所有瘋狂事件,進行預計并制訂相應計劃的工作正在變得越來越困難。無論好壞,我們生活的世界都充滿了混沌,而死亡之旅項目正是這種混沌的自然產物9。事實上,即便已經預知在將來會出現混沌之事,但在其發生時我們很可能還是不得不使用死亡之旅的方式進行應對。例如,在加州圣安德魯斯附近,盡管每個人都清楚地知道劇烈的地震遲早會發生;但當地震來臨并將整個州的西半部送入太平洋時,人們仍然在使用死亡之旅的方式來應付災難。 實際上,即便我們知道危機將要發生的精確時間,但它帶來的往往依舊是死亡之旅,因為管理層總是喜歡在迫在眉睫時才進行處理。如果不是這樣,我們又怎么解釋在千年蟲問題迫近時,許多IT組織內不斷蔓延的恐慌?我們很早就知道2000年1月1日正在到來,也非常清楚這個最后期限無法推遲。不僅如此,我們還精確地知道問題的實質,明白解決它并不需要Java那樣剛剛被發明的技術。既然如此,那為什么會有如此眾多的死亡之旅項目在1998年和1999年中被啟動? 無論如何,未知危機能夠導致所有類型的死亡之旅項目。在最壞的情況下,它會導致將最后期限被設定為“昨天,如果不能更快的話”的項目——因為危機業已發生,而且在解決相應問題的新系統被安裝之前情況會日益惡化。在其他情況下——比如關鍵項目人員突然離職、由于危機導致人力缺乏或關鍵智力資源流失,原本合理的項目最終也將被變成一場死亡之旅。 出于不同的理由,這些通常是最糟的死亡之旅項目類型,因為沒人能夠預測到項目最終會走上這條道路。在上面討論過的“海軍陸戰隊”情況之中,并沒有任何出乎意料的事情發生:從第一天起,項目中每個人都非常清楚此項目將像以前所有的項目一樣,需要付出特別的努力。對于“剛啟動的公司”這種情況,人們預期死亡之旅項目中將充滿了刺激;不僅因為它將令人激動和充滿挑戰,而且因為它一旦成功,所有人都會因此而成為富有一族。 本文節選自死亡之旅(原書第2版),周浩宇 楊華譯,由機械工業出版社發行。 該文章在 2012/4/4 23:52:33 編輯過 |
關鍵字查詢
相關文章
正在查詢... |