For me, "Domain-Driven Design" felt like a game changer when I first heard of it. The methodologies to integrate the knowledge of domain experts into very complex software projects intreagued me. But I wondered - can the same be applied to also enhance not just the creation of complex software, but the creation of an entire business?
Eric Evans’ book “Domain-Driven Design” was a pioneer in setting a new approach to software design for complex software projects. Whilst diving very deeply into effective software design and explaining in great depth how to integrate Domain-Driven Design into the development process successfully, the concepts and the general approach to managing knowledge, improving knowledge sharing and team communication, as well as Evans’ advocacy for fast prototyping and early actions during the design phase also make it a good read for entrepreneurs looking to apply the same principles to building companies.
Reading Domain-Driven Design can be very tough for readers further removed from software design or without any prior knowledge of basic technical terminology and related subjects, but the effort can pay off.
Evan’s way to approach knowledge management unlocks a teams ability to effectively work with shared knowledge, but also comes at a price of a more rigid process and the overhead of cautiously keeping domain models up to date. This overhead can take some energy and agility away from a project, which makes it a less suitable approach for smaller projects, but especially in the B2B space the complexity added is compensated by the gain in requirements management, knowledge sharing and also the reduction in risk of loss of knowledge when team members leave the company or change roles or teams.
The strong focus on extreme programming as agile method and the distinct lack of Scrum specific methods, ideas and workflows however are a minor negative, dating the book and really reminding the reader about the period it was written in.
All in all, Domain-Driven Design is a book that requires prior knowledge about the basics of software engineering, but is a worthwhile read as it can open their eyes to different perspectives on agile projects, even beyond software, if the reader possesses the necessary prior knowledge to understand and apply the concepts, processes and ideas presented within.
Buy Domain-Driven Design by Eric Evans on Amazon