對高績效敏捷團隊的早期歷史感興趣的人,可以了解一下1580年左右在意大利佛羅倫薩興起的佛羅倫薩歌劇同好社(Florentine Camerata),他們因創(chuàng)造了歌劇而改變了當(dāng)時的音樂形式。該俱樂部在組織上更像是一種聚會,而非正式的團隊,它是跨職能的,其中融合了包括音樂家、藝術(shù)家、詩人、占星師、哲學(xué)家和科學(xué)家。Jessica KerrExplore DDD(探索領(lǐng)域驅(qū)動設(shè)計)2018大會上所做主題演講的主要內(nèi)容是佛羅倫薩歌劇同好社的經(jīng)驗。

在佛羅倫薩歌劇同好社看來,改革當(dāng)時復(fù)調(diào)音樂(polyphonic music)的最佳方式,是沿革古希臘人以文字為音樂的做法。雖然事實上他們并沒有看到任何古希臘的音樂記錄,但是該理念為他們的創(chuàng)造提供了理論依據(jù),正如現(xiàn)代軟件架構(gòu)師會引用上世紀(jì)七十年代的計算機科學(xué)論文一樣。該組織也不僅僅是一個公開討論的論壇。贊助商之間的競爭導(dǎo)致了音樂風(fēng)格的分歧。類似于代碼審查,一個思想總是在反對者的挑戰(zhàn)和捍衛(wèi)者的辯護聲中產(chǎn)生的。正是因為此,才得以誕生歌劇這一形式,它由單一的旋律和單一的音樂表現(xiàn)組成。

如果故事至此戛然而止,那么它就不會成為本次技術(shù)大會的主題演講內(nèi)容。真正值得學(xué)習(xí)的經(jīng)驗是,看看歌劇這一創(chuàng)新是如何影響所有俱樂部成員的,此后各位成員繼續(xù)對音樂發(fā)展做出了獨立貢獻。Kerr在演講中引用了Ruth Katz博士在《創(chuàng)意史研究》(“Journal of the History of Ideas”)發(fā)表的《音樂史上的集體“問題解決”:佛羅倫薩歌劇同好社實例分析》(“Collective ‘Problem-Solving’ in the History of Music: The Case of the Camerata,”)一文。

縱觀歷史,個人從群體中受益的現(xiàn)象比比皆是,尤其是在科學(xué)領(lǐng)域。盡管我們習(xí)慣于將科學(xué)發(fā)現(xiàn)歸功于某個人,但事實上并非如此。那些與其共事并提出建議的人往往被忽視了。舉個例子,我們認(rèn)為是本·富蘭克林發(fā)明了電力,但事實上他只是數(shù)十位早期的電力學(xué)家之一。他的那些“不可見的同事”互相提出了很多建議。如果沒有這樣的群策群力,社群就無法掌握如此重要的想法。如果你的想法無法被他人接受,那么這個想法也不會走得太遠(yuǎn)。社群有助于推進想法、說服他人接受想法,這與有人提出想法同等重要。

Kerr為闡述群策群力的優(yōu)點。重點列舉了多個著名的歷史事件。Joseph Priestley,啟蒙運動期間在倫敦咖啡館聚會的輝格黨人俱樂部(the Club of Honest Whigs)中的一位成員,他對氧氣的發(fā)現(xiàn)推動了整個化學(xué)領(lǐng)域的發(fā)展。形成于巴黎的沙龍,是藝術(shù)創(chuàng)作力的培育場所。藝術(shù)家、評論家和經(jīng)銷商可以在這些地方見面,因為他們認(rèn)識到,單靠自己是無法變得偉大的。這不僅限于藝術(shù)家,因為有一個沙龍是由Gertrude Stein運營的,她是一位作家、哲學(xué)家和數(shù)學(xué)家。從近期的軟件領(lǐng)域看,一個很好的例子是2003年至2006年期間Thoughtworks倫敦創(chuàng)意總部。Jez Humble(持續(xù)交付領(lǐng)域的頂級專家,《持續(xù)交付》和《精益企業(yè)》兩書的首要作者)、Dave Farley(持續(xù)交付布道師,《持續(xù)交付》一書的合著者)、Dan North(敏捷軟件開發(fā)專家)、Nat Pryce(獨立軟件顧問,英國敏捷開發(fā)的先行者)和Sam Newman(《微服務(wù)設(shè)計》一書的作者)等人曾在此聚會,分享理念,進而提出了一些影響了全球軟件開發(fā)團隊的重要思想。

偉大團隊造就偉大人士。

在列舉上述歷史實例之后,Kerr提出了本次演講的主要觀點,即“偉大團隊造就偉大人士”。我們常說,企業(yè)需要將優(yōu)秀的員工招致麾下,但事實總是大相徑庭。如果企業(yè)在招聘高效開發(fā)人員上存在問題,那么它永遠(yuǎn)不會招聘到高效的員工。高效開發(fā)人員并非通過培訓(xùn)得到的,更不用說通過自學(xué)了,而是通過共同學(xué)習(xí)的團隊培育的。

Kerr在演講中提出了共同學(xué)習(xí)體(“Symmathesy”)這一術(shù)語。該詞最早由Nora Bateson提出,是表示“共同”的“Sym”和表示“學(xué)習(xí)”的“Mathesie”組合而成。盡管最初提出該詞是用于描述持續(xù)變化的生態(tài)系統(tǒng),但是該詞適用于更廣的范圍。一個系統(tǒng)并非是其各個組成部分的簡單累加,聚合而成的。而是系統(tǒng)各部分通過以往的相互作用產(chǎn)生的。

Kerr進而指出,相比起給出的這些歷史實例,軟件系統(tǒng)更像是這樣的共同學(xué)習(xí)體。軟件系統(tǒng)并不僅僅是軟件團隊,而且還包括客戶,以及軟件的運行、數(shù)據(jù)庫、硬件,還有團隊使用的所有工具。各個部分相互作用,互相學(xué)習(xí),構(gòu)成了一個團隊,團隊成員可從中成長和發(fā)展。

要參與到這樣的環(huán)境中,人們應(yīng)該表現(xiàn)出全身心的投入,并已準(zhǔn)備好加入這個有活力的系統(tǒng),成為其中的一份子。kerr指出,這正是采用此心態(tài)的困難之處。不僅要考慮自身或所在的團隊,還必須更加廣泛地從整體上考慮所在的組織、部門甚至是企業(yè),并在必要時與其它的團隊建立溝通橋梁。如果不改變環(huán)境,共同學(xué)習(xí)體是不可能存在的,所以Kerr認(rèn)為不能將團隊封閉起來。體系需要讓具有影響力和與外部有聯(lián)系的人取得成功,進而將共同學(xué)習(xí)體推廣到整個組織中。由于系統(tǒng)的各個部分均具備學(xué)習(xí)的本質(zhì),因此kerr提出,團隊不應(yīng)直接招聘一些成功者。因為你的系統(tǒng)是獨一無二的,并且每天都在發(fā)生獨有的變化,我們必須聘用那些對系統(tǒng)具有潛在影響的員工。

Kerr還討論了團隊與個體對于推演系統(tǒng)模型的重要性。作為個體,首先得確定軟件中需更改什么,而這個工作正是使用個人心智模式的練習(xí),代碼更改只是個副產(chǎn)品罷了。事實上,在某種角度來說,每個個體的模型均是過時的,不完備的。這時我們需要的是一個團隊,因為個體的腦中無法掌控整個模型。由于各個模型之間存在著差異,因此團隊必須協(xié)作,以確保模型之間相互重疊并保持一致。這樣做確保了團隊得以在正確的地方做正確的更改。Kerr也承認(rèn),團隊要達(dá)到這一理想狀態(tài),要比每個個體所設(shè)想的更難。

在與此相關(guān)的演講部分中,Kerr指出,這些不完整的模型通常會拋出一些想法并將其重寫一遍。她說,“從頭開始構(gòu)建一個復(fù)雜的系統(tǒng),要比理解一個已有復(fù)雜系統(tǒng)的工作原理更容易”。她在此開了個玩笑,說這可以解釋了為什么存在如此之多的JavaScript框架。

Kerr說,要使團隊成功,需要考慮團隊成員的激勵措施。如果是一個完全針對個人開發(fā)者的獎勵系統(tǒng),那么這將導(dǎo)致一種封閉的心態(tài)。個體對團隊做的最糟糕的事情,就是保留自己的想法。因此,我們需要尋求各種可使整個團隊學(xué)習(xí)最大化的方法,并找出在學(xué)習(xí)時互相給予信任的方法。“局限性并非在于我們能做多少,而是我們知道的多少”。Kerr偏好Mob編程,因為這種方法最大限度地發(fā)揮了學(xué)習(xí)的作用,并融合了各種心理模型。

在結(jié)束演講時,Keer回顧了文藝復(fù)興時期。在文藝復(fù)興之前,并不存在所謂的藝術(shù)這一概念。在公元1200年至1600年間,對藝術(shù)的認(rèn)知已從僅是一種職業(yè)技能(僅限行業(yè)協(xié)會許可)發(fā)展為普世大眾(在學(xué)術(shù)和文化圈得到講授)。文藝復(fù)興時期是一個分裂期,它打破了導(dǎo)致墨守成規(guī)的舊有障礙,并加以重組。這一“新風(fēng)格”強調(diào)的是在設(shè)計和工藝之美上的表現(xiàn)力。

借鑒文藝復(fù)興,Kerr嘗試對軟件分分類,從它不是什么開始著手。

軟件并非一件工藝品。Kerr并不認(rèn)為自己是一名手工藝者,也不認(rèn)為編程是一項技能。軟件并非只是我們編寫的代碼,而是我們將如何影響這個世界。

軟件并非一項藝術(shù)。軟件正以不同于藝術(shù)的方式在無時無刻地改變著我們這個世界。此外,軟件也是我們以前從未涉足的一種工作媒介。

軟件并非一項工程,也并非過去任何“受人尊重”的職業(yè)。它是一項新事物。

以軟件為媒介的共同學(xué)習(xí)者

Kerr認(rèn)為“軟件是繼藝術(shù)之后的下一次變革”。發(fā)展中的軟件開發(fā)是共同學(xué)習(xí)體的實踐,參與者可稱為“以軟件為媒介的共同學(xué)習(xí)者”。該理念并不屬于任何個體,而是整個社區(qū)。我們都是共同學(xué)習(xí)者,目前我們正處于繼文藝復(fù)興之后的下一次時代變革。

Kerr在她的博客上,撰文詳細(xì)介紹了“歌劇的起源和編程的未來發(fā)展”(Origins of Opera and the Future of Programming)。在YouTube的Explore DDD channel上,提供了本次主題演講的視頻。

查看英文原文: A Brief History of High-Performing Teams by Jessica Kerr

Comments are closed.