[敏捷開發實踐](2) 用於開發和維持複雜產品的敏捷開發框架Scrum

[敏捷開發實踐](2) 用於開發和維持複雜產品的敏捷開發框架Scrumhtml

 

1,Scrum概述

      上篇中提到敏捷開發有兩種主流的方法,一個是XP,另外一個是Scrum,本篇簡要介紹Scrum方法。Scrum是一套開發和維護複雜產品的框架或說是管理方法。 框架

      咱們提到敏捷開發是一個增量的、迭代的開發過程。而在Scrum框架中,整個開發過程咱們分解爲若干個短的迭代週期,在Scrum中每個迭代週期,咱們稱爲一個Sprint(原義爲衝刺,Scrum中指一個迭代)。根據Scrum的建議通常爲4周(也能夠根據實際產品特色調整這個週期長度,並不影響使用Scrum進行敏捷開發,好比互聯網產品有些團隊每1周爲一個Sprint).優化

     Scrum中使用產品Backlog(待辦或儲備)來管理需求,產品的Backlog是按商業價值進行排序的需求列表,列表條目的體現形式一般稱爲用戶故事(名字頗有意思,就是與用戶有關的事)。spa

     Scrum團隊開發流程是先從Backlog中挑選優先級較高的需求進行開發,也就是說先把用戶最須要的部分開發出來。挑選的需求須要Sprint計劃會上通過討論、分析和估算獲得任務列表,稱爲Sprint backlog.翻譯

     每一個迭代結束時,Scrum團隊將遞交潛在的可交付產品增量。htm

     Scrum起源於軟件開發項目,但不只僅適用於軟件開發管理,它能夠用於任何複雜的或是創新性的項目或工程。blog

     (下圖是來自Scrum中文網的Scrum流程圖)排序

 

 2,Scrum框架的核心

SCRUM框架包括3個角色、3個工件、5個活動、5個價值 ci

(1)3個角色

  1. 產品負責人(Product Owner)
  2. Scrum Master
  3. Scrum團隊

(2)3個工件

  1. 產品Backlog(Product Backlog)
  2. SprintBacklog
  3. 產品增量(Increment)

(3)5個活動

  1. Sprint計劃會議(Sprint Planning Meeting)
  2. 每日站會(Daily Scrum Meeting)
  3. Sprint評審會議(Sprint Review Meeting)
  4. Sprint回顧會議(Sprint Retrospective Meeting)
  5. 產品Backlog梳理會議( Product Backlog Refinement)

(4)5個價值

  1. 承諾 – 願意對目標作出承諾
  2. 專一– 把你的心思和能力都用到你承諾的工做上去
  3. 開放– Scrum 把項目中的一切開放給每一個人看
  4. 尊重– 每一個人都有他獨特的背景和經驗
  5. 勇氣– 有勇氣作出承諾,履行承諾,接受別人的尊重

3,SCRUM理論基礎

Scrum以經驗性過程控制理論(經驗主義)作爲理論基礎的過程。經驗主義主張知識源於經驗, 以及基於已知的東西作決定。Scrum 採用迭代、增量的方法來優化可預見性並控制風險。開發

Scrum 的三大支柱支撐起每一個經驗性過程控制的實現:透明性、檢驗和適應。Scrum的三大支柱以下:

第一:透明性(Transparency)

透明度是指,在軟件開發過程的各個環節保持高度的可見性,影響交付成果的各個方面對於參與交付的全部人、管理生產結果的人保持透明。管理生產成果的人不只要可以看到過程的這些方面,並且必須理解他們看到的內容。也就是說,當某我的在檢驗一個過程,並確信某一個任務已經完成時,這個完成必須等同於他們對完成的定義。

第二:檢驗(Inspection)

開發過程當中的各方面必須作到足夠頻繁地檢驗,確保可以及時發現過程當中的重大誤差。在肯定檢驗頻率時,須要考慮到檢驗會引發全部過程發生變化。當規定的檢驗頻率超出了過程檢驗所能允許的程度,那麼就會出現問題。幸運的是,軟件開發並不會出現這種狀況。另外一個因素就是檢驗工做成果人員的技能水平和積極性。

第三:適應(Adaptation)

若是檢驗人員檢驗的時候發現過程當中的一個或多個方面不知足驗收標準,而且最終產品是不合格的,那麼便須要對過程或是材料進行調整。調整工做必須儘快實施,以減小進一步的誤差。

Scrum中經過三個活動進行檢驗和適應:每日例會檢驗Sprint目標的進展,作出調整,從而優化第二天的工做價值;Sprint評審和計劃會議檢驗發佈目標的進展,作出調整,從而優化下一個Sprint的工做價值;Sprint回顧會議是用來回顧已經完成的Sprint,而且肯定作出什麼樣的改善可使接下來的Sprint更加高效、更加使人滿意,而且工做更快樂。

4,Scrum術語 

Scrum: Scrum無對應中文翻譯 

Agile: 敏捷 

Lean: 精益 

Iterative:迭代式的 

Iteration:迭代 

Agile Manifesto: 敏捷宣言 

Empirical: 經驗性的 

Empirical Process:經驗性過程 

Transparency: 透明性 

Inspect and Adapt: 檢視與調整 

Sprint:原意爲衝刺,Scrum中的Sprint無對應中文翻譯,指一個迭代 

Sprint Goal:Sprint目標 

Product Owner :產品負責人 簡稱PO 

Scrum Master :簡稱SM, 通常不翻譯 

Development Team : Scrum開發團隊 

Scrum Team:指PO,SM和開發團隊 

Scrum Roles:Scrum角色,指PO,SM和開發團隊 

Emergent :涌現的 

Product Backlog:產品待辦列表,指需求清單 

Sprint Backlog:Sprint待辦列表,指Sprint任務清單 

Sprint Burn-down Chart:Sprint燃盡圖,團隊用於作Sprint內的進展跟蹤 

Release Burn-down Chart:  發佈燃盡圖,產品負責人作發佈進展跟蹤 

Sprint Planning Meeting: Sprint計劃會議 

Daily Scrum Meeting:每日站會 

Sprint Review Meeting:Sprint評審會議 

Sprint Retrospective Meeting: Sprint回顧會議 

Product Backlog Refinement: 產品待辦列表梳理 

Product Backlog Item: 產品待辦清單條目,簡稱PBI 

User Story: 用戶故事,指一條需求 

Story Point:衡量用戶故事的工做量大小的計量單位 

Velocity: 團隊速度 

Sprint Task: 實現一條需求須要作的一個技術任務 

Definition of Done: DoD,完成的定義 

Stakeholders: 干係人 

Backlog: 待辦列表 

Artifact :工件 

Estimation :估算 

Collaboration: 協做 

Scaling Scrum:大規模Scrum

5,總結

主要介紹了一個很是受歡迎的敏捷開發框架Scrum,它是一套開發和維護複雜產品的敏捷開發框架,是一個增量的、迭代的開發過程。Scrum的核心包括3個角色、3個工件、5個活動、5個價值。最後介紹了Scrum中經常使用的專業術語私釋義。

==============================================================================================

返回目錄

<若是對你有幫助,記得點一下推薦哦,若有有不明白或錯誤之處,請多交流>

<轉載聲明:技術須要共享精神,歡迎轉載本博客中的文章,但請註明版權及URL>

軟件管理及.NET 技術交流羣:467189533 

==============================================================================================

相關文章
相關標籤/搜索