0. 前言
項目管理在工作中隨處可見,特別是客戶端,版本更新是用戶強感知的顯式升級,對于版本節奏和進度控制有較高的要求,作為一名客戶端開發同學,在統籌app版本迭代中不斷體驗項目pm角色,為了解答自己遇到的各種問題,不久前參加了PMP的培訓和考試,理論與實踐結合中略有些收獲,在此做一些記錄和總結。
1. 什么是項目
根據PMBOK的標準定義,項目是為創造獨特的產品、服務或者成果而進行的臨時性工作。根據這個定義,項目就具有了獨特性、臨時性、漸進明細性。換句話說,具備目標明確性、活動一次性及資源消耗性這三個主要特性的活動,都可以看作是項目。除了工作中我們具體參會與的項目之外,項目在生活中也隨處可見,比如為了準備一次考試或者答辯、新房子的裝修、減肥、安排一次團建活動甚至一次求婚等都可以都看為是項目。在這些項目的實施過程中,都存在項目管理任務,但是,實際生活與工作中,可能更多關注的事情本身,而對做好事情相關的組織、計劃、控制等過程相對缺少關注,或者沒有經驗與能力加以關注,對項目的過程和結果也缺乏評價和持續性改進。那么項目管理到底是在做什么,有哪些內容?
2. 項目管理包括哪些知識
2.1 項目管理由誰管理
項目管理一般是由項目經理(以下簡稱PM)來執行,PM有個官方認證也就是PMP認證。
PMP認證是由PMI(美國項目管理協會)在全球范圍內推出的針對項目經理的資格認證體系,通過該認證的項目經理被稱為“PMP”, 即Project Management Professional(項目管理專業人員)。PMP具備全面的、科學的項目管理知識,擁有至少三年以上的項目管理經驗,并且所具備的知識和經驗得到PMI的檢驗認可。PMP資格考試基于《PMBOK指南》,它涵蓋了項目管理過程指導知識和工具技術,項目管理就是將知識、技能、工具于技術應用于項目活動,以滿足項目要求。通過合理運用于整合特定項目所需的項目管理過程得意實現。PM就是負責實現目標的這個人。
那么對PM的能力要求有哪些呢?
比較官方的是下圖的一個人才三角:
其中專業技能就是硬技巧,是可以通過學習培訓獲取的項目管理工具和技術,比如數據分析技術、可行性分析、進度和成本制定技術等。領導力比較偏向工作中積累的經驗和軟實力,需要時間和實踐的沉淀。戰略和商業管理指的是PM的行業知識,特定業務的項目需要PM具備一定的額專業知識。除了這個基本的人才三角,PM終究是管理崗位,做的事情就是確保項目的達成,是以結果為導向的,要負責項目團隊成員以及團隊與外界的溝通與聯系,落到實處概括為這幾個關鍵因素,也可以稱之為PM的核心競爭力。
其中,人際關系、溝通技能、積極的態度是一個優秀PM的必備技能,“頂尖的項目經理約有90%的時間花在溝通上”。當然,計劃總比現實美好太多倍,實際工作中總會遇到各種臨時問題和突發情況,無論是客觀環境因素還是主觀上人的因素,PM都要自始至終保持職業道德感,對項目有最終責任,促成項目成功的秘籍有三點行動:發揮作用(BYLian);堅持;堅持發揮作用(jian chi BYLian)。
2.2 項目管理有哪些知識
根據PMBOK,包括五大管理過程組10大知識領域以及49個子過程管理。
五大過程組的主要內容:
每個知識領域在五大過程中有相應的子過程步驟,每個子過程中有相應的輸入文件、工具技術、輸出文件。項目可能包含一個或多個多個階段,多階段的各過程組在每個階段重復進行,各過程、過程組之間由相互依賴的輸入、輸出產生相互作用。項目管理需要利用各領域的工具技術,統籌十大知識領域的輸入輸出進行項目整合。
當然,實際的項目工作中,需要根據組織和項目的特點進行裁剪,實施最合適的管理方案。
2.3 項目管理的環境因素
PM要在組織結構中管理項目,每個項目所處的類型不盡相同,PM在其中的角色和職權也有很大差異,不同的環境會要求不同的管理技能。粗略的講可以將組織結構劃分為職能型和項目型,前者按只能部門劃分,項目是跨部門的人員組合,職能經理有絕對權力。而后者是以項目為單位,PM有管理的絕對權力。目前很多IT類項目可能是更多的是混合型-矩陣型,特別是接近下圖中的弱矩陣結構,沒有專門的PM,大多由技術人員或者PM來擔任,PM沒有太多的管理權限,要靠溝通協調等能力來確保項目的推進,更多的是項目協調員的角色。沒有權力的前提下協調項目,對PM能力有著更高的要求。
3. IT方向的項目管理相關知識
除了上面提到的,很多IT項目PM大都由技術人員擔任,大多處在弱矩陣結構中,IT項目的常用管理知識可能集中在幾大領域和相應過程的一些工具技術上。介紹幾個用到比較多的。
3.1 項目生命周期
不同的項目根據自身特點屬于不同的生命周期模型:
- 預測型生命周期:瀑布型生命周期。
- 迭代型生命周期:項目范圍確定,成本和時間定期修改;重復循環-逐步改進
- 增量型:漸進增加功能;
- 混合型:預測型+適應型
- 適應型:屬于敏捷型、迭代型或增量型,詳細范圍在迭代開始之前就得到了定義和批準;敏捷或變更驅動型;
正如我們對項目采用不同的技術架構和選型一樣,不同的分類適用于不同的項目管理方式,每種方式對需求層面和團隊建設也是有一定要求的。比如目前流行的敏捷開發適用于Scrum開發框架,它有一個3-3-5-5模型。
- 3個角色:Product Owner, Scrum Master, Scrum Team.
- 3個工件:產品Backlog(Product Backlog)、Sprint Backlog、燃盡圖(Burn-down Chart)
- 5個會議:Sprint計劃會議、每日站會,Sprint評審會議,Sprint回顧會議,產品Backlog梳理會議
- 5個價值:承諾、專注、開放、尊重、勇氣
3.2 關注的領域及其工具
IT項目在具體的工作中,可能著重關注以下幾大知識領域,每個領域都各自有很多工具技術,這里簡要總結一些關鍵常用的,無論對項目管理還是日常生活都很有幫助。
3.2.1 項目整合管理
整合是對項目整個過程各個階段的計劃和把控,這里強調比較多的就是科學的指定計劃,按照計劃進行,不一致的屬于變更控制,也要按照變更計劃走變革流程,確保一切可控。
3.2.2 項目進度管理
這個是開發人員必經之難,體現為估時問題,這里有幾個定律非常有用:
- 帕金森定律:只要還時間,工作就會不斷擴展,直到用完所有時間。
- 小學生定律:即拖延癥,人們只有在最后一刻即快到期限時才會全力以赴。
- 布魯克斯定律:投入兩倍的資源不一定能縮短一半的時間,布魯克斯有本著名的《人月神話》,里面的思想和觀念很有影響。
3.2.3 項目質量管理
- 質量免費:質量管理帶來的效益完全能覆蓋其成本。
- PDCA-戴明環:結果不達標是計劃出了問題,不斷執行、改進而不是一開始就非要制定一個完美的計劃再一絲不茍按這個完美計劃進行。
- 5Q法: 連續追問五個為什么,找到問題所在。
- 因果圖:也就是石川圖和魚骨圖,列舉出所有的原因。
- 帕累托法則:二八法則。對問題找原因,對事情分優先級,分配自己的時間等都可以用。
- 消除非增值活動、提高效率、防止鍍金、全員參與。
3.2.4 項目溝通管理
- 溝通渠道計算:N*(N-1)/2,增加一個新資源可能增加很大的溝通過成本。
- 溝通形式:面對面是最好的溝通方式。
- 有效溝通:確保信息送達;反饋是有效的保證。
- 會議管理:進行必要的會議,啟動/開工/審查/收尾 、站會/復盤,主持人控制好會議節奏。
- 非正式溝通:拉近團隊成員之間的距離。
3.2.5 項目風險管理
- 風險識別和分析:SWOT/TOWS分析,
- 應對規劃:針對分析的風險做好應對計劃,并且明白可能突發未知風險。
- 應對實施:實施應對計劃管理已發生風險;利用經驗形成專家判斷。
- 風險與機遇并存,有的風險可能會轉化為機遇,比如攻克了技術難題可能就形成了技術壁壘。
3.2.6 技術人員做PM的問題
- 喜歡做事害怕見人
- 主動培養,后天能力,不要逃避
- 關注局部而非整體
- 只考慮結果,只關注自己擅長的區域,手里有錘子看哪里都是釘子。
- 靜態看待技術之外的事情
- 缺乏政治敏感性
- 考慮別人的感受,制度和政治。發揮主觀能動性。
- 排斥非正式溝通
- 理想主義/完美主義
- 事在人為,積極面對。對自身以外的要求過高導致苦惱。
- 缺乏領導藝術
- 人民內部矛盾,不問責,不去糾結誰錯了,是要讓未來更好
- 藐視人情世故
4. 在實踐中的問題
虛擬團隊章程:在具體項目過程中,經常遇到大家對整個安排、項目節奏有困惑以及問題溝通不主動的問題,在多次項目迭代中固化發版流程和形式,形成一種虛擬章程或者習慣:四個會議+站會+復盤會。風險是呈現S型曲線,越到后面風險越大,通過階段關口的有效會議,把整體問題集中提前暴露,階段問題盡早暴露。
溝通:勤走動,多面對面溝通;確保有效溝通,問題一定要求得/給予反饋;向上溝通,遇到解決不了風險及時上報。
組織過程資產沉淀:各種需求文檔、技術接口文檔、經驗教訓、bug分類標簽等按版本沉淀。
-
管理三角關系:進度、成本、范圍有個穩定三角關系,需要各個具體解讀平衡需求、人員投入、進度計劃的三角關系。實際我們總是時間和人力有短板,最常用的比如利用并行開發、階段提測等平衡各方關系。
項目三角關系 技術兼任PM要平衡好自己的角色和時間分布。
-
PMI主義:最后想把PMI主義附上,它既是PM的行為準則,也是PM擔當過程中遇到困難時的靈丹妙藥。
- 你是專業的項目經理,管理是你的核心職能。
- 必須以專業的方法做項目,即遵循PMBOK的要求。
- 強調事業環境因素和組織過程資產。
- 強調歷史信息,強調經驗教訓總結,強調記錄。
- 問題重在預防,而非解決。
- 必須有明確的目標,必須有正式的計劃,才可行動。
- 利害關系者很重要,盡早識別全部利害關系者并讓其參與。
- 項目經理必須被任命,PM是管理工作的核心責任點。
- 項目是系統工程,項目經理是整合者,多重約束牢記在心。
- 項目管理以結果為導向,項目成功是項目經理的最終責任。
- 變更影響項目成功,項目經理應影響變更發生,管理變更。
- 項目經理的主要責任是整合項目,整合通過溝通實現,項目經理要花75%-90%時間用于溝通。
- 項目經理必須拒絕提供不重要的信息要求。
- 必須詳細描述工作,責任必須明確。
- 任何情況下,質量都要達到客戶滿意度。
- 削減費用的前提是削減項目范圍,而不是犧牲質量。
- 項目經理必須遵守公司規定、職業道德、法律。
- 項目經理必須主動、不等不靠;無論環境如何,先盡自己的最大努力。項目經理是神奇、偉大的,可以拯救世界。
- 一切決策必須是事實為依據,以程序為準繩,正確的程序優先于正確的結果。
- 防止范圍潛變,杜絕質量鍍金。
- 項目必須進行合同和行政收尾。
- 公正、公平、公開、勇敢、誠實地面對現實。
- 處理各方關系時,都要本著雙贏的理念。
- 決策要遵守四大價值觀:責任、尊重、公平、誠信。
項目管理的知識,如同項目管理的領域語言,掌握和認同的人越多,團隊的協作成本越低效率也會越高。
5. 后記
項目管理畢竟屬于管理范圍,知識體系繁雜龐大,以前也會覺得平日里很多項目自己運行的挺好的不也沒有怎么系統管理啊,如果說,向紅利要效益、向戰略要效益、向管理要效益,對應著發展的不同階段,那么對于我們一線開發人員來說,高質高效的項目目標達成是對戰略的最大保障。
6. 感想
最近在看《人月神話》,里面有個軟件開發各階段的任務安排的經驗時間分布:
- 1/3 計劃
- 1/6 編碼
- 1/4 構件測試和早期系統測試
- 1/4 系統測試,所有構建已完成
驚訝于編碼只需要這么少的時間分布,但跳出開發人員的角色從自己經歷多的開發項目看,確實編碼占用差不多就這個時間,一個月的項目,真正的時間也就1/4不到,其他用在計劃、方案確定上更合理一些,凡是到手就開始coding的基本后期花很大精力去測試、改bug,做變更等等,相反,在需求-設計階段就充分討論和計劃的,編碼階段會更順利,質量更高,而有的開發者確體會不到這點,以為動手寫代碼之前的行為都屬于浪費時間,后期花
時間走變更改bug時會哀怨需求變數多、得意于自己的開發投入,而這些完全可以以更高效的方式解決,管理的魅力也許就在于此吧。
于自己的生活也是如此,PDCA和28法則用的好的話,生活里的項目絕大多數應該是成功的而不是爛尾的,大到人生多規劃,小到生活小目標,是時候當做項目來管理了。
References
- PMP項目管理五大管理過程組 10大知識領域 49個子過程管理
- 小白必備的PMP項目管理入門知識
- 現代卓越石泉老師的《從技術骨干走向項目經理》