1 The need for collaborative design
This chapter covers
- Understanding the need for collaborative software design
- Discovering how collaborative modeling helps in improving design decisions
- Exploring a brief history of software design
- Explaining collaborative software design as a catalyst for better design decisions
Great technical teams working closely with well-meaning business stakeholders can still deliver software that fails to meet an organization’s needs. We see it every day. Software teams become too focused on finding solutions without fully appreciating the context of the organization. Business stakeholders can be reluctant to voice their concerns in technical sessions. Tensions escalate, and conflicts go unresolved.
Effective software requires effective collaboration, and just like every other aspect of software development and design, collaboration is a skill you have to learn and practice. Visual collaboration tools can be a key strategy in doing so since they can clarify assumptions and foster improved collaboration between development teams and stakeholders. But tools alone do not guarantee effective collaboration, someone needs to guide people during collaboration: a facilitator. Fortunately, there are techniques and practices you can use to facilitate effective collaborative design, whether you’re a project leader, a business stakeholder, or an individual technical contributor.