敏捷開發之Scrum掃盲篇

2021-09-23 14:25:46 字數 3737 閱讀 8600

根據自己的理解,用自己的話來講述scrum中的各個環節,主要目的有兩個,乙個是進行知識的總結,另外乙個是覺得網上很多學習資料的講述方式讓初學者不太容易理解;所以我決定寫一篇掃盲性的博文,同時試著也與園內的朋友一起分享交流一下,希望對初學者有幫助。

敏捷開發(agile development)是一種以人為核心、迭代、循序漸進的開發方法。

敏捷它是一種指導思想或開發方式,但是它沒有明確告訴我們到底採用什麼樣的流程進行開發,而scrum和xp就是敏捷開發的具體方式了,你可以採用scrum方式也可以採用xp方式;scrum和xp的區別是,scrum偏重於過程,xp則偏重於實踐,但是實際中,兩者是結合一起應用的,這裡我主要講scrum。

產品負責人(product owner)

主要負責確定產品的功能和達到要求的標準,指定軟體的發布日期和交付的內容,同時有權力接受或拒絕開發團隊的工作成果。

流程管理員(scrum master)

主要負責整個scrum流程在專案中的順利實施和進行,以及清除擋在客戶和開發工作之間的溝通障礙,使得客戶可以直接驅動開發。

開發團隊(scrum team)

主要負責軟體產品在scrum規定流程下進行開發工作,人數控制在5~10人左右,每個成員可能負責不同的技術方面,但要求每成員必須要有很強的自我管理能力,同時具有一定的表達能力;成員可以採用任何工作方式,只要能達到sprint的目標。

有關scrum的幾個名詞

product backlog: 可以預知的乙個階段的產品任務, 包括功能性的和非功能性的所有任務。(按優先順序排列的乙個產品需求列表),這個是由product owner 負責的

sprint:一次跌代開發的時間週期,一般最多以30天為乙個週期.在這段時間內,開發團隊需要完成乙個制定的backlog,並且最終成果是乙個增量的,可以交付的產品。

scrum team根據product backlog列表,做工作量的預估和安排構建這個團隊;

sprint planning meeting :(sprint計畫會議) 來從整個階段任務列表中挑選出(按時間順序)乙個story作為本次迭代完成的目標,這個目標的時間週期是1~4個星期,然後把這個story進行細化,形成乙個sprint backlog;

sprint backlog:乙個sprint週期內所需要完成的任務。由scrum team去完成的,每個成員根據sprint backlog再細化成更小的任務(細到每個任務的工作量在2天內能完成);

scrummaster: 負責監督整個scrum程序,修訂計畫的乙個團隊成員。

time-box: 乙個用於開會時間段。比如每個daily scrum meeting的time-box為15分鐘。

sprint planning meeting: 在啟動每個sprint前召開。一般為一天時間(8小時)。該會議需要制定的任務是:產品owner和團隊成員將backlog分解成小的功能模組, 決定在即將進行的sprint裡需要完成多少小功能模組,確定好這個product backlog的任務優先順序。另外,該會議還需詳細地討論如何能夠按照需求完成這些小功能模組。制定的這些模組的工作量以小時計算。

daily scrum meeting:daily scrum meeting(每日站立會議),每次會議控制在15分鐘左右,每個人都必須發言,需要向scrummaster匯報三個專案:今天完成了什麼? 是否遇到了障礙? 即將要做什麼?通過該會議,團隊成員可以相互了解專案進度和方向。同時遇到不能解決的問題也可以提出,每個人回答完成後,要走到黑板前更新自己的 sprint burn down(sprint燃盡圖。

sprint review meeting:演示會議,也稱為評審會議,產品負責人和客戶都要參加(最好本公司老闆也參加),每乙個scrum team的成員都要向他們演示自己完成的軟體產品(這個會議非常重要,一定不能取消);

sprint retrospective meeting:回顧會議/總結會議,以輪流發言方式進行,對剛結束的sprint進行總結。會議的參與人員為團隊開發的內部人員。一般該會議為3小時。

1、由product owner確定乙個product backlog(按優先順序排列的乙個產品需求列表);

2、根據product backlog列表,做工作量的預估和安排;

3、通過 sprint planning meeting(sprint計畫會議) 來從product backlog列表中挑選出乙個story作為本期迭代完成的目標,這個目標的時間週期是1~4個星期,然後把這個story進行細化,形成乙個sprint backlog;

4、sprint backlog是由scrum team去完成的,每個成員根據sprint backlog再細化成更小的任務(細到每個任務的工作量在2天內能完成);

5、每日進行 daily scrum meeting/daily stand-up meeting(一般每日早上站立會議)講解當前sprint backlog中的任務狀態,每次會議控制在15分鐘左右,每個人都必須發言,並且要向所有成員當面匯報你昨天完成了什麼,並且向所有成員承諾你今天要完成什麼,同時遇到不能解決的問題也可以提出,每個人回答完成後,要走到黑板前更新自己已經完成的任務-sprint burn down(sprint燃盡圖);

6、每日整合(一般為測試前一天的完成任務,自動化測試會是當晚完成當天的任務測試),也就是每天都要有乙個可以成功編譯、並且可以演示的版本;很多人可能還沒有用過自動化(ci/cd)的每日整合,在伺服器上自動獲取最新版本,然後在伺服器中編譯,如果通過則馬上再執行單元測試**,如果也全部通過,則將該版本發布,中間有任何失敗,都會用郵件通知專案管理人員;

7、當乙個story完成,也就是sprint backlog被完成,也就表示一次sprint完成,這時,我們要進行 srpint review meeting(演示會議),也稱為評審會議,產品負責人和客戶都要參加(最好本公司老闆也參加),每乙個scrum team的成員都要向他們演示自己完成的軟體產品(這個會議非常重要,一定不能取消);

8、最後就是 sprint retrospective meeting(回顧會議),也稱為總結會議,以輪流發言方式進行,每個人都要發言,總結並討論改進的地方,放入下一輪sprint的產品需求中;

上圖就是每日的站立會議了,參會人員可以隨意姿勢站立,任務看板要保證讓每個人看到,當每個人發言完後,要走到任務版前更新自己的燃盡圖。

任務看版包含 未完成、正在做、已完成 的工作狀態,假設你今天把乙個未完成的工作已經完成,那麼你要把小卡片從未完成區域貼到已完成區域。

每個人的工作進度和完成情況都是公開的,如果有乙個人的工作任務在某乙個位置放了好幾天,大家都能發現他的工作進度出現了什麼問題(成員人數最好是5~7個,這樣每人可以使用一種專用顏色的標籤紙,一眼就可以從任務版看出誰的工作進度快,誰的工作進度慢)

推薦乙個企業級敏捷開發工具——coding: ,操作介面簡潔,支援一站式 devops 全流程服務,包括**及需求管理,缺陷管理,測試管理,持續整合,自動部署,基於 git 的版本控制保障了公司**資產安全。不僅滿足管理者的企業檢視,更加快了開發者的研發速度,支援遠端協作,提高開發效率。

期間我們有用過這個產品,頁面直接拖拉還是非常方便的

原文出自:

敏捷開發之Scrum掃盲篇

現在敏捷開發是越來越火了,人人都在談敏捷,人人都在學習scrum和xp.為了不落後他人,於是我也開始學習scrum,今天主要是對我最近閱讀的相關資料,根據自己的理解,用自己的話來講述scrum中的各個環節,主要目的有兩個,乙個是進行知識的總結,另外乙個是覺得網上很多學習資料的講述方式讓初學者不太容易...

敏捷開發之Scrum掃盲篇

敏捷開發有如下特徵 1.工作在小的團隊中 2.團隊是跨功能的 包括測試人員,開發人員,文件開發人員等等 3.短迭代 利用短迭代方法來交付軟體 4.相較於文件,敏捷開發更注重面對面的交流 5.敏捷不是乙個過程,而是乙個軟體開發的形式或者方法 6.敏捷可以與軟體過程如cmmi等一起實施 現在敏捷開發是越...

敏捷開發之Scrum掃盲篇

敏捷開發之scrum掃盲篇 現在敏捷開發是越來越火了,人人都在談敏捷,人人都在學習scrum和xp.為了不落後他人,於是我也開始學習scrum,今天主要是對我最近閱讀的相關資料,根據自己的理解,用自己的話來講述scrum中的各個環節,主要目的有兩個,乙個是進行知識的總結,另外乙個是覺得網上很多學習資...