前幾年,一本叫《沉思錄》的書(shū)在國(guó)內(nèi)突然曝光度很多,很多讀者都是“擺案頭,讀百遍”?!冻了间洝肥枪帕_馬皇帝馬可·奧勒寫(xiě)給自己的書(shū),內(nèi)容大部分是在鞍馬勞頓中寫(xiě)的。其實(shí)有一句“我們所聽(tīng)到的不過(guò)只是一個(gè)觀點(diǎn),而非事實(shí)。我們所看到的不過(guò)只是一個(gè)視角,而非真相”。
全員都參加的回顧會(huì)議,其實(shí)就是希望能通過(guò)全員視角,全員的觀點(diǎn)來(lái)回顧做的好的,做的不好的,改進(jìn)之。從敏捷宣言,到敏捷的諸多實(shí)踐(如 Scrum),到 DevOps,都一直提倡回顧這種形式。
其實(shí)回顧這種形式,并不是敏捷 /DevOps 專(zhuān)屬的,華為最早也有類(lèi)似的活動(dòng)。有時(shí)候團(tuán)隊(duì)碰到域郁悶,痛苦的時(shí)候,還會(huì)主動(dòng)自發(fā)的開(kāi)。
所以,回顧,我一直認(rèn)為這是人類(lèi)作為一個(gè)智慧物種相比其他生物的一個(gè)重要區(qū)別。我有的時(shí)候回通過(guò)回顧會(huì)議來(lái)判斷這個(gè)團(tuán)隊(duì)會(huì)不會(huì)成功。最極端的,如果甚至都沒(méi)有人想著要約大家一起回顧,這個(gè)團(tuán)隊(duì)極大概率要88了。
華為內(nèi)部不僅研發(fā)交付團(tuán)隊(duì),連一線的市場(chǎng)團(tuán)隊(duì),在重大的市場(chǎng)項(xiàng)目,交付項(xiàng)目的過(guò)程中都會(huì)定期進(jìn)行回顧會(huì)議,算是華為內(nèi)部這么多年積累的一個(gè)很好的實(shí)踐。
必須鮮明表達(dá)的觀點(diǎn)——回顧有三個(gè)不是
1. 不是“回溯”。“顧”和“溯”一字之差,在中文的語(yǔ)境中,卻會(huì)導(dǎo)致變成刨根問(wèn)底。
2. 不是“批評(píng)與自我批評(píng)”。“批評(píng)與自我批評(píng)”是一個(gè)很好的形式,但是會(huì)導(dǎo)致團(tuán)隊(duì)陷入一種不必要的緊張和犯錯(cuò)感。
3. 不是“問(wèn)責(zé)和處罰”。軟件的不確定性,不可見(jiàn)性,復(fù)雜性,易變性決定了軟件開(kāi)發(fā)過(guò)程總會(huì)有些磕磕絆絆,我們提倡的是改進(jìn),不是懲罰。
從華為這么多年的實(shí)踐來(lái)看,上面的三種情況都出現(xiàn)過(guò),所以提醒大家要小心。
這么些年實(shí)踐過(guò)來(lái),我們發(fā)現(xiàn)出現(xiàn)以上情況,也是因?yàn)椴阶幼叩锰欤皖^玩手機(jī),忘了“回顧”的初心:
1. For a better future;
2. Learn from past;
3. Take action in present.
回顧會(huì)議的基本原則
1. 對(duì)事不對(duì)人。舉個(gè)例子,我們可以說(shuō)“代碼評(píng)審不充分,所以代碼缺陷較高”,不能說(shuō)“某帥哥評(píng)審不認(rèn)真”,當(dāng)然夸人帥還是可以的哈。
2. 聚焦于下次能否做得更好。還舉同樣的例子,我們可以說(shuō)“這個(gè)迭代代碼評(píng)審不充分,下個(gè)迭代我們?cè)趺床拍鼙WC更充分的評(píng)審”。
3. 從系統(tǒng)角度思考改進(jìn),而非個(gè)人。我們可以說(shuō)“團(tuán)隊(duì)的工作安排上,導(dǎo)向上是不是不重視代碼評(píng)審?”
回顧會(huì)議的 Step by Step
1. 確定參與人(Who)
a) 團(tuán)隊(duì)所有成員都參加。
b) 領(lǐng)導(dǎo)是否參加,試情況,如果領(lǐng)導(dǎo)參加利大于弊,就邀請(qǐng),否則還是算了。
c) 如果是重大的項(xiàng)目發(fā)布或項(xiàng)目結(jié)束的回顧會(huì)議,還應(yīng)該叫上所有對(duì)項(xiàng)目有付出的成員。
d) 建議指定一個(gè)會(huì)議引導(dǎo)人,可以是敏捷教練,也可以是團(tuán)隊(duì)成員輪流(團(tuán)隊(duì)成員建議熟讀本文)。
2. 選擇合適的場(chǎng)所(Where)
a) 如果條件允許,離辦公位盡可能遠(yuǎn)一點(diǎn),避免有同學(xué)中途又回去處理工作了。
b) 盡可能不要使用傳統(tǒng)會(huì)議室的布局,圍坐一個(gè)大桌子那種不好。可以拉幾把椅子圍成一個(gè)半圓形。
c) 需要有白板,或者墻壁可以貼個(gè)大白紙。

3. 準(zhǔn)備回顧的內(nèi)容(What)
a) 準(zhǔn)備上個(gè)迭代的客觀數(shù)據(jù),特性、需求、缺陷等數(shù)據(jù),如果使用了像 DevCloud 這樣的敏捷管理工具,準(zhǔn)備數(shù)據(jù)其實(shí)很快的,甚至不用特別準(zhǔn)備,現(xiàn)場(chǎng)打開(kāi)就可以,類(lèi)似如下這樣:

b) 團(tuán)隊(duì)成員上個(gè)迭代的感受,可以認(rèn)為是主觀數(shù)據(jù)的收集。
c) 每日站立會(huì)議的要點(diǎn)。每日站立會(huì)議中都會(huì)提出并跟蹤解決一些問(wèn)題,回顧這些問(wèn)題也可以幫助我們審視過(guò)程中的情況。
d) 準(zhǔn)備一個(gè)規(guī)則,會(huì)議開(kāi)始前貼出來(lái)或打印出來(lái)或投影儀投出來(lái)。規(guī)則是為了保證會(huì)議的紀(jì)律和效率,比如不能隨便打斷別人講話,每人發(fā)言時(shí)長(zhǎng),會(huì)議時(shí)長(zhǎng)(建議 10~12 人的團(tuán)隊(duì),限定在 1 小時(shí)內(nèi))。
4. 回顧會(huì)議的過(guò)程(How)
a) 準(zhǔn)備和引導(dǎo)——明確目標(biāo)。重申回顧會(huì)議的目標(biāo)和原則,讓成員重拾回顧的“初心”,發(fā)布公示如下的回顧宣言,重申會(huì)議紀(jì)律,時(shí)長(zhǎng)。準(zhǔn)備和引導(dǎo)環(huán)節(jié)是讓大家放下手機(jī),進(jìn)入回顧會(huì)議狀態(tài)的必要環(huán)節(jié),無(wú)論開(kāi)過(guò)多少次,都不應(yīng)該省掉。
b) 數(shù)據(jù)、過(guò)程的回放——建立共同的全景。展示本迭代的度量數(shù)據(jù),如果有使用類(lèi)似 DevCloud 的敏捷管理工具,可以直接打開(kāi)系統(tǒng)。全景的數(shù)據(jù)展示回顧,讓視角更全面。對(duì)于一些“歷經(jīng)劫難”的迭代,可以畫(huà)一個(gè)時(shí)間線,把這個(gè)迭代發(fā)生的重大的一些事件按照時(shí)間順序展示出來(lái),幫助團(tuán)隊(duì)成員回顧都發(fā)生了什么。
c) 提出見(jiàn)解——我們?nèi)绾尾拍茏龅酶???梢酝ㄟ^(guò)頭腦風(fēng)暴,全員參與,有很多種分類(lèi)的方法,如下圖中是分為“Good”(下個(gè)迭代哪些好的方法可以繼續(xù)保持),“Could Better”(下個(gè)迭代可以哪些地方可以做得更好),Improvements(新的改進(jìn)的具體想法)??梢圆捎?ldquo;有限投票”的方式,每個(gè)成員有 5 票(比如小磁貼或直接記正字),大家共同團(tuán)隊(duì)層面需要重點(diǎn)改進(jìn)的。其實(shí)投票未排進(jìn) Top 的改進(jìn),如果不需要組織和團(tuán)隊(duì)來(lái)推動(dòng),個(gè)人也可以實(shí)施的改進(jìn),也應(yīng)該支持。

d) 確定措施——想清楚就干,才有誠(chéng)信。識(shí)別了重點(diǎn) 的改進(jìn)項(xiàng),為每一個(gè)改進(jìn)項(xiàng)指定計(jì)劃,執(zhí)行的措施,需要更高層面去解決的措施需要單獨(dú)列出來(lái),項(xiàng)目 Leader 會(huì)后要發(fā)揮“死纏爛打”的精神去騷擾領(lǐng)導(dǎo)了,同時(shí)每個(gè)改進(jìn)措施都應(yīng)該明確一個(gè)責(zé)任人,如果沒(méi)有明確的責(zé)任人,大家都會(huì)認(rèn)為是別人的事情。
e) 結(jié)束會(huì)議——果斷結(jié)束,絕不拖泥帶水。將會(huì)議中達(dá)成共識(shí)的措施和計(jì)劃整理記錄下來(lái),如果使用了敏捷管理的工具系統(tǒng),可以直接輸入到系統(tǒng)中,記錄為 Story 或者任務(wù)。
來(lái)自實(shí)踐中的一些坑和雷
1. 不持之以恒。那什么幾天打魚(yú),幾天曬網(wǎng)的可不行。
2. 理想主義。團(tuán)隊(duì)級(jí)的回顧會(huì)議應(yīng)基于現(xiàn)實(shí),而非理想,或者說(shuō)理想可以有,詩(shī)和遠(yuǎn)方也可以有,但是回顧會(huì)議還是應(yīng)接地氣。
3. 沉迷于細(xì)節(jié)。程序員有的時(shí)候特別認(rèn)真,容易把問(wèn)題引入到技術(shù)細(xì)節(jié),這樣會(huì)導(dǎo)致議題發(fā)散。
4. 為了調(diào)節(jié)會(huì)議氛圍,可以準(zhǔn)備些吃的,補(bǔ)充能量,大腦才能激發(fā)。
最后的最后,每個(gè)迭代回顧會(huì)議,都不要忘了感謝辛苦碼代碼的自己,也不要忘了感謝為了心中教堂而努力的所有團(tuán)隊(duì)成員。
特別提醒:本網(wǎng)內(nèi)容轉(zhuǎn)載自其他媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。
相關(guān)推薦
- 個(gè)人站長(zhǎng)消亡論?從“消失”到“重生”的三大破局路徑
- 選擇站群VPS時(shí)必須關(guān)注的六大核心需求
- 匯聚產(chǎn)業(yè) 共話創(chuàng)新實(shí)踐丨IDCC2024算力技術(shù)創(chuàng)新與應(yīng)用系列論壇圓滿(mǎn)召開(kāi)
- 獎(jiǎng)項(xiàng)申報(bào)丨2024中國(guó)IDC產(chǎn)業(yè)年度評(píng)選正式啟動(dòng) 邀您共筑算力新未來(lái)
- 入門(mén)級(jí)攻略:如何容器化部署微服務(wù)?
- 容器云服務(wù)引擎是什么?如何使用
- 阿里云CTO周靖人:全面投入升級(jí)AI大基建
- 通義靈碼AI編程能力再進(jìn)化,說(shuō)幾句話就能開(kāi)發(fā)網(wǎng)頁(yè)