Skip to main content

Posts

Showing posts from February, 2026

When DDD may be overkill or should be avoided?

  1) Simple CRUD or data-centric systems If the core problem is straightforward data storage and retrieval with minimal business rules: Admin dashboards Basic inventory apps Simple reporting tools DDD adds layers (aggregates, repositories, domain services) without real benefit. 👉 Better fit: Transaction scripts, layered architecture, or even low-code. 2) Stable domains with little change DDD shines when: Rules change frequently Language evolves Domain knowledge deepens If the domain is mature and unlikely to change (e.g., fixed regulatory forms, static catalogs), DDD’s modeling effort doesn’t pay off. 3) Small teams or short-lived projects DDD requires: Shared language Modeling workshops Ongoing refinement For: 1–2 developers Proof-of-concepts Hackathons MVPs with uncertain future …the coordination cost exceeds value. 4) When the domain complexity is low but technical complexity is high Example: Real-time streaming...

How DDD works in an agentic-AI development lifecycle?

Scenario Build an Order Management system with: order lifecycle payments shipment cancellations refunds We’ll map roles → inputs → artifacts → outputs → consumers . 1) Roles in AI-era DDD We’ll use these roles: Architect Domain Designer Developer AI Coding Agent QA / Validator AI 2) Step-by-step lifecycle with artifacts Step 1 — Architect defines domain boundaries Architect input business scope enterprise architecture system landscape integration needs Architect produces Bounded Context Map Example: Order Management Payment Shipping Customer Catalog Relationships: Order → uses Payment Order → triggers Shipping Order → reads Catalog Who consumes Domain Designer AI Agent Developers 👉 This tells AI: “don’t mix payment logic into order.” Step 2 — Domain Designer defines ubiquitous language Designer input workshops with business policies terminology lifecycle rules Designer produces Domain Glossary Example: Order: co...