張傳波老師Scrum學習心得

upupup!123發表於2024-07-14

使用者故事是一個用來確認使用者和使用者需求的簡短描述,它從使用者的角度來描述使用者渴望得到的功能。一個好的使用者故事通常包括三個要素:

1. 角色:誰要使用這個功能;

2. 活動:需要完成什麼樣的功能;

3. 商業價值:為什麼需要這個功能,這個功能帶來什麼樣的價值。

使用者故事通常按照如下格式來表達:

• 英文:As a <角色>, I want to <活動>, so that <商業價值>

• 中文:作為一個<角色>, 我想要<活動>, 以便於<商業價值>

為了更好地管理和實現使用者故事,Ron Jeffries 提出了使用者故事的 3C 原則:

1. 卡片(card):使用者故事描述的傳統形式是手工書寫在小記事卡片上,寫上故事的簡短描述、工作量估算等。如今也可將需求文件中的需求點摘出,記錄在相關管理工具的【需求描述】裡,用簡潔凝練的語言完整呈現使用者故事的三要素;

2. 交談(conversation):卡片上記錄的使用者故事是可以進行討論和細化的,包括與利益相關人(客戶/使用者)、產品負責人及開發團隊之間更細化地討論使用者故事的可行性。經過會話確認後,使用者故事才能正式進入開發階段;

3. 確認(confirmation):透過驗收測試確認使用者故事被正確完成,由測試人員完成。測試人員在測試版本所關聯的用例列表裡執行用例,完成測試後生成測試報告,它是對使用者故事實現程度的最直接體現。如果用例執行失敗,可直接由此建立一個 bug,由開發人員進行二次開發和修復,直到測試透過。

同時,一個好的使用者故事還應具備六個特性(也叫 INVEST 原則):

1. 獨立性(Independent):要儘可能讓一個使用者故事獨立於其他故事,減少故事之間的依賴,因為依賴會使制定計劃、確定優先順序、工作量估算等變得困難,可透過組合或分解使用者故事來降低依賴性;

2. 可協商性(negotiable):使用者故事的內容應是可協商的,故事卡上只需有簡短描述,不包含太多細節,具體細節在溝通階段產出。若卡片上帶有過多細節,會限制與使用者的溝通;

3. 有價值(valuable):每個故事必須對客戶具有價值(無論是使用者還是購買方),讓客戶寫下故事是使其具有價值的好方法,當客戶意識到這不是契約且可協商時,他們會更樂意寫下故事;

4. 可估算性(estimable):開發團隊需要能夠估計一個使用者故事,以便確定優先順序、工作量和安排計劃。若開發團隊難以估計,可能是由於缺乏領域知識(需更多溝通),或故事太大(需將其切分成小些的);

5. 短小(small):一個好的故事在工作量上應儘量短小,最好不超過10個理想人/天的工作量,至少要確保能在一個迭代中開發完畢。使用者故事越大,在安排計劃、工作量估算等方面的風險就越大;

6. 可測試性(testable):一個使用者故事要是可以測試的,以便確認它是可以完成的,如果不可測試,就無法知道何時可以完成。

學習心得:

在學習張傳波老師關於 Scrum 的課程之後,我對敏捷開發有了更深入的理解和認識。

Scrum 作為一種敏捷開發框架,強調團隊合作、快速迭代和持續改進。透過張傳波老師的講解,我深刻體會到了其核心價值觀和原則的重要性。

Scrum 中的角色定義清晰而獨特。產品負責人負責明確產品願景和需求優先順序,確保團隊始終朝著有價值的方向前進;Scrum 主管則致力於消除團隊障礙,促進團隊高效協作;開發團隊成員則具備自我管理和跨職能的能力,共同為達成衝刺目標而努力。這種明確的分工和協作模式,避免了職責不清導致的效率低下。

衝刺規劃和每日站會等實踐環節讓專案進展更加透明和可控。衝刺規劃幫助團隊明確在短期內要完成的任務和目標,而每日站會則能夠及時發現問題、調整策略,保持團隊的同步和專注。

總的來說,張傳波老師的課程讓我對 Scrum 有了全面而系統的認識。在今後的工作中,我將積極應用所學,不斷探索和最佳化,讓 Scrum 真正為專案帶來更高的效率和更好的成果。

相關文章