Sprint目標:Scrum Pattern | IDCF

來源:徐東偉敏捷教練 翻譯:徐東偉;校對:李虎

你已經(jīng)為Sprint做好了準備,現(xiàn)在你正在開Sprint計劃會,進行迭代計劃。
Sprint目標有多重要
Sprint的目標是為利益相關(guān)者交付價值。然而,簡單地按照一個SBI(Sprint Backlog Item,Sprint待辦事項;例如:任務)清單來做,不一定就能創(chuàng)造出最大的價值。
如果團隊按照單個任務或交付物來制定工作計劃,就很容易在生產(chǎn)階段(Production Episode,Scrum Pattern之一)選擇單個待辦事項,孤立地進行工作。如果這樣的話,創(chuàng)新就被稀釋了,因為創(chuàng)新是由對工作持有不同視角的個體進行互動而產(chǎn)生的。當工作孤立進行時,就像無形的辦公隔間,可能會阻礙大家持續(xù)交流各種見解(這些見解不僅對一個開發(fā)人員,而且對許多開發(fā)人員甚至對整個團隊來說都很重要)。沒有充分的互動和溝通,團隊合作就會受到影響。

團隊可能需要部分重新規(guī)劃正在進行的Sprint,以確保團隊在Sprint結(jié)束時可以向利益相關(guān)者交付價值。隨著時間的推移,團隊會對工作有新的見解,可能會識別出新的工作,這時團隊應該對計劃做出相應調(diào)整。如果團隊還是按照原來的計劃行事,可能就無法創(chuàng)造出最大的價值。
還有一種常見的情況是,在Sprint中途,團隊感覺明顯無法完成Sprint Backlog中的每個SBI,這通常是由于完成SBI所需的工作比預想的要多。此時團隊仍然希望盡一切所能交付價值,這可能就需要通過重新規(guī)劃來實現(xiàn)。重新規(guī)劃Sprint的工作需要深思熟慮,并且需要時間。
另一種情況是,團隊需要關(guān)于“如何實現(xiàn)一個PBI(Product Backlog Item,產(chǎn)品待辦事項)”的重要技術(shù)知識,以便之后能夠更有信心地開發(fā)它。比如開發(fā)人員(甚至是產(chǎn)品負責人)可能需要一個技術(shù)原型來驗證一個建議的架構(gòu),或者了解一些技術(shù)的性能特點。這樣的工作我們也把它做成一個PBI,不過這一類PBI的目標是幫助團隊獲取更多的知識,而不是完成一項功能。這樣的技術(shù)原型是一種探索性的工作,耗時存在不確定性,因此它往往會處于Sprint成功的關(guān)鍵路徑上,即它的完成與否關(guān)系到Sprint目標是否能夠達成。(譯者注:這樣的PBI,我們稱之為Spike,即探針。)
在某些情況下,最大的價值可能不是簡單地實現(xiàn)一個PBI。例如,對團隊來說,最大的價值是增加每個Sprint所能帶來的經(jīng)濟收入,而團隊只是用一個PBI來實現(xiàn)這個價值。另一方面,有時Sprint的大部分價值主要來自于很多PBI中的一個關(guān)鍵PBI。
因此:
Scrum團隊為Sprint期間所要創(chuàng)造的價值書寫了簡短的聲明(譯者注:即Sprint目標),并對其做出承諾。這將成為Sprint中所有工作的重點。

整個Scrum團隊共同創(chuàng)建Sprint目標。產(chǎn)品負責人自然會指導Sprint目標的創(chuàng)建,因為他或她對實現(xiàn)產(chǎn)品愿景的下一步以及如何能夠創(chuàng)造出最大價值最有發(fā)言權(quán)。Scrum團隊應該把Sprint目標當做總是能夠觸手可及的事物一樣做出承諾。
(譯者注:最后這一句的原文是“The Scrum team should commit to the Sprint goal as something always within reach.”因為這一句關(guān)系到對Sprint目標的準確理解,因此標注原文以便對照參考。)
開發(fā)團隊每個Sprint通過構(gòu)建產(chǎn)品增量來實現(xiàn)Sprint目標。
Sprint目標怎么用?
Scrum團隊可以依據(jù)Sprint目標來為Sprint選擇PBI,但從某種意義上說,Sprint目標甚至比單個PBI的總和更重要。Sprint目標在PBI之間建立連貫性(譯者注:而不是一堆散落的PBI),這有助于創(chuàng)造有價值的產(chǎn)品增量。一個初始化Product Backlog的好方法是就是將其表達為包含許多Sprint目標的列表,由產(chǎn)品負責人和開發(fā)團隊一起隨著時間的推移將其漸漸細化為PBIs。
自主團隊的成員必須能夠自我管理,以完成他們的目標,而由開發(fā)人員進行排序的工作計劃(Developer-Ordered Work Plan,Scrum Pattern之一)指出,開發(fā)團隊必須能夠自由地以他們認為合適的方式安排他們生產(chǎn)階段的工作。Sprint目標是產(chǎn)品負責人用于影響開發(fā)團隊潛在工作順序的唯一機制(通過Sprint目標所傳達的重要性來推斷緊迫性)-- 當然,只有在得到開發(fā)人員同意后才可以。
在Sprint計劃會期間,Scrum團隊確定他們希望在Sprint結(jié)束時實現(xiàn)的目標;簡而言之,這就是Sprint目標存在的意義。開發(fā)團隊使用Sprint Backlog來定義如何完成這個Sprint目標的細節(jié)。如果開發(fā)團隊認為他們不能完成Sprint目標,就應該和產(chǎn)品負責人一起對Sprint目標再次斟酌。Sprint計劃會的一個關(guān)鍵產(chǎn)出就是,開發(fā)團隊應該能夠解釋如何完成Sprint目標,以及如何知道自己已經(jīng)實現(xiàn)了這個目標。解釋的能力來自于對未來工作的透徹理解,這就提高了團隊在Sprint中實現(xiàn)Sprint目標的概率。
開發(fā)團隊對Sprint目標做出承諾。這個Sprint目標可以幫助開發(fā)團隊眾志成城,并有助于建立利益相關(guān)者對團隊的信任。
Sprint目標對團隊應該是可見的;例如,把它放在Scrum 板或其他信息雷達上。
為支持Sprint目標的實現(xiàn),在Sprint期間,開發(fā)團隊要確保Sprint Backlog一直反映最新的工作狀況。Sprint Backlog的進展(比如在Sprint 燃盡圖上顯示的)就像Sprint期間足球場上的進展一樣:雖然每一碼的進展都會使球更接近終點,但價值是在球門上(譯者注:球門和目標的英文是相同的,都是“Goal”,一語雙關(guān)!)。有時也有可能在沒有完成所有SBI的情況下完成Sprint目標(以某種方式)。這有助于團隊處理突發(fā)事件,并使開發(fā)人員在每日Scrum會中靈活地改變他們的工作計劃(譯者注:在目標不變的前提下)。
舉個例子:突發(fā)的阻礙會威脅到開發(fā)團隊交付完整的Sprint Backlog。在這種情況下,團隊會自動采用Sprint目標作為 "B計劃",而不需要花費很長的時間重新規(guī)劃。卡耐基梅隆大學[1]的一項研究報告指出,提前為中斷做準備的團隊比沒有提前準備的團隊要好14%。為中斷做準備的團隊比不做準備的團隊完成一個不間斷的任務間隔要快43%。這是一種為計劃外的事情做準備的心態(tài):當它們發(fā)生時,團隊可以轉(zhuǎn)到一個新的配置來處理它們,不需要外部輔導。
理論上,在每個Sprint只完成一小部分PBI的情況下,一次又一次地實現(xiàn)Sprint目標也是可能的。不過,這應該是不常見的,因為Sprint Backlog應該與Sprint目標一致;如果不是,就說明價值流存在嚴重問題。
速率(Velocity)能夠幫助團隊了解他們是否在正確地做事(我們假設(shè)正確地做事速率就會提升)。Sprint目標幫助團隊確保他們在做正確的事情。它是關(guān)于理解團隊正在做的事情的 "Why",以便在事情發(fā)生變化時能夠保持專注。
Sprint目標還有其他功效?
杰夫.薩瑟蘭(Jeff Sutherland)補充說,除了讓團隊保持專注外,Sprint目標還會促進蜂擁模式(Swarming,Scrum Pattern之一)的使用。我們能不能讓大家一起做一件事?他說道:
2007年在硅谷,Palm正在開發(fā)一個網(wǎng)絡操作系統(tǒng),后來被惠普公司收購。前幾個Sprint,團隊做得很好,但在幾個Sprint之后,他們似乎遇到了困難。PBIs沒有完成。開發(fā)人員的積極性很低,而且很早就回家了。他們請我來,我請產(chǎn)品負責人和Scrum Master花了一個小時來采訪團隊成員,了解他們?yōu)槭裁礇]有積極性。我們發(fā)現(xiàn),原因是他們不理解做的這些低層級的PBI要解決什么問題。
我們花了一個下午的時間來清理Product Backlog,清晰地展示出了高層級故事和分解出來的較低層級故事之間的聯(lián)系。當開發(fā)人員了解到Sprint的目標是將網(wǎng)絡操作系統(tǒng)的性能提高10%時,他們就有動力去完成低層級的故事,速度也恢復了正常。
理解為什么要實現(xiàn)PBI,對開發(fā)人員來說至關(guān)重要,特別是對專家級的開發(fā)人員來說,如果他們找不到自己工作的理由,就會寧愿去沖浪。
Sprint目標通常與產(chǎn)品價值有關(guān)。團隊也可以用過程目標來定義Sprint目標 -- 例如,通過結(jié)對編程來完成所有的編程,或者準時參加每日Scrum會。
反復推動Sprint目標的實現(xiàn),可以激勵團隊達到更高的參與度;反過來,幸福指數(shù)可以成為定義或建議Sprint目標的一個有效工具。
Sprint目標的作者是誰?
2001年,Ken Schwaber和Mike Beedle第一次提出了Sprint目標的概念([2],第48頁)。
Bob Sullivan and Hugh Thompson. Gray Matter. “Brain, Interrupted.” In New York Times, 5 May 2013, page SR12, http://www.nytimes.com/2013/05/05/opinion/sunday/a-focus-on-distraction.html (accessed 2 November 2017). Ken Schwaber and Mike Beedle. Agile Software Development with Scrum (Series in Agile Software Development). London: Pearson, Oct. 2001, p. 48.


