?
? ? ? ?國林哥在IBM時,幾乎每天都會收到關于“敏捷”相關的郵件,公司鼓勵我們去學習郵件里的知識,參加敏捷相關的認證和培訓。剛開始我和大多數同事一樣不管不顧,后來隨著PBC里要求加上成長目標,比如要獲得一個認證,我們就不能再回避這類郵件,并逐漸試圖弄清楚它的"底層邏輯“,并在公司參加”Agile“相關認證,并在實際項目中運用敏捷實踐。
? ? ? ?必須感謝藍色巨人IBM給自己帶來的敏捷文化,在服務華為研發管理時,我就講敏捷相關的理念和實踐帶到項目中,并逐漸從0到1組建了一只近100人的研發團隊。記得當時多次在團隊分享《敏捷項目管理實踐》這門我自己編寫的PPT材料,我們團隊的小伙伴也逐漸理解其中的意義,也清楚明白我們作為敏捷團隊的要求,組織的工作效率比較高,大部分人干活都很主動,上班時打滿雞血,摸魚者越來越少,為華為”活下去“貢獻一點微薄力量。
? ? ? ?今天我就來講講敏捷項目管理的基礎知識,為即將或已經踏入技術管理的小伙伴做一個拋磚引玉的碰撞,以期共同進步。
? ? ? ?首先,項目管理是什么? 我們都知道,項目管理無處不在,項目管理是運用管理的知識、工具、技能和技術于項目活動上,來解決項目的問題或達到項目的需求,通過周密的計劃,管理好項目中的人、事、物,達成項目目標。比如結婚,旅游都涉及項目管理,需要你的周密計劃,組織。
? ? ? ? 其次,敏捷開發的定義是什么?敏捷開發(Agile Development) 是一種以人為核心、迭代、循序漸進的開發方法,是擁抱變化的開發流程。
? ? ? ? 再次,敏捷項目管理的定義是什么?敏捷項目管理規劃和指導項目流程的迭代方法。 與敏捷軟件開發一樣,敏捷項目是在叫做迭代的小型部門中完成的。 每個迭代都由項目團隊審查和評判;從迭代的評判中獲得的信息用于 決定項目的下一個步驟。每個項目迭代通常是安排在兩周內完成。
? ? ? ? 傳統的項目管理面臨哪些挑戰?比如:缺乏明確的目標、目的,組織與項目目標不一致;需求的不明確,不完整,與不斷的變更;缺乏最終用戶的參與;不明確的職責;沒有做好計劃等等。
? ? ? ?讓我們來看看敏捷開發宣言:個體與交互高于流程和與工具;工作的軟件高于詳盡的文檔;
客戶合作高于合同談判;響應變化高于遵循計劃。
? ? ? 基于敏捷開發宣言,我們總結出敏捷宣言遵循的12條原則:
? ? ? 1. 我們最重要的目標,是通過持續不斷地,及早交付有價值的軟件是客戶滿意。
? ? ? 2. 欣然面對需求變化,即使在開發后期也一樣。為了客戶的競爭優勢,敏捷過程掌控變化。
? ? ? 3. 經常地交付可工作的軟件,相隔幾星期或者一個月,傾向于采取較短的周期。?
? ? ? 4. 業務人員和開發人員必須相互合作,項目中的每一天都不例外。
? ? ? 5. 激發個體的斗志,以他們為核心搭建項目。提供所需的環境和支持,輔以信任,從而達成目標。
? ? ? 6. 不論團隊內外,傳遞信息效果最好效率也最高的方式是面對面的交談。?
? ? ? 7. 可工作的軟件是進度的首要度量標準。
? ? ? 8. 敏捷過程倡導可持續開發。責任人、開發人員和用戶要能夠共同維持其步調穩定延續。
? ? ? 9. 堅持不懈地追求技術卓越和良好設計,敏捷能力由此增強。
? ? ? 10. 以簡潔為本,它是極力減少不必要工作量的藝術。
? ? ? 11. 最好的架構、需求和設計出自自組織團隊。?
? ? ? 12. 團隊定期的反思如何能提高成效,并依此調整自身的舉止表現。
? ? ? ?項目管理鐵三角是什么?時間,成本,范圍。所謂“鐵三角”,指的是三者中任意一方的變動都會對其他二者產生影響。項目管理的目標是平衡三者的關系,使之達到最佳的效果。各要素相互牽制,而對需求的管理就至關重要,否則就會帶來時間,成本,范圍的失控。因此,我們需要做好需求統一管控,實現一個”剛剛好“的交付。
? ? ?傳統開發面臨的問題有哪些呢?
? ? ? ?1. 交付周期長:往往是6-12個月甚至更長;
? ? ? ?2. 軟件質量差:經常為了趕著上線而犧牲質量;
? ? ? ?3. 團隊士氣弱:員工積極性不高,相互抱怨產生隔閡;
? ? ? ?4. 按時發布低:長期累積大量任務債務,在臨近交付日期時很難完成;
? ? ? ?5. 溝通效果差:員工經常因為小事情不溝通或溝通緩慢,導致進度延遲;
? ? ? ?6. 進度延期久:工作計劃的估算靠拍腦袋決定,外行指揮內行。
? ? ? 傳統的項目管理追求”一次把事情做完“,而敏捷項目管理追求增量交付,通過故事分割,多次把事情迭代完成,過程中通過優先級和工作量的評審,與客戶在各個版本階段達成預期。
?
? ? ? 為什么要做敏捷呢?需求為啥要變化呢?不能一開始多花點力氣,想明白嗎?
? ? ?首先, 項目需求的細節無法提前全都想明白,在做得過程中才逐漸清晰。項目管理過程中的不確定性太多,可能連用戶自己都沒意識到自己到底想要的是什么。
? ? ?其次, 世界變化太快,原本有價值的東西,隨著項目的推進,可能會變得不那么有價值了。
? ? ?那么,敏捷軟件開發的優勢有哪些呢??
? ? ?1. 快速交付:1-4周迭代結束即可,并交付可運行的軟件;
? ? ?2. 降低風險:短周期迭代持續反饋,提高預見性;
? ? ?3. 適應變化:小步快跑,快遞驗證產品需求及調整方向;
? ? ?4. 質量更好:持續集成及頻繁測試,保證代碼質量更高;
? ? ?5. 持續改善:迭代結束后進行回顧,頻繁檢查團隊動向;
? ? ?6. 滿意度高:高ROI的需求快速交付,早期實現商業價值。
? ? ? 敏捷項目管理的特點有擁抱變化,快速試錯,全民階段性測試。不僅快,而且離用戶近!
? ? ? 敏捷推崇的工作方式是通過5-9人的跨職能小團隊,通過2-4周的迭代周期,分批次增量交付需求,通過小團隊在短時間內做出一小塊需求,并有規律的集成組裝形成整體功能。
? ? ?那么,什么項目適合傳統項目管理,什么項目適合敏捷呢?
? ? ?如果需求和技術明確,就適合采用傳統項目管理;如果需求和技術都不明確,屬于復雜類型的項目,就適合敏捷。
?
?