3 Using collaborative modeling for design and architecture

This chapter covers

  • The relationship between collaborative modeling, design, and architecture
  • Heuristics and their usage during collaborative modeling
  • Driving the design by understanding the business

The previous chapter gave you an idea of what collaborative modeling is and how it can be used to truly understand business problems before diving into solutions. We explained the relationship between Domain-Driven Design (DDD) and collaborative modeling, and described some of our favorite collaborative modeling tools. So, we’ve got the basics right. At this point, you’re probably wondering how collaborative modeling can be used to create an actual design and architecture. That’s exactly what we’ll cover in this chapter.

We’ll continue with our BigScreen example and take you further on their journey. We start with defining design and architecture, which is crucial if we want to move to the solution space. We’ll also dive into the difference between design and architecture, as well as how you can benefit from doing both collaboratively.

3.1 What is software design and architecture?

3.1.1 The importance of meaning and definitions

3.1.2 What is software architecture?

3.1.3 What is software design?

3.1.4 What are sociotechnical systems?

3.1.5 Design decisions and collaborative modeling

3.2 Heuristics for collaborative modeling

3.2.1 What are heuristics?

3.2.2 Competing heuristics

3.2.3 How to use heuristics

3.3 Driving the design by understanding the business

3.3.1 Designing boundaries

3.3.2 Why boundaries are designed through collaboration

3.3.3 From design to architecture

3.4 Collaborative software design catalysts

3.5 Chapter heuristics

3.6 Further reading

Summary