1 Introduction

 

This chapter covers

  • Explaining what collaborative modeling is
  • Looking at how design decisions can go wrong in software development
  • Exploring a use case based on real life experiences
  • Explaining how collaborative modeling enables teams to make design decisions
  • Seeing the software architect as a catalyst for agile architecture
  • Understanding the mental model of collaborative modeling

Designing a software system is difficult. Understanding the context in which a software system lives is more difficult. In order to understand that context, developers need to communicate with the business. But there is a lot that can go wrong while communicating with the business. For example people can misunderstand what is being said, they are scared to speak up, tensions could grow, and conflict can arise. In order to avoid these miscommunications, it is better to use visual techniques to make assumptions more explicit which will improve collaboration between developer teams and the domain experts. That improved collaboration will let software teams understand better the context and underlying problems the business has. That understanding enables the software teams to design and build sustainable quality software products. In this book we will teach you how to apply different visual techniques and how to facilitate better communication via collaborative modeling.

1.1 Design decisions gone wrong at BigScreen

1.1.1 Understanding the landscape

1.1.2 Their attempt at refactoring

1.2 BigScreen: how collaborative modeling helped to improve design decisions

1.2.1 Our battle plan for BigScreen

1.2.2 The new architecture

1.3 A brief history of software design

1.3.1 The Agile theater

1.3.2 Architects as the change maker to an Agile Architecture

1.4 The software architect as catalyst for better design decisions

1.4.1 Collaborative modeling, design and architecture

1.4.2 The collaborative modeling process and the potential benefits of facilitation

1.4.3 The impact of social dynamics on collaborative modeling sessions

1.4.4 Collaborative decision making

1.5 Summary