什么是SCRUM敏捷开发
Scrum 是用于開(kāi)發(fā)、交付和持續(xù)支持復(fù)雜產(chǎn)品的一個(gè)框架,是一個(gè)增量的、迭代的開(kāi)發(fā)過(guò)程。在這個(gè)框架中,整個(gè)開(kāi)發(fā)過(guò)程由若干個(gè)短的迭代周期組成,一個(gè)短的迭代周期稱為一個(gè)Sprint,每個(gè)Sprint的建議長(zhǎng)度是一至四周。在Scrum中,使用產(chǎn)品Backlog來(lái)管理產(chǎn)品的需求,產(chǎn)品backlog是一個(gè)按照商業(yè)價(jià)值排序的需求列表,列表?xiàng)l目的體現(xiàn)形式通常為用戶故事。Scrum團(tuán)隊(duì)總是先開(kāi)發(fā)對(duì)客戶具有較高價(jià)值的需求。在Sprint中,Scrum團(tuán)隊(duì)從產(chǎn)品Backlog中挑選最高優(yōu)先級(jí)的需求進(jìn)行開(kāi)發(fā)。挑選的需求在Sprint計(jì)劃會(huì)議上經(jīng)過(guò)討論、分析和估算得到相應(yīng)的任務(wù)列表,我們稱它為Sprint backlog。在每個(gè)迭代結(jié)束時(shí),Scrum團(tuán)隊(duì)將遞交潛在可交付的產(chǎn)品增量。 Scrum起源于軟件開(kāi)發(fā)項(xiàng)目,但它適用于任何復(fù)雜的或是創(chuàng)新性的項(xiàng)目。Scrum 目前已被用于開(kāi)發(fā)軟件、硬件、嵌入式軟件、交互功能網(wǎng)絡(luò)、自動(dòng)駕駛、學(xué)校、政府、市場(chǎng)、管理組織運(yùn)營(yíng),以及幾乎我們(作為個(gè)體和群體)日常生活中所使用的一切。
Scrum流程如下圖:
?
Scrum的歷史
- 1986年,竹內(nèi)弘高和野中郁次郎闡述了一種新的整體性的方法 ,該方法能夠提高商業(yè)新產(chǎn)品開(kāi)發(fā)的速度和靈活性:
- 他們將這種新的整體性方法與橄欖球相比較,前者各階段相互重疊,并且由一個(gè)跨職能團(tuán)隊(duì)在不同的階段完成整個(gè)過(guò)程,而團(tuán)隊(duì)“作為一個(gè)整體前進(jìn),把球傳來(lái)傳去”。
- 他們對(duì)來(lái)自汽車(chē),照片機(jī)器,計(jì)算機(jī)和打印機(jī)等產(chǎn)業(yè)的案例進(jìn)行了研究。
- 1991年,DeGrace和Stahl在《Wicked Problems, Righteous Solutions》一書(shū)中將這種方法稱為scrum,在竹內(nèi)弘高和野中郁次郎的文章中提到的橄欖球術(shù)語(yǔ)。
- 1990年代初,Ken Schwaber在其公司使用了一種方法Advanced Development Methods(先進(jìn)開(kāi)發(fā)方法),這種方法后來(lái)發(fā)展為Scrum。
- 1993,Jeff Sutherland?在Easel公司開(kāi)發(fā)了一種類(lèi)似的方法,并首次稱之為Scrum。
- 1995年,在奧斯汀舉辦的OOPSLA ’95上,Jeff Sutherland?和Ken Schwaber聯(lián)合發(fā)表了論文首次提出了Scrum概念。Ken Schwaber和Jeff Sutherland?在接下的幾年里合作,將上述的文章,他們的經(jīng)驗(yàn),以及業(yè)界的最佳實(shí)踐融合起來(lái),形成我們現(xiàn)在所知的Scrum。
- 2001年,Ken Schwaber與Mike Beedle合著了《敏捷軟件開(kāi)發(fā)-使用Scrum過(guò)程》一書(shū),介紹了Scrum方法。
- 2001年,Jeff Sutherland和Ken Schwaber參與了猶他州的17人聚會(huì),參與發(fā)布了《敏捷宣言和十二原則》。
- 2002年,Ken Schwaber和Mike Cohn創(chuàng)辦了Scrum Alliance。
?
?
SCRUM框架
Scrum框架包括3個(gè)角色、3個(gè)工件、5個(gè)事件、5個(gè)價(jià)值:
3個(gè)角色
3個(gè)工件
5個(gè)事件
5個(gè)價(jià)值
?
?
?
SCRUM理論基礎(chǔ)
Scrum以經(jīng)驗(yàn)性過(guò)程控制理論(經(jīng)驗(yàn)主義)做為理論基礎(chǔ)的過(guò)程。經(jīng)驗(yàn)主義主張知識(shí)源于經(jīng)驗(yàn), 以及基于已知的東西做決定。Scrum 采用迭代、增量的方法來(lái)優(yōu)化可預(yù)見(jiàn)性并控制風(fēng)險(xiǎn)。
Scrum 的三大支柱支撐起每個(gè)經(jīng)驗(yàn)性過(guò)程控制的實(shí)現(xiàn):透明性、檢驗(yàn)和適應(yīng)。Scrum的三大支柱如下:
第一:透明性(Transparency)
透明度是指,在軟件開(kāi)發(fā)過(guò)程的各個(gè)環(huán)節(jié)保持高度的可見(jiàn)性,影響交付成果的各個(gè)方面對(duì)于參與交付的所有人、管理生產(chǎn)結(jié)果的人保持透明。管理生產(chǎn)成果的人不僅要能夠看到過(guò)程的這些方面,而且必須理解他們看到的內(nèi)容。也就是說(shuō),當(dāng)某個(gè)人在檢驗(yàn)一個(gè)過(guò)程,并確信某一個(gè)任務(wù)已經(jīng)完成時(shí),這個(gè)完成必須等同于他們對(duì)完成的定義。
第二:檢驗(yàn)(Inspection)
開(kāi)發(fā)過(guò)程中的各方面必須做到足夠頻繁地檢驗(yàn),確保能夠及時(shí)發(fā)現(xiàn)過(guò)程中的重大偏差。在確定檢驗(yàn)頻率時(shí),需要考慮到檢驗(yàn)會(huì)引起所有過(guò)程發(fā)生變化。當(dāng)規(guī)定的檢驗(yàn)頻率超出了過(guò)程檢驗(yàn)所能容許的程度,那么就會(huì)出現(xiàn)問(wèn)題。幸運(yùn)的是,軟件開(kāi)發(fā)并不會(huì)出現(xiàn)這種情況。另一個(gè)因素就是檢驗(yàn)工作成果人員的技能水平和積極性。
第三:適應(yīng)(Adaptation)
如果檢驗(yàn)人員檢驗(yàn)的時(shí)候發(fā)現(xiàn)過(guò)程中的一個(gè)或多個(gè)方面不滿足驗(yàn)收標(biāo)準(zhǔn),并且最終產(chǎn)品是不合格的,那么便需要對(duì)過(guò)程或是材料進(jìn)行調(diào)整。調(diào)整工作必須盡快實(shí)施,以減少進(jìn)一步的偏差。
Scrum中通過(guò)三個(gè)活動(dòng)進(jìn)行檢驗(yàn)和適應(yīng):每日例會(huì)檢驗(yàn)Sprint目標(biāo)的進(jìn)展,做出調(diào)整,從而優(yōu)化次日的工作價(jià)值;Sprint評(píng)審和計(jì)劃會(huì)議檢驗(yàn)發(fā)布目標(biāo)的進(jìn)展,做出調(diào)整,從而優(yōu)化下一個(gè)Sprint的工作價(jià)值;Sprint回顧會(huì)議是用來(lái)回顧已經(jīng)完成的Sprint,并且確定做出什么樣的改善可以使接下來(lái)的Sprint更加高效、更加令人滿意,并且工作更快樂(lè)。
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的什么是SCRUM敏捷开发的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SCRUM敏捷开发官方权威指南
- 下一篇: 你真的了解Scrum吗?