iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0
IT 管理

沒有終點的敏捷日記系列 第 22

Day22 - 衝刺內的雙重挑戰:搞定新功能開發與維運的秘訣

  • 分享至 

  • xImage
  •  

當團隊開始習慣敏捷開發的節奏,定期交付新功能後,一個不可避免的「隕石」即將降臨,這隕石的名字叫「Bug」。人在江湖走跳,誰還沒幾個Bug傍身?問題是,當你在開發新功能的同時,這些Bug如流星雨般襲來,怎麼辦?要是一不小心,整個衝刺都可能因此變成「Bug專案」!

我們團隊初期也曾經被這些隕石砸得東倒西歪。明明衝刺規劃了10個故事,結果一半都沒完成,剩下的時間全拿去補坑(也就是修Bug)。這樣下去可不行,於是團隊立馬來了個大變革:把衝刺週期從2週改成3週 ,前兩週專注開發新功能,第三週拿來修復Bug,減少干擾,保持開發節奏

當然,這時有人跳出來說:「那萬一前兩週來個超級隕石級別的Bug呢?修還是不修?」答案當然是:修!但有一個重點,我們仍然要以衝刺會議允諾的目標為主 ,維持衝刺的完整性。我們會安排1~2位同事專門處理緊急Bug,其餘成員則繼續專注新功能開發。這時,團隊需要一位經驗豐富的系統分析師來過濾Bug的優先級,扮演「防火牆」的角色,確保真正緊急的問題才能打斷開發節奏。

至於那些沒有那麼火燙的Bug?心無旁騖地留到下個衝刺再說!如果Bug短期內無法修復,是否能夠提供其他替代方案,讓客戶的問題暫時得到解決

保持開發的節奏與專注度,才是長期穩定交付的關鍵

因此,在一個衝刺內,團隊需要兼顧新功能開發與維運項目(如bug修復、系統維護等)是常見的挑戰。為了有效地管理這兩者,以下是幾個實用的解決方案,幫助團隊在衝刺中保持平衡:

1. 設定明確的優先級

  • 需求優先排序:在衝刺規劃會議中,與產品負責人(PO)和團隊成員一起,根據業務價值、技術風險和緊急程度來排序新功能與維運項目,優先處理對業務影響最大的工作
  • 維運項目預留容量:根據團隊歷史數據,預估維運工作所需時間(例如30%),提前分配資源,讓團隊有足夠的彈性處理突發問題。

2. 設置專責維運角色

  • 在每個衝刺中,指派1~2名開發人員專門負責維運項目,如bug修復和技術支援,其餘成員專注於新功能開發,這樣可以避免所有人被維運項目打斷。
  • 在下一個衝刺中,輪換維運負責人,確保工作負擔公平分配。

3. 建立清晰的切換規則

  • 制定一個明確的切換機制,讓團隊知道何時需要暫停新功能開發來處理緊急維運項目,例如:如果問題被標記為P1級別(即影響核心業務),則全員轉向處理維運問題;對於低優先級問題,則放入下個衝刺處理。
  • 使用看板或工作流工具來標示維運項目的重要性,確保透明度。

4. 限制WIP(工作進行中的項目)

  • 限制同時處理的維運項目數量,避免團隊多任務並行過多,導致開發效率下降。通過限制WIP(Work In Progress),專注完成高優先級的維運工作後再處理下一項。

5. 引入「維運池」(Maintenance Pool)

  • 將維運項目集中管理成一個「維運池」,每當有新的維運需求出現時,由團隊成員根據優先級和時間安排進行處理,以便讓維運工作能夠持續推進,而不影響新功能的開發進度。

6. 設立「緩衝區」時間

  • 在衝刺計劃中預留一部分「緩衝區」時間(如10~20%),用來應對不可預測的維運需求;如果突發維運問題,團隊也能及時反應;如果沒有維運需求,這段時間則可以用於技術債或優化項目。

7. 定期回顧與調整

  • 在每個衝刺回顧會議中,檢討維運項目對新功能開發的影響,總結哪些做法有效、哪些需要調整,並進行優化。逐步找出適合團隊的平衡方式。

當團隊掌握上述技巧,我們就可以根據實際情況調整這些策略,確保開發與維運都能有效推進。你還在隕石堆中無法脫身嗎?適時調整團隊的衝刺週期,是一個不錯的方法唷~


上一篇
Day21 - 使用範例描述需求(3) - 範例可能的來源
系列文
沒有終點的敏捷日記22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言