精益看板管理和敏捷軟體開發
前面寫過一篇TPS和專案管理,最近看了InfoQ上關於精益看板在軟體開發上的一些實踐和應用的文章,敏捷軟體開發借鑑了很多TPS精益生產的思想,雖然沒有完全提到看板的概念,但是看板在敏捷軟體開發實踐中是很有必要進行的。具體InfoQ的一些文章請參考:
將看板應用於軟體開發:從敏捷到精益
http://www.infoq.com/cn/articles/hiranabe-lean-agile-kanban
用“看板圖”實現敏捷專案的視覺化
http://www.infoq.com/cn/articles/agile-kanban-boards
精益管理在開發專案上三大精髓
http://news.csdn.net/n/20080519/116069.html
軟體開發中的準時化生產
http://news.csdn.net/n/20080519/116067.html
我們都知道看板的重要作用就是把傳統的推式生產轉變為拉動生產,通過按需生產來減少浪費。對於看板我們一方面需要控制在製品數量,一方面是要考慮整個看板工序形成的流動速率。敏捷利用故事卡做為資訊載體,採用拉動的方式組織開發。典型的資訊流動過程是這樣的:需求=>故事卡=>使用者驗收測試=>單元測試=>開發,這就是測試驅動開發的過程。故事卡是第一道看板,在開發過程中,看板是以測試的形式存在的,只有在看到失敗的測試時才開始編碼。故事卡既體現了客戶可識別的價值,又組織了團隊中所有角色的工作,這就像準時化生產中總裝車間的看板(要求生產一件成品的看板)的角色一樣,而使用者驗收測試和單元測試則類似總裝之前的各個生產單位的看板。故事卡與功能需求的不同之處就在於,故事卡試圖將團隊中所有角色(分析,測試,開發)的工作圍繞自己在一個迭代中展開,同時在迭代結束的時候完成自己的使命,而功能需求是長期存在的,需要分解轉化為故事卡之後才能指導團隊的開發工作。因此說,故事卡和測試驅動開發使得軟體開發可以通過拉動的方式展開。
有了拉動,我們就可以看到敏捷故事卡在整個看板上的流動,對於每一個工序我們都有(ToDo,Doing,End)三種狀態,每一個使用者場景在當前工序一完成後就會在看板上面進行移動,從上一個工序的End移動到下一個工序的ToDo,通過這種視覺化看板的工序移動我們就很清楚當前的專案狀態,以及當前的專案瓶頸出現在了哪個工序上面。
我們要意識到在軟體開發中的浪費沒有所謂的原材料,軟體開發最大的浪費就是人力資源的等待已經我們開發完成工件的返工。對於第一個問題我們需要對瓶頸工序進行分析重新配置各工序資源的比例,對於第二個問題則需要引入一直迭代和持續交付的機制。
前面講到了通過使用者故事卡將開發中各個階段的各個角色有機的串聯在一起,同時引入測試驅動開發實現真正的拉式生產。另外就是要通過對故事卡的分類形成多個迭代版本,以實現我們期望的持續整合,迭代開發和多次交付。這是和傳統瀑布開發的一個重要區別,敏捷開發強調持續、穩定地完成一個個對使用者有價值的,經過整合的可用功能,而不是看是否做完了全部的設計工作,或是試圖測量開發人員每天編寫了多少行程式碼、測試人員測了多少個Bug。每個使用者故事卡都是獨立可以交付的,能夠為創造使用者價值的功能點。故事卡在由各個看板組成的工序之間流動,故事卡很好的啟到了FDD特徵驅動開發的作用,產品的完成是迭代的而不是傳統的增量模式。
從精益看板到敏捷,除了強調故事卡為核心價值流和資訊流的載體,看板管理的核心要素外。我們還需要考慮以下問題以強化對看板的應用。
將看板應用於軟體開發:從敏捷到精益
http://www.infoq.com/cn/articles/hiranabe-lean-agile-kanban
用“看板圖”實現敏捷專案的視覺化
http://www.infoq.com/cn/articles/agile-kanban-boards
精益管理在開發專案上三大精髓
http://news.csdn.net/n/20080519/116069.html
軟體開發中的準時化生產
http://news.csdn.net/n/20080519/116067.html
我們都知道看板的重要作用就是把傳統的推式生產轉變為拉動生產,通過按需生產來減少浪費。對於看板我們一方面需要控制在製品數量,一方面是要考慮整個看板工序形成的流動速率。敏捷利用故事卡做為資訊載體,採用拉動的方式組織開發。典型的資訊流動過程是這樣的:需求=>故事卡=>使用者驗收測試=>單元測試=>開發,這就是測試驅動開發的過程。故事卡是第一道看板,在開發過程中,看板是以測試的形式存在的,只有在看到失敗的測試時才開始編碼。故事卡既體現了客戶可識別的價值,又組織了團隊中所有角色的工作,這就像準時化生產中總裝車間的看板(要求生產一件成品的看板)的角色一樣,而使用者驗收測試和單元測試則類似總裝之前的各個生產單位的看板。故事卡與功能需求的不同之處就在於,故事卡試圖將團隊中所有角色(分析,測試,開發)的工作圍繞自己在一個迭代中展開,同時在迭代結束的時候完成自己的使命,而功能需求是長期存在的,需要分解轉化為故事卡之後才能指導團隊的開發工作。因此說,故事卡和測試驅動開發使得軟體開發可以通過拉動的方式展開。
有了拉動,我們就可以看到敏捷故事卡在整個看板上的流動,對於每一個工序我們都有(ToDo,Doing,End)三種狀態,每一個使用者場景在當前工序一完成後就會在看板上面進行移動,從上一個工序的End移動到下一個工序的ToDo,通過這種視覺化看板的工序移動我們就很清楚當前的專案狀態,以及當前的專案瓶頸出現在了哪個工序上面。
我們要意識到在軟體開發中的浪費沒有所謂的原材料,軟體開發最大的浪費就是人力資源的等待已經我們開發完成工件的返工。對於第一個問題我們需要對瓶頸工序進行分析重新配置各工序資源的比例,對於第二個問題則需要引入一直迭代和持續交付的機制。
前面講到了通過使用者故事卡將開發中各個階段的各個角色有機的串聯在一起,同時引入測試驅動開發實現真正的拉式生產。另外就是要通過對故事卡的分類形成多個迭代版本,以實現我們期望的持續整合,迭代開發和多次交付。這是和傳統瀑布開發的一個重要區別,敏捷開發強調持續、穩定地完成一個個對使用者有價值的,經過整合的可用功能,而不是看是否做完了全部的設計工作,或是試圖測量開發人員每天編寫了多少行程式碼、測試人員測了多少個Bug。每個使用者故事卡都是獨立可以交付的,能夠為創造使用者價值的功能點。故事卡在由各個看板組成的工序之間流動,故事卡很好的啟到了FDD特徵驅動開發的作用,產品的完成是迭代的而不是傳統的增量模式。
從精益看板到敏捷,除了強調故事卡為核心價值流和資訊流的載體,看板管理的核心要素外。我們還需要考慮以下問題以強化對看板的應用。
- 生命週期模型是如何的,工序如何劃分
- 如何通過歷史生產率確定資源的配置
- 專案的完成進度是否是以各個故事卡的最終完成比例確定的
- 是否對故事卡進行了群和組的劃分,以實現迭代交付
- 專案的實際進度和每個成員的在做工作在看板上都能夠體現
- 一個是團隊總的等待時間,一個是返工時間,如何消除浪費
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15027599/viewspace-438750/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 將看板應用於軟體開發:從敏捷到精益敏捷
- 軟體開發中的精益和敏捷 - Aram Koukia敏捷
- 精益思想和軟體開發
- 幽默:瀑布、敏捷、看板和Scrum以及精益等工程方法比較敏捷Scrum
- 敏捷開發專案管理軟體敏捷專案管理
- 精益軟體開發與精益管理:從一家關閉的汽車廠重煥青春說起
- scrum|敏捷開發之任務看板Scrum敏捷
- 訪談《敏捷和精益專案集管理》的作者Johanna Rothman敏捷
- 看板系統(精益生產)介紹...
- 軟體開發和敏捷-對症下藥敏捷
- 軟體開發新模式:敏捷開發模式敏捷
- 淺談軟體開發模型之瀑布開發和敏捷開發模型敏捷
- 軟體開發-敏捷方法論敏捷
- 敏捷需求管理軟體敏捷
- 2022國產敏捷開發專案管理軟體敏捷專案管理
- 優思學院|精益生產和精益管理的區別
- 最常用的scrum工具、敏捷開發工具、看板工具Scrum敏捷
- 工具和敏捷軟體開發之間的關係敏捷
- 京東精益敏捷教練分享:敏捷助力產品創新!敏捷
- 藉助精益找回敏捷的質量敏捷
- 揭秘敏捷精髓:消除浪費 走向精益敏捷
- 敏捷的核心:消除浪費,走向精益敏捷
- 力軟敏捷開發框架幫您開發什麼軟體敏捷框架
- 軟體敏捷開發流程中的 Spike,Sprint 和 Takt敏捷
- 敏捷軟體開發的最佳資源敏捷
- 軟體開發的管理和控制 (轉)
- 6種辦法實現精益軟體
- 精益化設計:把敏捷方法和Lean UX相結合敏捷UX
- TFS 2015 敏捷開發實踐 – 看板的使用敏捷
- 【精益生產】精益六西格瑪質量管理執行體系推進案例
- 敏捷式開發管理敏捷
- 敏捷開發思維和免費敏捷管理工具敏捷
- 小白科普:敏捷軟體開發(skycto JEEditor)敏捷
- 敏捷軟體開發:原則,模式,實踐敏捷模式
- 敏捷軟體開發-第六章敏捷
- 【精益生產】精益改善乏力,看新型精益體系模式如何構建模式
- 真北敏捷八月小結:入精益敏捷的廳堂敏捷
- 探討敏捷開發在軟體開發中的應用敏捷