得益于軟件行業(yè)成本控制越來越好,曾經(jīng)在國外流行的敏捷項目管理模式在國內(nèi)也越來越流行。而大部分項目經(jīng)理是由傳統(tǒng)的瀑布開發(fā)管理模式轉(zhuǎn)變而來,對于敏捷項目管理模式不甚了解。這里記錄我的經(jīng)驗分享給大家,以幫助大家理解敏捷項目管理。
- 與傳統(tǒng)項目管理有什么關(guān)系?
在理解敏捷項目管理之前,我們先看一下它與傳統(tǒng)項目管理之間有什么聯(lián)系和差異。
傳統(tǒng)項目管理模式,一般指瀑布模式。它必須完成上一階段工作并通過檢驗才能啟動下一階段工作,將整個項目過程劃分為五大過程組。
(傳統(tǒng)項目管理模式演示)
而敏捷項目管理模式,一般包含迭代和增量。它將整個項目過程拆分為若干個迭代,每個迭代完成一部分用戶可感知的完整功能。一般情況下,每個迭代內(nèi)的項目過程均遵循五大過程組。
(敏捷項目管理模式演示)
還有一小部分項目經(jīng)理會將PMP與敏捷分別獨(dú)立看待,認(rèn)為PMP就是傳統(tǒng)項目管理模式。其實不然,PMP是指是項目管理專業(yè)人士資格認(rèn)證,它的認(rèn)證知識體系由五大過程組和十大知識領(lǐng)域構(gòu)成,它是一個知識體系的檢驗過程,或者簡單來說,它就是完整的項目管理知識體系。而瀑布模式和敏捷模式都是基于它形成一種項目管理模式。
傳統(tǒng)項目管理模式與敏捷項目管理模式之間存在的差異,可以總結(jié)如下:
瀑布模式 | 敏捷模式 | |
核心驅(qū)動 | 文檔和計劃驅(qū)動 | 用戶可感知的完整功能驅(qū)動 |
計劃 | 提前對整個項目過程進(jìn)行詳細(xì)估算、分析、計劃 | 提前對整個項目做一個粗略的計劃。在每個迭代里做每個迭代的詳細(xì)計劃 |
變更 | 嚴(yán)密的合同來減少變更風(fēng)險,如果改變需求需要走CR流程,整個項目過程需要重新估算和規(guī)劃 | 基于信任,合約使變更變得簡單。鼓勵變化,聚焦客戶價值,將有益于客戶價值實現(xiàn)的變更在后續(xù)迭代內(nèi)進(jìn)行估算和規(guī)劃 |
風(fēng)險 | 項目交付晚,意識到風(fēng)險的時間晚 | 每次迭代都產(chǎn)生可交付的功能,發(fā)現(xiàn)風(fēng)險的時間早 |
可視化 | 項目過程是一個“黑盒子”,對于客戶和供應(yīng)商來說可視化較差 | 客戶、供應(yīng)商和開發(fā)人員之間是緊密連續(xù)的合作關(guān)系,項目過程可視化較好 |
應(yīng)用場景 | 消耗成本較高的項目過程。如三峽工程、火箭發(fā)射 | 消耗成本較低的項目過程。如軟件開發(fā) |
- 敏捷項目管理到底是什么?
了解過敏捷項目管理與傳統(tǒng)項目管理的聯(lián)系和差異后,那么敏捷項目管理到底是什么呢?我從定義、本質(zhì)、框架、常見實踐4個方面總結(jié)。
一、敏捷項目管理定義
敏捷:是一種通過創(chuàng)造變化和響應(yīng)變化在不確定和混亂的環(huán)境中取得成功的能力。
敏捷項目管理:指在項目活動中運(yùn)用敏捷的理念,配合專門的知識、技能、工具和方法 ,使項目能夠在有限資源限定條件下,實現(xiàn)或超過設(shè)定的需求和期望的過程。
二、敏捷項目管理本質(zhì)
通過敏捷項目管理定義,我想你已經(jīng)猜到其本質(zhì)是什么。是的,其本質(zhì)是一種理念,并基于這種理念進(jìn)行不斷實踐在不確定和混亂的環(huán)境種取得項目成功,同時將這些實踐總結(jié)提煉為團(tuán)隊穩(wěn)定的解決方案。
這種理念也被先驅(qū)者們總結(jié)為敏捷軟件開發(fā)宣言和敏捷開發(fā)十二原則。
敏捷軟件開發(fā)宣言:
我們一直在實踐中探尋更好的軟件開發(fā)方法,身體力行,同時也幫助他人。由此我們建立了如下價值觀:
個體和互動 高于 流程和工具
工作的軟件 高于 詳盡的文檔
客戶合作 高于 合同談判
響應(yīng)變化 高于 遵循計劃
也就是說,盡管右項有其價值,我們更重視左項的價值。
敏捷開發(fā)十二原則:
- 我們最重要的目標(biāo),是通過及早和持續(xù)不斷地交付有價值的軟件使客戶滿意。
- 欣然面對需求變化,即使在開發(fā)后期也一樣。為了客戶的競爭優(yōu)勢,敏捷過程掌控變化。
- 經(jīng)常地交付可工作的軟件,相隔幾星期或一兩個月,傾向于采取較短的周期。
- 業(yè)務(wù)人員和開發(fā)人員必須相互合作,項目中的每一天都不例外。
- 激發(fā)個體的斗志,以他們?yōu)楹诵拇罱椖?。提供所需的環(huán)境和支援,輔以信任,從而達(dá)成目標(biāo)。
- 不論團(tuán)隊內(nèi)外,傳遞信息效果最好效率也最高的方式是面對面的交談。
- 可工作的軟件是進(jìn)度的首要度量標(biāo)準(zhǔn)。
- 敏捷過程倡導(dǎo)可持續(xù)開發(fā)。責(zé)任人、開發(fā)人員和用戶要能夠共同維持其步調(diào)穩(wěn)定延續(xù)。
- 堅持不懈地追求技術(shù)卓越和良好設(shè)計,敏捷能力由此增強(qiáng)。
- 以簡潔為本,它是極力減少不必要工作量的藝術(shù)。
- 最好的架構(gòu)、需求和設(shè)計出自自組織團(tuán)隊。
- 團(tuán)隊定期地反思如何能提高成效,并依此調(diào)整自身的行為表現(xiàn)。
三、敏捷項目管理框架(方法)
雖然敏捷項目管理的本質(zhì)是理念,看起來很玄乎。但是敏捷先驅(qū)們基于這種里面已經(jīng)開發(fā)出了非常多的看得見摸得著的敏捷管理框架,日常項目管理工作中常見管理框架有以下幾種:
SCRUM
SCRUM是一種迭代的增量化過程,用于產(chǎn)品開發(fā)或工作管理。它是一種可以集合各種開發(fā)實踐的經(jīng)驗化過程框架。SCRUM中發(fā)布產(chǎn)品的重要性高于一切。
Kanban(看板管理)
看板管理在工業(yè)企業(yè)的工序管理中,以卡片為憑證,定時定點交貨的管理制度。
XP(極限編程)
極限編程注重的核心是溝通、簡明、反饋和勇氣。因為知道計劃永遠(yuǎn)趕不上變化,XP無需開發(fā)人員在軟件開始初期做 出很多的文檔。XP提倡測試先行,為了將以后出現(xiàn)bug的幾率降到最低。
Lean Startup(精益創(chuàng)業(yè))
精益創(chuàng)業(yè)的核心理念可以追溯到軟件行業(yè)的敏捷開發(fā)管理。例如“最小可用品”與“原型建模”非常相似,都追求快速的版本迭代,以及時刻保持與客戶的接觸并獲得反饋等等,精益創(chuàng)業(yè)可以理解為敏捷開發(fā)模式的一種延續(xù)。
Iterative Development(迭代式開發(fā))
迭代式開發(fā)也被稱作迭代增量式開發(fā)或迭代進(jìn)化式開發(fā),是一種與傳統(tǒng)的瀑布式開發(fā)相反的軟件開發(fā)過程,它彌補(bǔ)了傳統(tǒng)開發(fā)方式中的一些弱點,具有更高的成功率和生產(chǎn)率。
FDD (Feature-Driven Development,特性驅(qū)動開發(fā))
特性驅(qū)動開發(fā)是一個模型驅(qū)動的快速迭代開發(fā)過程,它強(qiáng)調(diào)的是簡化、實用、 易于被開發(fā)團(tuán)隊接受,適用于需求經(jīng)常變動的項目。
當(dāng)然,也有很多不是很常見的敏捷框架,如Crystal Methods(水晶方法族)、ASD(Adaptive Software Development,自適應(yīng)軟件開發(fā))、DSDM(動態(tài)系統(tǒng)開發(fā)方法)、輕量型RUP等,這里不展開描述。
四、敏捷項目管理常見實踐
2020敏捷年度狀態(tài)報告中統(tǒng)計,Scrum仍然是運(yùn)用最廣泛的敏捷方法(框架),Scrum和Scrum結(jié)合其它方法混合使用占比超過75%。所以當(dāng)你不知如何選用敏捷項目管理框架時,可以考慮Scrum結(jié)合其他方法混合使用。畢竟有時候追隨別人是最快的捷徑。
(2020敏捷年度狀態(tài)報告:最受歡迎的敏捷方法)
既然Scrum這么受歡迎,在這里總結(jié)一下Scrum的要點(以下信息來自:Scrum中文網(wǎng)):
(Srcum工作流程)
1、SCRUM理論基礎(chǔ)
Scrum以經(jīng)驗性過程控制理論(經(jīng)驗主義)做為理論基礎(chǔ)的過程。經(jīng)驗主義主張知識源于經(jīng)驗, 以及基于已知的東西做決定。Scrum 采用迭代、增量的方法來優(yōu)化可預(yù)見性并控制風(fēng)險。
Scrum 的三大支柱支撐起每個經(jīng)驗性過程控制的實現(xiàn):透明性、檢驗和適應(yīng)。Scrum的三大支柱如下:
第一:透明性(Transparency)
透明度是指,在軟件開發(fā)過程的各個環(huán)節(jié)保持高度的可見性,影響交付成果的各個方面對于參與交付的所有人、管理生產(chǎn)結(jié)果的人保持透明。管理生產(chǎn)成果的人不僅要能夠看到過程的這些方面,而且必須理解他們看到的內(nèi)容。也就是說,當(dāng)某個人在檢驗一個過程,并確信某一個任務(wù)已經(jīng)完成時,這個完成必須等同于他們對完成的定義。
第二:檢驗(Inspection)
開發(fā)過程中的各方面必須做到足夠頻繁地檢驗,確保能夠及時發(fā)現(xiàn)過程中的重大偏差。在確定檢驗頻率時,需要考慮到檢驗會引起所有過程發(fā)生變化。當(dāng)規(guī)定的檢驗頻率超出了過程檢驗所能容許的程度,那么就會出現(xiàn)問題。幸運(yùn)的是,軟件開發(fā)并不會出現(xiàn)這種情況。另一個因素就是檢驗工作成果人員的技能水平和積極性。
第三:適應(yīng)(Adaptation)
如果檢驗人員檢驗的時候發(fā)現(xiàn)過程中的一個或多個方面不滿足驗收標(biāo)準(zhǔn),并且最終產(chǎn)品是不合格的,那么便需要對過程或是材料進(jìn)行調(diào)整。調(diào)整工作必須盡快實施,以減少進(jìn)一步的偏差。
Scrum中通過三個活動進(jìn)行檢驗和適應(yīng):每日例會檢驗Sprint目標(biāo)的進(jìn)展,做出調(diào)整,從而優(yōu)化次日的工作價值;Sprint評審和計劃會議檢驗發(fā)布目標(biāo)的進(jìn)展,做出調(diào)整,從而優(yōu)化下一個Sprint的工作價值;Sprint回顧會議是用來回顧已經(jīng)完成的Sprint,并且確定做出什么樣的改善可以使接下來的Sprint更加高效、更加令人滿意,并且工作更快樂。
2、SCRUM框架
Scrum框架包括3個角色、3個工件、5個事件、5個價值:
3個角色
- 產(chǎn)品負(fù)責(zé)人(Product Owner):
- Scrum Master
- 開發(fā)團(tuán)隊
3個工件
- 產(chǎn)品Backlog(Product Backlog)
- SprintBacklog
- 產(chǎn)品增量(Increment)
5個事件
- Sprint(Sprint本身是一個事件,包括了如下4個事件)
- Sprint計劃會議(Sprint Planning Meeting)
- 每日站會(Daily Scrum Meeting)
- Sprint評審會議(Sprint Review Meeting)
- Sprint回顧會議(Sprint Retrospective Meeting)
5個價值
- 承諾 – 愿意對目標(biāo)做出承諾
- 專注 – 把你的心思和能力都用到你承諾的工作上去
- 開放 – Scrum 把項目中的一切開放給每個人看
- 尊重 – 每個人都有他獨(dú)特的背景和經(jīng)驗
- 勇氣 – 有勇氣做出承諾,履行承諾,接受別人的尊重
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。