Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scrum&ALM Introduction(DST Systems)

Scrum&ALM Introduction(DST Systems)

國立虎尾科技大學資訊管理系 - 管理資訊系統個案簡報
簡報人 : 任家輝(BlueRen)

147632037be442ce84b060e01d8d64ae?s=128

Bleu (Jia-Huei Ren)

December 04, 2013
Tweet

Transcript

  1. DST Systems靠著Scrum與應用 系統生命週期管理而成功 本簡報僅對DST Systems公司做初步的簡 介,重點著重於Scrum與ALM的介紹與應用。 四資管四甲 任家輝

  2. 公司簡介 • 公司類型 : 上市公司 • 創立時間 : 1969年 •

    總部位置 : 美國密蘇里州堪薩斯城 • 關鍵人物 : Steve Hooley (CEO) • 網站 : www.dstsystems.com
  3. 比較 過去 • 使用傳統瀑布型開發方法 • 各團隊間不同的開發工具 • 流程尚未擬訂統一標準 • 分工不透明

    • 無法斷定特定資產的狀態 現在 • 使用Scrum敏捷型開發方法 • 統一開發工具 • 使用統一開發環境的ALM產 品 • 進度透明化 • 能快速獲得客戶回應
  4. 傳統瀑布型開發方法 開發時程過長

  5. 錯一步就得打掉重練

  6. 瀑布模型的階段 • 需求定義(Requirements) • 設計(Design) • 實作(Implementation) • 整合與測試(Vertification) •

    移交與維護(Maintenance)
  7. 傳統流程 – 問題在哪? • 每個人的理解不 同 • 傳統流程軟體開 發難以預估,太 常失敗。

  8. 傳統流程 – 問題在哪?(續) • 因為每個人的理解不 同,設計出來的部分 也不盡相同,因而無 法準確的達成客戶的 要求。

  9. Scrum模型 • 一種漸進式的開發模式,先定義雛形,再 將產品逐漸的精細化。 Scrum在英語的意思 是橄欖球里的爭球。

  10. Scrum – 雕刻的例子 • 有點類似雕刻雕像一樣,一開始是個方型 的大理石,並不是先精細雕刻出鼻子或眼 睛,而是先把大理石的周圍大範圍的敲出 一個人型,看看比例是否OK,型態是否如 我們想要的。沒問題再繼續敲打,這時候 看出姿勢與動作,還是沒問題,那再把五

    官根手指的形狀修出來。臉會不會太寬? 肌肉線條還需不需要修? 然後把肌肉的張 力以及表情再生動的修上。換句話說,這 是逐漸的細緻化。
  11. Scrum開發方法

  12. Scrum核心元素 • Scrum 敏捷開發是個簡單的框架 ( framework ),核心元素包含有: 3種角色、4種會議、3項產出 – 3種角色:Scrum教練(Scrum

    Master)、產品負責人( Product Owner ) 和團隊 ( Team )。 – 4個會議:衝刺規畫會議 ( Sprint Planning Meeting )、每日站立會議 ( Daily Scrum )、衝刺審查會議 ( Sprint Review Meeting ) 以及衝 刺回顧會議 ( Sprint Retrospective )。 – 3項產出:產品清單 ( Product Backlog )、衝刺清單 ( Sprint Backlog ) 和燃盡圖 ( Burndown Chart )。
  13. Scrum開發時程 • 其主要概念就是將開發時程切割成較少的跌代 ( iterations ) ,這些跌代的名字在 Scrum 的術語裡叫做衝 刺

    ( Sprint ) 。在每一次衝刺(一個15到30天的周期,其長 度由開發團隊決定)當中,開發團隊會建立一個可用的(可以 隨時推出)軟體的一個增量。每一個衝刺所要實現的功能來自 產品清單 ( Product Backlog )。
  14. Scrum中的角色 • 一天,一頭豬和一隻雞在路上散步。雞對 豬說:「嗨,我們合夥開一家餐館怎麼 樣?」豬回頭看了一下雞說:「好主意, 那你準備給餐館起什麼名字呢?」雞想了 想說:「叫『火腿和雞蛋』怎麼樣?」 「那可不行」,豬說:「我把自己全搭進 去了,而你只是參與而已。」

  15. Scrum中的角色(續) 雞組 • 雞,並不是實際Scrum過程 的一部分,但是必須考慮 他們。 敏捷 方法的一個 重要方面是使得用戶和利 益相關者參與到過程中的

    實踐。參與每一個衝刺的 評審和計劃,並提供反饋 對於這些人來說是非常重 要的。 豬組 • 豬,是在Scrum過程中全身 投入專案的各種角色,他 們在專案中承擔實際工作。 他們有些像上邊那個笑話 里的豬,要把自己身上的 肉貢獻出來。
  16. 雞組與豬組

  17. 實踐原則 • 以下是一些Scrum的通用實踐: • 客戶成為開發團隊中的一部分。(例如客戶肯定對開發的結果真正感興趣。) • 和所有其他形式的敏捷軟體過程一樣,Scrum有頻繁的包含可以工作的功能的 中間可交付成果。這使得客戶可以更早的得到可以工作的軟體,同時使得項 目可以變更項目需求以適應不斷變化的需求。 •

    頻繁的風險和緩解計劃是由開發團隊自己制定。– 在每一個階段根據承諾進 行風險緩解,監測和管理(風險分析)。 • 計劃和模塊開發的透明 – 讓每一個人知道誰負責什麼,以及什麼時候完成。 • 頻繁的利益所有人會議,以跟蹤項目進展 – 平衡的(發布,客戶,員工, 過程)儀錶板更新 – 利益所有者更新 – 你必須擁有預警機制,例如提前 了解可能的延遲或偏差。 • 沒有問題會被藏在地毯下。認識到或說出任何沒有預見到的問題並不會受到 懲罰。 • 在工作場所和工作時間內必須全身心投入。– 完成更多的工作並不意味著需 要工作更長時間。
  18. 優缺分析 優點 缺點 Scrum開發方法 • 高效率 • 彈性 • 快速對變化做回應

    • 進度透明化 • 低風險與失敗率 • 提升客戶滿意度 • 架構簡單、容易上手 • 降低整體成本、快速回收投資 • 強化關係、增進團隊合作默契 • 僅給予管理上的建議。缺 少開發人員技術上的建言 • 過度強調團隊自我管理, 缺乏管理團隊適時輔助。 • 客戶隨意要求變更,增加 團隊負擔 瀑布型開發方法 • 階段劃分明確,每個流程都必 須經過確認、驗證或測試的機 制。 • 成本及資源需求估計不準 確 • 開發時程長、高風險 • 不能迅速反應需求改變 • 無法提早獲得使用者的測 試
  19. 舉例比較 瀑布型開發 • 為了控管進度,專案經理 先把畫這幅畫像的工作切 成九等份,然後交給開發 人員開始施工。 • 等好不容易整合好,系統 可以執行了,一拿給客戶

    看就被打槍說:「這不是 我們要的功能,拿回去重 做」 Scrum開發 • 假設鄉民們必須要在三個 禮拜之內把蒙娜麗莎畫像 給畫好,在此我們選擇一 週為一個疊代。所以到第 三個疊代的時候必須要交 貨。 • 線條草圖→低解析度圖樣 →清楚圖樣
  20. 方法比較

  21. ALM應用系統生命週期管理 • 在從產品構思到交付階段的整個產品研發 流程中,針對軟體應用程式的生命週期持 續進行管理。

  22. ALM應用系統生命週期管理(續)

  23. None
  24. ALM核心元素 • 系統分析:需求管理、系統分析工具 • 系統設計:模組架構設計、介面設計、整合設計等模型設計工 具 • 程式設計:開發工具、偵錯工具、使用者介面設計工具... • 測試:單元測試、負載測試、性能測試、自動測試...

    • 發行:部屬工具,一般我們又會分為測試環境與生產環境 • 控制:原始碼控制、版本控制、流程控制、文件控制... • 一個完整的開發週期,應該要進行前述幾項程序,而一套完整 的ALM更應該將整個程序給串起來,每個步驟產出的內容應該是 對下個步驟有意義的。
  25. ALM的價值 • 以前在沒有ALM工具的時代,溝通靠電話,對 系統的知識則在人腦中及原始程式裡,常常因 為人事的變動很容易造成專案無法維護或更新 困難的情況;現在有了ALM工具,原始碼的變 動歷史一清二楚,專案進度的報表可以自動產 生,工作指針在團隊裡是公開透明的,誰做了 多少事很明確,最重要的是整個軟體開發過程 所累積的知識都完整的保存了下來,新人一來

    上手就可以靠自己去系統裡看事情是怎麼回事, 而不必去忍受高級工程師的不耐煩。
  26. 影片與簡報分享 Scrum • NEW Intro to Agile Scrum in Under

    10 Minutes - What is Scrum? • 沒有 Visual Studio 2012 到不了的地方 - Scrum 敏捷開發! • 矽谷敏捷軟體開發 • ALM • ALM Everywhere
  27. 個案研究問題 • DST Systems舊有的軟體開發環境有哪些問題? • 不同的開發工具造成的適應不良、開發時程長造成無法 提早測試、管理者無法決定資源如何分配或斷定資產的 狀態。 • Scrum開發方法如何協助解決那些問題中的一部分

    • 縮短開發時程,讓產品能夠提早上線測試。(軟體開發 週期由24個月→6個月)、開發工程師生產力提升20% • DST還做了哪些調整,能夠在軟體專案中更有效率地運 用Scrum? 處理了哪些管理、組織與技術面的問題? • 改善流程問題、統一開發平台(引進CollabNet的協同作 業工具)
  28. 參考文獻 • 《系統分析與設計–理論與實務應用》三版,吳仁和、林信惠 著,智勝出版社 • 搞笑談軟工:Scrum, teddy-chen, teddysoft • 軟體團隊多大才需要ALM工具?

    - bdablog • Scrum/Agile Failings or the Theses of Uncle Bob Martin - Mark Levison • Scrum / Agile's inherit shortcomings? - Chris Brookins • Agile Software Development: Principles, Patterns, and Practices - Robert C. Martin, Prentice Hall, 2002 • The New New Product Development Game - Takeuchi and Nonaka, Harvard Business Review, Jan-Feb 1986 • Peter DeGrace, Leslie Hulet Stahl, Wicked problems - righteous solutions, 1990, ISBN 0-13-590126-X • AGILE DEVELOPMENT: LESSONS LEARNED FROM THE FIRST SCRUM - Jeff Sutherland, 2004 • (PDF) Rising, L., Janoff, N.S. (2000). The Scrum Software Development Process for Small Teams Retrieved March 15,2007 • (PDF) Schwaber, K. Advanced Development Methods. SCRUM Development Process Retrieved August 15,2006 • (video) Jeff Sutherland in Scrum Tuning: Lessons learned from Scrum implementation at Google Retrieved 2007-12-15 • (video) Ken Schwaber in Scrum et al. Retrieved 2008-01-19
  29. 簡報結束,謝謝 DST Systems靠著Scrum與應用系統生命週期管理而成功(完)