DDD不是開發人員的工具,而是系統設計的工具 - ntcoding

banq發表於2019-12-17

這是著名DDD專家Nick在FlowCon France大會上的PPT演講,要點:
1. 一個松耦合軟體架構與組織架構必須是匹配的,關鍵是在:持續交付效率和組織規模隨著效率線性擴充套件。

2.一個社會技術工具集是能夠更頻繁實現軟體交付和每次交付提升客戶價值。

3. 工具集有: 依賴檢查表; DDD;團隊拓撲;動態重組團隊和權力遊戲。

4. 依賴檢查表:在一個系統中選擇什麼時候在哪裡加入元件之間的依賴,這是最基礎和關鍵設計挑戰。
依賴決策關鍵:

使用者不會失去任何能力;
使用者可以專注核心區域;
使用者不會被依賴拖慢;
降低冗餘移除浪費;


不好現象:

使用者失去靈活使用的能力;
使用者被某個功能堵塞等待;
政治鬥爭;
預測假的重複冗餘;


共享服務檢查列表:

1. 服務使用者是否失去能力?
2. 服務使用者會獲得新能力?
3. 服務使用者能聚焦他們一開始的策略戰略?
4. 服務使用者是否被引入的新依賴拖慢?
5. 共享服務團隊響應力如何?
6. 使用者數量有問題嗎?
7. 遷移成本超支?
8. 使用者拒絕遷移?
9. 共享服務提升業務效率?消滅浪費?


領域驅動設計
事件風暴是按照時間線建模。
動作、策略和使用者。
外部系統、錢和UX使用者體驗
事件排序策略有幾種。
領域訊息流
有界上下文調查表
領域故事

團隊拓撲
使用DDD發現邊界,作為劃分組織團隊的起點。
建設業務平臺

重組團隊
隨著公司發展重組團隊
工作驅動重組
因為程式碼需要重組
重組將人們從不願意的位置解放。
新加入人員一般和許多團隊結對

更多點選標題見原PPT

相關文章