序
每當(dāng)我過生日的時(shí)候,我都喜歡回頭反思一下我的生活:這些年我是怎樣度過的?30 年前、10 年前、1 年前,我當(dāng)時(shí)想自己將來會(huì)在哪里?我現(xiàn)在在哪里?我如何才能把事情做得更好?哪些事情讓我后悔應(yīng)該早一點(diǎn)完成?我現(xiàn)在的表現(xiàn)是否如我所愿?我對(duì)別人的影響是否如我期望的那樣?如果不是,未來幾年應(yīng)該如何改進(jìn)?我是否明智地運(yùn)用了我的聰明才智?
這就是我的回顧,回頭看自己的過去,評(píng)估并反思每一件事,盡量把來年的事情安排妥當(dāng)。但是,世事難料,我也不例外。我無法預(yù)知事態(tài)的進(jìn)展,因?yàn)槿说乃季S會(huì)隨著環(huán)境的變化而不斷變化,這就使得未來充滿了不確定性。有誰能預(yù)知自己的孩子將來會(huì)是什么樣的?當(dāng)然,把目標(biāo)定得更明確一些,生日過得更頻繁一些,也許回顧就會(huì)更有效一些。我敢打賭,如果在我過生日的時(shí)候,有埃斯特和黛安娜在場,好多事情就會(huì)得到更好的解決。他們倆在書中描
述的出色的引導(dǎo)師可以為我提供新的靈感并幫我集中思考接下來的工作步驟。
我從事迭代開發(fā)、增量開發(fā)(也稱敏捷開發(fā))工作有11 年了,我的選擇是Scrum,在Scrum 里面,為項(xiàng)目確立非常明確的目標(biāo),然后在每次迭代開發(fā)周期里都進(jìn)行重置。因?yàn)榈_發(fā)周期是30 天,這就使得項(xiàng)目不會(huì)產(chǎn)生太大的偏離。由于Scrum 應(yīng)用的領(lǐng)域是軟件構(gòu)建而不是通常的生活,因此很容易就能看出它是在正確的方向上有所進(jìn)展,還是有所偏差而需要調(diào)整。因?yàn)镾crum 是一項(xiàng)團(tuán)隊(duì)活動(dòng),所以團(tuán)隊(duì)反思就變得至關(guān)重要,需要每個(gè)人都參與進(jìn)來,這樣會(huì)收到意想不到的結(jié)果。
愛德華·猶敦(Edward Yourdon)把項(xiàng)目中經(jīng)歷的漫長而可怕的過程描述成“死亡之旅”。這些項(xiàng)目的一個(gè)共同問題就是沒有過“生日”,沒有定期地進(jìn)行反思和調(diào)整。而敏捷項(xiàng)目中的軟件是通過迭代開發(fā)和交付的,這種自然節(jié)奏提供了類似“生日”這樣的休息點(diǎn),使開發(fā)團(tuán)隊(duì)有機(jī)會(huì)改進(jìn)正在做的工作,并改善他們對(duì)自己工作的感受。這是多么好的機(jī)會(huì)呀!好好讀一讀埃斯特和黛安娜的這本書,看看如何進(jìn)行這樣的“生日”反思。
肯.施瓦伯(Ken Schwaber)
Scrum 的創(chuàng)始人和推廣者
前言
當(dāng)提到回顧(Retrospective)這個(gè)詞的時(shí)候,我們的腦海里就會(huì)出現(xiàn)一幅畫面:每當(dāng)一項(xiàng)增量開發(fā)工作告一段落時(shí),整個(gè)團(tuán)隊(duì)就會(huì)聚在一起召開一個(gè)特別的會(huì)議,檢視并調(diào)整工作方法和團(tuán)隊(duì)合作;仡檿(huì)議能夠加強(qiáng)整個(gè)團(tuán)隊(duì)的學(xué)習(xí),就像一劑促進(jìn)變革的催化劑,讓大家行動(dòng)起來。
回顧會(huì)議的意義不只是一份項(xiàng)目審計(jì)檢查單,或者例行公事的項(xiàng)目收尾。與傳統(tǒng)意義上的事后評(píng)估或項(xiàng)目評(píng)審不同,回顧會(huì)議注重的不僅僅是開發(fā)流程,更重要的是團(tuán)隊(duì)中存在的問題,團(tuán)隊(duì)問題的挑戰(zhàn)難度不亞于技術(shù)問題。
我們主持回顧會(huì)議和指導(dǎo)別人主持回顧會(huì)議已有20 年,事實(shí)上,2003 年在奧地利巴登舉辦的一年一度回顧會(huì)議引導(dǎo)師大會(huì)上,我們就被冠以“回顧會(huì)議女神”的稱號(hào)。當(dāng)然,我們不是要你每天都去讀一本由兩位“女神”寫的書,我們也不敢以“女神”自居,但是我們確實(shí)知道許多能幫助團(tuán)隊(duì)通過回顧會(huì)議一起學(xué)習(xí)的方法和手段。
我們聽到有些人抱怨“回顧會(huì)議純屬浪費(fèi)時(shí)間”。但是,當(dāng)深入了解他們的回顧會(huì)議的細(xì)節(jié)時(shí),我們發(fā)現(xiàn)他們所描述的回顧會(huì)議與我們這里所說的回顧會(huì)議不是一回事。當(dāng)他們按照我們?cè)诒緯忻枋龅牧鞒倘プ鲋螅覀兛吹搅撕芎玫男Ч?/p>
我們的客戶和同事告訴我們,他們確實(shí)從回顧會(huì)議中獲益。下面就是我們看到和聽到的一些案例,在每個(gè)案例中都提到,在回顧會(huì)議上,整個(gè)團(tuán)隊(duì)一起總結(jié)那些已得到改善的地方和下一步要開展的新的實(shí)踐。
提高生產(chǎn)力:加利福尼亞州的一個(gè)團(tuán)隊(duì)通過改進(jìn)單元測試從而減少了在版本發(fā)布后期的重復(fù)返工。他們?cè)黾恿藴y試的次數(shù)和頻率,這樣就能盡早地發(fā)現(xiàn)錯(cuò)誤,而不至于在最后發(fā)布的時(shí)候手忙腳亂。
提高能力:佛羅里達(dá)州的一個(gè)團(tuán)隊(duì)通過回顧會(huì)議想出了一個(gè)方法,解決了一個(gè)長期存在的問題。在他們團(tuán)隊(duì)中,只有一個(gè)人懂得如何將客戶數(shù)據(jù)整合到公司的數(shù)據(jù)庫中。他們通過設(shè)置結(jié)對(duì)工作機(jī)制,使另一個(gè)團(tuán)隊(duì)的成員也掌握了數(shù)據(jù)庫知識(shí),從而解決了這個(gè)瓶頸問題。
提高質(zhì)量:明尼蘇達(dá)州的一個(gè)團(tuán)隊(duì)通過回顧會(huì)議發(fā)現(xiàn),在迭代開發(fā)期間缺乏與客戶的溝通和錯(cuò)失需求之間存在明顯的聯(lián)系。他們?cè)诤罄m(xù)的迭代開發(fā)過程中通過提高客戶參與度,減少了誤解和返工。隨著與客戶合作的增加,團(tuán)隊(duì)做無用功的時(shí)間減少了,而把大量的時(shí)間用于減少產(chǎn)品缺陷和重構(gòu)的工作上。
增強(qiáng)功能:紐約的一個(gè)團(tuán)隊(duì)通過研究如何對(duì)特性進(jìn)行優(yōu)先級(jí)排序,以及專注于提供較小的高價(jià)值特性集,從每年一次的版本發(fā)布提升為每季度一次。
回顧會(huì)議最起碼可以為團(tuán)隊(duì)提供一個(gè)自我激勵(lì)和自我愉悅的機(jī)會(huì)。
一個(gè)位于倫敦的團(tuán)隊(duì)在執(zhí)行了迭代回顧會(huì)議一年之后,反饋說迭代回顧會(huì)議讓他們的生活變得更加美好了。另一個(gè)團(tuán)隊(duì)在遇到一個(gè)特別棘手的問題時(shí)請(qǐng)來了一名外部顧問,這名顧問在觀察了這個(gè)團(tuán)隊(duì)的回顧會(huì)議之后,指出這個(gè)團(tuán)隊(duì)具有非常好的探索和處理沖突的技能,甚至比一些專業(yè)人士都要強(qiáng)。
這個(gè)團(tuán)隊(duì)懂得如何進(jìn)行令人不舒服但必要的對(duì)話,以解決他們的分歧,從而避免這些分歧最終變成沖突或怨恨。
我們無法預(yù)測你運(yùn)用了回顧會(huì)議之后會(huì)獲得什么結(jié)果,但許多跡象表明,回顧會(huì)議能夠改善團(tuán)隊(duì)合作、改進(jìn)工作方法、提升工作滿意度,以及實(shí)現(xiàn)更好的工作結(jié)果。