前言
軟件開發(fā)行業(yè)中常用的兩種方法锅减,一種是目前非常熱門的敏捷開發(fā)(Agile),如 Scrum侮邀,Kanban 和 Lean 等,另一種是大家耳熟能詳?shù)膫鹘y(tǒng)瀑布模型(Waterfall)蒂培。在2017年做自動化運維平臺的項目中,我非常榮幸成為初始成員之一完整經(jīng)歷了項目的生命周期榜苫,感受到 Scrum 和 Kanban 的強(qiáng)大魅力护戳。雖然項目已經(jīng)過去很久了,但是敏捷開發(fā)Agile的思想在平時的工作中都能帶給我非常多的幫助垂睬,我想把自己的心得和體會做下分享媳荒,本文主要通過分享幾個簡短有趣的視頻讓大家更快的熟悉Agile,并強(qiáng)烈推薦各位可以在實際項目中實踐和靈活應(yīng)用驹饺。
敏捷開發(fā)Agile中Scrum與Kanban的實踐
更新歷史
2019年06月07日 - 初稿
閱讀原文 - https://wsgzao.github.io/post/agile/
擴(kuò)展閱讀
視頻分享
以下視頻建議優(yōu)先觀看钳枕,有助于理解Agile和Scrum
Agile Product Ownership in a Nutshell
https://www.bilibili.com/video/av53884097
7 分鐘視頻:什么是敏捷開發(fā) Scrum
https://www.bilibili.com/video/av21945150/
Agile基礎(chǔ)知識掃盲
什么是敏捷開發(fā)?
敏捷開發(fā) (Agile Development) 是一種以人為核心赏壹、迭代鱼炒、循序漸進(jìn)的開發(fā)方法。
怎么理解呢卡儒?首先田柔,我們要理解它不是一門技術(shù),它是一種開發(fā)方法骨望,也就是一種軟件開發(fā)的流程硬爆,它會指導(dǎo)我們用規(guī)定的環(huán)節(jié)去一步一步完成項目的開發(fā);而這種開發(fā)方式的主要驅(qū)動核心是人擎鸠;它采用的是迭代式開發(fā)缀磕;
為什么說是以人為核心?
我們大部分人都學(xué)過瀑布開發(fā)模型劣光,它是以文檔為驅(qū)動的袜蚕,為什么呢?因為在瀑布的整個開發(fā)過程中绢涡,要寫大量的文檔牲剃,把需求文檔寫出來后,開發(fā)人員都是根據(jù)文檔進(jìn)行開發(fā)的雄可,一切以文檔為依據(jù)凿傅;而敏捷開發(fā)它只寫有必要的文檔,或盡量少寫文檔数苫,敏捷開發(fā)注重的是人與人之間聪舒,面對面的交流,所以它強(qiáng)調(diào)以人為核心虐急。
什么是迭代箱残?
迭代是指把一個復(fù)雜且開發(fā)周期很長的開發(fā)任務(wù),分解為很多小周期可完成的任務(wù)止吁,這樣的一個周期就是一次迭代的過程被辑;同時每一次迭代都可以生產(chǎn)或開發(fā)出一個可以交付的軟件產(chǎn)品燎悍。
什么是 Scrum?
Scrum 的英文意思是橄欖球運動的一個專業(yè)術(shù)語敷待,表示 “爭球” 的動作间涵;把一個開發(fā)流程的名字取名為 Scrum,我想你一定能想象出你的開發(fā)團(tuán)隊在開發(fā)一個項目時榜揖,大家像打橄欖球一樣迅速勾哩、富有戰(zhàn)斗激情、人人你爭我搶地完成它举哟,你一定會感到非常興奮的思劳。
而 Scrum 就是這樣的一個開發(fā)流程,運用該流程妨猩,你就能看到你團(tuán)隊高效的工作潜叛。
Scrum 框架
Scrum 創(chuàng)造性地發(fā)明了很多概念,請大家結(jié)合實踐來理解
3 Roles:三種角色
產(chǎn)品經(jīng)理 (Product Owner)壶硅,簡稱PO威兜,負(fù)責(zé)產(chǎn)品的需求、進(jìn)度庐椒、目標(biāo)椒舵。
項目經(jīng)理 (Scrum Master),簡稱SM约谈,俗稱敏捷教練笔宿,負(fù)責(zé)阻擋外界對開發(fā)團(tuán)隊干擾,保證團(tuán)隊順利工作棱诱。
團(tuán)隊成員 (Scrum Team) 泼橘,一般 5~10 人,包括開發(fā)迈勋、測試和運維等炬灭,不僅需要技術(shù)能力,還需要很強(qiáng)的溝通能力和自我管理能力靡菇。
4 Meetings:四種會議類型担败,項目開發(fā)周期,一般2-4周
沖刺規(guī)劃會議(Sprint Plan Meeting)镰官,在啟動每個 Sprint 前召開,PO和團(tuán)隊成員將 backlog 分解小模塊制定任務(wù)優(yōu)先級吗货,團(tuán)隊成員確認(rèn)理解需求并計算小模塊的工作量泳唠。
每日站立會議(Scrum Standup Meeting),開發(fā)團(tuán)隊成員召開宙搬,一般為 5-15 分鐘站立式笨腥,每個開發(fā)成員匯報昨天做了什么拓哺,今天計劃做什么,是否遇到障礙脖母?
沖刺評審會議 (Sprint Review Meeting)士鸥,在每個 Sprint 結(jié)束后,將這個 Sprint 的工作成果演示給 PO谆级、客戶烤礁、老板和其他相關(guān)的人員。
沖刺回顧會議(Sprint Retrospective Meeting)肥照,對剛結(jié)束的 Sprint 進(jìn)行總結(jié)脚仔。會議的參與人員為團(tuán)隊開發(fā)的內(nèi)部人員。一般該會議為 1 小時舆绎。
4 工作成果:
產(chǎn)品積壓訂單 (Product Backlog)鲤脏,可以預(yù)知的所有任務(wù),包括功能性的和非功能性的所有任務(wù)
沖刺積壓訂單: (Sprint Backlog)吕朵,在 1 個 Sprint 周期內(nèi)所需要完成的任務(wù)
燃盡圖: (Burndown Chart)猎醇,在 1 個 Sprint 周期內(nèi),工時 / 工作量的二維圖表
障礙積壓訂單:(Impediments List)努溃,Scrum 負(fù)責(zé)人要維護(hù)一個障礙列表
參考文章
淺談 Scrum 敏捷開發(fā):4 個輸入 / 輸出硫嘶、3 個關(guān)鍵物、3 個會議
http://www.woshipm.com/pd/797439.html
Scrum vs Waterfall vs Agile vs Lean vs Kanban
https://www.archimetric.com/scrum-vs-%E7%80%91%E5%B8%83-vs-%E6%95%8F%E6%8D%B7-vs-%E7%B2%BE%E7%9B%8A-vs-%E7%9C%8B%E6%9D%BF/
Scrum in 3 Minutes
https://www.visual-paradigm.com/scrum/scrum-in-3-minutes/
Kanban
最簡單的模式莫過于 To Do | Doing | Done
看板是日本的 “視覺信號” 或 “卡片”茅坛。豐田線路工人使用看板來表示制造過程中的步驟音半。作為精益的一部分,該系統(tǒng)的高度視覺性使得團(tuán)隊可以更輕松地溝通需要完成的工作和何時完成贡蓖。它還標(biāo)準(zhǔn)化了線索和精煉過程曹鸠,有助于減少浪費和最大化價值。與 scrum sprint board 類似斥铺,看板跟蹤 “做 - 做 - 完成” 活動彻桃,但它限制了 “正在進(jìn)行的” 活動的數(shù)量(該數(shù)量由團(tuán)隊經(jīng)理定義,不能超過)晾蜘。
項目管理工具推薦
Trello - https://trello.com/
Jira - https://www.atlassian.com/software/jira
Confluence - https://www.atlassian.com/software/confluence