從 Scrum 到 LeSS -使用者故事(二)

更新於 發佈於 閱讀時間約 9 分鐘

前一篇寫了關於 Story 應該如何產生

接著 當 Story 被確定下來之後
要如何切割 Story 
讓他們可以在 Sprint 期間能 Done


0x00 回顧

過去經驗我們都知道
當 Story 太大的時候要拆小
但問題就來了
小要小到多小
有可能小到 Task 嗎?

此時也會有聲音是
「噢!Story 就要 End-to-End 的拆解」
那什麼是 End-to-End
如果寫了一個 API 加上 Swagger UI
有網頁可以操作 DB 的 CRUD
這樣算是 End-to-End 嗎?

如果真的要實現 Story 的 Feature 有困難
能不能先有 Proof of Concept (PoC) 的 Story
畢竟 PoC 也能 End-to-End 呀?


0x01 When to Split Story

Story 確定下來了
什麼時候需要再拆小呢?

從前篇我們知道釐清 Story 細節是在 PBR 的時候
那麼拆 Story 通常會是在 Sprint Planning I 的時候
課堂上對於 Story 要拆多小的建議
是從 Sprint 的角度去看的
以一個 Sprint 可以完成 3 至 4 個 Story 為度量
因此 Story 太大或太小就能以 Sprint 長度
以及該 Sprint 的人時來評估是否該拆


0x02 How to Split

那麼接下來就是如果需要拆
一個好的拆解要怎麼評估呢?
在課堂上給了 3V 作為評量拆解的 Story 是不是好的拆解
- Vertical
- Visible
- Valuable

Vertical

可以想像一下整個軟體的層次
就像一個漢堡 🍔
一層層堆疊起來
簡單一點的版本像是

UI
Application
Data Storage

那什麼是 Vertical ?
當你把漢堡咬一口是不是什麼都吃到了?
這就對了!
Vertical 的意思就是
不要把 UI, Application, Data Storage 拆開

吃漢堡的時候總不會想要把
麵包🥯
生菜🥗
起司🧀 
肉 🥓
分開來吃吧!

但拆解之後就沒辦法交付給 User 用了怎麼辦?

首先回顧一下 Story 被完成時須要交付的是
Potentially Shippable Product Increment

Potentially shippable is a statement about the quality of the software and not about the value or the marketability of the software
ref: Potentially Shippable Product Increment

因此拆解後的 Story 並不是要求一定要能直接交付出去給客戶價值
而是確保在這個 Sprint 內有多少 Scope 已經被視為 Done
但並不代表在拆解的時候就能隨意的拆解

但如果拆 Story 時的心態是

反正最後都要全部完成怎麼拆都可以

這個想法就會落入「專案」的思維
而並非敏捷思維
反而是把 Sprint(短跑)變成了 Marathon(馬拉松)
而 Review Meeting 也不是在 Review
只是披著 Scrum Event 的皮
行 PM 的 Check Point 之實而已

導致最後真正交付的東西不一定是漢堡🍔

https://www.pinterest.com/pin/balanced-meal--427138345882467124/

https://www.pinterest.com/pin/balanced-meal--427138345882467124/

Visible

從 User 的視角每個 Story 完成的時候都是能直接看到成果的

舉例來說:
拆出來的 Story 是要能滿足「User 能成功下訂單」的 Scenario
那這個 Scenario 有哪些 Feature 要被滿足?
過去常見的會是
『噢 User 可以下訂單
然後我們可以打開 DB 給 PO 確認
資料真的有進去 DB』

這就不符合 Visible 的概念
因為從 User 的角度來說
我下訂單了可是我沒有地方可以確認?
這對 User 來說是一件很 Confuse 的事情
如果這個 Scenario 的 Business Requirement 又是要能直接刷卡結帳
那 User 錢都被扣了但沒有任何 Response 
怎麼能稱作這個 Scenario 是結束的呢?
如果我是 User 可能就直接打去客服了

但在課堂中有個討論是
「如果訂單查詢太難做了但商業需求又要趕快上線怎麼辦?」
其實會有這個問題很可能多半是
這個 Scenario 直接訂立了 Feature 要怎麼做

但根據我自己的消費經驗
其實應該還是有機會討論的
舉例來說訂購成功後
發 email, 發簡訊 … etc.
作為一個消費者我覺得也算是 Visible
至少我看到之後不會打去煩客服

Valuable

如果可以應該盡可能地讓拆出來的 Story 有一定程度的商業價值
假設我們一開始就是用「專案」的思維去考慮拆解
那麼真的就得等到全都做完才能交付一個漢堡

但如果每一張拆出來的 Story 都能滿足作為漢堡的條件
PO 才有「選擇的機會」
看是否要交付 20% 的漢堡或是 80% 的漢堡


0x03 PoC 不是 Story

有時候當團隊覺得東西有點大
想要先有點小小的嘗試或做點 PoC (Proof of Concept)
再來估算真正的 Story
此時就會有 PoC 的 Story
但 PoC 並不能上 Production 給 User 用
更不可能滿足 DoD

從這個角度來看
PoC 本身就不該是 Story
如果本來就是需要做的 Story 
那麼就應該直接在 Product 上實現

畢竟 PoC 跟 Product 的環境複雜度相比
PoC 真的只是 Piece of Cake
即便 PoC 實現了
不代表就一定能在 Product 重現

因此在課堂上有提到
「Take a bite」的方式來建立第一張 Story
這是什麼意思呢?

不知道大家吃漢堡有沒有一個經驗就是
點來的漢堡超厚的
沒辦法張嘴張很大
這時候會怎麼做?
應該不會分開吃吧?
🥯🥗🧀 🥓

我們應該是會找比較好咬下去的地方先咬一口
即便咬下去的時候不一定什麼都吃到
這就是

Take a Bite

先找到整個 User Story 中最容易的部分
而且滿足 3V 條件
接著 Implement 它
從這個過程得到一些經驗值
也從這個過程得到一些有用的材料(Pice of Code)


0x04 Increment or Iteration

Increment 是增量
Iteration 是迭代
如果一個 Story 太大
那麼可以嘗試思考在 Story 中的 Scopes
有哪些是可在迭代的時候做
哪些 Scopes 可以作為第一次的增量

用 Startup 的方式比喻的話
Increment 是讓 Story 從 0 到 1 的過程
Iteration 是讓 Story 從 1 到 100 的過程

這樣 PO 才有辦法在 1 到 100 之間去做選擇
是否要繼續投入

但實務上會發現有時候 Story 過大時
沒有把 Increment 拆出來先做
把理應是 Increment 的部分打散到各個拆分後的 Story
此時 PO 只能被迫選擇把東西做到 100 才能 deliver

從 0 到 1 
是做出 MVP (Minimum Viable Product) 
而 1 到 100 
是將 MVP 打磨到 PMF (Product Market Fit) 的過程
至於 1 到 100 之間
什麼時候才算是 PMF 就是考驗 PO 的智慧了

拆小後的Story 們
產出了數個 Potentially Shippable Product Increment
而 PSPI 累積起來就能成為 Shippable Product
這時候就能 Release 給 End User 了

一個小小的 Hit:
結合上一篇提到的 Behaviour Change & System Change
要快速區分 Incremental / Iterative Story 的話
自己有個小技巧就是
通常 Increment 都會帶來 Behaviour Change
而 Iteration 帶來的通常是 System Change

0x05 小結

Sprint 交付的是 PSPI 不一定要能直接被 Release 給User
但應該要維持可以隨時 Release 給 User
只要 PO 願意

拆小的 Story 可以用 3V 原則來檢視
是否是個合格的 Story

不要做 PoC 應該要做 MVP
透過實作 MVP 的過程
蒐集所需要的經驗以及材料

把 Story 拆成
Incremental Story
Iterative Story
有助於 PO 選擇 Release Time


0xFF 參考資料

Fifty Quick Ideas To Improve Your User Stories
非常的推薦這本書,無論是 SM, PO, Teams
這本書有很多實例關於 Story 的起始到結束
會經過的所有歷程
以及各種看似難以拆解的 Story
如何 Take a Bite


Story 拆解的部分到這邊已經差不多了
希望這篇能幫助到一些不知道怎麼拆小 Story 
而困擾的朋友們有一點幫助

avatar-img
2會員
7內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Justin Shaw's Salon 的其他內容
從一開始 Story 的出生 就會被放進 Product Backlog 經過漫長的等待 終於在某次的 Sprint 中被提到 Sprint Backlog 接著透過獅子🦁及猿猴🦍們的努力 將 Coffin 轉換成 Code Story 終於蛻變成了 PSPI
最近上完了一門 LeSS in Action 的課程 雖然在 Scrum Team 少說也四五年了 這期間也考過了 CSM, PMP 認證 但這次的課程後對 Scrum 又有了新的認識 同時也回顧一下自己在執行了將近五年的 Scrum 開發經驗
從一開始 Story 的出生 就會被放進 Product Backlog 經過漫長的等待 終於在某次的 Sprint 中被提到 Sprint Backlog 接著透過獅子🦁及猿猴🦍們的努力 將 Coffin 轉換成 Code Story 終於蛻變成了 PSPI
最近上完了一門 LeSS in Action 的課程 雖然在 Scrum Team 少說也四五年了 這期間也考過了 CSM, PMP 認證 但這次的課程後對 Scrum 又有了新的認識 同時也回顧一下自己在執行了將近五年的 Scrum 開發經驗
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
敏捷開發的實踐方式有很多,其中以簡單、易懂的 Scrum 框架最廣為大家接受。 2024年7月 LeSS 網站發布了新一版的《Scrum 指南》,其中調整的內容我覺得讓這個框架更符合實務上的應用,因此就其內容並結合個人經驗與見解撰寫這篇短文,希望幫助大家快速了解這套能幫助團隊適應變化的敏捷開發方法。
Thumbnail
企業面對大專案時,將其分解成可執行的小任務,有助於實現目標。以提升銷售額為例,拆解為四個要素,並提供增加流量、轉換率、客單價和回購率的策略。另外,還必須設計可量化的指標及追蹤回饋。這些建議對於創作型工作和知識型工作者來說,同樣可以利用該策略來提高工作效率。
Thumbnail
在數位時代,Scrum已成為專案管理的利器。本文介紹Scrum的核心角色、工件和事件,並結合我開發CDP的實際經驗,分享如何通過產品待辦清單管理、Sprint計劃與執行、每日站會和Sprint回顧來提升專案靈活性與效率。希望能啟發更多專案經理運用Scrum,優化專案流程。
Thumbnail
究竟每個人也掛在口邊的Storytelling到底是甚麼?Storytelling內指的故事,不一定是一個完整的故事,好像迪士尼的故事一樣,必定有頭有尾,看主角逆境自強的故事,而是說一些讓受眾會代入到的情節。今次分享Storytelling的有用資源分享。
當投標截稿時限緊迫時,該怎麼辦? 敏捷就很重要,不只拿A,更要衝刺拿A   我於2018研讀Jeff所寫SCRUM(敏捷)一書, 感到相見恨晚,恰逢其時。 把我過去準備投標或執行專案經驗, 在本書已整理出一套更有系統論述, 值得推薦你去學習並應用在工作上, 敏捷強調執行專案要有兩種能
Thumbnail
Storybook 是一個用來透過獨立元件快速開發 UI 介面的工具,以往要開發元件時,我們可能需要建立一個全新的頁面才能進行開發,但這樣的開發方式可能會有一個狀況:沒有辦法事先開發或是預覽流程中不存在的元件。 透過 Storybook 我們在開發元件時,不需要重新建立複雜的頁面結構⋯⋯
Thumbnail
本文探討初涉產品管理的新手在面對複雜問題時的困境,強調學習區分事情輕重緩急的重要性。建議培養這種辨識能力,並運用堅持和放棄的技巧,在兩者之間取得平衡。提及常見問題如何優先處理、如何在兩個同樣重要的選擇中做取捨,以及解決加班困擾的建議。總結指出,堅持和放棄是初學者在學習事務管理時的得力助手。
作為產品經理,製作簡報是日常工作的一部分,而如何製作一個有邏輯的流程圖成了一大挑戰。讓我們透過Paul的故事,探索如何製作讓老闆滿意的流程圖。
什麼叫做細節?把一個整體拆解得越細的功夫,許多事情對於行外人來說是一個整體,但對於行內人來說是由許多流程拼湊,或是有者截然不同的樣貌。當你能用不同的語言說明一個整體內的每件事情的時候,你對於整體的掌握也就提升了。魔鬼藏在細節裡,成長也是、商機也是。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
敏捷開發的實踐方式有很多,其中以簡單、易懂的 Scrum 框架最廣為大家接受。 2024年7月 LeSS 網站發布了新一版的《Scrum 指南》,其中調整的內容我覺得讓這個框架更符合實務上的應用,因此就其內容並結合個人經驗與見解撰寫這篇短文,希望幫助大家快速了解這套能幫助團隊適應變化的敏捷開發方法。
Thumbnail
企業面對大專案時,將其分解成可執行的小任務,有助於實現目標。以提升銷售額為例,拆解為四個要素,並提供增加流量、轉換率、客單價和回購率的策略。另外,還必須設計可量化的指標及追蹤回饋。這些建議對於創作型工作和知識型工作者來說,同樣可以利用該策略來提高工作效率。
Thumbnail
在數位時代,Scrum已成為專案管理的利器。本文介紹Scrum的核心角色、工件和事件,並結合我開發CDP的實際經驗,分享如何通過產品待辦清單管理、Sprint計劃與執行、每日站會和Sprint回顧來提升專案靈活性與效率。希望能啟發更多專案經理運用Scrum,優化專案流程。
Thumbnail
究竟每個人也掛在口邊的Storytelling到底是甚麼?Storytelling內指的故事,不一定是一個完整的故事,好像迪士尼的故事一樣,必定有頭有尾,看主角逆境自強的故事,而是說一些讓受眾會代入到的情節。今次分享Storytelling的有用資源分享。
當投標截稿時限緊迫時,該怎麼辦? 敏捷就很重要,不只拿A,更要衝刺拿A   我於2018研讀Jeff所寫SCRUM(敏捷)一書, 感到相見恨晚,恰逢其時。 把我過去準備投標或執行專案經驗, 在本書已整理出一套更有系統論述, 值得推薦你去學習並應用在工作上, 敏捷強調執行專案要有兩種能
Thumbnail
Storybook 是一個用來透過獨立元件快速開發 UI 介面的工具,以往要開發元件時,我們可能需要建立一個全新的頁面才能進行開發,但這樣的開發方式可能會有一個狀況:沒有辦法事先開發或是預覽流程中不存在的元件。 透過 Storybook 我們在開發元件時,不需要重新建立複雜的頁面結構⋯⋯
Thumbnail
本文探討初涉產品管理的新手在面對複雜問題時的困境,強調學習區分事情輕重緩急的重要性。建議培養這種辨識能力,並運用堅持和放棄的技巧,在兩者之間取得平衡。提及常見問題如何優先處理、如何在兩個同樣重要的選擇中做取捨,以及解決加班困擾的建議。總結指出,堅持和放棄是初學者在學習事務管理時的得力助手。
作為產品經理,製作簡報是日常工作的一部分,而如何製作一個有邏輯的流程圖成了一大挑戰。讓我們透過Paul的故事,探索如何製作讓老闆滿意的流程圖。
什麼叫做細節?把一個整體拆解得越細的功夫,許多事情對於行外人來說是一個整體,但對於行內人來說是由許多流程拼湊,或是有者截然不同的樣貌。當你能用不同的語言說明一個整體內的每件事情的時候,你對於整體的掌握也就提升了。魔鬼藏在細節裡,成長也是、商機也是。