好圍牆造就好鄰居:好的邊界反而促進團隊合作 - trondhjort
將我們的軟體分解為模組時,我們常常忘記重要的社會方面。設計如何影響團隊,可能使他們相互競爭。一個具有韌性和可持續性的系統需要和諧。
諺語“好圍牆造就好鄰居”描述了為什麼我們的軟體設計需要邊界:不僅是解決問題並使其易於理解和管理的一種方法,而且還可以使您公司中的團隊更好地相處並相互發揮最好的作用。不幸的是,我們過多地將注意力集中在前者上,而後者卻以犧牲後者為代價,因為我們經常隨意地將領域分開,這不僅會造成大量的技術耦合,還會導致團隊之間的對抗,從而可能導致社會功能失調。我們需要在設計時更好地瞭解整體,意識到在處理高度複雜的社會技術系統時,舊的模型將不再起作用。模型不僅是錯誤的,而且是有害的。
這篇帖子部分取材於我在NDC 2021年倫敦舉行的同名新演講中。尚無記錄,但可以在SlideShare上找到幻燈片。
我在挪威農村的西海岸長大,那裡的石柵欄很常見,我經常攀爬並在上面玩耍,懷有美好的回憶。這些圍欄用於標明農場之間的界限,我們的農場和他們的農場之間的界限,以及確保牲畜保持就位。
無論圍欄放置在什麼地方,圍欄都有特定的用途,由於圍欄的重要性和壽命長,因此投入了大量的思想和精力。他們不是被設計成牆,提醒您,這同樣重要。它們僅應滿足特定需求,而不會過多地阻礙其他人和野生動植物。在挪威和斯堪的納維亞國家,我們對所謂的“allemannsretten ”(可以翻譯為“漫遊自由”),它賦予了廣大公眾使用某些公共甚至私有土地的權利。因此,柵欄不應違背這一權利,有些柵欄甚至應安裝好梯子,以便人們可以輕鬆穿越。
我認為,在設計軟體系統中各部分之間的邊界時,這些圍欄的用途,特定目的是什麼,更重要的是,它們不是什麼,我們可以從中學到很多東西。就像我長大的長滿苔蘚的石柵欄一樣,在設計和建造它們時應格外小心,尤其要考慮到大局,尤其是其環境和放置環境。正如美國建築師和系統理論家巴克敏斯特·富勒(Buckminster Fuller)所說:“您必須記住,任何邊界都是有用的故事。” 它們經過精心設計,因此我們擁有世界上所有的力量來實現這一目標。
我們發現模組化在設計中很有用的原因有很多,它是透過將問題空間分成可管理的部分,一次只關注一點或減少零件之間的技術耦合來減少我們的固有認知負擔。由於這本質上是社會技術系統,因此還有更多的收穫,特別是在需要和諧協作和降低協調成本方面。精心設計的模組化應該會成為好鄰居。
任何超過一定大小的系統都會自然地分裂,這在複雜性理論中稱為自組織,也是您在與人之間的社互動動中所經歷過的事情。當一個小組的規模超過一定規模時,它會分解為小組,一些小組甚至會建立自己的內部文化,從而將他們與其他小組區分開。“我們和他們”的觀點是自然而不可避免的,如果不滿足,可能會產生一些可怕的副作用。請記住露絲·馬蘭(Ruth Malan)對康威定律的推論:“如果系統的架構與組織的架構不一致,那麼組織的架構將獲勝。” 在社會技術系統中,應該共同最佳化社會和技術部分。
根據定義,任何複雜的系統都將具有相互依存的部分,因此具有必要的相互作用,從而使該系統整體上具有新興的作用,並且如上所述,我們希望這些作用盡可能地積極。為了做到這一點,我們需要擺脫不必要的協調,這些協調會阻礙整個系統。在我們的業務範圍內,這意味著消除團隊之間的交接,並使他們能夠控制自己的手段和結果。我們希望團隊能夠自治並具有代理能力,避免團隊之間的嚴格依賴。這就是為什麼亞馬遜的傑夫·貝索斯(Jeff Bezos)說“交流很糟糕;” 不會阻止人們一起工作,但團隊之間的協調就越少越好,例如不需要離開團隊的工作。
透過將協調成本降至絕對最低,團隊可以控制自己的流程並縮短從構思到使用者反饋的交付時間,從而提高速度。這些週期的縮短將幫助團隊獲得其軟體及其互動的更好的穩定性和敏捷性,更好地適應其上下文和環境並提高其彈性。這自然也會影響整個系統,在該系統中,所有團隊都具有相同的獨立性和自治性,從而使整個企業的健壯性和可伸縮性更好。換句話說:不要擴充套件敏捷性,而是將組織擴充套件為自治的部分。
如果沒有一些整體設計,就無法實現一個運轉良好且和諧的社會技術系統,其中整體大於其各個部分的總和。隨機出現且不受控制的出現並不一定會自己獲得所需的結果,因為由機器來確定性地定義系統的舊機器模型不足以滿足要求。需要一種系統方法來更好地迎合具有自組織、自適應和非線性的高度複雜的社會系統。需要自上而下和自下而上的組合,其中前者會引導後者朝正確的方向發展。之前,我已經從領域驅動設計中運用了相關技術,從外而內進行了論述,業務體系結構和使用者故事對映,但需要仔細研究如何將其與自下而上的設計結合起來以實現積極的發展。這聽起來像是一個很好的話題,需要仔細研究。
相關文章
- 技術管理進階——如何提升團隊的合作和技術氛圍
- 如何帶好你的團隊薦
- 《最強蝸牛》團隊:「我們只是剛好處於破圈的臨界點」
- 團隊專案管理軟體哪個好?專案管理
- if 我是前端Leader,怎麼走出小微前端團隊的圍牆?前端
- 納特島效應:好團隊 壞結果(轉)
- 如何打造合作型團隊
- 低程式碼對銷售團隊的6個好處
- 軟體開發中團隊首領的好壞之分
- 地理圍欄,打造智慧生活新邊界
- 如何實現高效的團隊合作?
- 如何築造資料安全邊界
- 如何利用ITSM工具帶好一隻運維團隊運維
- 好的搜尋技巧能夠造就好的程式設計師程式設計師
- git團隊合作開發流程Git
- 創造高業績團隊
- 遠端辦公促進團隊之間高效協作的方法是什麼?
- 企業網盤的真正價值:促進團隊協作與高效辦公
- “融合平臺 無界生態”合作伙伴大比武獲獎團隊背後的故事
- 優秀團隊求合作+作品展示
- 持續整合對IT團隊和企業分別有哪些好處?
- 玩家好評如潮,這些做出爆款的團隊究竟靠的是什麼?
- 進入Steam熱銷前十,這個一半是美術的團隊做了款93%好評的Roguelike
- KDD 2024|港大黃超團隊深度解析大模型在圖機器學習領域的「未知邊界」大模型機器學習
- 專訪《霓虹深淵》團隊:Steam好評率80%的國產射擊Roguelike遊戲遊戲
- [外掛擴充套件]【好團隊】找回密碼 與傳送郵件套件密碼
- 六西格瑪:團隊合作讓夢想成真!
- GIT團隊合作探討之二--Pull RequestGit
- GIT團隊合作探討之三--使用分支Git
- 專案成功之團隊精誠合作(轉)
- 網路邊界—安全防護思想的演進
- 線上協作助力團隊合作:解析多種高效工具實現團隊協同
- 《AI 防火牆技術白皮書》釋出 邊界防護進入一體化智慧時代AI防火牆
- 當前laravel界,比較好的一款前後端開源程式,Dsshop,大家圍觀下吧!Laravel後端
- 綠盟NF防火牆,打造新一代邊界防護方案防火牆
- Y朋友身邊的專案團隊管理問題
- 求助掘金: 如何改變一個團隊的文化/氛圍
- 團隊動力之心理安全氛圍理論