DDD與團隊拓撲以及微服務之間的關係圖 - aleixmorgadas
微服務是從認知負載角度劃分的,每個團隊都是由人組成的,人都是認知能力限制或天花板的,這些決定了團隊的認知能力大小,一個團隊不可能建立或管理其認知能力之外的領域上下文知識,也就無法建立和管理相應的微服務,認知負載邊界=微服務邊界。
根據康威定理,組織架構決定了技術架構,那麼就要逆康威定律,如果你想要一個微服務架構,那麼就改造你的團隊結構,這就是團隊拓撲的由來,團隊拓撲由四個團隊組成:業務流對齊團隊,這與有界上下文(限界上下文)對應對齊的,其他三個都是支援性團隊,其中平臺團隊類似DevOps團隊,其他支援性團隊在時間上不是永久捆綁在上下文裡,而是對所有流對齊團隊提供支援。
那麼平臺團隊比較特殊:
事實上,我們建立了一個平臺團隊,因為其目的是減少團隊在特定部分的認知負擔。
但是,根據最近的學習,我們認為它本身可能是一個有界上下文,至少是一個支援子域。
這是對同一問題空間使用不同視角幫助您找到最佳團隊組成的情況之一。
幫助我們識別這種情況的原因是使用 Big Picture Event Storming(戰略圖事件風暴) 來促進對部落(特殊的團隊)識別新業務能力的快速學習:關於我們正在研究的領域的缺失知識,並且是重要的知識。
有趣的是,起初,平臺團隊似乎是為了減少認知負荷,後來演變成一種支援性的能力,這種能力如果涉及業務以 SaaS方式提供服務,那麼可將平臺作為一種產品和支援性的上下文來共享。
也就是說:流對齊團隊透過平臺SaaS共享平臺團隊的能力,不再需要人工現場配合工作了。
但是,如果平臺團隊是透過平臺工程這樣的運維工程提供 CI/CD或基礎設施DevOps能力,則不屬於業務。
banq觀點:團隊拓撲中只有流對齊團隊才涉及業務流,工作在限制的上下文BC中,其他團隊或提供業務內的除了核心子域以外的支援,或提供業務外的IT平臺性技術服務。但是,對於平臺團隊內部,可以將平臺作為產品來實現,這就屬於平臺工程,當然還有為流對齊團隊提供支援的大資料團隊,他們如果也有自己的平臺產品。所以,團隊拓撲中,如果其他支援團隊能力強,認知能力好,可以透過打造產品的形式與流對齊團隊合作,替代人工合作,無論人工還是產品API整合,都屬於上下文對映範疇需要考慮設計的。
相關文章
- DDD、Wardley對映和團隊拓撲
- DDD興起的原因以及與微服務的關係微服務
- 事件風暴創始人Alberto:團隊拓撲和DDD上下文對映的關係事件
- 團隊拓撲快速參考圖
- 團隊拓撲:軟體與組織之間的完美融合 - Matthew Skelton
- 通俗地理解面向服務的架構(SOA)以及微服務之間的關係架構微服務
- 基於d3.js的關係拓撲圖JS
- Pipefy如何使用團隊拓撲方法建設敏捷團隊?敏捷
- AdHoc使用團隊拓撲方法打造其工程團隊
- 什麼是Spotify模型的團隊拓撲?模型
- 微服務是與團隊管理相關的 - filipnikolovski微服務
- 團隊拓撲:減少軟體團隊的認知負擔 - mimacomMac
- 圖(3)--拓撲排序與關鍵路徑排序
- 什麼是DevOps團隊拓撲? - atlassiandev
- TeamTopologies/Team-API-template:用於定義團隊拓撲中團隊API 的模板API
- 微服務開發的意義 微服務與分散式的關係微服務分散式
- 2022年DDD新書推薦:領域驅動設計+Wardley對映+團隊拓撲新書
- 微服務架構的理解以及和 RPC 的關係微服務架構RPC
- 圖的拓撲排序詳解與實現排序
- BBC如何使用團隊拓撲構建內部核心平臺?
- Java實現管線拓撲關係連通性分析Java
- ODS與DW之間的關係
- 圖論——拓撲排序圖論排序
- 微服務?資料庫?它們之間到底是啥關係?微服務資料庫
- UML類圖--類之間的關係
- QT中類之間的關係圖QT
- TLS與SSL之間關係TLS
- ps 與 svmon之間關係
- 類與類之間的基本關係
- flashback與dmt tbs以及trigger,materialized view log之間的關係!ZedView
- 網路拓撲圖:網路拓撲圖介紹及線上製作
- Reward (圖論+拓撲排序)圖論排序
- PHP的工作原理以及lamp四者之間的關係PHPLAMP
- 微服務架構的理解以及和 RPC 的關係(理論篇)微服務架構RPC
- 有向圖的拓撲排序——DFS排序
- 儲存過程、觸發器與事務之間的關係儲存過程觸發器
- 微服務實戰系列(三)-springcloud、springboot及maven之間關係微服務GCCloudSpring BootMaven
- DDD之1微服務設計為什麼選擇DDD微服務