ddd-crew/core-domain-charts:幫助查詢DDD核心子域的複雜性分析工具集

banq發表於2022-02-22

核心子域圖幫助您視覺化架構中每個(子)域或業務能力的戰略重要性,從而使您能夠做出與業務模型一致的架構決策。

這種技術的真正力量在於它引發的對話,尤其是跨學科的對話。複雜性是工程師可以衡量的東西,而業務差異化是由產品經理或業務利益相關者提供的。

 

衡量複雜性的重要性

首先,衡量你的領域的複雜性和差異化是很困難的,而且通常是相當主觀的。戰略是對未來的賭注,因此您永遠無法確定某件事最終會變得多麼複雜或差異化。但是,討論和視覺化您對每個領域的複雜性和差異性的信念仍然有很多價值。

以下線索可以幫助評估每個領域的複雜性和差異性。

  • 為領域設計概念模型並將其構建(和維護)為軟體有多困難?(基本領域複雜性)
  • 當前的技術解決方案是否比提供當前功能所需的複雜?(意外的技術複雜性)
  • 軟體外部是否發生了複雜的流程、計算和決策?(操作複雜性)
  • 一個新進入市場的人要達到或超過其能力有多難?
  • 現有競爭對手要達到或超過其能力有多難?
  • 目前有多少優勢來自(子)域(收入、品牌、參與度)?
  • (子)領域(收入、品牌、參與度)可能帶來多少優勢?
  • 如果該領域發生重大或反覆出現的故障,會對品牌造成什麼損害?
  • 它屬於哪個cynefin 哪個域?

 

複雜性可以以不同的形式表現出來。以下是揭示每個(子)域的基本域複雜性、偶然技術複雜性和操作複雜性的一些線索:

  • 發現潛在的新價值有多難?
  • 設計創造價值的規則、邏輯和工作流程有多難?
  • 系統需要以什麼規模執行?(即使規則更簡單,規模也會增加很多複雜性)
  • 是否需要非常高水平的差異化/複雜性來取代現有的市場領導者或在飽和市場中?
  • 是否需要難以獲得且昂貴的專業知識/人才(發現和/或交付價值)?
  • 新人需要多長時間才能提高效率並提高效率?

幾種使用方式:

核心域圖有多種使用方式,但重要的是不要試圖在單個圖表中視覺化所有可能的資訊。以下是多個版本,顯示了可供選擇的不同型別的資訊。

  • (子)領域/有界上下文組合

這是最簡單的味道。只需在圖表上繪製每個(子)域或有界上下文,以獲得它們之間的相對順序感。

  • 具有團隊拓撲的上下文對映

您可以使用有界上下文和正在使用的團隊拓撲互動模式型別之間的依賴關係來擴充您的核心域圖表。

  • 架構遷移

稍微調整一下 y 軸標籤,就可以使用核心域圖表來規劃從當前架構遷移到目標架構的順序。

 

ddd-crew/core-domain-charts:幫助查詢DDD核心子域的複雜性分析工具集

相關文章