分布式敏捷組織與傳統(tǒng)敏捷組織的管理方式在核心上其實(shí)并無本質(zhì)區(qū)別勾徽,但在“分布式”這一嚴(yán)苛條件的前提下,在日常敏捷實(shí)踐中的那些只重“形”不重“神”的環(huán)節(jié)所引發(fā)的問題則會(huì)暴露無遺,嚴(yán)重時(shí)甚至?xí)璧K團(tuán)隊(duì)的正常運(yùn)轉(zhuǎn)泵三,這是對(duì)團(tuán)隊(duì)是否真正掌握了“思想敏捷”的一次深度考驗(yàn)。
??庚子年初衔掸,荊楚大疫烫幕,眾惶恐,皆閉戶敞映,舉國防之较曼。位于疫情風(fēng)暴中心的我們?cè)诘谝粫r(shí)間成立了專班小組奮斗在“科技戰(zhàn)疫”的一線,與湖北省防疫指揮部開展密切協(xié)作振愿,全力保障醫(yī)療物資在生產(chǎn)計(jì)劃捷犹、分配、儲(chǔ)運(yùn)冕末、簽收到貨等各個(gè)環(huán)節(jié)的準(zhǔn)確與效率萍歉,為政府防疫工作的順利開展提供了有力的支撐。
??每一個(gè)光明前途背后档桃,都有一條曲折的道路枪孩,2020年1月23日武漢封城,隨后疫情一天天加劇藻肄,政府也相繼出臺(tái)了愈來愈嚴(yán)格的防控隔離措施蔑舞,身在抗疫一線的我們,如何即確保質(zhì)量與效率又能保障日常工作協(xié)作與落實(shí)的順利開展嘹屯,“分布式敏捷組織”成為了我們的必由之路攻询。
分布式敏捷組織面臨的挑戰(zhàn)
??我平常開玩笑說IT研發(fā)更像是“一場(chǎng)大型線下社交活動(dòng)”,團(tuán)隊(duì)協(xié)作中的溝通無處不在抚垄,但因?yàn)槿说亩鄻有院驼Z言表達(dá)的豐富性蜕窿,團(tuán)隊(duì)中“與人溝通”的難度常常遠(yuǎn)超過“與代碼溝通”。而分布式之后呆馁,團(tuán)隊(duì)協(xié)作則變成了“一場(chǎng)大型線上社交活動(dòng)”桐经,這對(duì)團(tuán)隊(duì)的溝通和管理都無疑是更艱難的挑戰(zhàn):
- 溝通效率極大下降。溝通介質(zhì)從“空氣”變成了協(xié)同工具浙滤、終端設(shè)備阴挣、網(wǎng)絡(luò)等多個(gè)節(jié)點(diǎn)串聯(lián)起來的通道,而任意一個(gè)節(jié)點(diǎn)出現(xiàn)故障都會(huì)導(dǎo)致溝通不暢甚至中斷纺腊;效率下降也意味著成本上升畔咧,大半夜開會(huì)成了家常便飯茎芭,遠(yuǎn)程辦公成了一直辦公;
- 目標(biāo)管理容易失控誓沸。由于成員不能處于同一空間梅桩,缺少了相互督促的同儕工作環(huán)境氛圍,由于一些或主觀或客觀的干擾因素拜隧,工作效率不如現(xiàn)場(chǎng)辦公宿百;受限于溝通條件,主動(dòng)詢問進(jìn)度經(jīng)常會(huì)演變成“干預(yù)性打擾”洪添,容易引發(fā)信任危機(jī)垦页;
- 研發(fā)效率面臨瓶頸。研發(fā)流水線本身在敏捷團(tuán)隊(duì)中就尤為重要干奢,其穩(wěn)定性和擴(kuò)展性直接決定了團(tuán)隊(duì)的整體研發(fā)效能痊焊;如果平常沒有花足夠的成本去持續(xù)改進(jìn)和積累,在面臨突發(fā)的遠(yuǎn)程協(xié)同工作時(shí)勢(shì)必會(huì)嚴(yán)重影響團(tuán)隊(duì)效率忿峻。
分布式敏捷組織的實(shí)踐
??在這次的省醫(yī)療物資保障管理系統(tǒng)項(xiàng)目中薄啥,由于項(xiàng)目的特殊性和緊迫性,我們不得不采用大規(guī)模的分布式敏捷組織架構(gòu)炭菌,同時(shí)一些既有的基礎(chǔ)設(shè)施也無法完全利用罪佳,但結(jié)合團(tuán)隊(duì)在敏捷實(shí)踐中的深厚積累,以及在項(xiàng)目中高強(qiáng)度的磨合和迭代改進(jìn)黑低,我們的團(tuán)隊(duì)基本克服了上述困難赘艳,得到以下幾點(diǎn)實(shí)踐經(jīng)驗(yàn)。
看板是第一要義
??看板應(yīng)該是一個(gè)組織進(jìn)行敏捷實(shí)踐最先使用到的工具克握,但同時(shí)也極有可能是第一個(gè)流于形式的工具蕾管,移動(dòng)卡片的新鮮感通常在“蜜月期”過后即消散于無形,淪為了敏捷教練一個(gè)人的小把戲∑邪担現(xiàn)場(chǎng)辦公的團(tuán)隊(duì)之所以可以不使用看板繼續(xù)工作的本質(zhì)原因是因?yàn)闇贤ǔ杀镜完S便喊一嗓子就能得到回應(yīng),如果喊一遍解決不了那就再喊一遍停团。但高昂的溝通成本是分布式團(tuán)隊(duì)不能承受之重旷坦,所以此時(shí)將看板作為項(xiàng)目信息及狀態(tài)同步的工具,極大地確保了團(tuán)隊(duì)中的每一位成員佑稠,在任何時(shí)刻都能從看板上獲取目前團(tuán)隊(duì)的最新進(jìn)展秒梅,同時(shí)將自己的狀態(tài)在看板上予以更新,看板信息的呈現(xiàn)與反饋全員協(xié)同并行舌胶,才能節(jié)約大量的溝通成本捆蜀,將看板打造成全團(tuán)隊(duì)的“唯一信息輻射源”是一個(gè)分布式團(tuán)隊(duì)能成功運(yùn)轉(zhuǎn)的關(guān)鍵所在。
??同時(shí),利用電子看板的優(yōu)勢(shì)辆它,因地制宜的進(jìn)行改良以適配分布式協(xié)作誊薄。要實(shí)現(xiàn)看板“唯一信息輻射源”功能,需要盡可能多的將重要信息發(fā)布在看板上锰茉,對(duì)齊團(tuán)隊(duì)的“溝通語言”呢蔫。例如上圖,我們?cè)诳窗逯刑砑恿恕胺种Q”和“依賴”兩列飒筑,這是因?yàn)槲覀冊(cè)趫F(tuán)隊(duì)運(yùn)轉(zhuǎn)過程中發(fā)現(xiàn)咐刨,對(duì)于研發(fā)人員而言,常常是知道了自己要做什么扬霜,但是不知道應(yīng)該在哪里做即不知道其任務(wù)所處分支及分支狀態(tài),在聊天記錄中搜索“分支”關(guān)鍵字可以發(fā)現(xiàn)相當(dāng)一部分比例都是在詢問分支在哪里或者分支狀態(tài)而涉;而“依賴”則是在版本發(fā)布時(shí)著瓶,根據(jù)每個(gè)任務(wù)的“優(yōu)先級(jí)”和“階段”即可準(zhǔn)確迅速地決定發(fā)版策略,從而極大節(jié)省信息同步的時(shí)間及決策時(shí)間啼县。
站會(huì)無處不在
??團(tuán)隊(duì)在剛開始實(shí)行分布式辦公的一段時(shí)間里材原,每天依然堅(jiān)持傳統(tǒng)集中站會(huì)制度,但運(yùn)轉(zhuǎn)一段時(shí)間之后季眷,我們發(fā)現(xiàn)每天大集中式的站會(huì)變得不太可行且必要性不強(qiáng)余蟹,現(xiàn)階段不是特別適配團(tuán)隊(duì)。一是確實(shí)有各種客觀原因?qū)е聜€(gè)別成員無法按時(shí)參加子刮;二是在分布式下日常的溝通變得相對(duì)正式且重要威酒。
??現(xiàn)場(chǎng)辦公中,團(tuán)隊(duì)成員之間會(huì)靠“混沌的挺峡、自發(fā)的葵孤、隨機(jī)的面對(duì)面交流來湊合解決問題”(程序員練功房,熊節(jié))。而分布式組織里橱赠,通過視頻會(huì)議工具發(fā)起的每一次會(huì)議和討論尤仍,因?yàn)闀?huì)強(qiáng)制中斷會(huì)議參與人的工作而變得相對(duì)正式;同時(shí)由于較高的溝通成本狭姨,討論主題必須清晰宰啦,討論過程必須聚焦。因此饼拍,我們將站會(huì)的核心要素:”控制時(shí)間“赡模、”聚焦問題“、”明確下一步“等帶入每一次會(huì)議惕耕,而且每一次會(huì)議中都會(huì)自發(fā)誕生一個(gè)臨時(shí)的Scrum Master來提醒大家纺裁。這樣每一次會(huì)議都能高效起來,聚沙成塔,團(tuán)隊(duì)整體效率才能得以顯著提升欺缘。
優(yōu)先級(jí)的玄機(jī)
??backlog梳理本是需求管理的重要的環(huán)節(jié)之一栋豫,但為了匹配項(xiàng)目進(jìn)度,我們將“backlog梳理”與“點(diǎn)數(shù)估算”的工作合成為了確定“優(yōu)先級(jí)”谚殊,同時(shí)“backlog梳理”中的內(nèi)核“梳理客戶價(jià)值”丧鸯,與“點(diǎn)數(shù)估算”的內(nèi)核“計(jì)算研發(fā)成本”,依然保留了下來嫩絮。
??我們將優(yōu)先級(jí)分為了“極高”丛肢、“高”、“中”剿干、“低”四個(gè)級(jí)別蜂怎,這四個(gè)級(jí)別是對(duì)應(yīng)了“時(shí)間管理四象限”:“極高”對(duì)應(yīng)重要且緊急,“高”對(duì)應(yīng)不重要但緊急置尔,“中”對(duì)應(yīng)重要但不緊急杠步,“低”不重要且不緊急。其中需要重點(diǎn)討論的是 “高” 和 “中”榜轿。在 “高” 和 “中” 里幽歼,可以把“重要”與否看成研發(fā)成本高低,“緊急”與否看成客戶急迫程度高低谬盐。
- 標(biāo)記為“不重要”即“研發(fā)成本較低”甸私,而“緊急”即客戶很急迫的任務(wù),是研發(fā)組給產(chǎn)品組的底氣飞傀,從而讓產(chǎn)品組與客戶協(xié)商時(shí)保有充分的余地皇型;
- 標(biāo)記為 “重要”即“研發(fā)成本較高”,而“不緊急”即客戶不急迫的任務(wù)助析,是產(chǎn)品組對(duì)客戶不做出時(shí)間上的明確承諾犀被,從而讓研發(fā)組能有更多時(shí)間把重要的事情做好。
??這樣直觀且清晰的劃分外冀,能充分發(fā)揮團(tuán)隊(duì)成員的主觀能動(dòng)性:
- 怎么樣把“研發(fā)成本高”的事情變成“研發(fā)成本低”寡键,這是研發(fā)組自己的課題;
- 怎么樣把“客戶急迫高”的事情轉(zhuǎn)成“客戶急迫低”雪隧,這是客服組自己的課題西轩。
??基于此,團(tuán)隊(duì)成員之間各自努力把自己的課題做好脑沿,形成了相互信任藕畔,公開透明的協(xié)作文化。
“合適的才是最好的”:代碼管理的藝術(shù)
??我們項(xiàng)目組起初需要在48小時(shí)內(nèi)為客戶交付一個(gè)滿足基本需求的版本庄拇,這是一個(gè)典型任務(wù)型階段注服,那么主干開發(fā)主干發(fā)布即可滿足有求韭邓。在滿足客戶的初步需求之后,產(chǎn)品組開始主動(dòng)思考如何更好的協(xié)助客戶時(shí)溶弟,項(xiàng)目由任務(wù)型階段轉(zhuǎn)變成了功能型階段女淑,即會(huì)根據(jù)客戶使用情況,按天釋放功能辜御。此時(shí)我們的代碼管理策略隨即轉(zhuǎn)換為了下圖所示的分支開發(fā)主干發(fā)布的方式鸭你。
??在渡過了需求井噴階段之后,產(chǎn)品組開始構(gòu)思更加長遠(yuǎn)的需求擒权、研發(fā)組開始進(jìn)行部分功能的重構(gòu)時(shí)袱巨,我們的代碼管理策略則轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)的gitflow策略(A successful Git branching model, Vincent Driessen),以適配功能特性的差異化釋放需求碳抄。
??我們并沒有在一開始使用“最好”的代碼管理方式愉老,是因?yàn)樵骄?xì)復(fù)雜的分支策略,也會(huì)帶來管理成本上升剖效,根據(jù)項(xiàng)目的進(jìn)展階段俺夕,選擇合適的代碼管理方式才是最好。同時(shí)贱鄙,在代碼管理方式變得精細(xì)化之后,code view的重要性和必要性也日漸突出姨谷。流于形式的code view導(dǎo)致我們經(jīng)歷了幾次大型的代碼沖突逗宁,最終我們將合并權(quán)限收口到幾位經(jīng)驗(yàn)豐富的研發(fā)組長之后,問題才得以解決梦湘。慢即是快瞎颗,code view看似是成本,實(shí)際上是提升研發(fā)能力和交付質(zhì)量的一劑良藥捌议。
自動(dòng)化一切能自動(dòng)化的
??搭建研發(fā)流水線哼拔,將研發(fā)中流程化的工作沉淀為自動(dòng)化任務(wù),是一個(gè)敏捷組織的基本必備能力瓣颅。而在分布式敏捷組織里倦逐,這種能力已然成為團(tuán)隊(duì)的效率基石,每天上百次的持續(xù)集成和2到3次的產(chǎn)品發(fā)布宫补,全都依賴著一條穩(wěn)定且擴(kuò)展性良好的流水線檬姥。
??同時(shí),我們不僅僅只局限在代碼集成自動(dòng)化上粉怕。分布式協(xié)作中高昂的溝通成本健民,不斷的推動(dòng)著我們?nèi)嗍崂砉ぷ髁鞒滩?shí)現(xiàn)更多的自動(dòng)化場(chǎng)景從而輔助團(tuán)隊(duì)提升效率。例如根據(jù)不同條件觸發(fā)應(yīng)用版本和數(shù)據(jù)版本的備份或回滾贫贝,自定義數(shù)據(jù)清洗及同步秉犹,基于協(xié)同工具機(jī)器人實(shí)現(xiàn)流水線各階段進(jìn)展通知蛉谜,人員工時(shí)統(tǒng)計(jì),報(bào)表自動(dòng)化生成等等諸如此類的小自動(dòng)化設(shè)計(jì)在工作場(chǎng)景中比比皆是崇堵,這些改進(jìn)都可以極大地減少不必要溝通型诚,同時(shí)最大化工作信息的透明度。
總結(jié)
??傳統(tǒng)組織的項(xiàng)目管理的核心工作內(nèi)容為:需求管理筑辨,目標(biāo)管理俺驶,配置管理。敏捷組織則是在圍繞“交付質(zhì)量”為核心的前提下棍辕,將傳統(tǒng)的項(xiàng)目管理工作映射成敏捷管理實(shí)踐的三部分:產(chǎn)品實(shí)踐暮现、管理實(shí)踐、工程實(shí)踐楚昭。而分布式敏捷組織與傳統(tǒng)敏捷組織的管理方式在核心上其實(shí)并無本質(zhì)區(qū)別栖袋,但在“分布式”這一嚴(yán)苛條件的前提下,在日常敏捷實(shí)踐中的那些只重“形”不重“神”的環(huán)節(jié)所引發(fā)的問題則會(huì)暴露無遺抚太,嚴(yán)重時(shí)甚至?xí)璧K團(tuán)隊(duì)的正常運(yùn)轉(zhuǎn)塘幅,這是對(duì)團(tuán)隊(duì)是否真正掌握了“思想敏捷”的一次深度考驗(yàn)。
??在VUCA時(shí)代我們總會(huì)遇到一些小概率的黑天鵝事件尿贫,而我們的敏捷組織在遇到這樣的風(fēng)浪和危機(jī)時(shí)电媳,如何依然能夠比較順利地前進(jìn),是非常值得探究的事情庆亡。此次突發(fā)的疫情就是一只不折不扣的“黑天鵝” 匾乓,成為了檢驗(yàn)我們敏捷轉(zhuǎn)型成果的“試金石”,我們相信在經(jīng)受住此次極限壓力測(cè)試的考驗(yàn)之后又谋,我們的敏捷組織能力必將再上一個(gè)臺(tái)階拼缝。