什么是SCRUM敏捷开发
Scrum 是用于開發(fā)、交付和持續(xù)支持復(fù)雜產(chǎn)品的一個框架,是一個增量的、迭代的開發(fā)過程。在這個框架中,整個開發(fā)過程由若干個短的迭代周期組成,一個短的迭代周期稱為一個Sprint,每個Sprint的建議長度是一至四周。在Scrum中,使用產(chǎn)品Backlog來管理產(chǎn)品的需求,產(chǎn)品backlog是一個按照商業(yè)價值排序的需求列表,列表條目的體現(xiàn)形式通常為用戶故事。Scrum團(tuán)隊總是先開發(fā)對客戶具有較高價值的需求。在Sprint中,Scrum團(tuán)隊從產(chǎn)品Backlog中挑選最高優(yōu)先級的需求進(jìn)行開發(fā)。挑選的需求在Sprint計劃會議上經(jīng)過討論、分析和估算得到相應(yīng)的任務(wù)列表,我們稱它為Sprint backlog。在每個迭代結(jié)束時,Scrum團(tuán)隊將遞交潛在可交付的產(chǎn)品增量。 Scrum起源于軟件開發(fā)項目,但它適用于任何復(fù)雜的或是創(chuàng)新性的項目。Scrum 目前已被用于開發(fā)軟件、硬件、嵌入式軟件、交互功能網(wǎng)絡(luò)、自動駕駛、學(xué)校、政府、市場、管理組織運營,以及幾乎我們(作為個體和群體)日常生活中所使用的一切。
Scrum流程如下圖:
?
Scrum的歷史
- 1986年,竹內(nèi)弘高和野中郁次郎闡述了一種新的整體性的方法 ,該方法能夠提高商業(yè)新產(chǎn)品開發(fā)的速度和靈活性:
- 他們將這種新的整體性方法與橄欖球相比較,前者各階段相互重疊,并且由一個跨職能團(tuán)隊在不同的階段完成整個過程,而團(tuán)隊“作為一個整體前進(jìn),把球傳來傳去”。
- 他們對來自汽車,照片機(jī)器,計算機(jī)和打印機(jī)等產(chǎn)業(yè)的案例進(jìn)行了研究。
- 1991年,DeGrace和Stahl在《Wicked Problems, Righteous Solutions》一書中將這種方法稱為scrum,在竹內(nèi)弘高和野中郁次郎的文章中提到的橄欖球術(shù)語。
- 1990年代初,Ken Schwaber在其公司使用了一種方法Advanced Development Methods(先進(jìn)開發(fā)方法),這種方法后來發(fā)展為Scrum。
- 1993,Jeff Sutherland?在Easel公司開發(fā)了一種類似的方法,并首次稱之為Scrum。
- 1995年,在奧斯汀舉辦的OOPSLA ’95上,Jeff Sutherland?和Ken Schwaber聯(lián)合發(fā)表了論文首次提出了Scrum概念。Ken Schwaber和Jeff Sutherland?在接下的幾年里合作,將上述的文章,他們的經(jīng)驗,以及業(yè)界的最佳實踐融合起來,形成我們現(xiàn)在所知的Scrum。
- 2001年,Ken Schwaber與Mike Beedle合著了《敏捷軟件開發(fā)-使用Scrum過程》一書,介紹了Scrum方法。
- 2001年,Jeff Sutherland和Ken Schwaber參與了猶他州的17人聚會,參與發(fā)布了《敏捷宣言和十二原則》。
- 2002年,Ken Schwaber和Mike Cohn創(chuàng)辦了Scrum Alliance。
?
?
SCRUM框架
Scrum框架包括3個角色、3個工件、5個事件、5個價值:
3個角色
3個工件
5個事件
5個價值
?
?
?
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)問題。幸運的是,軟件開發(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更加高效、更加令人滿意,并且工作更快樂。
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的什么是SCRUM敏捷开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SCRUM敏捷开发官方权威指南
- 下一篇: 你真的了解Scrum吗?