為何過了PMP項目經理認證,還是無法做好IT項目管理?
很久沒談IT項目管理方面的內容,因此今天準備寫篇文章再談下IT項目管理。對于項目管理,在IT領域大家比較熟悉的就是CMMI能力成熟度模型和PMBOK知識體系,包括PMP國際項目經理認證考試。
對于項目管理本身有IT項目管理,工程項目管理,項目組合管理等多個領域或分支,但是我個人理解IT項目管理是復雜度最大的,也是最難管好的。這不僅僅是針對沒有項目管理經驗考取了PMP認證的,包括有項目管理經驗考取了PMP認證的,有時候也很難做好IT項目管理工作。
那么IT項目管理的難點究竟在哪里?個人理解主要體現在三個方面。
- IT項目管理是偏技術類管理
- 核心是和人打交道的一個工作
- 軟件系統本身的復雜性和不可預測性
如果你沒有把這三個點想明白,你基本很難做好項目管理。
在很多年以前在一個論壇上有人提問軟件項目管理的核心是什么?我當時只回答了一個字,是解決人的問題。由于沒有過多解釋,被認為答案太簡單被刪除掉了。
為何人的問題是最重要的問題?
在最早的PMBOK知識體系里面只有9大知識領域,而現在最新的知識體系單獨增加了一個知識領域即干系人管理,即識別干系人,規劃分析干系人,管理干系人,這些內容貫徹整個項目管理生命周期。
因為一個項目如何才叫做好?
這不是簡單地完成了項目進度,質量,成本等目標。而是真正做到了平衡多方干系人的利益,讓大家都處于一種相對滿意的狀態。
舉個最簡單的例子,一個對外的IT項目你作為項目經理,如果客戶什么新需求或變更你都滿足,雖然客戶滿意了,但是項目范圍蔓延,最后項目核算時候還虧本。那么反過來,客戶提的什么變更或需求都拒絕,那么客戶不滿意,到時候沒有驗收回款。
就這么一個簡單的事情你看執行起來這個度把握好都不容易,項目管理是一個平衡的藝術,不僅僅是說范圍確定情況下進度,質量和成本三要素的平衡。也包括了干系人利益的平衡,不可能單方滿意,而是要找尋多方相對滿意狀態。
這個干系人還不僅僅是對外部干系人。一個IT項目,項目團隊成員也是干系人,項目成員的家庭成員可能也是干系人。
軟件項目,很多需求,編碼,測試驗證工作都是人在執行,一個簡單的情緒往往對個人的生產效率都影響極大。那么如果你內部項目成員沒有管理好,沒有在關鍵的時候做好激勵,鼓勵,情緒照顧各種工作,那么本身你安排1到2天能夠完成的事情,最后1周甚至更長時間完成都是常見情況。
對于軟件開發來說,從基礎的軟件工程思想和方法論,到《軟件工藝》,《人件》這些書籍,你都可以看到軟件開發的核心效率體現在人,而不是工程方法或技術工具層面。如何做好人員的培訓,最大化地激發人員內在動力和做事激情,往往才是做好事情的關鍵。
IT項目管理是業務+技術+管理綜合
在各個行業,各個業務領域 ,都沒有單純的項目管理,更多的是結合業務,技術的,以項目目標為驅動點的核心能力。
特別是在軟件行業,不論是內部的軟件產品研發項目管理,還是偏外部的軟件項目集成,項目實施類管理,你都會看到項目經理不是簡單的進行人員管理,做個溝通,開個會,制定下項目計劃并監控下進度這么簡單。
項目經理最核心的是能夠盡可能早地完成對項目目標是否能夠達成的一個預判,同時將預判中你識別出來的最大風險或不確定性提前的解決掉。一個牛的項目經理一定不是風險轉為問題后救火,而是及早地就消除風險和隱患。
要做到這點,你就必須熟悉業務,熟悉系統,同時具備業務+技術兩個方面的知識儲備。也就是說一個項目從啟動開始,到計劃和工作分解,具體哪些重要的事情,有哪些事情實現有難度如何化解,你都需要了解才可能胸有成竹。
試想你對業務和技術不了解如何做到?
大家也可能有個疑問,業務不是有專門的需求人員,技術不是有專門的設計或開發人員嗎?項目經理沒有必要了解這些內容。
那我問大家一個最簡單的問題。
當你和客戶溝通,方案匯報或討論的時候,客戶任何一個問題你都無法當面回答客戶,都是我需要下來和需求確認,和開發確認,那么你如何在客戶面前建立初步信任關系?特別是前方客戶現場項目管理,難道還需要同時給你配置需求,設計,開發,工程多個人員隨時跟著你去做溝通和匯報?
還有就是類似客戶一個需求提過了,你輕易的就承諾可以做,但是最后開發一分析工作量巨大,遠遠超過預估的工作量和資源投入,那么你如何做做范圍和成本把控?
簡單來說對于IT類項目管理,沒有業務+技術知識積累基本寸步難行。
一個100萬的項目,厲害的項目經理可能60萬成本作為客戶滿意,差的項目經理可能120萬做完還延期導致客戶不滿意。里面的一個差別點就在于你是否熟悉業務和技術,能夠去引導客戶按自己方向走,而不是被客戶牽著鼻子走,被客戶牽著走的項目基本都是虧錢項目??蛻艨赡艿故菨M意了,最后團隊一核算卻是嚴重虧損。
如何應對軟件復雜性問題
為何IT項目管理難做?
前面談到了一個是人和干系人管理復雜,一個是軟件應用本身的復雜性。你如何解決不了這兩個復雜性,那么很難做好項目管理。
為了解決這個復雜性,項目經理一方面是提升溝通,演講,寫作和干系人管理等軟技能;另外一個方面就是加強自己業務+技術方面的知識學習,形成綜合項目管理能力。
IT項目管理是技術+管理。
那么如何應對軟件系統開發,軟件應用本身的復雜性問題?
第一,技術副手。又回到了軟件研發技術團隊上面,如何提升整個軟件技術團隊的人員技能,開發效率和質量是首先要考慮的問題。否則即使需求很明確,你也可能延期交付,而且交付一個上線后Bug不斷的產品。
如果你是一個偏對外的項目經理,那么你的核心是需求范圍把控和干系人管理,那么對內你必須要配置一個研發經理,這個開發經理你負責起需求明確后高質量,高效交付的責任。內部的一些技術管理,人員培訓,質量管控等工作由研發經理負責。
對于大項目,這個研發經理就相當重要,需要承擔起應有的責任。否則對外的項目經理會發現兩頭忙,兩頭都無法兼顧的情況。
第二,就是敏捷和迭代思維。軟件類項目管理一定要敏捷迭代,剛開始實際精確的范圍很難明確,為了應對不確定性和變化,必須敏捷迭代,盡可能地減少返工。要注意漸進明細和范圍蔓延的差別,需求的大框架范圍是明確的,但是需求的實現細節和邏輯一定是逐步清楚和精確的。
通過快速地迭代本身也是降低風險的關鍵措施。
軟件類開發的進度不能按需求,設計,開發,測試這個大瀑布生命周期,而是要按功能點迭代階段周期。一個軟件系統有50個功能點,如果開發告訴你所有功能已經開發完成,在測試階段。這個時候你實際很難清楚地把握進度。但是如果是50個功能點,已經30個功能點迭代上線,那么你更有把握當前已經差不多60%的進度。
第三,你能夠掌控的只有你自己。我說這句話的意思是想表面,要想項目成功,項目經理就是第一責任人,要將項目成敗的關鍵牢牢地掌控在自己手里面。
如果項目延期或失敗的,客戶實際并不想聽你的原因或解釋,也不是你說一個范圍大變動,人員流失,關鍵崗位人員技能有問題,制定計劃時候太樂觀了等各種原因就能夠解決問題。
項目經理對內觀的時候是一個悲觀者,而對外又是樂觀主義。
一個優秀的項目經理一定不能將項目成本依賴在團隊某個關鍵成員身上,你隨時都需要有PlanB以應用各種風險和變化,同時為了更好掌控項目,你所有業務和技術儲備都是必須的,這個時候項目經理才是項目最大的緩沖或技術儲備。
不該你出手的時候你悠然自若,但是關鍵的時候你能夠亮劍,可想而知你業務和技術的儲備,項目實踐和工程域的經驗在關鍵時候遠遠比你單純的管理經驗更重要。