有效的專案管理(轉)

ger8發表於2007-08-16
這是微軟資深專案經理人StephenMaguire的專案管理經驗。希望對大家有用!
??首先明確一些文中的概念:
專案經理:是專案的負責人,負責擬定進度,監督工作確實按進度實行,確保所有工作都方向正確,不出紕漏,協調團隊關係,並向高階主管報告專案狀況。
設計師:我們這裡說的設計師包括程式設計師和網頁設計師,網站開發的主力人員。
技術經理:由團隊中資深設計師擔任,負責專案的內部整合,確定開發規範,確保技術檔案更新。
產品經理:非團隊人員,負責與行銷人員或客戶協調,監督網站的開發符合客戶和公司的期望。
第一章.有效團隊的基礎。(共4節)
1.專心改善產品
??公司付工資給設計師,要他們在合理的時間開發出品質精良的網站,但是設計師們的時間卻經常被其它事情佔用了。
??典型的情況是設計師要花大量的時間準備會議,參加會議,讀寫開會記錄和進度報告,還有回覆email等等,這些事情都不能改善網站的工作,雖然其中一些是設計師自己主動做的,但更大一部分是專案經理下的命令。
雖然專案經理的本意是好的,但是卻違背了專案經理的基本守則:
專案經理的任務是努力消除設計師工作上的一切障礙,讓設計師權利專注在真正重要的工作上---網站開發。
??這不是震驚世界的發現,只是簡單的道理,但是有多少專案經理確實做到呢?
??請不要從字面上理解我的話,並不是說設計師只許製作網頁,開發程式,事實上,思考如何設計,測試和培訓等等,雖然不是直接投入在改善網站上,但對網站的質量卻有重大深遠的影響。
2.排除干擾
??如果你希望團隊在期限之內完成網站,就必須儘可能排除一切不必要的工作。在你分派工作給組員前,請問問自己,這件工作真的有必要讓大家做嗎?身為專案經理,必須時刻問自己一個問題:
??“我努力的目的究竟是什麼?”
??這樣工作就不容易偏離方向。記住,要以整個專案的眼光來看事情,你就不會陷入個別細節中了。
??比如開專案進度會議。目的是為了瞭解專案進行的情況,以避免專案進度失控,但是如果每一個專案都如期完成,也沒有人要加班,那還有必要報告進度嗎?
??還有常見的就是讓組員寫報告,交代自己做了什麼,解釋為什麼延遲了,這往往會令很多設計師頭疼和反感。一天8小時工作時間,很可能4個小時花在了寫報告上。而正常的開發工作卻不得不加班做。
??請不要誤解我的意思,我並不是說不需要進度報告,只是提醒專案經理們,不要過分注重“專案流程”,而忽略了真正的產品----你的網站。我的一點心得是:用一個新的辦法瞭解進度,容易寫,而且不花時間。
1).每當有設計師完成一個功能(子專案),就發一個內部email給大家;
2).每當專案進度可能落後,就和我私下交流,討論解決的辦法。
3.明確目標
??就象你準備考一個學位或者買房子,都要籌劃一番,然後行動,再達到目的,做一個網站專案同樣需要制定明確的目標。注意“要完成一個網站”只是一個模糊的目標,它還不夠具體和明確。
??實際操作中,可能很多網站在目標不明確的情況下也完成了,但問題是,在這之前,有多少時間被浪費了?雖然你運氣好,完成了專案,可是比起有明確的目標,有目的有控制的規劃,實施來說,哪一個更穩當,風險更小呢?
??什麼樣的目標是明確的目標呢?其實並不一定是博大精深的,只要足夠詳細,能夠保證專案向正確的方向進行就可以。通常只要專案組長花幾小時,或者幾天時間就可以制定一個詳細的專案目標。例如本站:
目標1:建立一個以網站專案管理為主題的網站。
評價:目標已經明確主題,但還是不夠詳細。
目標2:為網站專案管理愛好者提供一個交流的平臺。
評價:目標定位了服務物件和主要功能。但是並沒有體現我們建立網站的深層目的。
目標3:為網站專案管理愛好者提供一個學習交流,並能夠共同制定詳細規範的平臺。
評價:明確的目標,指出了服務物件,最主要的功能和網站本身的目的。
??在目標確定後,我們就堅持這個大方向,凡是有利於目標實現的最先完成,比如:論壇,規範文章。與目標無關或關係不大的,可以不做或者推遲做,比如人才交流,漂亮的介面等。
??設定目標就是把“你要完成的事”用清晰的語言描述出來,讓團隊每一個成員都有明確的概念。只要把目標稍微理得清楚些,整個專案的方向就會有驚人的改變。記住這一點吧:理清詳細的專案目標,可以避免在不必要的工作上浪費時間。
??也許設定目標會花你一兩天時間,但相對報酬是非常值得的!
4.設計的優先考慮
??好比買菜,有人買罐頭的因為最便宜,有人買冷凍的因為最方便,有人買新鮮的因為最健康,因為在他們的心目中,強調的優先考慮不同,網站開發也是一樣的道理:同一個程式,不同的設計師寫的程式碼必定不同,有認為程式碼越簡練越好,有認為容易使用最重要,還有的則喜歡追求執行速度。
??專案的目標和網站開發的優先考慮並不相同,但兩者有重疊和影響的部分,因此我們要建立以下基本觀念:專案目標引導專案的方向,而設計的考慮順序影響設計的過程。
??每個專案的具體情況不同,考慮的優先順序也回不同,一般來說,程式設計考慮的優先順序表1.尺寸大小(size)
2.速度
3.安全性
4.可測試性
5.容易維護
6.簡潔
7.再用性
8.可移植性
??除了優先考慮順序外,你還應該建立各項考慮點的質量規範,例如你認為尺寸是優先考慮,那麼多大才算合格呢?如果事先能夠決定最合適的優先考慮順序,並建立質量規範,團隊就不會浪費時間,網站的整體風格就會比較一致。
??第一章小結
??回顧本章討論的內容,我們可以得出網站開發的良好基礎是:
??確定您要達成什麼樣的目標以及如何去做,讓每一位組員都明白目標,並專注地朝這個目標努力,設定設計的優先考慮順序,以及相對的質量規範。
第二章有效的作業方式

1.什麼時候修改錯誤
??如果我問你,網站開發過程中,正確的除錯時機是什麼?你會怎麼回答?
A.等到所有功能開發完畢後再一起測試修改;
B.一發現錯誤就立刻除掉它;
C.無所謂,反正花的時間是一樣的。
??正確的選擇是B:一發現錯誤立刻除掉!
??對專案來說,最糟糕的情況莫過於被bug整得團團專,來不及完成專案目標。如果只管開發,把bug留到最後,會高估專案的完成率,看起來馬上要完成的專案,卻驚異的發現還需要3個月的時間除錯。微軟的經驗是:
(1).bug越晚清除,時間花得越多;
(2).在開發過程中立刻除蟲,可以讓您早些學到經驗,然後不會犯同樣的錯誤;
(3).如果能夠保證沒有任何錯誤,您就能比較準確的估出專案的完成時間。
所以,設計師應該把找錯誤當成一件重要的事情,不要為任何理由而耽誤。
2.email的時間陷阱
??email是個很棒的工具,但是水能載舟,亦能覆舟,如果email被不當使用,也會影響生產力。
??我常發現很多設計師喜歡讓email打斷他們的工作,不是指他們發了太多的email,而是隻要有新的email進來,他們就停下手邊的工作,看看有什麼新聞,有什麼新鮮事,並開始回覆email。有些設計師5分鐘就收一次信,這樣一天下來,可能什麼事也做不成,因為設計工作是需要一整段時間去思考和沉在其中才能完成的。
??為了解決這個問題,我告戒新設計師門,恢復email要分批做,早上一上班,中午休息時間,或者是下班前看一下都可以,但不要有事沒事都不停的看email。
3.好方法讓大家分享
??工作的策略是非常重要的,因為它是許多經驗和思維濃縮而成的,將這些策略或者方法集合起來,能夠讓個人的生產力和工作質量提升到更高的境界。
??身為主管,你應該鼓勵組員提出改進工作效率的建議。引導組員思考的方法也很重要。比如,下面兩個問題:
a.為什麼進度總是一再落後?
b.有什麼辦法可以避免將來再發生進度落後?
??第一個問題可能的答案是:互相依賴的工作太多,工具太難用,老闆是個白痴等等;第二個答案可能是:減少互賴性的工作,購買更好的工具,與老闆加強溝通。
??兩個問題的方向不同,第一個是探究原因,導引出抱怨;第二個是未來改進的方法,導引出解決辦法。
??問題越精確,問題越有力,對專案目標的實現就越有益,讓我們再看三個問法:
a.如何保持每次都如期完成專案?
b.如何在不加班的前提下,如期完成專案?
c.如何在不加班,也不增加人手的前提下,如期完成任務?
??第三個問法,就迫使大家來點真正有創意的思考和認真檢討工作本身值得改進的地方了。一次比一次更精確的問題,可以刺激思考過程,激發更有創意的答案。
4.無意義的懲罰
??懲罰是一種心理上的負強化作用,懲罰是對員工的責罵,訓斥與威脅,就象鞭打馬匹使它服從主人的命令。發現有一位組員進度落後了,不得了!叫過來罵一頓,這就等於是給了他一貼重劑量的藥物,逼使他以後不敢再對進度掉以輕心。
??這種管理手段是該受譴責的,我絕對不鼓勵任何人這麼做。想一想我們前面提到的立刻除錯策略,如果設計師發現錯誤,他花費好幾天時間解決這個問題,當然不是他喜歡的結果,但主管卻因此讓他受到威脅,設計師以後還會仔細查錯嗎?我們希望任何事都是很自然,沒有必要加重組員的苦惱,絕不是強調誰是老闆誰是奴才,誰必須服從誰。
??如果主管們的用意是希望組員因此而工作更努力的話,就大錯特錯了。這種責罵只會激起組員心中的憤怒,羞惱和沮喪。實際上,往往這些專案的問題都出在管理方面,目標不明確或者野心太大,設計師只是倒黴的遇上了差勁的主管,其實他們的能力不比其他專案的設計師差。因此放棄責罵吧,責罵只會讓專案更糟,絕對沒有任何改善的效果。
第二章小節
??這一章的內容,我們主要明確以下觀點:我們要採取策略性的作業方式,並不斷的找出一些簡單而有效的方式改善目前的工作,小小的改變可能產生驚人的效果。
第三章:保持進度
??我們都希望專案按照事先規劃好的程式來進行,但事實總是無法盡如人意,有時候會有點超前,大部分情況是落後,。即使最順利的專案,也無法完全按照計劃執行,但是,如果你放任計劃隨意進行,有一天你猛然發現專案脫軌太遠,無法把方向扭過來,剩下的時間也不夠,那麼專案就完蛋了。專案就象一枚瞄準月球的火箭,只要有一點點不夠精確,到時候就無法命中目標,差之毫釐,失之千里,實在不可不慎重。聰明的主管懂得這個道理,他們會經常注意專案的精度,隨時修正方向,保持專案不偏離計劃進行。本章將介紹一些很有效的策略,幫助專案保持進度。

1.向前看
??我一直相信,專案之所以脫軌,主要原因在於人們沒有認真思考如何使專案保持進度,順利進行。如果沒有未雨綢繆,只是坐等問題發生,到那時候就太遲了。一個月前沒有花30分鐘思考這個問題,現在就可能要浪費幾小時或幾天的時間去修正。這就是所謂的“被動工作”。
??解決這種被動工作的方法,就是化被動為主動,事先發掘潛在的問題,並設法避免。有很多方法和技巧可以訓練自己“向前看”,但總結起來不過是一句簡單的要決:
定期暫停手邊的工作,然後往前思考,隨時做必要的修正,以避免未來的大障礙。
??我已經有十年以上的習慣,每天花10到15分鐘思考下列問題,並且列出答案:
??有什麼事情是我今天能做,而且可以幫助專案在未來幾個月內順利進行的?
??這是一個十分簡單的問題,但是如果主管定期用它檢討,思考,必定能想到許多保護專案不受以外打擊的妙方。
2.明確定義需求的範圍
??有一個故事:我出差住旅館,有時候會去餐廳吃早餐,偶爾會有客人跑進來,看到大家都在吃早餐,就問服務生:“你們的早餐時間幾點結束呀?”我看到這位餓慌的客人急著向後轉,喃喃自語:“我真想吃午餐。”然後在服務生沒來得及向他解釋現在已經可以點午餐之前,匆匆離去。這位客人明明想吃午餐,卻問早餐結束的時間,他該問的是“現在供應午餐嗎?”
??透過這個故事,我想說的是:人們在開口要求的東西未必是他真正想要的,處理他的要求之前,請務必確定他究竟想要做什麼。
??在網站專案開發中,經常會遇到客戶或者領導層提出一些希奇古怪的需求。一次,首席設計師驚慌失措的跑來找我,告訴我麻煩來了,客戶對新設計的介面不滿意,要求按照某個著名網站一摸一樣的設計。如果真的那樣做,需要重新花一個星期才能做出來,可是目前離期限的時間已經很短了。聽了他的陳述後,我必須承認如果真得那樣做,我們的進度就完蛋了,同時我也很好奇,為什麼客戶會有這樣的要求,所以在我答覆他們做還是不做之前,請客戶經理去了解一下這個需求的原因。不一會兒,客戶經理笑嘻嘻地回來了。
??“他們只是看中了那個網站的動態下拉選單,覺得那樣比較吸引人”
??呵呵,我知道他在笑什麼了,這樣的動態選單我們其實早就有現成的模板了,只要將它替換現有的設計就可以了。而我們的設計師不清楚客戶的喜好而已。
??大部分客戶在提出需求時都不解釋原因,這種情況太普遍了,甚至你的管理層也會發生這種情況。如果你從他們的請求中無法看出他們的目的,你可以反問他們,在還沒有弄清楚究竟想要做什麼之前,不要貿然答應,寧可拒絕他們的要求也不要浪費這種時間。
3.就是說不
??當遇到客戶或上級的無理需求,專案經理往往會忍氣吞聲的同意他們的要求。迫於某些壓力,主管們寧可寧事息人,也不願意為了整個產品或自己的團隊堅持最佳的選擇。
??有時候,對方的請求也可能是非常合理的,你也想同意,但是因為你的日程排滿了,實在愛莫能助,您也只好對他們說“不”。然而,在我的經驗中,很多主管為了避免衝突,仍然會同意這樣的請求,只是不知道該如何如期完成這些過多的工作,只是想到時候再說吧,船到橋頭自然直,事實上事情很少這麼容易---船上若是載了太多的貨,就是船身直了也過不了橋啊。
??這些主管不了解,勉強接下自己不可能完成的任務,實在是一長痛代替短痛的做法,到時候無法如期完成,倒黴的是整個團隊因此必須加班工作。所以,最好的辦法還是老老實實拿您的日程表,與客戶或上級說明自己心有餘而力不足的情況,設法安排一個折中的日程或工作內容。想想這要比現在無條件答應請求而最後食言的結果要好的多。
??我並不是鼓勵您對任何計劃外需求都一口回絕,我只是強調:絕對不要答應別人自己做不到的事情,這樣對雙方都有害無益。
??說“不”也許令人不快,但這才是勇敢的面對問題的態度。說完“不”之後,就是設法解決問題的開始;明知道不可行而答應,就是問題發生的開始。
4.你無法讓每個人都滿意
??身為主管,您一定回面臨各種各樣的要求,為了工作的效能,您得學會在適當的時機,適當的說“不”。無論您說得多麼委婉,對方都不會喜歡被拒絕,他們可能會認為你錯了,然而,您必須瞭解自己無法讓每個人都滿意的事實,您要做的是協調,而不是完成每一件事,那是做不完的。
??當您碰到互相沖突的需求時該怎麼辦?有沒有比較有效的辦法?這就是我們在前面強調專案目標的用意了。例如您的目標是完成網站的主要功能,附加的裝飾性的功能需求就應該婉拒。當然您一定會受到抱怨,您不妨耐心向客戶解釋,問題總得交代清楚。
??每個人都不願意被別人討厭,這是人類的本性。但是身為專案主管,你必須明白這個道理:如果您希望每個人都滿意,最後您會焦頭爛額,什麼事都做不成。
??記住:不要為了討好別人而傷害工作程式,您永遠要根據自己的目標,做適當的決策。
??同樣,對待上級的建議您也應該考慮後再決策,不要盲從。應該以專案目標為最優先的考慮。我不是主張反抗權威,而是強調:上級也是人,一樣可能犯錯,他們的建議不一定是最好的,如果你想做一名出色的主管,您必須非常認真的衡量所有的建議,不論是誰提出的,您都得確定其符合專案目標才能採納。
?如果上級要求您做一件事,而您認為不妥,那您應該在著手進行之前向上級說明您的想法,也許上級回同意你的想法而放棄他的建議,也許,上級會讚許你的想法,但仍請你考慮他的意見,不論結果如何,起碼經過溝通對彼此都有幫助。
??記住:是你在為專案負責,不要讓任何人的建議阻礙專案的進行,包括上級的建議。
5.很酷,但並不重要
??網站專案的開發,不能只是為了有趣,有挑戰性,或者夠個性,夠令人眩目。
??有些時候,設計師會建議增加一些花哨的或者不應該開發的功能,他們的出發點是好的,渴望做出最好的產品,滿足客戶的需求。只是他們並不那麼清楚怎麼做才是對產品最有利的,這種不應該加入產品的功能特色有兩類:一是不符合產品的未來發我們方向,僅僅因為這項功能別人都有;二是客戶的特殊要求。有時候,功能齊全並不一定是最好的,(每個網站都開發聊天室,論壇,投票,郵件列表,留言本,計數器,但是並不一定都有用。)有自己獨特的風格更重要,在產品中加進了太多的枝枝節節的東西,可能使產品過度膨脹,也花費了設計師們太多時間和精力,未必是值得的。
??遇到這種情況的話,您該怎麼辦呢?您應該探究這個需求背後的動機。好好想一想,對產品而言,加入這些功能有沒有策略上的價值,能不能真正改善產品?如果僅僅是很酷,沒有其他更具說服力的理由的話,那麼請不要在這上面浪費時間。
??第三章小結:
??到目前為止,相必您已經很清楚什麼樣的工作才是應該全力投入的:與目標一致的策略性工作。但是這還不足以讓您保持進度,你還得儘量撇開不合理需求,剋制大家追求“酷”的慾望,儘量減少對產品沒有改善效果的工作。如果你無法學會說“不”,或者無法瞭解別人真正的需要是什麼,你就會發現自己深陷泥沼,淨做不該做的事情。
??想確保專案按計劃進行,其關鍵就在於專案經理完全明白該做什麼,並且不讓該做的事受到不當的干擾。
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7839396/viewspace-961193/,如需轉載,請註明出處,否則將追究法律責任。

相關文章