🎯 Немного о DDD, сложности и странных комментариях
Видимо, наследие Otus меня не отпускает.
Сегодня получил обратную связь на свой открытый урок по DDD, записанный больше года назад:
«Прослушал половину видеоролика и ни разу не услышал главного слова в DDD — “модель”.
Автор путает essential complexity и accidental complexity.
Essential complexity невозможно уменьшить (автор ошибся).
Возникает вопрос: как DDD вообще может помочь бороться со сложностью? Ответа нет.»
Формально — человек прав.
Я действительно не произносил слово “модель” и не читал лекцию по Бруксу.
Но если чуть отойти от формальной логики и посмотреть на суть — всё становится интереснее.
⸻
Для меня DDD — это не про построение моделей, а про коммуникацию.
Про умение выстроить совместное понимание между командами — бизнесом, аналитикой и разработкой.
Это коллаборативная техника, которая помогает людям наконец начать говорить на одном языке.
Вот в этом и есть настоящая ценность DDD.
⸻
Теперь про сложность.
Да, essential complexity — исходную сложность домена — в абсолютных величинах не уменьшить.
Разве что вы перепишете законы, регламенты и бизнес-процессы.
Но вот accidental complexity — ту, что мы сами добавляем из-за непонимания предметной области —
вот её DDD и помогает убирать.
Причём не “в теории”, а относительно конкретной команды,
которая благодаря совместному языку лучше понимает, что она делает и зачем.
⸻
💬 Поэтому я по-прежнему считаю, что DDD снижает сложность,
пусть и не абсолютную, а коммуникационную и когнитивную.
А это, если честно, сложность посерьёзнее любой технической.
Готов подискутировать — особенно с теми, кто до сих пор верит,
что DDD — это про рисование UML и словарь терминов. 😉
Post #1026
685