In this chapter, we focused on the interaction between different subprojects forming sub-domains and collaborating with each other by different means. This collaboration can take many forms and depending on the context and the state of the application as a whole, some can be more valuable then others.
The right choice for collaboration is always up for debate, of course, and it is very possible to change the mode as the project evolves. An important point I would like to get across is that those collaboration ideas are not set in stone; it is a sliding scale and every team should decide what works best for them and what keeps the actual complexity in the application and the team work low.
In the last part, the chapter focused on the important things when creating documentation for a project and how we can make it useful while not diving into the realm of creating elaborate specifications that nobody ever touches or even understands as soon as they leave the hands of the architect who...