領域是軟件要解決的問題,系統是已有的系統。it系統上了一定規模的企業,尤其是現在具備一定歷史的互聯網企業,都坐擁大量系統,業務就跑在這些系統上。很多企業的開發團隊都按系統劃分,甚至有大量的團隊主要工作就是實現系統的新需求。
這種狀況限制了開發人員的思考空間,也帶偏了需求設計人員的方向,最終一個個企業都倒在自己的軟件資產上。
當你聽到需求討論充斥這xx系統調xx系統,xx系統寫個xx數據,你可以立即斷定這個需求很大程度上受系統現狀的約束,順便滿足一下客戶的一些需求。這種做系統的方式我叫他系統驅動。即便也采用敏捷的一些工具和方法,但這一定是一個個的小瀑布。
領域驅動的做法于此相反,在需求討論中一定圍繞客戶和業務,通過對業務的理解和建模,再映射到現有系統的重構。