軟件開發行業中經常使用的兩種方法,一種是目前很是熱門的敏捷開發(Agile),如 Scrum,Kanban 和 Lean 等,另外一種是你們耳熟能詳的傳統瀑布模型(Waterfall)。在2017年作自動化運維平臺的項目中,我很是榮幸成爲初始成員之一完整經歷了項目的生命週期,感覺到 Scrum 和 Kanban 的強大魅力。雖然項目已通過去好久了,可是敏捷開發Agile的思想在平時的工做中都能帶給我很是多的幫助,我想把本身的心得和體會作下分享,本文主要經過分享幾個簡短有趣的視頻讓你們更快的熟悉Agile,並強烈推薦各位能夠在實際項目中實踐和靈活應用。html
敏捷開發Agile中Scrum與Kanban的實踐
2019年06月07日 - 初稿git
閱讀原文 - https://wsgzao.github.io/post...github
擴展閱讀shell
如下視頻建議優先觀看,有助於理解Agile和Scrum
Agile Product Ownership in a Nutshell
https://www.bilibili.com/vide...框架
7 分鐘視頻:什麼是敏捷開發 Scrum
https://www.bilibili.com/vide...運維
什麼是敏捷開發?
敏捷開發 (Agile Development) 是一種以人爲核心、迭代、按部就班的開發方法。ide
怎麼理解呢?首先,咱們要理解它不是一門技術,它是一種開發方法,也就是一種軟件開發的流程,它會指導咱們用規定的環節去一步一步完成項目的開發;而這種開發方式的主要驅動核心是人;它採用的是迭代式開發;工具
爲何說是以人爲核心?
咱們大部分人都學過瀑布開發模型,它是以文檔爲驅動的,爲何呢?由於在瀑布的整個開發過程當中,要寫大量的文檔,把需求文檔寫出來後,開發人員都是根據文檔進行開發的,一切以文檔爲依據;而敏捷開發它只寫有必要的文檔,或儘可能少寫文檔,敏捷開發注重的是人與人之間,面對面的交流,因此它強調以人爲核心。post
什麼是迭代?
迭代是指把一個複雜且開發週期很長的開發任務,分解爲不少小週期可完成的任務,這樣的一個週期就是一次迭代的過程;同時每一次迭代均可以生產或開發出一個能夠交付的軟件產品。測試
什麼是 Scrum?
Scrum 的英文意思是橄欖球運動的一個專業術語,表示 「爭球」 的動做;把一個開發流程的名字取名爲 Scrum,我想你必定能想象出你的開發團隊在開發一個項目時,你們像打橄欖球同樣迅速、富有戰鬥激情、人人你爭我搶地完成它,你必定會感到很是興奮的。
而 Scrum 就是這樣的一個開發流程,運用該流程,你就能看到你團隊高效的工做。
Scrum 創造性地發明了不少概念,請你們結合實踐來理解
3 Roles:三種角色
產品經理 (Product Owner),簡稱PO,負責產品的需求、進度、目標。
項目經理 (Scrum Master),簡稱SM,俗稱敏捷教練,負責阻擋外界對開發團隊干擾,保證團隊順利工做。
團隊成員 (Scrum Team) ,通常 5~10 人,包括開發、測試和運維等,不只須要技術能力,還須要很強的溝通能力和自我管理能力。
4 Meetings:四種會議類型,項目開發週期,通常2-4周
衝刺規劃會議(Sprint Plan Meeting),在啓動每一個 Sprint 前召開,PO和團隊成員將 backlog 分解小模塊制定任務優先級,團隊成員確認理解需求並計算小模塊的工做量。
每日站立會議(Scrum Standup Meeting),開發團隊成員召開,通常爲 5-15 分鐘站立式,每一個開發成員彙報昨天作了什麼,今天計劃作什麼,是否遇到障礙?
衝刺評審會議 (Sprint Review Meeting),在每一個 Sprint 結束後,將這個 Sprint 的工做成果演示給 PO、客戶、老闆和其餘相關的人員。
衝刺回顧會議(Sprint Retrospective Meeting),對剛結束的 Sprint 進行總結。會議的參與人員爲團隊開發的內部人員。通常該會議爲 1 小時。
4 工做成果:
產品積壓訂單 (Product Backlog),能夠預知的全部任務,包括功能性的和非功能性的全部任務
衝刺積壓訂單: (Sprint Backlog),在 1 個 Sprint 週期內所須要完成的任務
燃盡圖: (Burndown Chart),在 1 個 Sprint 週期內,工時 / 工做量的二維圖表
障礙積壓訂單:(Impediments List),Scrum 負責人要維護一個障礙列表
參考文章
淺談 Scrum 敏捷開發:4 個輸入 / 輸出、3 個關鍵物、3 個會議
http://www.woshipm.com/pd/797...
Scrum vs Waterfall vs Agile vs Lean vs Kanban
https://www.archimetric.com/s...
Scrum in 3 Minutes
https://www.visual-paradigm.c...
最簡單的模式莫過於 To Do | Doing | Done
看板是日本的 「視覺信號」 或 「卡片」。豐田線路工人使用看板來表示製造過程當中的步驟。做爲精益的一部分,該系統的高度視覺性使得團隊能夠更輕鬆地溝通須要完成的工做和什麼時候完成。它還標準化了線索和精煉過程,有助於減小浪費和最大化價值。與 scrum sprint board 相似,看板跟蹤 「作 - 作 - 完成」 活動,但它限制了 「正在進行的」 活動的數量(該數量由團隊經理定義,不能超過)。
Trello - https://trello.com/
Jira - https://www.atlassian.com/sof...
Confluence - https://www.atlassian.com/sof...