In my last project, I applied DDD N-layered since the application is quite complex in the sense that the business logic is dynamic and requirements are not able to capture beforehand.
It nicely fit into the agile development, that help to understand domain logic progressively along iterations. We used TDD to understand the expected behaviours and develop the domain model (DDD).
The problem is that in my team, some of the team members are not really aware of the basics of OOP and the practices such as SOLID, Refactoring. They are more comfortable using SQL procedures to implement business logic. It is also affecting their productivity since they have to learn all those concepts.
So the question is, does this usually happen in other software houses?
Yes it happens.
DDD requires strong skills and discipline.
Developers are normally and historically comfortable with Stored procedures and procedural programming.
In most case dev “thinks” to make OOP but really they are doing a lot of procedural programming.
So I suggest before doing DDD to spend some times in learning and empower team on themes like:
and then try DDD on a pilot project.