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