Scrum敏捷項目管理

????????在理解敏捷項目管理之前,我們先看一下它與傳統(tǒng)項目管理之間有什么聯(lián)系和差異。

????????傳統(tǒng)項目管理模式:一般指瀑布模式。它必須完成上一階段工作并通過檢驗才能啟動下一階段工作,將整個項目過程劃分為五大過程組。

????????要求在項目建設(shè)時,需求足夠明確、文檔足夠規(guī)范,迭代過程中需求變更越多、越晚,對項目影響越大,會影響到項目的交付質(zhì)量。


????????敏捷項目管理模式,一般包含迭代和增量。它將整個項目過程拆分為若干個迭代,每個迭代完成一部分用戶可感知的完整功能。一般情況下,每個迭代內(nèi)的項目過程均遵循五大過程

敏捷項目管理模式

????????敏捷項目管理到底是什么?

????????我從定義、本質(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ā)十二原則:

? ? ? ? 1.我們最重要的目標(biāo),是通過及早和持續(xù)不斷地交付有價值的軟件使客戶滿意。

? ? ? ? 2.欣然面對需求變化,即使在開發(fā)后期也一樣。為了客戶的競爭優(yōu)勢,敏捷過程掌控變化。

? ? ? ? 3.經(jīng)常地交付可工作的軟件,相隔幾星期或一兩個月,傾向于采取較短的周期。

? ? ? ? 4.業(yè)務(wù)人員和開發(fā)人員必須相互合作,項目中的每一天都不例外。

? ? ? ? 5.激發(fā)個體的斗志,以他們?yōu)楹诵拇罱椖?。提供所需的環(huán)境和支援,輔以信任,從而達(dá)成目標(biāo)。

? ? ? ? 6.不論團(tuán)隊內(nèi)外,傳遞信息效果最好效率也最高的方式是面對面的交談。

? ? ? ? 7.可工作的軟件是進(jìn)度的首要度量標(biāo)準(zhǔn)。

? ? ? ? 8.敏捷過程倡導(dǎo)可持續(xù)開發(fā)。責(zé)任人、開發(fā)人員和用戶要能夠共同維持其步調(diào)穩(wěn)定延續(xù)。

? ? ? ? 9.堅持不懈地追求技術(shù)卓越和良好設(shè)計,敏捷能力由此增強(qiáng)。

? ? ? ? 10.以簡潔為本,它是極力減少不必要工作量的藝術(shù)。

? ? ? ? 11.最好的架構(gòu)、需求和設(shè)計出自自組織團(tuán)隊。

? ? ? ? 12.團(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ā)管理。例如“最小可用品”與“原型建?!狈浅O嗨疲甲非罂焖俚陌姹镜?,以及時刻保持與客戶的接觸并獲得反饋等等,精益創(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é)合其他方法混合使用。畢竟有時候追隨別人是最快的捷徑。


????????既然Scrum這么受歡迎,在這里總結(jié)一下Scrum的要點(以下信息來自:Scrum中文網(wǎng)):


????????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)隊(the development team)

????????3個工件

????????產(chǎn)品Backlog(Product Backlog)

? ? ? ? 沖刺任務(wù)(Sprint Backlog)

????????產(chǎn)品增量(Increment)

????????什么是產(chǎn)品Backlog? 什么是Sprint Backlog?

????????產(chǎn)品Backlog 指根據(jù)初始需求分解出的任務(wù)列表,包括功能性的和非功能性的所有功能,由Product Owner 為Product Backlog 中的任務(wù)確定優(yōu)先級別,當(dāng)開發(fā)團(tuán)隊開始某個任務(wù)的時候,再精確定義和分解這個任務(wù)。

????????產(chǎn)品Backlog 是產(chǎn)品所要具備的所有功能的總綱。當(dāng)一個項目剛剛開始時,沒人能夠事先預(yù)見到所有的任務(wù)和需求,并為之制定一個充分、詳細(xì)而又包羅萬象的計劃。可行的方式是,先為一個項目寫下所有它應(yīng)該具備的顯著特征和功能,數(shù)量不必很多,最好夠讓團(tuán)隊的第1 個Sprint 有活可干。

????????隨著Sprint 的進(jìn)行,生產(chǎn)出可發(fā)布的產(chǎn)品增量,客戶對產(chǎn)品的直觀認(rèn)識也會隨之深,他們可以據(jù)此建議更改或者添加產(chǎn)品Backlog 中的任務(wù)。在Sprint 計劃會議上,產(chǎn)品負(fù)責(zé)人為產(chǎn)品Backlog 中的任務(wù)確定優(yōu)先級,并向Scrum團(tuán)隊描述這些任務(wù)。Scrum 團(tuán)隊隨后根據(jù)團(tuán)隊整體情況,確定他們能在這個即將到來的Sprint 中要完成哪些功能,并把它們挪到Sprint Backlog 中去。

????????5個事件

????????Sprint(Sprint本身是一個事件,包括了如下4個事件)

????????Sprint計劃會議(Sprint Planning Meeting)

????????每日站會(Daily Scrum Meeting)

????????Sprint評審會議(Sprint Review Meeting)

????????Sprint回顧會議(Sprint Retrospective Meeting)

????????5個價值

????????承諾 – 愿意對目標(biāo)做出承諾

????????專注 – 把你的心思和能力都用到你承諾的工作上去

????????開放 – Scrum 把項目中的一切開放給每個人看

????????尊重 – 每個人都有他獨特的背景和經(jīng)驗

????????勇氣 – 有勇氣做出承諾,履行承諾,接受別人的尊重

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容