因為今年剛接觸到敏捷開發(fā),7月份臨時指派為“敏捷教練”帶領(lǐng)團隊。臨陣磨槍,培訓(xùn)了兩天Scrum的基礎(chǔ)知識就上崗了。期初培訓(xùn)的時候,覺得Scrum其實挺簡單的,就是那點東西,挺好掌握的,但是當(dāng)理論被運用的實際的過程中去的時候,被現(xiàn)實狠狠的打了好幾個大巴掌,好多實際問題的解決,我是毫無頭緒的,所以只好找相關(guān)理論知識方面的書,充實一下自己??创蠹矣型扑]這本的,據(jù)說是一本入門級的書,所以拿來看看。用了將近2個月把這本書讀完,下面根據(jù)我的理解將本書的內(nèi)容和我的一下感想總結(jié)如下。
整體來說,這是一本入門級的圖書,對于像我這種之前完全沒了解過敏捷相關(guān)理論知識的人也是能夠看懂的,尤其是里面的例子,是很容易理解的,所以比較推薦給敏捷教練入門級人員使用。就我本身而言 ,這本書對我的實際應(yīng)用是:1)在編寫總結(jié)報告PPT的時候會借鑒里面的一些理論知識,提供一些理論的依據(jù)2)對于實際沖刺中每個會議的輸入、內(nèi)容及輸出,這本書講解的很是詳細。在實際敏捷中也可以作為參考3)還有對每個角色的介紹部分,也是比較簡潔明了的,對每個角色職責(zé)特性也描述的比較詳細。對我來說,其組織規(guī)劃部分內(nèi)容對我來說實際作用比較小,他涉及到了一個企業(yè)或一個項目的長遠戰(zhàn)略規(guī)劃,對我來時算是一個知識的拓展吧。
一、本書的框架
作者把本書分為4個部分,分別是核心概念、Scrum角色、規(guī)劃及沖刺回顧。其實核心概念、Scrum角色和沖刺回顧講解的應(yīng)該都是Scrum的框架,而規(guī)劃是站在沖刺之上幾個層級的規(guī)劃,該部分講解了怎么從不同的層面開展和落實敏捷的價值觀。使得整個項目/企業(yè)“自上而下”的施行敏捷開發(fā)。
本書的整體框架我會整理出來放在附件上進行展示。

組織規(guī)劃的層級關(guān)系:
????戰(zhàn)略規(guī)劃:本書中未詳細說明
? ? ? ? ? ? ? ? ? ? ? ↓
????組合規(guī)劃:用來確認完成什么產(chǎn)品、按什么順序完成以及持續(xù)多上時間
? ? ? ? ? ? ? ? ? ? ? ? ↓
????產(chǎn)品規(guī)劃(構(gòu)想):獲取潛在產(chǎn)品的基本特性并未創(chuàng)建該產(chǎn)品而定制大致計劃。關(guān)鍵詞:愿景、概要產(chǎn)品列表、產(chǎn)品路線圖(版本路線圖)
? ? ? ? ? ? ? ? ? ? ? ? ↓
????版本規(guī)劃:針對增量交付取得范圍、日期和預(yù)算之間的平衡。關(guān)聯(lián)時間維度,用完成該版本所需的沖刺數(shù)表達。
? ? ? ? ? ? ? ? ? ? ? ? ↓
沖刺規(guī)劃:對Scrum團隊在下一個迭代中做哪些PBI達成一致意見。建立沖刺目標(biāo)及王城PBI任務(wù)級工作。
? ? ? ? ? ? ? ? ? ? ? ? ? ↓
????每日規(guī)劃:體現(xiàn)在團隊每日站會上。
就我個人而言,接觸到實際情況來看,重點是放在了沖刺中。設(shè)計到組合規(guī)劃和版本規(guī)劃的地方比較上,相較而言我覺得組合規(guī)劃、產(chǎn)品規(guī)劃和版本規(guī)劃曾是接觸的比較多的應(yīng)該是產(chǎn)品負責(zé)人(PO)。所以我的感想都是在比較低的層級展開的,也是我知識有限的原因吧。
二、本書的內(nèi)容
1、什么是Scrum?
Scrum是一種用于開發(fā)創(chuàng)新產(chǎn)品和服務(wù)的敏捷方式。其建立在實驗主義理論基礎(chǔ)之上,實驗主義的三大特性(透明、適應(yīng)和檢視)。開發(fā)團隊以結(jié)對方式組合起來的小團隊形式,在短時間(固定周期)內(nèi)交付高價值的潛在產(chǎn)品增量。
Scrum處理的問題領(lǐng)域:復(fù)雜域
Scrum好處(相較于傳統(tǒng)的瀑布模型):提升客戶滿意度、投資回報率、成本降低、迅速取得成果、有信心在復(fù)雜世界中取得成功、更加愉快。(PS:這部分內(nèi)容可以作為匯報PPT的成果參考)
2、Scrum框架(3-3-5-5)
3種角色(產(chǎn)品負責(zé)人、ScrumMaster和開發(fā)團隊)
產(chǎn)品負責(zé)人(Product Owner):
????最直接的價值是產(chǎn)品列表的直接負責(zé)人,負責(zé)定義產(chǎn)品的特性及給產(chǎn)品排優(yōu)先級。第二產(chǎn)品負責(zé)人必須很好的理解組織中利益干系人、客戶和用戶需求,充當(dāng)用戶的代言人。對每個迭代交付的需求進行評審確定開發(fā)的產(chǎn)品增量是否滿足客戶確定。擔(dān)任:一般由可以使客戶方、技術(shù)leader和開發(fā)人員都可以。當(dāng)時現(xiàn)實中一般是由產(chǎn)品經(jīng)理擔(dān)任。
????實際過程中,需要領(lǐng)導(dǎo)放權(quán)給產(chǎn)品負責(zé)人,讓其擁有財權(quán),說話溝通才能更有權(quán)威心。
SrcumMaster(敏捷教練):
????一個人,負責(zé)幫助每個人理解并樂于接受Scrum的價值觀、原則和時間之人。對開發(fā)團隊和產(chǎn)品經(jīng)理來說是教練的職責(zé),也要履行過程領(lǐng)導(dǎo)的職責(zé),幫助scrum團隊和組織其他成員發(fā)展具有組織特色的、高效scrum方法。職責(zé):教練(觀察團隊使用Srcum的過程,全力幫助團隊達到更高的級別工作效能)、服務(wù)型領(lǐng)導(dǎo)(確保能滿足團隊最高優(yōu)先級需求)、“保護傘”(免受外部干擾,可以集中精力在每個沖刺交付義務(wù)價值)、過程權(quán)威(幫助團隊定義并遵守自己的流程,從而確保工作完成)、“清道夫”(清掃妨礙團隊生產(chǎn)效率的一切障礙,當(dāng)團隊自己搞不定的時候)、“變革代言人”(幫助大家轉(zhuǎn)變思維,確保組織的各個層面都發(fā)生有效的變革,不僅能促成短期成功,而且更重要的是通過使用Scrum得到長遠的收益)。擔(dān)任:產(chǎn)品經(jīng)理、開發(fā)、測試活其他又技術(shù)背景的人。一般是女性。
????實際過程中,該職位的擔(dān)任著應(yīng)該具備一定的技術(shù)背景,因為在迭代過程中你會遇到很多的潛在風(fēng)險和問題。這需要你有一定的經(jīng)驗做到提前識別風(fēng)險和當(dāng)問題出現(xiàn)的時候能拿出具體解決辦法,同時也你要有很好的溝通能力,需要跟開發(fā)和客戶代表有一個很好的溝通。這些都是很考驗一個人的。作為一個只有測試背景的假“敏捷教練”,個人認為真的很鍛煉人,而且具有一定挑戰(zhàn)性,感覺自己那點可憐的經(jīng)驗在實際應(yīng)用中的作用是非常微小甚至可以說相當(dāng)于“無”的。而且理論和實際真的差的很遠,要學(xué)習(xí)的路還有很長很長。
開發(fā)團隊(Team):
????——真正干活的人,敏捷的靈魂所在一個跨職能的小團隊(3-9人)。團隊人員包括設(shè)計-構(gòu)建-測試相關(guān)職能的人員。小團隊比較靈活,可以快速的監(jiān)視、調(diào)整自己,這也是與傳統(tǒng)瀑布模型最不一樣的地方吧。他們是沖刺產(chǎn)品待辦列表(SprintBacklog)的負責(zé)人,負責(zé)在迭代結(jié)束時交付潛在可發(fā)布產(chǎn)品增量。特性/技能:自組織、跨職能、T型技能、火槍手態(tài)度、高帶寬溝通(管飯)透明溝通、小團隊、工作節(jié)奏、成員穩(wěn)定。
????實際過程中,培養(yǎng)團隊的跨職能行是非??简炄说模凑諅鹘y(tǒng)的模式,每個人有自己負責(zé)的模塊或渠道。你讓它們突然加入到敏捷,然后去拓展自己的技能寬度(學(xué)習(xí)其他模塊或著做測試),它們會具有逆反的心理,不愿意改變。其次,敏捷要求迭代按照故事優(yōu)先級進行開發(fā),開發(fā)完一個再開發(fā)一個,開發(fā)人員結(jié)對開發(fā)。但是實際過程中,這種情況實行起來是有困難的,一是人們不愿意去改變現(xiàn)狀,二是因為工作壓力比較大,沒有多余時間學(xué)習(xí)其他模塊的知識,導(dǎo)致它們的T型技能無法拓展。所以才會出現(xiàn)前3次迭代失敗。這個需要領(lǐng)導(dǎo)的支持,要預(yù)留開發(fā)人員拓展自己技能的時間,慢慢的進行改進。
3種工件(產(chǎn)品待辦列表、迭代代辦列表和潛在可發(fā)布的產(chǎn)品增量)
產(chǎn)品列表(由產(chǎn)品代辦事項組成Product Backlog Item):
????一個按優(yōu)先級排序的、預(yù)期產(chǎn)品功能列表。PBI類型:特性、變更、缺陷、技術(shù)改進和獲取知識。特性:詳略得當(dāng)、涌現(xiàn)的、做過估算的、排列優(yōu)先順序的。由產(chǎn)品負責(zé)人決策,內(nèi)部利益干系人可參與梳理。
迭代列表(Sprint Backlog):
????開發(fā)團隊開會承諾的從產(chǎn)品列表篩選出來的用于本次迭代交付的具有優(yōu)先級故事(需求)。他是產(chǎn)品列表的進一步細化,由兩部分組成,本次沖刺的目標(biāo)+篩選出來拆分為更詳細的任務(wù)(工時級別)的沖刺列表。
潛在的產(chǎn)品增量:
????沖刺結(jié)束的時候開發(fā)人員提交的測試完成的產(chǎn)品增量,可直接發(fā)布。(產(chǎn)品增量是否發(fā)布由產(chǎn)品責(zé)任人決定)
本書中對迭代列表和可交付的潛在產(chǎn)品增量描述的比較少,我是就個人理解和結(jié)合書本來寫的。此處落下了產(chǎn)品列表拆分為“故事”環(huán)節(jié),以及拆分故事應(yīng)該滿足的5中特性INVEST
5種活動(沖刺、沖刺計劃會議、每日站會、沖刺評審會議、沖刺回顧)
沖刺過程中涉及到的5種活動,應(yīng)該說時4中。個人認為這是scrum的框架的主要體現(xiàn),也是貫穿整本書的只要關(guān)鍵詞(可能我用詞不太得到)。每個會議或活動有各自的存在意義,一開始不太理解,在實際操作中才意識到他的好處,但是嚴格的按照流程執(zhí)行的話,現(xiàn)實中也存在一定的困難,需要靈活的、隨機應(yīng)變的作出一定的調(diào)整。
沖刺:
在Scrum中,工作在不超過一個月的迭代或循環(huán)中進行,這個迭代或循環(huán)成為沖刺。每個沖刺完成的工作應(yīng)當(dāng)創(chuàng)建一類對客戶來說具有明確價值的東西。由固定的開始和結(jié)束時間,沖刺的持續(xù)期也也是相等的。包括:沖刺規(guī)劃、沖刺執(zhí)行、每日理會、完成、沖刺評審、沖刺回顧。沖刺過程中的檢視-調(diào)整活動:每日站會、沖刺評審、沖刺回顧、沖刺規(guī)劃
沖刺計劃會議(沖刺規(guī)劃):
Scrum團隊對沖刺目標(biāo)達成一致,開發(fā)團隊確定與目標(biāo)一致的具體各個PBI,同時確定能在沖刺結(jié)束之前交付。時間:每個沖刺開始前,一周沖刺對應(yīng)2小時(迭代周期增常依次推理即可)。參與者: 產(chǎn)品負責(zé)人、ScrumMaster、開發(fā)團隊。輸入:產(chǎn)品列表、速率、團隊生產(chǎn)能力、約束和初始沖刺目標(biāo)。內(nèi)容:確定生產(chǎn)能力、選擇PBI、細化沖刺目標(biāo)、獲得信心、敲定承諾。輸出:沖刺目標(biāo)、沖刺訂單。
每日站會:
關(guān)鍵的每日件事-調(diào)整活動,可以幫助團隊以更快、更靈活的工作流完成解決方案。其目標(biāo)是聚集想要達到?jīng)_刺目標(biāo)的人,分享迭代進展的全貌,從集體的角度理解有多少工作要做、要開始還有助于消除等待。參與者:開發(fā)團隊、PO 時間:同一時間同一地點15分鐘之內(nèi)的一個非正式會議。輸入:沖刺列表 。內(nèi)容:每日站會檢視-調(diào)整開發(fā)進度。輸出:潛在可上市產(chǎn)品增量。
沖刺評審會議:
重點是產(chǎn)品本身,使每個可以對產(chǎn)品開發(fā)工作提出建議的人有機會見識和調(diào)整當(dāng)前構(gòu)建的產(chǎn)品。讓人們清楚看到產(chǎn)品當(dāng)前的狀態(tài),包括讓人頭疼的真相??梢蕴釂?、發(fā)表見解或給出建議,討論結(jié)合當(dāng)前實際最好采取哪些措施。時間:每個從此快要結(jié)束時,在沖刺之后、沖刺回顧之前。(實際情況:一般在沖刺回顧第二天)。參與者:Scrum團隊、內(nèi)部利益干系人、其他內(nèi)部利益干系人、外部利益干系人。流程:1、準備工作:確定參與者、安排日程、確認沖刺工作已完成、為演示做準備、確定誰來演示。2、方式(方法):總結(jié)或概要說明沖刺目標(biāo)中哪些完成了、哪些沒有完成;演示潛在可發(fā)布產(chǎn)品增量;討論產(chǎn)品當(dāng)前狀態(tài);調(diào)整產(chǎn)品未來產(chǎn)品。輸入:沖刺目標(biāo)、沖刺列表、潛在可交付產(chǎn)品增量。內(nèi)容:概述、演示、調(diào)整、討論 輸出:經(jīng)過梳理的產(chǎn)品列表、更新后的版本計劃。
沖刺回顧會議:
重點是scrum團隊檢查產(chǎn)品的構(gòu)建過程。停下急促的步伐,思考片刻。(很喜歡書中的這句話,特意抄下來了)。時間:沖刺結(jié)束的第二天,一周對應(yīng)45分鐘。參與者:Scrum團隊全體、非Scrum團隊中的利益干系人或經(jīng)理。流程:1、準備工作:定義回顧重點(a.重點關(guān)注如何提高我們使用測試驅(qū)動(TDD)開發(fā)的技能b.重點關(guān)注真正的需求,搞清楚為什么我們做的并飛客戶想要的)、選擇練習(xí)活動、手機客觀數(shù)據(jù)、安排回顧日程2、方式(方法):輸入:重點、練習(xí)活動、客觀數(shù)據(jù)、主觀數(shù)據(jù)、見解列表。內(nèi)容:營造氛圍、共同背景、識別見解、確定措施、結(jié)束活動輸出:改進措施、見解列表、更緊密的合作氛圍。
本書中對于每種活動的作用目的、輸入、產(chǎn)出給出明確的定義。作為一個新入門的人來說,具有非常重要的參考意義,起碼在你能明白每個活動的實際意義所在,不是為了走SCRUM的流程而嚴格執(zhí)行流程。之前任務(wù)只要ScrumMaster只要監(jiān)督者開發(fā)團隊按照敏捷的流程走就行了,當(dāng)時認為沖刺也不過于此嘛,不明白每個不活動的實際意義所在,開完了這本書起碼讓自己認清了自己,還是井底之蛙,還要學(xué)習(xí)的理論的東西很多,把理論運用到實際生活中的東西更多。最常見的就是沖刺會議時,開發(fā)人員一片安靜,不知如何是好的情況也是有的。
5種價值觀(勇氣、開放、承諾、專注和尊重)
????勇氣-勇于面對未知的問題,愿意嘗試自己不熟悉的工作
????開放-思想開放,不拘泥于已知的思維和做事方法,樂于分享自己 的成果,能夠聽取別人的意見
????承諾-能夠?qū)F隊的目標(biāo)做為自己的目標(biāo)進行承諾,對于承諾積極 實現(xiàn),對于承諾而無法實現(xiàn)的結(jié)果能夠承擔(dān)責(zé)任
????專注-專心自己當(dāng)前的工作目標(biāo),不會被環(huán)境和中途發(fā)生的事情所打擾
????尊重-像尊重自己一樣尊重團隊的其它成員
這部分是從別的地方摘抄過來的,本書中并未見到過關(guān)于價值觀的描述,也可能我看的不太仔細,沒有留意到。我能說在實際應(yīng)用中,這些價值觀是滲透到內(nèi)部的,更多的是深入到思想的。而貫徹這種價值是需要時間積累的,不可能立馬見效果的。
3、本書的其他信息
????敏捷原則:
本書中用了很大篇幅來講述這些原則,可以說這些原則是貫穿于各個層級、滲透到各個活動當(dāng)中的。就我而言,實際中用到的部分更多的是在做做PPT用來體現(xiàn)和總結(jié)一張ppt的“專業(yè)術(shù)語”。敏捷原則分類:
????1)可變性和不確定性:積極采用有幫助的可變性;采用迭代和增量開發(fā);通過檢視、調(diào)整、適應(yīng)和透明來利用可變性。
????2)預(yù)測和適應(yīng):不到最后時刻,不輕易決定;承認無法一開始就把事情做對;偏好適應(yīng)性、探索式方法;用經(jīng)濟合理的方法接受變化;在預(yù)測型事前工作和適應(yīng)型剛好及時的工作之間做平衡。
????3)經(jīng)驗認知:快速驗證重要的假設(shè);利用多個認知循環(huán)并行的優(yōu)勢;組織工作流程已獲得快速反饋
????4)WIP:使用經(jīng)濟合理的批量大?。蛔R別并管理庫存以達到良好的流動;關(guān)注閑置工作(工作停滯,沒人干),而非閑置人員(沒活干);考慮延期成本
????5)進度:適應(yīng)實時的信息并重新定制計劃;通過驗證流動資產(chǎn)來測量進度;專注于以價值為中心的交付
????6)執(zhí)行:快速前進,但不匆忙;以質(zhì)量為魂;選用最小、夠用的方式
規(guī)劃:
本書第三部分主要描述的各個層級的規(guī)劃,從更大的范圍描述怎么在更大范圍或領(lǐng)域落實Scrum價值觀,使得企業(yè)或項目自上而下的發(fā)生變革,而非僅僅是Scrum團隊。這部分在實際應(yīng)用中對我的影響不太大,所以沒有單獨拿出來進行詳細的說明。相當(dāng)于知識拓展吧,嘿嘿。這個部分重點講解了構(gòu)想層級(產(chǎn)品規(guī)劃)的主要活動:愿景、概要產(chǎn)品列表、產(chǎn)品路線圖。
技術(shù)債:
關(guān)于技術(shù)債這部分本書描述的也挺詳細的。包括期分類、起因及后果。可能這部分對開發(fā)人員更友好,對我來說就相當(dāng)于知識擴展了。
這本書的感想和相關(guān)內(nèi)容就總結(jié)這么多了。第一次這么專業(yè)的讀后感,有點虛,哈哈。挺推薦給Scrum入門級別的人來閱讀。
ps:本讀后感部分內(nèi)容摘自本書。