On this page
1. Introduction and Goals
Describes the relevant requirements and the driving forces that software architects and development team must consider. These include
- underlying business goals, essential features and functional requirements for the system,
- quality goals for the architecture,
- relevant stakeholders and their expectations
1.1 Requirements Overview
Contents
Short description of the functional requirements, driving forces, extract (or abstract) of requirements. Links to the (hopefully existing) requirements documents, with information where to find it.
Motivation
From the point of view of the end users a system is created or modified to improve support of a business activity and/or improve the quality.
Form
Short textual description, probably in tabular use-case format. If requirements documents exist this overview should refer to these documents.
Keep these excerpts as short as possible.
Balance readability of this document with potential redundancy w.r.t. requirements documents.
Examples
<insert requirements overview>
1.2 Quality Goals
Content
The top three (max five) quality goals for the architecture whose fulfillment is of highest importance to the major stakeholders. We really mean quality goals for the architecture. Don’t confuse them with project goals. They are not necessarily identical.
For example ISO 25010 standard provides an overview of potential topics:

Motivation
You should know the quality goals of your most important stakeholders, since they will influence fundamental architectural decisions. Make sure to be very concrete about these qualities, avoid buzzwords. If you as an architect do not know how the quality of your work will be judged …
Form
A table with the most important quality goals and concrete scenarios, ordered by priorities.
See section 10 (Quality Requirements) for a complete overview of quality requirements.
Examples
< insert table of quality goals here>
1.3 Stakeholder
Content
Explicit overview of stakeholders of the system, i.e. all person, roles or organizations that
- should know the architecture
- have to be convinced of the architecture
- have to work with the architecture or with code
- need the documentation of the architecture for their work
- have to come up with decisions about the system or its development
Motivation
You should know all parties involved in development of the system or affected by the system. Otherwise, you may get nasty surprises later in the development process. These stakeholders determine the extent and the level of detail of your work and its results.
Form
Table with role names, person names, and their expectations with respect to the architecture and its documentation.
<complete the stakeholder table:>
| Role/Name | Contact | Expectations |
|---|---|---|
| … | … | … |
Practical Tips
- Tip 1-1: Give a compact summary of requirements and driving forces!
- Tip 1-2: Limit yourself to the essential tasks and use cases!
- Tip 1-3: Highlight the business goals of the system!
- Tip 1-4: Create an overview by grouping or clustering requirements!
- Tip 1-5: Make sure you can reference (existing) requirements!
- Tip 1-6: Use activity diagrams to describe functional requirements!
- Tip 1-7: Use BPMN diagrams to describe functional requirements!
- Tip 1-8: Use a numbered list to describe functional requirements!
- Tip 1-9: Use (semi) formal text to describe functional requirements!
- Tip 1-10: Use 'exemplary business process models' to describe functional requirements!
- Tip 1-11: Always work with explicit quality requirements!
- Tip 1-12: Explain quality requirements through scenarios!
- Tip 1-13: If you do not get quality requirements, make your assumptions *explicit*!
- Tip 1-14: Use checklists for quality requirements!
- Tip 1-15: Use examples to work out quality goals together with your stakeholders!
- Tip 1-16: Describe only the top 3-5 quality goals in the introduction!
- Tip 1-17: Combine quality goals with the action points of the 'solutions strategy' section!
- Tip 1-18: Defer detailed and complete quality requirements to arc42 section 10!
- Tip 1-19: Search broadly for stakeholders!
- Tip 1-20: Describe the expectations of stakeholders!
- Tip 1-21: Maintain a stakeholder table!
- Tip 1-22: Skip the stakeholder table if your management already maintains it!
- Tip 1-23: Classify your stakeholders by interest and influence!
- Tip 1-24: Make use of the (open-source) arc42 Quality Model and its many examples!
Related Questions
See here for questions related to introduction, goals and requirements.