Structure of the Architecture Communication Canvas (ACC)
Click on an element to see a more detailed description, or just scroll down.
What is the core business case or economic driver?
For whom are we creating value?
Who are the customers?
Who is paying?
Who is contributing?
Most important functions?
Supported processes or activities
Speed, scalability, reliability, usability, security, safety, capacity, flexibility or similar.
Important external interfaces or neighbouring systems,
including important actors or user roles
Major building blocks of the system,
important subsystems, modules, services.
Good or Bad
Which decisions lead to the current state?
Important technologies used for development and operation.
Potential problems and risks?
What information is missing or has gotten lost?
What is hindering the team from delivering better value faster?
Answer at least on of the following questions:
- What are the systems’ major objectives?
- What value does the system deliver to the customer?
- What are the major business goals of the system?
- Why is the system build and operated?
- What is its core responsibility?
Identify the most important stakeholders of the system:
- For whom are we creating value?
- Who is paying for development?
- Who is paying for operations?
- Who are our most important customers?
- Who are our most important contributors?
- What are the most important functions, features or use-cases of the system?
- What activities or processes does it offer?
- What is the major use-case?
- Which of the functions generates high value for stakeholders?
- Which functions are risky, dangerous or critical?
What are the important quality goals and requirements, like speed, scalability, reliability, usability, security, safety, capacity or similar.
See the companion site on quality, where you find detailed descriptions of more than 130 quality attributes, plus numerous examples of specific quality requirements.
Which external systems, interfaces or neighbouring systems…
- are the most important data sources?
- are the most important data sinks?
- determine our reliability, availability, performance or other critical quality requirements?
- are highly volatile or risky?
- have high operational cost (e.g. pay-per-use)?
- are difficult to implement, operate or monitor?
Core Decisions - Good or Bad
- lead to the current state of the system?
- are you especially proud of?
- turned out to be dubious, wrong or painful?
- can’t you understand from todays’ perspective?
Components / Modules
What are the major building blocks of the system (e.g. modules, subsystems, packages, components, services)?
What are the most important technologies used for development and operation of the system?
- programming languages and technologies
- frameworks (like SpringBoot, .NET, Flask, Django)
- database or middleware
- technical infrastructure like physical hardware, server, datacenter, cloud provider, hyperscaler or similer
- operating technologies and environment
- monitoring and administration technologies and environment
See the companion Technology Stack Canvas.
Risks and Missing Information
- What are known problems?
- Which parts of the system are known to cause problems during implementation, test or operation?
- Which processes (requirements, architecture/implementation, test, rollout, administration, operation) cause problems?
- What hinders development or value-generation?
- What would you like to know about the system, but cannot currently find out?
- What is hindering the team from delivering better value faster?
- PDF, e.g. for on-site workshops
- PNG, as background for drawing tools
- draw.io Template
- Miro® template on Miroverse (Direct download *.rtb)
- Mural® Template
If you want to create your own version, just clone our Github repository.