9 Identifying domains and subdomains
This chapter covers
- Understanding the principles for identifying domains and subdomains
- Exploring possible domain boundaries with heuristics
- Identifying domains and subdomains with EventStorming
- Grouping subdomains into domains
- Assessing and refining domain boundaries
Whatever ambitious outcomes you hope to achieve with modernization, structuring teams effectively and designing a loosely coupled architecture will play an important role. Well-defined boundaries reduce dependencies in an organization and in software, empowering teams to deliver changes rapidly with fewer blockages. The benefits of good boundaries also extend into value discovery. Teams who are empowered to grow their expertise in a particular business area can contribute far more than just writing code. They can combine their domain knowledge and technical expertise to propose new product innovations. This is what Product Management expert Marty Cagan means when he says: “if you’re just using your engineers to code, you’re only getting about half their value.” (https://www.svpg.com/the-most-important-thing/). Good boundaries empower teams and help unlock their full potential.