2 What is collaborative modeling
This chapter covers
- Understanding the difference between complicated and complex problems
- Explaining collaborative modeling
- Understanding domain-driven design
- Comparing different collaboration tools
- Investigating the characteristics of collaborative modeling
"All models are wrong, but some are useful"
George box
We start this chapter with explaining why it is essential for development teams to understand the business and the problems they are building solutions for. But it doesn't stop at understanding the business. We want developers to engage in the design process actively because developers have loads of knowledge from a technical side that has the potential to improve the business with that software. That is the true potential of collaborative modeling. And that potential of collaborative modeling is often spoken about in Domain-Driven Design. It will not come as a surprise to the readers that know us that we are a big fan of approaching software delivery with DDD, and is a big part of how we design and build software. So we find it important to share in this chapter why we believe it is essential and how it relates to collaborative modeling.