認為 Scrum 團隊不做計劃其實是一個誤區,實際上很多 Scrum 團隊在沖刺計劃會議以及在細化工作項時均會進行詳細規劃。此外,他們還會創建一個路線圖,以便顯示他們在多個沖刺中的計劃。
Scrum 團隊需要經常進行計劃,以便在不斷變化、信息不斷涌現的復雜環境中不迷失方向。團隊評估新的信息,并調整他們的工作方式以充分利用所獲得的新知識。
當團隊在沖刺進行中突然遇到未計劃的工作時,應該如何處理?本文將分享一些最佳實踐。
處理計劃外工作的三個最佳實踐
不可避免地,無論 Scrum 團隊如何精心計劃,總會有突如其來的需求要求團隊在沖刺(Sprint)中途處理未計劃的工作。
發生這種情況時,開發人員與產品負責人應立即拉起會議,討論如何應對。為什么要由開發人員和產品負責人來處理?因為產品負責人負責對產品待辦列表中的任務進行優先級安排,只有他們有權決定是否將這項突發工作加入產品待辦列表,并判斷其是否足夠重要以至于需要在當前沖刺待辦列表中加以考慮。
產品待辦列表
另一方面,由開發人員負責完成沖刺待辦列表,只有他們可以判斷自己是否有能力接下這項額外工作,同時不影響沖刺目標的實現。
如果產品負責人確實希望在沖刺中添加新的工作項,開發團隊可以選擇拒絕,或者可以與產品負責人協商,決定為了容納新的需求而從當前沖刺中移除哪些任務。不過不能因為需求變更而使沖刺目標受到威脅。
有些 Scrum 團隊經常面臨大量未計劃的工作。例如許多 Scrum 團隊不僅要負責新的開發任務,還要處理生產支持問題。
對許多組織而言,生產支持的工作是不可預測的,且不能推遲到下一個沖刺處理——必須立即處理這些請求。盡管這類工作屬于未計劃的,但它對于產品的成功至關重要。
下面是幾種處理未計劃工作的方法。
選擇1:預留一定容量,將未計劃的工作加入沖刺待辦列表
在此方法中,開發團隊在沖刺計劃時會預估未來沖刺可能接收到的未計劃工作量,并相應預留出一部分容量來處理這些突發事件。這個預測并不容易,因為這其中很多東西都是未知的。
雖然我們無法做到這一點,但可以通過回顧歷史表現來做出有根據的預測。
比如,過去幾次沖刺中,未計劃工作占用了團隊多少時間?這些突發任務的出現是高度不可預測的還是相對穩定的?通過這些問題的答案,我們可以預估出應為沖刺期間可能出現的臨時需求留出多少空間。
一旦未計劃的工作出現,如果產品負責人和開發團隊同意將其加入沖刺,他們應將其包含在沖刺待辦列表中,以確保工作的透明度,保證團隊能夠跟蹤沖刺中所有任務的進展。
選擇2:預留一定容量,但不將未計劃的工作加入沖刺待辦列表
如果未計劃的工作由一系列較小的任務構成,Scrum 團隊可能會考慮是否真的需要將這些任務加入沖刺待辦列表,盡管不加入會導致缺乏透明度。但大量的小任務如果加入沖刺待辦列表,可能會造成管理上的負擔。
在這種情況下,團隊仍可以選擇不增加沖刺待辦列表的負載,而是選擇在沖刺范圍之外處理這些未計劃的工作。在這種做法下,團隊會預留出部分能力,從而避免了將其加入沖刺待辦列表所帶來的管理負擔。
選擇3:設立專門團隊處理未計劃工作
如果未計劃的工作量大且頻繁,Scrum 團隊可以考慮分設一個團隊專門負責生產支持等任務。
限制計劃外工作影響的策略
正如很多 Scrum 專家所分享的,每次沖刺都是組織和 Scrum 團隊之間的一個約定。Scrum 團隊需要盡可能地集中精力處理沖刺中的工作以及定期的優化工作,組織將定期獲得可用的產品增量。
然而,在某些組織中,完全避免計劃外的工作是比較困難的。如果您的團隊經常面對意外工作,以下是幾種我們可以采用的策略。
1.優先完成當前工作項
當遭遇計劃外的工作時,立即停下手中的工作并轉向緊急任務看起來很好。但最好不要這么做。應當先完成當前的工作,然后再著手處理下一個優先級最高的工作項。
原因是什么呢?
因為當我們暫停當前的工作,并在未完成先前任務之前開始另一項任務時,我們將留下許多未完成的工作,這會造成浪費。那些“未完成的工作”不能永久地擱置,否則會變得過時。而且,當我們最終回到最初的工作項時,由于需要重新組織思路,完成這項工作所需的時間將會更長。
2.限制進行中的工作
如果團隊面臨大量計劃外的工作,限制進行中的工作變得更加重要。進行中的工作指的是我們在沖刺期間正在進行的任務數量。如果我們的進行中的工作很多,并且遇到計劃外的工作,我們將需要在轉向這些額外工作之前做很多調整。
通過限制進行中的工作,我們在將精力投入計劃外工作之前,沒有太多需要暫停或完成的任務。
3.將工作切割得更細
對于經常面臨大量計劃外工作的團隊來說,另一個策略是將計劃中的工作分解成更小的部分。這樣做可以使我們更快地完成當前任務,并在出現計劃外工作時更迅速地轉換方向。
4.結對工作
與每位開發者分別承擔各自的任務不同,配對工作涉及兩位開發者共同完成同一項任務。這種策略帶來兩個好處:
一方面,實際上它限制了進行中的工作量。另一方面,當面對計劃外的工作時,它為團隊提供了更大的靈活性,因為他們可以更快地完成當前的工作項,或者安排其中一位開發者轉向新任務,而另一位繼續進行原有任務。
結論
無論 Scrum 團隊如何精心計劃,總有時候會在沖刺中途出現計劃外的工作請求。出現這種情況時,開發者和產品負責人商量,確定是否將這些額外的工作添加到當前沖刺中。
Scrum 團隊應事先決定如何處理計劃外的工作——是將其加入沖刺待辦列表,還是在沖刺范圍之外完成它?
如果頻繁出現意外工作,團隊是否應預留一些容量來處理這些工作,或者是否應該由一個專門的團隊來承擔?只有 Scrum 團隊能夠回答這些問題,并且隨著對客戶需求的了解增加,他們的處理方法可能會發生變化。
推薦閱讀:
Scrum 開發指南:?Scrum 框架詳解? | ?Scrum 四個會議及正確召開方式?| ?正確的計劃和執行Sprint的方式?| ?做好迭代計劃的4大關鍵點?| ?做好這4點讓每日站會更適配敏捷團隊? | ?開好迭代評審會的3個關鍵步驟? | ?為什么要召開迭代回顧會? |?Scrum 3大角色及其崗位的具體職責? | ?Scrum三大工件在敏捷開發中的作用? | ?2022年14個最佳 Scrum 敏捷項目管理軟件? | ?更多?
Kanban 敏捷指南:?使用看板(Kanban)管理方法的5大好處? | ?看板 VS Scrum:如何選擇??| ?看板和 Scrum 的混合模式適合在哪些場景使用? | ?更多?
規模化敏捷:?規模化敏捷的價值及五大規模化敏捷框架? | ?規模化敏捷之 Spotify 模型? | ?規模化敏捷框架之LeSS框架? | ?SAFe 規模化敏捷框架? | ?Scrum@Scale 模型? | ?敏捷項目組合管理? | ?OKR與敏捷開發? |?更多?
產品管理:?如何構建合格的產品路線圖? | ?如何成為一個優秀的產品經理? | ?敏捷路線圖的重要性以及構建? | ?如何構建簡單有效的產品需求文檔? | ?利用 NPS 確定功能優先級? | ?每個產品經理都需要了解的產品分析技能? | ?更多?