Three pain points Heimeshoff has encountered adopting DDD: (1) Hierarchies — middle management loses power when teams talk directly to customers, and top-down mandates collide with long-tenured SQL-style developers; (2) Perfectionism — developers trying to master every DDD pattern before shipping instead of delivering business value; (3) Constraints — imposed tech choices (e.g., must use MSSQL) frustrate modeling. DDD changes code, culture, architecture and agile practice, so systems resist; it takes a long breath.