摘要:
在這1個(gè)多月期間,我所在的團(tuán)隊(duì)體驗(yàn)了一段美妙的遠(yuǎn)程工作時(shí)光。雖然我們的項(xiàng)目上有著50多位同事,多個(gè)小團(tuán)隊(duì)并行工作,但是我們的團(tuán)隊(duì)依然保證和WFH前的交付速率和質(zhì)量,也沒(méi)有為了保證速率而加班。
太長(zhǎng)不看版
在雪崩之下,沒(méi)有一片雪花是無(wú)辜的。
在這1個(gè)多月期間,我所在的團(tuán)隊(duì)體驗(yàn)了一段美妙的遠(yuǎn)程工作時(shí)光。
雖然我們的項(xiàng)目上有著50多位同事,多個(gè)小團(tuán)隊(duì)并行工作,但是我們的團(tuán)隊(duì)依然保證和WFH前的交付速率和質(zhì)量,也沒(méi)有為了保證速率而加班。
回顧團(tuán)隊(duì)在這段時(shí)間的點(diǎn)滴,我發(fā)現(xiàn)如果遠(yuǎn)程團(tuán)隊(duì)找到辦公室內(nèi)的協(xié)作感,就可以降低協(xié)作成本,提升團(tuán)隊(duì)的交付效能。
我從團(tuán)隊(duì)的實(shí)踐中提煉了以下幾點(diǎn):
- 圍繞 Slack 這樣的即時(shí)協(xié)作平臺(tái)構(gòu)建一個(gè)線(xiàn)上交流空間
- 舉辦短促頻繁高效的站會(huì)給團(tuán)隊(duì)在一起工作的感覺(jué)
- 使用固定的視頻會(huì)議室來(lái)縮短天各一方的空間障礙
- 通過(guò)電子可視化恢復(fù)團(tuán)隊(duì)協(xié)作的物理感
- 使用日歷/提醒來(lái)提高勾搭協(xié)作的成功率
我希望我總結(jié)的實(shí)踐集合:
為了 遠(yuǎn)程軟件開(kāi)發(fā)團(tuán)隊(duì)
他們?cè)?WFH 期間發(fā)現(xiàn)團(tuán)隊(duì)溝通成本直線(xiàn)提高,導(dǎo)致項(xiàng)目的交付周期變慢,質(zhì)量變差
這個(gè):團(tuán)隊(duì)協(xié)作速效救心丸
是一個(gè)幫助團(tuán)隊(duì)迅速找回在辦公室協(xié)作模式的藥方
它可以為轉(zhuǎn)入遠(yuǎn)程工作模式下的團(tuán)隊(duì)提供一組非辦公室內(nèi)協(xié)作環(huán)境差異列表,以及一組建議幫助團(tuán)隊(duì)盡快找回辦公室的協(xié)作感
而不像另外一些遠(yuǎn)程協(xié)作建議那樣,需要團(tuán)隊(duì)花大量的時(shí)間優(yōu)化工作任務(wù)的組織分配、提高工作人員的協(xié)作能力
我們的產(chǎn)品:可以在1周內(nèi)快速幫助團(tuán)隊(duì)降低協(xié)作成本
具體的實(shí)踐
1. 圍繞 Slack 這樣的及時(shí)協(xié)作平臺(tái)構(gòu)建一個(gè)線(xiàn)上交流空間
場(chǎng)景:
團(tuán)隊(duì)在辦公室的空間,作為工作空間的同時(shí),也是一個(gè)交流空間。團(tuán)隊(duì)工作所需要的信息無(wú)時(shí)無(wú)刻不在這個(gè)空間中流動(dòng),這種信息流動(dòng)推動(dòng)了工作的順利實(shí)施。
在 WFH 的時(shí)候,個(gè)人的辦公環(huán)境只是一個(gè)工作空間,線(xiàn)下的交流空間蕩然無(wú)存。
所以在轉(zhuǎn)入遠(yuǎn)程工作的時(shí)候,第一件事就是構(gòu)建一個(gè)線(xiàn)上辦公室,讓團(tuán)隊(duì)的信息重新流動(dòng)起來(lái)。
方案:
在這里,我推薦使用 Slack 作為構(gòu)建線(xiàn)上辦公室的平臺(tái)。
在一個(gè)多月的實(shí)踐過(guò)程中,我發(fā)現(xiàn)相比微信等即時(shí)通訊工具,Slack不只提供了群體對(duì)話(huà)的能力,也很好還原了人在辦公室跟信息互動(dòng)的體驗(yàn)。
讓我們回憶下,我們身處辦公室這樣一個(gè)交流空間的感覺(jué):
- 各種關(guān)于工作的信息都會(huì)流淌在這個(gè)空間里
- 我們可以只關(guān)注自己團(tuán)隊(duì)的話(huà)題,也可以選擇加入到其他團(tuán)隊(duì)的討論中
- 團(tuán)隊(duì)內(nèi)會(huì)并行討論很多話(huà)題,話(huà)題間互不干擾,我們可以在團(tuán)隊(duì)內(nèi)多個(gè)話(huà)題間快速切換
- 我們可以有選擇的 follow 一個(gè)話(huà)題,參與到其中,聆聽(tīng)確認(rèn)發(fā)表更正自己的觀點(diǎn)
- 我們會(huì)自行屏蔽當(dāng)下認(rèn)為無(wú)關(guān)的討論,專(zhuān)注于手頭的工作
- 我們也可以通過(guò)回憶的方式回溯參與的/周邊的特定話(huà)題的信息
- 我們可以通過(guò)復(fù)述的方式將信息分享給后加入的同事
- 我們可以通過(guò)表情等多種方式表達(dá)想法
微信這類(lèi)很流行的即時(shí)通訊工具,可以很好的滿(mǎn)足第一、二條,讓信息流動(dòng)起來(lái)和信息的分組。但是作為線(xiàn)上會(huì)議室,微信沒(méi)有很好地提供信息的屏蔽和并行能力,海量的交互信息會(huì)使得每個(gè)辦公群跟一個(gè)菜市場(chǎng)一樣的吵雜。
在Slack里,
space, channel, thread 三級(jí)可以重現(xiàn)人在辦公空間對(duì)信息的篩選和專(zhuān)注能力;
歷史信息的記錄和搜索,可以實(shí)現(xiàn)人在辦公空間內(nèi)對(duì)信息的回溯和追蹤能力:
在日常時(shí)候,我們可以這樣實(shí)踐:
- 首先可以建立一個(gè)項(xiàng)目空間,保證項(xiàng)目里的同事可以分享/專(zhuān)注于這個(gè)項(xiàng)目的信息;
- 在每個(gè)項(xiàng)目空間中,我們可以創(chuàng)建 channel 作為不同團(tuán)隊(duì)的空間,這個(gè)感覺(jué)就好像在辦公室時(shí)候,自己團(tuán)隊(duì)附近的信息主要是關(guān)于這個(gè)團(tuán)隊(duì)的工作的
- Slack 還提供了一個(gè)非常有意思的功能 thread;通過(guò) thread 可以針對(duì) channel 里的某一句話(huà)發(fā)起一個(gè)專(zhuān)題討論,可以被所有人瀏覽,但是只會(huì)通知給參與 thread 的人。任何關(guān)于這個(gè)話(huà)題的討論,都可以不斷被追加到這個(gè) thread里來(lái),構(gòu)成一個(gè)完整的討論上下文
- Slack 里的歷史信息是不會(huì)被刪除,并且可以被搜索的;任意一個(gè)新加入項(xiàng)目空間/channel或者新加入討論的同事,通過(guò)瀏覽記錄就可以快速回溯話(huà)題的上下文;我個(gè)人習(xí)慣會(huì)在下班前10分鐘,瀏覽團(tuán)隊(duì)頻道、項(xiàng)目公共頻道今天討論的主題,補(bǔ)充因?yàn)樵诩夜ぷ?,失去的團(tuán)隊(duì)上下文
- Slack 提供了除文字以外的大量表情作為一句話(huà)的comments,顯示在這句話(huà)的下面,代替面對(duì)面的表情來(lái)傳遞對(duì)這句話(huà)的態(tài)度
當(dāng)然 Slack 提供了強(qiáng)大的自動(dòng)化能力,這個(gè)在后續(xù)中會(huì)提到。
2. 舉辦短促頻繁高效的站會(huì)給團(tuán)隊(duì)聚集在一起工作的感覺(jué)
場(chǎng)景:
辦公室不只是一個(gè)團(tuán)隊(duì)的工作空間和交流空間,同時(shí)也是團(tuán)隊(duì)的聚集空間。
在這個(gè)聚集空間中,團(tuán)隊(duì)成員享受共同的工作節(jié)奏(站會(huì)、午休、下午茶、下班)和隨時(shí)獲取到同事的工作狀態(tài)。
而 WFH 時(shí)候,帶給我們更獨(dú)立的工作空間的同時(shí),也剝奪了我們聚集在一起工作的感覺(jué)。
雖然我們通過(guò) slack 建立了一個(gè)線(xiàn)上交流空間,但是當(dāng)我們需要協(xié)作的時(shí)候,因?yàn)槿鄙倭斯蚕淼墓ぷ鞴?jié)奏/狀態(tài)信息,會(huì)發(fā)現(xiàn)不知道網(wǎng)絡(luò)另外一頭的同事正在做什么,不確定對(duì)方是否有時(shí)間和我協(xié)作;不知道其他參加者當(dāng)前的狀態(tài)是什么,判斷不了發(fā)起一個(gè)多方協(xié)作的合適時(shí)間。
團(tuán)隊(duì)也不知道是否有人遇到了困難,誰(shuí)可以幫助他。
解決方案:
通過(guò)每天組織2-3次的線(xiàn)上站會(huì),重新創(chuàng)建一個(gè)團(tuán)隊(duì)的聚集空間:
- 所有人 all ready 的一個(gè)信號(hào)
- 通過(guò)經(jīng)典三句話(huà) ”已經(jīng)做過(guò)的事情,將要做的事情,提出困難和風(fēng)險(xiǎn)“ 來(lái)共享自己的狀態(tài)
- 提出自己的協(xié)作需求,例如:我下午需要找 BA QA 一起完成 Story 的Desk Check并約定時(shí)間
- 響應(yīng)團(tuán)隊(duì)成員的協(xié)作需求或者提出自己的建議
- 發(fā)布團(tuán)隊(duì)級(jí)別的消息
在 WFH 的站會(huì)需要參與者提前做一些準(zhǔn)備:
- 在站會(huì)前確認(rèn)自己是否需要協(xié)作,什么時(shí)候需要協(xié)作
- 在站會(huì)前嘗試描述清楚自己的協(xié)作問(wèn)題是什么,保證請(qǐng)求更加清晰找到對(duì)的人,例如:我到底是不知道這個(gè)問(wèn)題該怎么解決;還是不知道這個(gè)問(wèn)題的優(yōu)先級(jí)是什么,是否可以延后解決?
- 盡量將站會(huì)后1個(gè)小時(shí)內(nèi)的時(shí)間空出來(lái),經(jīng)驗(yàn)表明站會(huì)后立刻開(kāi)始討論/協(xié)作的成效是最高的
- 提醒自己站會(huì)時(shí)候要更加關(guān)注需要解決什么問(wèn)題,確定相關(guān)人員,而不是問(wèn)題的解決方案,因?yàn)橐坏┥钊氲郊?xì)節(jié),可能會(huì)過(guò)渡占用其他參會(huì)者的時(shí)間;具體的解決方案可以在會(huì)后找相關(guān)人員一起過(guò)下
3. 使用在線(xiàn)會(huì)議室作為團(tuán)隊(duì)固定的討論空間
場(chǎng)景:
團(tuán)隊(duì)在辦公室里,可以在任意地方和任意的人,針對(duì)當(dāng)前的問(wèn)題實(shí)時(shí)發(fā)起一個(gè)討論,即時(shí)也避免了思路的切換。
而在 WFH 期間,每發(fā)起一個(gè)專(zhuān)題討論都需要花時(shí)間拉起專(zhuān)門(mén)的視頻聊天,邀請(qǐng)并等待參與者加入進(jìn)來(lái);很多氛圍在等待中就漸漸的涼了。
解決方案:
在這里推薦使用 zoom。在 zoom 里,我們可以為每個(gè)團(tuán)隊(duì)構(gòu)建一個(gè)在線(xiàn)會(huì)議室。
這個(gè)會(huì)議室長(zhǎng)期存在,可以用于站會(huì)、Code Review、集體討論等場(chǎng)景。
而站會(huì)后,需要協(xié)作/討論的團(tuán)隊(duì)成員可以留在這個(gè)會(huì)議室中繼續(xù),減少了遠(yuǎn)程協(xié)作過(guò)程中更換視頻會(huì)議導(dǎo)致的重新聚攏參與者,重啟話(huà)題等切換成本。
經(jīng)過(guò)實(shí)踐我發(fā)現(xiàn),對(duì)于固定時(shí)間的團(tuán)隊(duì)會(huì)議,有了固定的會(huì)議室后,會(huì)議的準(zhǔn)時(shí)率會(huì)有很大的提升。
4. 通過(guò)電子可視化恢復(fù)團(tuán)隊(duì)協(xié)作的場(chǎng)景感
場(chǎng)景:
在辦公室里,我們會(huì)建立各種物理設(shè)備進(jìn)行可視化我們保證溝通是基于共同上下文,清晰可理解的。
例如:
- 我們?cè)缯緯?huì)時(shí)候,會(huì)在物理墻前對(duì)著負(fù)責(zé)的 Story ,描述”已經(jīng)做過(guò)的事情,將要做的事情,提出困難和風(fēng)險(xiǎn)“
- 我們?cè)缯緯?huì)時(shí)候, 會(huì)在對(duì)應(yīng) Story 上畫(huà)正字核對(duì)點(diǎn)數(shù),以及Story的狀態(tài)
- 每個(gè)團(tuán)隊(duì)都有自己的 CI 屏幕以供團(tuán)隊(duì)隨時(shí)確認(rèn)自己的CI狀態(tài)
- 我們的會(huì)議室里會(huì)提供白板、紙筆等供我們?cè)谟懻摰臅r(shí)候更清晰的表達(dá)
而在 WFH,這些都沒(méi)有了~~~~危害么,大家想象一下對(duì)著一個(gè)黑屏滔滔不絕的感受。
解決方案:
- 使用電子工具重建物理墻——可以采用的工具 Jira,Azure Devops
我所在的團(tuán)隊(duì)PM在站會(huì)上使用的是 google sheet 表格,這個(gè)表格橫縱分別是日期和人員名稱(chēng),每個(gè)單元格內(nèi)填充對(duì)應(yīng)的團(tuán)隊(duì)成員在當(dāng)天負(fù)責(zé)的事情;如果是 Story 的話(huà),還會(huì)將這個(gè)Story 理想人天標(biāo)記在上面。對(duì)于追蹤工作進(jìn)度而言,這個(gè)表格的信息一目了然;每天站會(huì)對(duì)著這個(gè)表格也很有儀式感 - 為每個(gè)人構(gòu)建 CI 狀態(tài)提示 —— 這里推薦使用的 BuildReactor 這個(gè)chrome 插件。BuildReactor 支持 Jekins, Go Cd 等 CI/CD 工具,可以選擇關(guān)注哪些 pipeline;pipeline 掛掉、修復(fù)都有有通知發(fā)出
- 使用在線(xiàn)畫(huà)板來(lái)將討論內(nèi)容可視化 —— 簡(jiǎn)單時(shí)候可以使用 slack、zoom的 annotation 功能將討論的重點(diǎn)標(biāo)記出來(lái);對(duì)于大規(guī)模的協(xié)作,可以使用 mural 、 process on 等在線(xiàn)繪制工具來(lái)繪制 圖表、UML 圖來(lái)講表達(dá)內(nèi)容可視化出來(lái)
- teamretro 來(lái)幫我們完成一次成功的線(xiàn)上 Retro
5. 使用日歷/提醒來(lái)提高勾搭協(xié)作的成功率
即使在辦公室期間,團(tuán)隊(duì)已經(jīng)習(xí)慣了使用 Google Calendar 來(lái)管理會(huì)議。
在 WFH 期間,這種方式帶來(lái)了很明顯的好處:
- 在指定會(huì)議時(shí)間的時(shí)候,Calendar 會(huì)提示這個(gè)時(shí)間與會(huì)者是否空閑,減少會(huì)議沖突
- 在確認(rèn)會(huì)議邀請(qǐng)的時(shí)候,可以看到是否和現(xiàn)有會(huì)議沖突
- 會(huì)議的發(fā)起人可以確認(rèn)與會(huì)者是否確認(rèn)參加,并及時(shí)協(xié)調(diào)
- 明確的會(huì)議日程列表,供團(tuán)隊(duì)成員在上工前管理自己的一日時(shí)間分配
- 團(tuán)隊(duì)成員可以將不希望被打擾的時(shí)間標(biāo)記在日歷上,分享給團(tuán)隊(duì)
Slack 的 reminder 也是一個(gè)很好用的輕量級(jí)日程管理工具,我們將例如每日站會(huì)、Code Review 這些固定的集體日程發(fā)布到 Slack 的 reminder 中,盡量保證團(tuán)隊(duì)成員在工作時(shí)間只需要關(guān)注 Slack,可以保持專(zhuān)注。
而非固定的、個(gè)人的、需要協(xié)調(diào)時(shí)間的日程放到 Google Calendar,更好的協(xié)作。
多說(shuō)一句,推薦一下MEGAEASE的遠(yuǎn)程工作文化 中 Review文化里對(duì)議題的討論,這段內(nèi)容可以幫助我們組織一個(gè)問(wèn)題明確、節(jié)奏清晰的遠(yuǎn)程會(huì)議。
小結(jié)
《人月神話(huà)》在討論估算時(shí)候就指出:對(duì)于軟件項(xiàng)目而言,工作量的一個(gè)隱藏來(lái)源是項(xiàng)目?jī)?nèi)的相互交流協(xié)作。
在我看來(lái),團(tuán)隊(duì)的協(xié)作成本 = 協(xié)作規(guī)模(參考人月神話(huà)) * 人的協(xié)作能力(MEGAEASE的遠(yuǎn)程工作文化) * 辦公環(huán)境下的溝通成本。
以上的實(shí)踐是針對(duì)溝通成本的,只是治標(biāo)。
規(guī)模、 人員能力是協(xié)作的本質(zhì)復(fù)雜度來(lái)源;
而我所在的團(tuán)隊(duì)能在 WFH 期間成功的繼續(xù)業(yè)務(wù),背后的根因:
在長(zhǎng)期的敏捷實(shí)踐后,團(tuán)隊(duì)控制了協(xié)作的本質(zhì)復(fù)雜度。
我也期待軟件開(kāi)發(fā)團(tuán)隊(duì),在疫情過(guò)后,能夠從這兩點(diǎn)思考未來(lái)的建設(shè)方向。
文/ThoughtWorks 王巖
更多精彩洞見(jiàn),請(qǐng)關(guān)注微信公眾號(hào):ThoughtWorks洞見(jiàn)