Scrum
? ? ? 我們都知道敏捷這個(gè)詞意味著快和變,行動(dòng)要快,要適應(yīng)經(jīng)常發(fā)生的變化。
? ? ? Scrum是一種用于開發(fā)創(chuàng)新產(chǎn)品和服務(wù)的敏捷方式,是一種靈活的敏捷軟件開發(fā)管理過程 。
? ? ? 在軟件開發(fā)過程中,團(tuán)隊(duì)有明確的目標(biāo),團(tuán)隊(duì)高度自治,隊(duì)員們熟悉開發(fā)過程中涉及到的各種技術(shù),緊密合作,確保每個(gè)迭代都朝著目標(biāo)推進(jìn)。而且每隔一個(gè)迭代,每個(gè)人都能看到能實(shí)際工作的成果,并且據(jù)此決定是發(fā)布這個(gè)版本還是繼續(xù)開發(fā)以加強(qiáng)它的功能。而且,還可以毫不留情地暴露組織功能失調(diào)和浪費(fèi)的地方,及時(shí)修正,降低成本。
? ? ? 這個(gè)好處是可以預(yù)期的。
Scrum框架
? ? ? ?Scrum是一個(gè)用于組織和管理的工作框架。Scrum框架建立在一套價(jià)值觀、原則和實(shí)踐之上。在這個(gè)框架的基礎(chǔ)之上,各個(gè)組織可以添加相關(guān)工程實(shí)踐特有的實(shí)現(xiàn)方式以及在實(shí)現(xiàn)Scrum實(shí)踐時(shí)所采取的特定方法,這樣形成你們特有的Scrum。
? ? ? ? Scrum框架簡單,以人為中心,以誠實(shí)、開放、勇氣、尊重、專注、信任、授權(quán)、合作八大價(jià)值觀為基礎(chǔ)。
? ? ? ? 我所理解的Scrum的精華有兩點(diǎn),第一是快速迭代(短迭代),第二是自組織。快速迭代讓團(tuán)隊(duì)可以形成節(jié)奏感,并在每個(gè)迭代后有機(jī)會(huì)進(jìn)行回歸,并在下一個(gè)迭代中提高。自組織的目的是讓團(tuán)隊(duì)對目標(biāo)進(jìn)行自我承諾,激發(fā)團(tuán)隊(duì)最大的能量以達(dá)成目標(biāo)。但是Scrum必須伴隨一些關(guān)鍵的工程實(shí)踐,比如測試自動(dòng)化、重構(gòu)、持續(xù)集成。
? ? ? ? Scrum的實(shí)踐體現(xiàn)在具體角色、活動(dòng)、工件及相關(guān)的規(guī)則中。
scrum角色
Scrum 主要定義了三個(gè)角色:Scrum Master,Product Owner,Development Team 。
Scrum Master: 指導(dǎo)團(tuán)隊(duì)用正確的方式做正確的事,保證這個(gè)團(tuán)隊(duì)執(zhí)行 Scrum 的順暢。
Product Owner:確定正確的事,負(fù)責(zé)敲定開發(fā)什么、以什么順序開發(fā),是真正對產(chǎn)品負(fù)責(zé)的人。
Development Team 為最終產(chǎn)出的軟件付出的,負(fù)責(zé)確定如何交付產(chǎn)品負(fù)責(zé)人要求的產(chǎn)品。
Scrum活動(dòng)與工件
Scrum的開發(fā)流程
Step 1.產(chǎn)品列表
首先,我們需要有一個(gè)Vision ,就是我們所做的產(chǎn)品的愿景。然后Product Owner結(jié)合Scrum團(tuán)隊(duì)其他成員與利益干系人的意見,最終負(fù)責(zé)確定和管理工作順序,并建立維護(hù)Product Backlog,并且將Backlog 按照優(yōu)先級排好順序。PO是唯一有權(quán)利維護(hù)這個(gè)列表的人。
Step 2.沖刺
產(chǎn)品列表體現(xiàn)的可能是多周或多個(gè)月的計(jì)劃,是一個(gè)短期的沖刺無法完成的。為了確定下一個(gè)沖刺要構(gòu)建的PBI最重要的子集,產(chǎn)品負(fù)責(zé)人、開發(fā)團(tuán)隊(duì)和Scrum Master需要把它拆分成一個(gè)個(gè)的Sprint(在工作中不超過一個(gè)月的迭代或循環(huán)中進(jìn)行,這個(gè)迭代或循環(huán)稱為沖刺,每個(gè)沖刺完成的工作應(yīng)當(dāng)創(chuàng)建一些對客戶或用戶來說具有明確價(jià)值的東西)。然后將Product Backlog 里面的項(xiàng)目添加到Sprint 中去,成為Sprint Backlog。
Step 3. 每日例會(huì)
在Scrum run 起來之后,還有一件事情是每日例會(huì) 。每日例會(huì) 一般來說會(huì)控制在15分鐘之內(nèi),而且所有的成員必須要站著開會(huì)。在每日例會(huì)中,每個(gè)成員只需三件事情:我昨天做了什么,我今天要做什么,有什么是我搞不定的。
每日例會(huì)不是用來解決問題的。它主要是一個(gè)檢視、同步、適應(yīng)性制定每日計(jì)劃的活動(dòng),以幫助自組織團(tuán)隊(duì)更好的完成工作。
Step 4. 沖刺執(zhí)行與完成
在Scrum團(tuán)隊(duì)完成沖刺計(jì)劃并就下一個(gè)沖刺內(nèi)容達(dá)成一致意見后,開發(fā)團(tuán)隊(duì)就要在Scrum Master的指導(dǎo)下,執(zhí)行為了完成特性而所需的所有任務(wù)級的工作。
每個(gè)成員會(huì)根據(jù)任務(wù)、完成度,去及時(shí)更新任務(wù)的狀態(tài)。為了讓大家了解整個(gè)項(xiàng)目的進(jìn)度,Scrum會(huì)引入KANBAN(,讓大家明確項(xiàng)目進(jìn)度和任務(wù)完成情況)。
Step 5.沖刺評審
當(dāng)Sprint結(jié)束后,我們會(huì)產(chǎn)出一個(gè)產(chǎn)出物。我們需要通過Demo 在Scrum團(tuán)隊(duì)、利益干系人、發(fā)起人、客戶和其他團(tuán)隊(duì)中感興趣的成員面前,現(xiàn)場演示你做好的東西。使每個(gè)參與者都能清楚了解現(xiàn)狀,都有機(jī)會(huì)知道下一步開發(fā)工作,以確保產(chǎn)出最合適的解決方案。
Step 6.沖刺回顧
在Sprint Review 結(jié)束之后就是Retrospective meeting。我們整個(gè)團(tuán)隊(duì)的人都要坐下來聊一聊,我們的Sprint 做得好不好,有哪些地方需要修改。