敏捷開發
敏捷開發
原則上敏捷式開發主要的精神在於較短的開發循環(建立在反覆式開發方式上)以及漸進式開發與交付。
專案的成果,包含計畫、各類的需求細節、設計等都會隨著專案的進行而漸漸完整,而 非在一開始將所有的計畫與需求擬定完成。
出自 https://www.projectup.net/article/view/id/15726(你真的搞懂了什麼叫敏捷式 ( Agile ) 開發嗎?)
Scrum essential (Scrum=>來源自美式足球)
圖片引用自 https://www.slideshare.net/ssusercab70d/scrum-essential
如上圖所示
- Stakeholder向Product Owner提出自己的需求
- Product Owner將需求轉換為Product Backlog
- 透過Sprint Planning Meeting後,將Product Backlog轉換為Sprint Backlog
- 在每一次的Sprint中,按照優先順序,進行一次Sprint(衝刺)
- 每次的衝刺中,都會進行Daily Scrum Meeting,確保進度
- 完成產出後,由Product Owner來驗收成果
- 整個Scrum流程做完後,進行Retrospective Meeting,檢討整個流程需要改進之處
出自 https://www.gvm.com.tw/article/72674 (Scrum參考) https://kevingo75.blogspot.com/2011/08/scrum.html (Scrum參考) https://medium.com/doflowy/%E4%BB%80%E9%BA%BC%E6%98%AFscrum-%E4%B8%8D%E6%98%AF%E5%B7%A5%E7%A8%8B%E5%B8%AB%E4%B9%9F%E8%83%BD%E6%87%82%E7%9A%84scrum%E5%85%A5%E9%96%80%E6%95%99%E5%AD%B8-1cc6683575f8 (現實生活中的例子實用) 如果工作項目不明確、品管標準也不清楚,團隊就要浪費時間再釐清實際上要做什麼,而且還會常常發現必須等另一個團隊完成其他部分才能開始工作。
Scrum 框架
Scrum 專案管理
- Stakeholder(Gakki為例:業務、客服、顧問)
- 使用者
- 負責提供需求,在Scrum中,稱之為故事(Story)
- Product Owner
- 整個Scrum的負責人
- 將使用者的Story轉換成Product Backlog
- 必須為使用者的Story排定重要性(Priority)
- Scrum Master
- 開發團隊的領導人
- 通常需要較深的開發經驗與技術知識背景
- Scrum Team Member
- 完成產品需求
核心精神:讓團隊保持高度的彈性、自主性以及目標導向的精神。不會花心思在推卸責任、等待,而是積極地相互推動,直到完成目標。
Sprint Retrospective(回顧)
檢討團隊在這個Sprint中的各種狀況,展示目前的工作成果,或者未來需要改善的地方。
PO(產品負責人)和SM(Scrum Master)要和團隊一起討論,團隊在這個Sprint中有什麼需要改
善的地方,以及下一階段的Sprint該如何衝刺、調整等…衝刺完下個Sprint後,再回顧,再改
進,不斷重複這樣的過程。
出自 https://www.gvm.com.tw/article/72605 (三成工作根本不必做)
排定優先等級
Prioritize﹝排定優先順序﹞:
優先篩選出重要性高的問題or事情,有目標的做事。(最後會發現,其實很多事情根本不必做)
敏捷關鍵十項品質
- Spiral Development Cycle,敏捷的第一性原則,敏捷沒有要追求完美
- Time-Boxed-Sprint時間的重要性,以時間控管來==促進積極性==
- Scrum Team
- Daily Meeting的重點是在於==交換訊息==
- Separate What v.s How 做什麼?怎麼做?
- Kanban Board
- Feature Prioritization,區分==項目優先級==
- DevOps Process, Dev和Ops彼此互相合作 什麼事DevOps
- Branch and Merge Control , 成果要怎麼整合?
- Hybird Agile/Staged Process
DoD原則 完成的定義(Definition of Done)
看板方法(Kanban)
看板方法 => 工廠方法 WIP (Work In Progress)
- 每一個成員都是一個工作站,
圖片引用自 https://www.ionos.com/digitalguide/websites/web-development/about-kanban/