Scrum敏捷開(kāi)發(fā)實(shí)戰(zhàn)(3):開(kāi)啟敏捷流程

0 評(píng)論 8402 瀏覽 62 收藏 14 分鐘

一個(gè)軟件產(chǎn)品的完整開(kāi)發(fā)流程,分為需求確定、產(chǎn)品研發(fā)、產(chǎn)品驗(yàn)收、全量測(cè)試發(fā)布這四個(gè)階段,而Scrum框架為每一個(gè)階段都設(shè)定了對(duì)應(yīng)的解決方案。本文作者對(duì)Scrum敏捷框架進(jìn)行了分析,一起來(lái)看一下吧。

《Scrum敏捷開(kāi)發(fā)實(shí)戰(zhàn)》系列:

  1. 方法介紹
  2. 團(tuán)隊(duì)組建
  3. 敏捷框架(本章節(jié))
  4. 看板工具
  5. 每日站會(huì)
  6. 常見(jiàn)問(wèn)題

一、完整開(kāi)發(fā)流程

Scrum敏捷開(kāi)發(fā)實(shí)戰(zhàn)(3):開(kāi)啟敏捷流程

一個(gè)軟件產(chǎn)品的完整開(kāi)發(fā)流程分為4個(gè)部分,分別是:

  1. 需求確定階段
  2. 產(chǎn)品研發(fā)階段
  3. 產(chǎn)品驗(yàn)收階段
  4. 全量測(cè)試發(fā)布階段

在實(shí)際的開(kāi)發(fā)過(guò)程中,為了提高效率,②③是有可能重疊交替進(jìn)行,Scrum框架為每一個(gè)階段都設(shè)定了對(duì)應(yīng)的解決方案。

二、Scrum框架-334

Scrum敏捷開(kāi)發(fā)實(shí)戰(zhàn)(3):開(kāi)啟敏捷流程

三、完整的Scrum流程

完整的Scrum流程包含了3個(gè)角色、3個(gè)物件,以及4個(gè)會(huì)議;

3個(gè)角色:

  • Product Owner 產(chǎn)品負(fù)責(zé)人
  • Scrum Master 敏捷教練
  • Scrum Team 開(kāi)發(fā)團(tuán)隊(duì)

3個(gè)物件:

  • Product Backlog 產(chǎn)品功能列表
  • Sprint Backlog 迭代任務(wù)列表
  • 燃盡圖

4個(gè)儀式:

  • Sprint沖刺計(jì)劃會(huì)
  • 每日站會(huì)
  • Sprint沖刺評(píng)審會(huì)
  • Sprint沖刺回顧會(huì)

3個(gè)角色我們?cè)谏弦黄恼?a href="http://www.codemsi.com/operate/5520388.html" target="_blank" rel="noopener">《組建敏捷團(tuán)隊(duì)》已經(jīng)詳細(xì)介紹,本章就不做過(guò)多的闡述。

3個(gè)物件屬于敏捷工具,會(huì)使用即可,其中“產(chǎn)品功能列表”由產(chǎn)品負(fù)責(zé)人維護(hù),然后進(jìn)行優(yōu)先級(jí)排序,以用戶故事的形式展示,能夠讓團(tuán)隊(duì)成員容易理解。

“迭代任務(wù)列表”是當(dāng)前沖刺迭代版本的任務(wù)集,由產(chǎn)品將用戶故事拆成任務(wù),并讓團(tuán)隊(duì)成員各自領(lǐng)取。

“燃盡圖”則是一個(gè)公開(kāi)的圖表,是項(xiàng)目進(jìn)度的一種看板表現(xiàn)形式,有助于項(xiàng)目成員能夠直觀的理解項(xiàng)目進(jìn)展,直到所有任務(wù)開(kāi)發(fā)完畢。

4個(gè)儀式貫穿整個(gè)敏捷流程,領(lǐng)悟每個(gè)會(huì)議的作用,將決定整個(gè)敏捷開(kāi)發(fā)的質(zhì)量。

四、Sprint沖刺計(jì)劃會(huì)

每個(gè)沖刺版本都由一個(gè)Sprint沖刺計(jì)劃會(huì)開(kāi)始,產(chǎn)品負(fù)責(zé)人PO或團(tuán)隊(duì)成員選擇用戶故事,然后由產(chǎn)品負(fù)責(zé)人詳細(xì)講解用戶故事,產(chǎn)品經(jīng)理負(fù)責(zé)講解滿足用戶故事的產(chǎn)品功能解決方案,開(kāi)發(fā)團(tuán)隊(duì)進(jìn)行任務(wù)估算。

沖刺會(huì)最終產(chǎn)出1張表和3個(gè)時(shí)間節(jié)點(diǎn):

  • Sprint里程碑任務(wù)計(jì)劃表
  • 可測(cè)試介入的時(shí)間節(jié)點(diǎn)、整體開(kāi)發(fā)完成的時(shí)間節(jié)點(diǎn)、上線時(shí)間節(jié)點(diǎn)

沖刺計(jì)劃會(huì)要注意幾個(gè)關(guān)鍵點(diǎn):

  • 一個(gè)Sprint的周期不宜過(guò)長(zhǎng),控制在4周內(nèi),而且以2周為佳
  • 每次會(huì)議全員必須參加,每個(gè)人都要清楚本次版本的目標(biāo),我們能交付什么,明確各自的職責(zé)和責(zé)任
  • 全員承諾,PO不死壓完不成的任務(wù)量
  • 任務(wù)估算時(shí)可以討價(jià)還價(jià),但一旦接受則所有人都要對(duì)里程碑no delay,做到當(dāng)日事當(dāng)日畢
  • 盡量不要壓縮測(cè)試的時(shí)間
  • 在任務(wù)進(jìn)度表沒(méi)有出來(lái)之前,不要中斷會(huì)議

1. 任務(wù)估算

任務(wù)估算是沖刺計(jì)劃會(huì)中最重要的一個(gè)環(huán)節(jié),只有理解了本次會(huì)議的需求內(nèi)容,才能估算出準(zhǔn)確的時(shí)間,確保里程碑的進(jìn)度可控,SM要在這個(gè)環(huán)節(jié)把控全局,確認(rèn)好里程碑的時(shí)間節(jié)點(diǎn)。

如果團(tuán)隊(duì)內(nèi)崗位都不相同,團(tuán)隊(duì)成員分別編寫(xiě)自己的任務(wù)卡,而如果有相同的崗位,應(yīng)當(dāng)以小組的形式來(lái)估時(shí),比如一個(gè)團(tuán)隊(duì)中有2個(gè)后端,那他們就要對(duì)本次里程碑的所有任務(wù)都進(jìn)行估時(shí)(可參考撲克牌估算法),雙結(jié)果不同需要討論并重新出牌,結(jié)果比較接近即結(jié)束。

2. 任務(wù)卡

一張完整的任務(wù)卡要包含三個(gè)內(nèi)容:

  1. 明確的交付內(nèi)容
  2. 責(zé)任人(可以使用代號(hào),只要不重復(fù)即可)
  3. 任務(wù)完成時(shí)間(可以用小時(shí)H或天D作單位)

Scrum敏捷開(kāi)發(fā)實(shí)戰(zhàn)(3):開(kāi)啟敏捷流程

五、任務(wù)卡

敏捷教練SM在和每個(gè)人確認(rèn)任務(wù)卡片時(shí),需要注意以下幾點(diǎn):

1)目標(biāo)一致

做最后確認(rèn),確保所有人都清楚本次里程碑的目的和邏輯細(xì)節(jié),只有理解了業(yè)務(wù)細(xì)節(jié)才能很好的拆解任務(wù)卡片,確保不丟失業(yè)務(wù)邏輯。

2)任務(wù)拆解

單個(gè)任務(wù)1天為最佳,最多不能超過(guò)2天,絕大多數(shù)的任務(wù)都是可以拆解的,很多人無(wú)法拆解是沒(méi)有掌握正確的拆解方法,我們可以按照頁(yè)面數(shù)量、接口數(shù)量、制作步驟等方法進(jìn)行拆解。

例:我們要畫(huà)一張?jiān)?huà),正常需要7天,我們可以按照步驟拆解: 找參考(可省略)→ 畫(huà)草稿 → 畫(huà)線稿(將草稿清晰化)→ 上色(上底色、上陰影色、上第二層陰影色)→ 加特效(畫(huà)背景、光影)→ 優(yōu)化細(xì)節(jié) → 完稿。

拆解到人天的好處就是讓每個(gè)人都知道每天要完成什么內(nèi)容,工作目標(biāo)清晰透明,驗(yàn)收時(shí)只有兩個(gè)結(jié)果是和否,不存在模糊不清的進(jìn)度(比如完成30%這種),既讓成員有一定壓力,也能夠有效的減少工作不飽和的情況。

第二個(gè)好處是SM每天都知道誰(shuí)交付了什么,如果沒(méi)有完成第二天也能及時(shí)風(fēng)控,而不是等幾天之后才發(fā)現(xiàn)某人完成不了。

3)明確信息

任務(wù)卡片里的內(nèi)容要清晰準(zhǔn)確,要有量化的內(nèi)容,不能用模糊不清的概念,SM要能夠理解每個(gè)卡片上交付的內(nèi)容,如果不理解需要讓成員修改,并檢查每個(gè)人卡片上三要素是否齊全。

例如:

  • 錯(cuò)誤:完成接口的開(kāi)發(fā)(不具體)
  • 正確:完成用戶注冊(cè)5個(gè)接口開(kāi)發(fā)

4)消除瓶頸

檢查卡片時(shí)需要關(guān)注是否包含了所有的需求,是否有估算時(shí)長(zhǎng)與預(yù)期、或和以往類似功能時(shí)間嚴(yán)重不符的任務(wù)卡片,單人的任務(wù)時(shí)間是否過(guò)長(zhǎng),評(píng)估整體里程碑時(shí)長(zhǎng)是否過(guò)長(zhǎng)。

如何評(píng)估任務(wù)估算過(guò)長(zhǎng)?

  • 里程碑的總時(shí)長(zhǎng)是否和你預(yù)期的相差過(guò)長(zhǎng),如果是,和團(tuán)隊(duì)表達(dá)你的想法,一起尋找瓶頸點(diǎn)
  • 培養(yǎng)自己的直覺(jué),和歷史同類任務(wù)進(jìn)行對(duì)比進(jìn)行判斷
  • 把握不準(zhǔn)的,可以使用同崗位使用撲克牌估時(shí)法,找出差異大的估時(shí)邏輯
  • 在前幾次的里程碑中,觀察和評(píng)估每個(gè)人的工作效率,用于后期對(duì)每個(gè)人的估時(shí)進(jìn)行判斷是否有很大的不飽和情況

那如果有人任務(wù)估算過(guò)長(zhǎng),應(yīng)該如何處理呢?我們可以從以下幾個(gè)角度進(jìn)行分析解決:

  • 信息缺失:有可能是對(duì)所負(fù)責(zé)的任務(wù)還不是很了解,或把解決方案想復(fù)雜了,或?qū)?xiàng)目不熟悉,不知道有些方法已存在,可以直接使用等等,這些都可以通過(guò)深度溝通來(lái)解決;
  • 任務(wù)拆解:盡可能的拆細(xì),查看每一天的任務(wù)的工作量是否飽和,直到無(wú)法再拆為止,拆到一個(gè)點(diǎn)就很容易評(píng)估時(shí)間;
  • 能力不足:一些新人剛開(kāi)始可能不知道如何拆解任何和評(píng)估,這個(gè)時(shí)候需要更資深的開(kāi)發(fā)來(lái)進(jìn)行輔導(dǎo),梳理業(yè)務(wù)邏輯,輸出合理的卡片,輔導(dǎo)2~3次之后即可解決該問(wèn)題(如果沒(méi)有資深開(kāi)發(fā)可以考慮招聘一個(gè),一個(gè)經(jīng)驗(yàn)豐富的開(kāi)發(fā),對(duì)于消除瓶頸有極大的幫助)
  • 態(tài)度問(wèn)題:極個(gè)別的情況可能是員工的工作態(tài)度問(wèn)題,態(tài)度問(wèn)題很難在會(huì)議上進(jìn)行解決,短期內(nèi)也不太好解決,這時(shí)需要PO使用權(quán)威來(lái)推進(jìn),適當(dāng)給予壓力,日常工作中要進(jìn)行引導(dǎo),若發(fā)現(xiàn)還是沒(méi)有改變的跡象,需要考慮替換;

5)打通關(guān)聯(lián)

SM需要全局觀察每個(gè)人的任務(wù)排序和時(shí)間,觀察上下游任務(wù)銜接情況,合理調(diào)整順序,確保任務(wù)的連貫性,盡早的交付可供測(cè)試的軟件。

6)交付承諾

任務(wù)卡片確認(rèn)完畢,明確三個(gè)時(shí)間節(jié)點(diǎn),所有人達(dá)成共識(shí),將任務(wù)按照優(yōu)先級(jí)展示在看板上,輸出里程碑計(jì)劃表,全體成員承諾交付結(jié)果。

六、每日站會(huì)

里程碑確定之后,通過(guò)每日站會(huì)來(lái)推進(jìn)項(xiàng)目進(jìn)度,由SM發(fā)起,全體成員參加,PO和其他需求方選擇性參加(但只參與、不說(shuō)話),每日站會(huì)是快速專注的會(huì)議,用來(lái)分享進(jìn)度和迭代看板進(jìn)展,每個(gè)團(tuán)隊(duì)成員就他們將要完成的任務(wù)對(duì)其他人口頭承諾。

所有人圍繞在看板周?chē)總€(gè)人輪流上前回答一下三個(gè)問(wèn)題:

  1. 昨天我為團(tuán)隊(duì)做了什么?
  2. 今天我將要做什么?
  3. 我需要哪些幫助?

回答完畢之后將已完成的任務(wù)移入Test泳道,將今天的任務(wù)移入Doing泳道。

一個(gè)有效的站會(huì)需要做到以下原則:

  1. 固定時(shí)間、固定地點(diǎn),養(yǎng)成習(xí)慣,遲到的人要有懲罰
  2. 全員參與、站立開(kāi)會(huì),保持專注,時(shí)長(zhǎng)控制在10~15分鐘
  3. 三個(gè)問(wèn)題、更新進(jìn)度,不要討論技術(shù)問(wèn)題,不要轉(zhuǎn)移會(huì)議話題
  4. 注意聆聽(tīng)、回應(yīng)問(wèn)題,別人在講時(shí)其他人要注意聽(tīng),需要幫助時(shí)相關(guān)人員要及時(shí)回應(yīng)

七、Sprint沖刺評(píng)審會(huì)

在開(kāi)發(fā)完畢后,即將交付上線之前,由SM發(fā)起,全體成員參加,開(kāi)發(fā)團(tuán)隊(duì)將可交付物演示給需求方,需要方進(jìn)行功能評(píng)審,收集反饋意見(jiàn)。

評(píng)審會(huì)并不是必須的,但Scrum團(tuán)隊(duì)要經(jīng)常和需求方保持信息互通,確保接受到最新的市場(chǎng)動(dòng)態(tài)和用戶反饋,交付的產(chǎn)品滿足利益相關(guān)者的期望,讓團(tuán)隊(duì)的產(chǎn)出有價(jià)值。

八、Sprint沖刺回顧會(huì)

每一個(gè)沖刺會(huì)完成后,都會(huì)舉行一次沖刺回顧會(huì)議,在會(huì)議上所有團(tuán)隊(duì)成員對(duì)本次沖刺進(jìn)行反思,包括:什么進(jìn)展順利?缺少什么?需要改變什么等等。

沖刺回顧會(huì)是針對(duì)迭代末期進(jìn)行的時(shí)間盒會(huì)議,目的是幫助團(tuán)隊(duì)如何提高他們的工作效率和改進(jìn)工作方式,就未來(lái)的迭代改進(jìn)計(jì)劃達(dá)成一致;同時(shí)梳理以往的項(xiàng)目缺陷和債務(wù),對(duì)用戶故事進(jìn)行審視,是否需要新增、刪除、修改用戶故事,對(duì)用戶故事進(jìn)行優(yōu)先級(jí)排序。

需要注意的是,讓團(tuán)隊(duì)自己反思,PO盡量不參加,或者參加也盡量少說(shuō)話,反思時(shí)要找出明確的問(wèn)題和意見(jiàn),不要情緒化,切勿開(kāi)成批斗會(huì)。

Scrum敏捷流程讓在早期發(fā)現(xiàn)可能的問(wèn)題,可以用更快更小損失應(yīng)對(duì)問(wèn)題,“沒(méi)有問(wèn)題被掃入地毯下”,Scrum鼓勵(lì)每個(gè)團(tuán)隊(duì)成員清楚的描述自己所遇到的困難,其他成員積極的響應(yīng)解決,降低項(xiàng)目風(fēng)險(xiǎn),SM必須有預(yù)警風(fēng)控能力,能判斷出可能的延遲或者偏差。

敏捷之路,不可能一帆風(fēng)順,團(tuán)隊(duì)只有在不斷遇到問(wèn)題解決問(wèn)題才能快速成長(zhǎng)。

作者:周武,曾就職于騰訊、邊鋒,現(xiàn)在一家上市公司產(chǎn)品負(fù)責(zé)人;公眾號(hào):周武說(shuō)。

本文由@ 周武 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自 Unsplash,基于CC0協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!