內(nèi) 容 簡(jiǎn) 介
本書(shū)作者從事軟件開(kāi)發(fā)多年,善于吸取敏捷和精益這兩種開(kāi)發(fā)方法的精髓,對(duì)看板的理解和應(yīng)用具有實(shí)用而豐富的經(jīng)驗(yàn)。他在本書(shū)中依托精益開(kāi)發(fā)中的主流工具,介紹了看板的概念、遵循的基本原則、看板的適用范圍和具體使用等。
精益軟件開(kāi)發(fā)是當(dāng)下軟件開(kāi)發(fā)項(xiàng)目的主流。看板可以使得精益理念落實(shí)并貫穿于整個(gè)開(kāi)發(fā)流程,從而提高應(yīng)變能力、減少無(wú)謂的資源及時(shí)間浪費(fèi)、完全發(fā)揮團(tuán)隊(duì)的開(kāi)發(fā)效能。本書(shū)適合所有軟件從業(yè)人員(從項(xiàng)目經(jīng)理到工程師)閱讀,可以幫助他們從容應(yīng)對(duì)千變?nèi)f化的客戶需求。
前 言
精益軟件開(kāi)發(fā)不同于一般的敏捷開(kāi)發(fā)方法,它是屬于文化層面的改革,它沒(méi)有特定的方法或流程,有的只是產(chǎn)品開(kāi)發(fā)的概念及原則,非常適合主管層級(jí)的敏捷開(kāi)發(fā)思想。精益軟件開(kāi)發(fā)沒(méi)有具體的開(kāi)發(fā)方法,它只有指導(dǎo)原則,乍看之下很像勵(lì)志的書(shū)籍,但它的影響卻遠(yuǎn)遠(yuǎn)勝過(guò)所有的開(kāi)發(fā)方法,因?yàn)樗鼘⒅苯佑绊懫髽I(yè)的文化,這一點(diǎn)就比其他開(kāi)發(fā)方法的影響要深遠(yuǎn)多了。無(wú)需訝異它的威力,因?yàn)樗鼇?lái)自豐田產(chǎn)品系統(tǒng) TPS(Toyota Production System)。
“精益軟件開(kāi)發(fā)”沒(méi)有規(guī)定實(shí)務(wù)性的做法,而是描述了更重要的實(shí)際流程定義、原則及價(jià)值觀。原因是它一直認(rèn)為很難有一種方法能夠完全做到“敏捷”,而“原則”則具有較高的普遍性,因此一直到波彭迪克夫婦(Mary 和 Tom Poppendieck)的《精益軟件開(kāi)發(fā)工具》(Lean Software Development:An Agile Toolkit)一書(shū)出版,才有了比較明確的七大原則,就是我們所熟悉的消除浪費(fèi)、增強(qiáng)學(xué)習(xí)、盡量延遲決策、盡快交付、授權(quán)團(tuán)隊(duì)、嵌入完整性、著眼整體等精益軟件開(kāi)發(fā)的七原則。
本書(shū)要描述的是在精益軟件開(kāi)發(fā)里獨(dú)樹(shù)一格的“廣告牌方法”(Kanban Method),它是 2005 年由安德森(David J. Anderson)所創(chuàng)的一種漸進(jìn)式的流程控制方法,它所依據(jù)的正是這七大精益原則。我把精益軟件原則的說(shuō)明放在開(kāi)始的第一章,是希望讀者能“由頭到尾”體驗(yàn)在真實(shí)的情境下,如何依據(jù)這七個(gè)原則來(lái)做決定,讓它成為你實(shí)施精益軟件開(kāi)發(fā)時(shí)的宗旨,而不至于失去敏捷的初衷。
真正引起我想寫這本書(shū)的原因是,因?yàn)?Scrum 在迭代的任務(wù)板(Task board)上描述得太少了,實(shí)施 Scrum 的團(tuán)隊(duì)往往沒(méi)有把任務(wù)板上的字段跟實(shí)際開(kāi)發(fā)時(shí)的工作流程做正確的對(duì)照,以至于常常有各說(shuō)各話的現(xiàn)象,也就是說(shuō)任務(wù)板沒(méi)有反應(yīng)出正確的狀況。當(dāng)?shù)谝淮慰吹綇V告牌方法的時(shí)候,我就立刻在自己所教的 Scrum 課程中將實(shí)施廣告牌的方法隱含進(jìn)來(lái)。說(shuō)真的,這兩個(gè)理論真是契合,我常常在課程中完全不提到廣告牌方法,只是采用它繪制價(jià)值流程及半成品限額的理論,就成功地讓廣告牌方法運(yùn)用在 Scrum 的開(kāi)發(fā)流程中,學(xué)員們可能從頭到尾都沒(méi)有意識(shí)到我們正在實(shí)行廣告牌方法。這一點(diǎn)果然如安德森所言,它是一種漸進(jìn)式的改革方法沒(méi)錯(cuò)!而且,實(shí)行廣告牌方法所受到的阻力要比實(shí)施其他敏捷方法少很多,而且成效更佳,如果你懷疑的話,歡迎你繼續(xù)往后看。
李智樺
目 錄第1章 精益軟件開(kāi)發(fā) 11-1 精益的由來(lái) 21-2 精益軟件開(kāi)發(fā) 31-3 精益軟件開(kāi)發(fā)七大原則 51-3-1 消除浪費(fèi)(Eliminate waste) 51-3-2 增強(qiáng)學(xué)習(xí)(Amplify learning) 111-3-3 盡量延遲決策(Decide as late as possible) 141-3-4 盡快交付(Deliver as fast as possible) 171-3-5 授權(quán)團(tuán)隊(duì)(Empower the team) 201-3-6 嵌入完整性(Build integrity in) 221-3-7 著眼整體(See the whole) 251-4 結(jié)論 27第2章 看板方法 292-1 看板的由來(lái) 302-2 何為“看板方法” 302-3 看板方法四大基本原則(Foundational Principles) 322-3-1 原則1:從既有的流程開(kāi)始 322-3-2 原則2:同意持續(xù)增量、漸進(jìn)的變化 342-3-3 原則3:尊重當(dāng)前的流程、角色、職責(zé)和頭銜 362-3-4 原則4:鼓勵(lì)在各個(gè)層級(jí)上發(fā)揮務(wù)實(shí)性領(lǐng)導(dǎo)行為 372-3-5 四大基本原則的意義 382-4 為何要使用看板方法 392-5 哪些地方可以運(yùn)用看板方法 452-6 結(jié)論 48第3章 看板方法的六大核心實(shí)踐 493-1 可視化目前的工作流程 503-2 限制半成品(WIP)數(shù)量 583-2-1 利特爾法則 593-2-2 多任務(wù)是不好的?看板方法如何處理多任務(wù) 613-2-3 怎么樣的數(shù)值才會(huì)讓人滿意呢 633-2-4 根據(jù)請(qǐng)求的多寡分配產(chǎn)能 643-3 管理工作流程 653-4 讓規(guī)則明確 693-5 落實(shí)反饋循環(huán) 713-6 由協(xié)作改善,經(jīng)實(shí)驗(yàn)演進(jìn) 723-7 結(jié)論 75第4章 如何實(shí)施看板方法 794-1 看板墻的設(shè)計(jì) 804-1-1 三個(gè)基本元素 804-1-2 順序處理狀態(tài) VS. 并行處理狀態(tài) 814-1-3 工作項(xiàng)目的屬性 844-1-4 加入 WIP 限額 864-2 Scrum 運(yùn)作模式的看板墻設(shè)計(jì) 914-2-1 將看板方法融入 Scrum 的開(kāi)發(fā)過(guò)程 914-2-2 在 Scrum 中運(yùn)用看板 924-3 看板一日游 944-3-1 看板一日游 1/12 說(shuō)明 944-3-2 看板一日游 2/12 說(shuō)明 964-3-3 看板一日游 3/12 說(shuō)明 984-3-4 看板一日游 4/12 說(shuō)明 994-3-5 看板一日游 5/12 說(shuō)明 994-3-6 看板一日游 6/12 說(shuō)明 1004-3-7 看板一日游 7/12 說(shuō)明 1014-3-8 看板一日游 8/12 說(shuō)明 1024-3-9 看板一日游 9/12 說(shuō)明 1034-3-10 看板一日游 10/12 說(shuō)明 1034-3-11 看板一日游 11/12 說(shuō)明 1044-3-12 看板一日游 12/12 說(shuō)明 1054-4 運(yùn)行看板方法的簡(jiǎn)單規(guī)范 1064-5 結(jié)論 111第5章 個(gè)人看板:類項(xiàng)目管理 1135-1 個(gè)人看板 1145-2 制作第一個(gè)個(gè)人看板 1155-2-1 可視化 1165-2-2 設(shè)定 WIP 限額 1195-2-3 看板管理:開(kāi)始運(yùn)行拉動(dòng)系統(tǒng) 1205-3 個(gè)人看板與軟件開(kāi)發(fā):類項(xiàng)目管理 1245-3-1 項(xiàng)目的范圍 1245-3-2 建立個(gè)人看板 1255-3-3 個(gè)人看板一日游 1275-3-4 另類的個(gè)人看板 1375-4 結(jié)論 140第6章 個(gè)人看板與生活:讓生活與工作相得益彰 1436-1 開(kāi)始使用看板 1446-2 生活與效能 1486-2-1 消除浪費(fèi) 1496-2-2 夢(mèng)想與目標(biāo) 1506-3 個(gè)人看板進(jìn)階 1566-4 結(jié)論 157第7章 預(yù)測(cè)未來(lái):減少變異性,增加可預(yù)測(cè)度 1617-1 系統(tǒng)思考 1637-2 內(nèi)部變異 1677-3 外部變異 1747-4 結(jié)論 177第8章 持續(xù)改進(jìn) 1798-1 看板方法的問(wèn)題管理 1818-2 運(yùn)用看板方法自然形成簡(jiǎn)單的團(tuán)體規(guī)范 1838-3 沒(méi)有銀彈(No Silver Bullet) 186附錄 189附錄A 精益咖啡 190附錄B Scrum But 和 Kanban But 194附錄C 用戶故事圖譜:對(duì)付需求模糊的好幫手 199附錄D 敏捷開(kāi)發(fā)需要哪些文件 203