敏捷軟體開發方法與 Scrum 簡介

42
敏捷軟體開發法與 Scrum 簡介 智慧系統部 月份知識社群, 主講 徐晨 13816星期五
  • Upload

    -
  • Category

    Documents

  • view

    7.155
  • download

    7

description

分享敏捷軟體開發方法原則,並以趨勢科技實行 Scrum 之實戰經驗為例,探討實行敏捷開發時為何成功或導致失敗的原因。

Transcript of 敏捷軟體開發方法與 Scrum 簡介

Page 1: 敏捷軟體開發方法與 Scrum 簡介

敏捷軟體開發⽅方法與 Scrum 簡介智慧系統部 ⼋八月份知識社群, 主講⼈人 徐晨

13年8月16⽇日星期五

Page 2: 敏捷軟體開發方法與 Scrum 簡介

Outline

• 關於敏捷開發

• 關於 Scrum

• 情境描述

• 以趨勢科技為例

• 提問

13年8月16⽇日星期五

Page 3: 敏捷軟體開發方法與 Scrum 簡介

敏捷開發

(Agile Development)是動作很快的意思嗎?

敏捷點高一點閃避率比較高

關於敏捷開發

13年8月16⽇日星期五

Page 4: 敏捷軟體開發方法與 Scrum 簡介

• 敏捷宣言

• 個人與互動 重於 流程與工具

• 可用的軟體 重於 詳盡的文件

• 與客戶合作 重於 合約協商

• 回應變化  重於 遵循計劃

13年8月16⽇日星期五

Page 5: 敏捷軟體開發方法與 Scrum 簡介

敏捷開發是一種以人為核心、迭代、循序漸進的開發方法。

• 客戶是會一直改變需求的

• 知識工作者是自發的

• 設法量測軟體開發的進度

• 減少浪費

• 注重回饋

13年8月16⽇日星期五

Page 6: 敏捷軟體開發方法與 Scrum 簡介

So, what’s different

13年8月16⽇日星期五

Page 7: 敏捷軟體開發方法與 Scrum 簡介

瀑布開發客戶需求

設計

實作

整合測試

移交維護

13年8月16⽇日星期五

Page 8: 敏捷軟體開發方法與 Scrum 簡介

瀑布開發

敏捷開發

13年8月16⽇日星期五

Page 9: 敏捷軟體開發方法與 Scrum 簡介

瀑布開發

敏捷開發Failure?先別說什麼修改了,你聽過砍掉重練嗎?

13年8月16⽇日星期五

Page 10: 敏捷軟體開發方法與 Scrum 簡介

瀑布開發

敏捷開發

2-4 weeks

Failure?先別說什麼修改了,你聽過砍掉重練嗎?

13年8月16⽇日星期五

Page 11: 敏捷軟體開發方法與 Scrum 簡介

瀑布開發

敏捷開發

2-4 weeks

Failure?先別說什麼修改了,你聽過砍掉重練嗎?

Feedback!

13年8月16⽇日星期五

Page 12: 敏捷軟體開發方法與 Scrum 簡介

減少浪費永遠想到未來⼗十年如何拓展維護專案的壽命遠⽐比你想像得更⻑⾧長久

13年8月16⽇日星期五

Page 13: 敏捷軟體開發方法與 Scrum 簡介

Scrum

13年8月16⽇日星期五

Page 14: 敏捷軟體開發方法與 Scrum 簡介

• Agile 的其中一種方法論

• 聽說最近很紅

• 銀子彈(?)

13年8月16⽇日星期五

Page 15: 敏捷軟體開發方法與 Scrum 簡介

13年8月16⽇日星期五

Page 16: 敏捷軟體開發方法與 Scrum 簡介

橄欖球上的定義A scrum is a way to restart the game after an interruption

13年8月16⽇日星期五

Page 17: 敏捷軟體開發方法與 Scrum 簡介

誰是衝突製造者?

• 客戶和團隊的衝突

• 規劃人員和開發人員的衝突

• 設計師和工程師的衝突

• 產品和市場需求的衝突

• 只要有心,人人都可以是衝突製造者

13年8月16⽇日星期五

Page 18: 敏捷軟體開發方法與 Scrum 簡介

13年8月16⽇日星期五

Page 19: 敏捷軟體開發方法與 Scrum 簡介

世界如果可以像和諧號這麼和諧就好了

13年8月16⽇日星期五

Page 20: 敏捷軟體開發方法與 Scrum 簡介

3 個 Scrum 角色 -

• Scrum Master- 只負責確保 Scrum 活動確實進行

• Production Owner- 整合顧客需求與團隊開發

• Team- 包含工程師、設計師、規劃人員等

13年8月16⽇日星期五

Page 21: 敏捷軟體開發方法與 Scrum 簡介

6 個 Scrum 活動 -

• Sprint(衝刺)

• Release planning meeting

• Sprint planning meeting

• 每日站會

• Sprint review meeting

• Sprint retrospective meeting

13年8月16⽇日星期五

Page 22: 敏捷軟體開發方法與 Scrum 簡介

4 個 Scrum 生成物 -

• 產品 backlog

• 產品發佈 燃盡圖

• Sprint backlog

• Sprint 燃盡圖

13年8月16⽇日星期五

Page 23: 敏捷軟體開發方法與 Scrum 簡介

13年8月16⽇日星期五

Page 24: 敏捷軟體開發方法與 Scrum 簡介

13年8月16⽇日星期五

Page 25: 敏捷軟體開發方法與 Scrum 簡介

3 個支撐 Scrum 的原則

• 透明度軟體開發保持高度可見性

• 檢驗足夠頻繁的檢驗

• 適應儘快進行調整

13年8月16⽇日星期五

Page 26: 敏捷軟體開發方法與 Scrum 簡介

13年8月16⽇日星期五

Page 27: 敏捷軟體開發方法與 Scrum 簡介

讓團隊成員⾃自⼰己思考,⾃自⼰己要做什麼

13年8月16⽇日星期五

Page 28: 敏捷軟體開發方法與 Scrum 簡介

13年8月16⽇日星期五

Page 29: 敏捷軟體開發方法與 Scrum 簡介

Scrum ⾮非常注重「視覺化」管理

13年8月16⽇日星期五

Page 30: 敏捷軟體開發方法與 Scrum 簡介

有夠⿇麻煩的吧

13年8月16⽇日星期五

Page 31: 敏捷軟體開發方法與 Scrum 簡介

我還有很多專有名詞沒講

13年8月16⽇日星期五

Page 32: 敏捷軟體開發方法與 Scrum 簡介

可以Run嗎會不會太夢幻了

13年8月16⽇日星期五

Page 33: 敏捷軟體開發方法與 Scrum 簡介

誰理你們

13年8月16⽇日星期五

Page 34: 敏捷軟體開發方法與 Scrum 簡介

誰理你們

13年8月16⽇日星期五

Page 35: 敏捷軟體開發方法與 Scrum 簡介

13年8月16⽇日星期五

Page 36: 敏捷軟體開發方法與 Scrum 簡介

趨勢科技的成功經驗

• 他們成功了,為什麼呢?(因為有一元販賣機)

13年8月16⽇日星期五

Page 37: 敏捷軟體開發方法與 Scrum 簡介

最適合使⽤用Scrum的狀況

• 小的團隊,之前沒有正式的軟體開發方法- 但是團隊不能小於 5 個人- 開發時間不能小於 2 個月

• 新的產品開發團隊,PO主導性很強- PO 了解 Scrum 價值,並且對需求主導性強

• 團隊承認遇到危機,大家都希望藉由 Scrum來改善

13年8月16⽇日星期五

Page 38: 敏捷軟體開發方法與 Scrum 簡介

較不適合⽤用Scrum的狀況

• 太小或太短的專案- 開發團隊小於 5 個人- 開發時間小於 2 個月

• 維護的團隊- 太多中斷- 太多緊急事件

• 不想變革的組織

13年8月16⽇日星期五

Page 39: 敏捷軟體開發方法與 Scrum 簡介

PM的⾓角⾊色• 什麼是 PM

- Project manager- Product Manager

• Project Manager管理整個專案,包含產品

• Product Manager管理整個產品生命週期

• 不管是哪種 PM 都必須瞭解產品

13年8月16⽇日星期五

Page 40: 敏捷軟體開發方法與 Scrum 簡介

Scrum 不是銀⼦子彈

• 「Scrum把原本開發週期 24 月的專案 縮短到 3 個月就提出產品」

• 最大化放大產品缺陷

• 導入新的文化容易失敗

13年8月16⽇日星期五

Page 41: 敏捷軟體開發方法與 Scrum 簡介

還有 Kanban 可以⽤用

13年8月16⽇日星期五

Page 42: 敏捷軟體開發方法與 Scrum 簡介

簡報完畢,歡迎發問。

13年8月16⽇日星期五