1. 程式人生 > >敏捷開發之Scrum框架入門

敏捷開發之Scrum框架入門

 最近實習的公司採用的是敏捷開發Scrum模式,在經歷敏捷開發培訓後,寫寫一些自己學到的東西。

一、什麼是敏捷開發

敏捷開發是針對傳統的瀑布開發模式的弊端而產生的一種新的開發模式,目標是提高開發效率和響應能力。
除了原則和實踐,模式也是很重要的,多研究模式及其應用可以使你更深層次的理解敏捷開發。
敏捷開發現已成為絕大多數IT企業採用的專案管理方法。
下圖為美國IT企業主要採用的專案管理方法學2015年調查報告。

這裡寫圖片描述

敏捷開發以使用者的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發。
敏捷精神(The spirit of agile):**透明、溝通、協作**

二、什麼是Scrum

  • Scrum 是一個框架,在這個框架中人們可以解決複雜的自適應問題,同時也能 高效並有創造性地交付儘可能高價值的產品。
  • Scrum 是:輕量級的、容易理解的 、難以精通的
  • Scrum 不是開發產品的一種流程或一項技術,而是一個框架,在這個框架裡可以應用各種流程和技術。 Scrum
    能使產品管理和開發實踐的相對功效(relative efficacy) 顯現出來, 以便進行改進。
  • Scrum 框架由 Scrum 團隊及其相關的角色、事件、工件和規則組成。框架中的每個模組都有其特定的目的, 對Scrum
    的成功實施和運用都至關重要。
  • Scrum 基於經驗型流程控制理論, 或者稱為經驗主義。經驗主義主張知識源於經驗, 而決策基於已知的事物。Scrum
    採用迭代增量式的方法來優化可預測性和管理風險。
  • 透明性、檢視、調整是經驗型流程的三大支柱,支撐起每個經驗型控制流程的實施。

三、Scrum組成人員

這裡寫圖片描述
Product Owner –產品負責人(PO/PM)
職責

  • ROI-產品負責人最大的職責是為產品的投入產出比(ROI)負責,即最大化團隊的投入產出比。在Scrum當中,由於Sprint是時間盒(即時間是固定的),且成本(軟體開發中人力成本是最大的成本,其他忽略不計)也是固定的,那麼最大化投入產出比就是如何做出最有價值的產品增量。
  • 建立產品願景(Vision)
  • 建立與維護產品 (Mange Prod/Sprint Backlog)
  • 主持產品Backlog優化會(增加、刪除、修改或細化使用者故事,並根據需要進行排序)(Mange Prod/Sprint Backlog)
  • 協調幹系人與開發團隊之間的溝通 (Communicate)
  • 參加團隊的Scrum會議
  • 在Sprint計劃會上和團隊一起決定當前Sprint的開發內容
  • 接受或拒絕團隊的產品增量 (PO Review-Decisive)
  • 決定何時釋出 – 需要團隊的承諾 (Decisive)
  • 有空解答團隊問題 (Available)

Scrum Master
職責

  • Scrum權威(Role model of scrum value)
    ScrumMaster是團隊中最熟悉和了解Scrum框架的,並可以根據實際情況對團隊進行指導。
  • 輔導團隊和產品負責人(Coach/Facilitation)
    如果產品負責人或團隊不知道該怎麼辦,ScrumMaster需要提供相應的輔導、培訓或支援。
  • 保護團隊 (Project Team)
    在一個Sprint中,ScrumMaster要保護團隊不受打擾,可以專注於Sprint目標和承諾。
  • 移除障礙 (Remove Impediment)
    ScrumMaster要善於發現障礙,並可以幫助團隊移除障礙,包含但不限於個人障礙,團隊障礙以及組織級的障礙。
  • 變革大師 (Agent of change)
    ScrumMaster不僅要在團隊內實行Scrum,還要能夠影響並促進組織或整個公司內的變革。
  • No Authority /Servant Leader

Dev Team-開發團隊
開發團隊在Sprint中主要負責以下工作:

  • 每日檢視與調整 – 每天開發團隊成員都需要參與每日例會。在會上大家一起檢視和調整團隊的進展。

  • 產品列表梳理 –
    每個Sprint中團隊都要花一些時間來為下一個迭代做準備工作(即產品列表梳理活動),包括產品列表條目的建立、細化、估算、排序等工作。每個Sprint最多分配10%的時間來協助產品負責人完成這些工作。

  • Sprint計劃會 – 在Sprint計劃會團隊一起決定Sprint內要完成哪些故事,並進行任務分解和估算。檢視和調整產品與過程 –
    即參加Sprint評審會(檢視調整產品)和Sprint回顧會(檢視調整過程)。

四、Scrum流程

這裡寫圖片描述

Artifacts-工件

  • Product Backlog (產品backlog)
  • Sprint Backlog(衝刺/迭代backlog)
  • Increments (產品增量/可交付成果)

Ceremonies-會議

  • Sprint 迭代
  • Planning/Grooming Meeting 計劃會議
  • Daily Standup 每日例會
  • Reviewing Meeting 評審會議
  • Retrospective Meeting 回顧會議