天天看點

Scrum︱靈活開發管理實踐Scrum架構解析

作者:PMO大會

一、靈活開發

靈活開發基本概念

靈活開發(Agile Development)是一種以人為核心、疊代、循序漸進的開發方法。在靈活開發中,軟體項目在建構初期被切分成多個子項目,各個子項目的成果都經過測試,具備可視、可內建和可運作使用的特征。

靈活開發是針對傳統的瀑布開發模式的弊端而産生的一種新的開發模式,目标是提高開發效率和響應能力。

靈活開發的核心價值觀

以人為本

目标導向

客戶為先

擁抱變化

  1. Scrum 架構

Scrum 不是一個标準化過程,不能保證你按步驟流程一步一步的執行就能産生高品質産品。

1.架構

Scrum是一個用于組織和管理工作的架構。Scrum架構建立在一套價值觀、原則和實踐之上,在這個架構的基礎上,各個組織可以添加相關工程實踐特有的實作方法以及在實際Scrum實踐時所采取的特定方法。

Scrum︱靈活開發管理實踐Scrum架構解析
  1. 類比

Scrum架構好比一座建築物的地基和牆體,Scrum的價值觀、原則和實踐是重要的構件。

如果對這些價值觀、原則和實踐置之不理或是做出根本性的改變,必然會帶來倒塌的風險,但是可以在Scrum結構内部進行定制,添加一些固定設施和裝置,直到得到一個可行的過程。

3.Scrum實踐

Scrum︱靈活開發管理實踐Scrum架構解析
  1. Scrum 角色

産品負責人:

定義所有産品功能

決定産品釋出的内容以及日期

對産品的投入産出負責

根據市場變化對需要開發的功能排列優先順序

合理的調整産品功能和疊代順序

認同或者拒絕疊代的傳遞

ScrumMaster:

對項目的直接管理

上司團隊完成Scrum的實踐以及展現其價值

排除團隊遇到的困難

確定團隊的勝任其工作,并保持高效的生産率

使得團隊緊密合作,使得團隊個人具有多方面職能的工作能力

保護團隊不受到外來無端影響

Team:

經典團隊擁有 5-9 人

團隊成員都是是多面手

團隊成員都全職工作

團隊自我組織和管理

5.Scrum 活動與工件

Scrum︱靈活開發管理實踐Scrum架構解析

三、靈活開發管理實踐Scrum

Scrum是一種靈活的軟體管理過程,它提供了一種經驗方法,可以幫助你駕馭疊代,實作遞增的軟體開發過程。這一過程是迅速、有适應性、自組織的,它發現了軟體工程的社會意義,使得團隊成員能夠獨立地集中在創造性的協作環境下工作。

  1. 術語介紹

Sprint

是短距離賽跑的意思,這裡面指的是一次疊代,而一次疊代的周期是1個月時間(即4個星期),也就是我們要把一次疊代的開發内容以最快的速度完成它,這個過程我們稱它為Sprint。

Product Backlog(産品訂單)

整個項目的概要文檔,它包含已劃分優先等級的、項目要開發的系統或産品的需求清單,包括功能和非功能性需求及其他假設和限制條件。

Sprint Backlog(沖刺訂單)

是大大細化了的文檔,用來界定工作或任務,定義團隊在Sprint中的任務清單,這些任務會将目前沖刺標明的産品訂單轉化為完整的産品功能增量。

任務看闆

用來組織三種視角(時間、任務和團隊),目的是使整個團隊都能了解項目的目前狀态,并以一種自發、有動力且互相合作的方式來工作。令項目可視化。

Epic

通常是一個比較籠統的業務需求,來源于使用者或業務部門。需對其進行拆分,同時本身保留,用于團隊追溯起源。

Story

使用者故事是靈活開發中的需求表達方式,每個使用者故事代表了從産品的使用者視角表達的一條使用者需求,即一個需求點,通常由客戶、産品經理或者需求人員來編寫,開發人員也可以編寫一些非功能的使用者故事,比如安全、性能、品質等層面。

任務

在使用者故事下拆分任務,即項目團隊成員需做的事,拆分為完成這個需求的所有的任務,包括設計,開發,測試,傳遞,甚至包括申請機器,部署測試環境等等。

每日站會(Daily Scrum Meeting)

1個Sprint開始疊代後。ScrumMaster需要組織團隊成員每天開站會. 這個會議是用15分鐘的時間來讓大家過一下scrum的狀态。在會上,每個團隊成員需要問3個問題:我昨天做了什麼,今天做什麼,遇到哪些障礙。誰都可以參加這個會議,但隻有Scrum團隊成員有發言權。這個會議的目标是得到一個項目的全局觀,用于發現任何新的依賴,定位項目成員的要求,實時的調整當天開發計劃。

燃盡圖

全稱應該是“總剩餘時間的燃盡圖”,就是本次疊代中,所有故事(或拆分的任務,以下僅稱故事)的剩餘時間總和,随日期的變化而逐日遞減的圖。

Sprint Review Meeting(評審會議)

會議産品負責人和客戶都要參加,每一個Scrum Team的成員都要向他們示範自己完成的軟體産品。

2. Scrum – 角色職責與工作流程

如下2張圖所示,3種角色,産品負責人,Scrum主管,開發團隊如何工作:

Scrum︱靈活開發管理實踐Scrum架構解析
Scrum︱靈活開發管理實踐Scrum架構解析

角色職責介紹

産品負責人(Product Owner)

負責編寫使用者需求(使用者故事),排出優先級,并放入産品訂單(Product Backlog),進而使項目價值最大化。

Scrum主管(Scrum Master)

負責Scrum過程正确實施和利益最大化的人,確定它既符合企業文化,又能傳遞預期利益。(備注:Scrum主管并非團隊的上司(由于他們是自我組織的),他的主要工作是去除那些影響團隊傳遞沖刺目标的障礙,屏蔽外界對開發團隊的幹擾。)

開發團隊(Scrum Team)

負責找出可在一個疊代中将産品待開發事項(沖刺訂單)轉化為功能增量的方法。每個成員可能負責不同的技術方面(一般由5~9名具有跨職能技能的人(設計者,開發者等)組成),要求每個成員必須要有很強的自我管理能力,同時具有一定的表達能力,成員可以采用任何工作方式,隻要能達到Sprint的目标。

3. Scrum – 主要活動

主要活動有4種:

沖刺規劃會議(Sprint Plan Meeting)

每日站立會議(Scrum Daily Meeting)

沖刺複審會議(Sprint Review Meeting)

沖刺回顧會議(Sprint Retrospective Meeting)

Scrum︱靈活開發管理實踐Scrum架構解析

文章來源:悅讀有進Gene

繼續閱讀