第一個,我沒有讀過你不應該在團隊沒有訪問領域專家時執行DDD。
域模型和域驅動設計的主要優點是使用Ubiquitous Language。它是「開發人員和用戶之間通用的,嚴格的語言」。
它被用來解決開發商和企業之間的誤解。
當一個項目的語言斷裂時,項目會面臨嚴重的問題。領域專家使用他們的專業術語,而技術團隊成員有自己的語言進行調整,以便在設計方面討論領域。日常討論的術語與代碼中嵌入的術語(最終是軟件項目的最重要產品)是分開的。甚至同一個人在講話和寫作使用不同的語言,...
(C)Eric Evans, DOMAIN-DRIVEN DESIGN
,要麼開發團隊或企業客戶應該使用相同的詞彙工作的一個項目。
使用該模型作爲語言的支柱。承諾團隊在團隊內部和代碼中的所有溝通中不懈地運用該語言。在圖表,寫作,尤其是語音中使用相同的語言。
認識到語言的變化是對模型的改變。
(C)Eric Evans, DOMAIN-DRIVEN DESIGN
在你的情況下,足有「訪問代理領域專家或只對產品負責人」。
在Scrum過程Product Owner (PO) is a bridge between development team and stakeholders。
當開發團隊執行業務使用Ubiquitous Language,開展業務分析的開發人員和業務人員/ PO一起形成該語言時,這很常見。
有時業務對於單個「實體」,「過程」或「功能」有幾個術語,選擇正確的一個術語是一項挑戰。
二,既然是球隊的責任作出架構決策和設計應用程序,他們可以"create a common language across the team, create a domain model within bounded contexts, use aggregates and aggregate roots to enforce business constraints, use repositories to ensure persistence ignorance for the model, etc"
當它是合理的。
第三,我認爲做或不做DDD的決定取決於軟件的要求,並不取決於域專家的可用性。
很好的問題 – Coldstar