methodatlas
Method guideArchitecture

SAAM (Software Architecture Analysis Method)

A practical method guide: clarify prerequisites and materials, understand the complete process, and look up outputs, pitfalls, and stop criteria.

ComplexityHigh
TimePreparation, scenario analysis, and findings review; effort depends on scope
ParticipantsArchitecture experts and stakeholders for scenarios and weighting
FormatWorkshop + async
MaturityCanonical
Prepare work plan
01

Prerequisite

What needs to be finished first

Components, interfaces and dependencies are described for the system area in scope. For existing systems, the documents show which details have been checked against code or with people who know the system.

Complete the architecture information needed and explicitly record questions that remain open.
Complete firstGoals and participating perspectives

Product and domain representatives have agreed on the analysis question. Participants can identify typical usage and change requirements.

Clarify unresolved goals and involve the perspectives needed before confirming the evaluation cases.
Complete firstSystem knowledge and analysis experience

A qualified person can assess components, interfaces and change impacts. Developers familiar with the system and product and domain representatives are available to answer questions.

Involve suitable specialists and obtain the documents or technical evidence needed for the assessment.
02

Preparation

What needs to be ready before start

Materials

Versioned architecture documents, goals for future development, evaluation cases, findings log and sources used.

People / roles

An architecture analyst; developers familiar with the system; product and domain representatives to help select tasks. Add facilitation and note-taking as needed. A qualified person can prepare and conduct the analysis alone. Task selection, weighting and key assumptions are then checked with affected stakeholders; until then, findings are an initial assessment.

Pre-read

Clarify the analysis question and the business domain in scope. Gather architecture documents and agree relevant change tasks with people who know the system and how it is used.

Time needed

Plan preparation, agreement on evaluation cases, one or more analysis blocks and a results discussion. The number and difficulty of tasks and the available documents determine the time needed. The time entered for one step applies to that selected work block.

Setup

Set up a shared document with stable scenario and finding IDs. Label facts, assumptions, technical evidence and decisions separately.

03

Core question

The one question this method answers

What changes do our planned tasks require, and how do the architecture alternatives differ?

04

Flow

Phases with goal, actions, output and pitfall

SAAM shows which parts of a system would need to change for a planned requirement. It maps business functions to responsible components, assesses concrete changes, and supports comparison of architecture alternatives on the same basis.

SAAM analysis report

Fictional worked example

Document the business functions, affected components and assessed change impacts.

Question and business functions

Describe the analysis question, system boundary and goals for future development. List the business functions as a shared basis.

Add shipping providers; prepare order, book shipment, map status.

Functions and components

Describe components and connections for each alternative. Map business functions to them and record sources and information still needed.

A: The order module calls providers directly. B: Adapters handle communication and map status codes. The shared interface still needs checking.

Quality goals and criteria

Name the relevant quality goals. Explain the criteria you will use and which conclusions they support.

Modifiability: affected components and interfaces and required tests. Effort will be estimated later.

Concrete evaluation cases

Record concrete tasks, context, desired outcome, priority and selection rationale.

T1: add second parcel provider. T2: grouped shipments with multiple parcel IDs. Both from fictional growth plans.

Assessment and next steps

For each task and alternative, record the required changes, evidence, assumptions and assessment. Agree next steps and owners.

With a suitable interface, T1 in B affects the new adapter and status mapping. T2 requires further changes in both alternatives. Development examines the interface and tests.

The example is fictional. It illustrates possible change impacts; open assumptions and pending checks are marked.

SEI: Software Architecture Analysis Method

  1. 1

    Functions

    Describe the functions the system performs

    Goal

    Establish a common basis for analysis.

    Inputs for this step

    • Knowledge of the business domain and system use
    • Bounded analysis question

    Actions

    • Agree which system to examine and which questions about its use or future development to answer. Identify any architecture alternatives to compare.
    • Describe the main business functions, such as preparing an order or booking a shipment. Use an established partition for the domain or explain the structure you agree on.
    • Use the same terms and level of detail for all alternatives.

    Output

    Shared list of business functions

    Functions describe responsibilities; components are mapped in the next step.

    Quality check

    Do the functions describe business tasks independently of particular products? Is it understood consistently across alternatives?

    Pitfall

    Functions simply mirror modules in the favored solution. Describe the business tasks independently of the technical solution and agree them with domain experts.

    Timing: Preparation and domain discussion; plan time based on the available documents.

  2. 2

    Allocation

    Map functions to components

    Goal

    Understand architectures at the same level of description.

    Inputs for this step

    • Functional partition
    • Architecture description for each alternative

    Actions

    • Describe the components and show which data or control signals they exchange. Use consistent terms for all alternatives.
    • Map each function to the components that implement it. Record where several components work together and where responsibilities still need clarification.
    • For existing systems, check descriptions against code, interfaces or system experts where available.

    Output

    Functions and responsible components

    Describe each component’s responsibility and connections so you can trace the effects of a change later.

    Quality check

    Are all relevant functions mapped? Are alternatives described at comparable depth?

    Pitfall

    An alternative seems simpler because its details are missing. Describe alternatives at comparable depth and identify information still needed for the comparison.

    Timing: Document analysis and architecture alignment; schedule necessary reconstruction separately.

  3. 3

    Qualities

    Set quality goals and evaluation criteria

    Goal

    Ground evaluation in relevant criteria.

    Inputs for this step

    • Goals for use and future development
    • Functions and responsible components

    Actions

    • Choose relevant quality attributes with affected stakeholders. Examples include modifiability and portability, meaning the ability to move to other technical environments.
    • Define how to assess suitability: for example, which components and interfaces a change affects, how far it spreads and how confident you are in the assessment.
    • Clarify which decisions these criteria can support and which claims need further specialist analysis.

    Output

    Quality goals and evaluation criteria

    The number of affected components shows how far a change reaches. An effort estimate also needs information about implementation and testing.

    Quality check

    Do the criteria match the goals for use and future development? Are structural indicators distinguished from effort estimates?

    Pitfall

    Quality is reduced to having as few components as possible. Also consider responsibilities, interfaces, required tests and confidence in the assessment.

    Timing: Align criteria jointly before analyzing tasks.

  4. 4

    Tasks

    Describe representative changes as evaluation cases

    Goal

    Explain which evaluation cases cover the important requirements.

    Inputs for this step

    • Quality attributes and criteria
    • Expected business or technical changes

    Actions

    • Describe the trigger, starting situation and desired outcome for each task. To assess modifiability, use expected change requests.
    • Agree with product, domain and development representatives which tasks are representative and important. Explain the selection and weighting. Also identify relevant cases to examine later.
    • Use identical tasks and constraints when comparing alternatives.

    Output

    Evaluation cases with selection rationale

    Start with the desired change. Record possible technical solutions as options for the subsequent analysis.

    Quality check

    Are the tasks concrete enough to walk through the affected components step by step? Have people from the affected areas agreed on the selection?

    Pitfall

    Only tasks that are easy to support are selected. Include likely and challenging changes and document the selection rationale.

    Timing: Align tasks with affected people; conduct additional interviews where knowledge is missing.

  5. 5

    Evaluation

    Examine change impacts for each architecture

    Goal

    Explain the architecture’s suitability through concrete change impacts.

    Inputs for this step

    • Scenario tasks
    • Mapping of functions to components
    • Evaluation criteria

    Actions

    • Trace each task through functions, components and connections. Record required changes and unresolved dependencies.
    • Evaluate support using the agreed criteria. Record sources, assumptions and differing judgments for each task.
    • When comparing alternatives, describe their strengths and limitations for the chosen tasks. Explain how you weight the findings and identify evidence still needed.
    • Agree who will investigate open technical questions and who will decide on next steps.

    Output

    Evaluation and change impact

    The analysis shows which changes the architecture is expected to require. Further investigations establish code quality, precise effort and actual runtime behavior.

    Quality check

    Can each assessment be traced to the affected components and its sources? Are assumptions and unexamined consequences visible?

    Pitfall

    A qualitative assessment is passed on as a firm implementation estimate. Label the estimation basis and have the implementers examine effort, tests and migration separately.

    Timing: Analysis blocks and result alignment; schedule technical evidence gathering separately.

05

Artifact

What comes out at the end

Form

A versioned analysis report covering the question, architecture alternatives, evaluation cases, change impacts, evidence and next steps with owners.

Versioning / ownership

Record the architecture version, date, participants and evidence used for each assessment. Mark superseded findings and retain earlier versions.

Tool alternatives
  • Shared document and board
  • Architecture diagrams and repository
  • Linked measurements or models according to analysis needs

saam-markdown.md

Prepare the overall initiative or a selected analysis block with a concrete question, documents and participants.

SAAM (Software Architecture Analysis Method): Worksheet

Question

To be confirmed

Desired outcome

To be confirmed

Scope

Whole analysis initiative Time: Multiple meetings and interim work, to be agreed according to scope

Complete this worksheet on paper or in your own document during the work.

Preparation for this scope

Method setup

  • Materials: Versioned architecture documents, goals for future development, evaluation cases, findings log and sources used.
  • Roles: An architecture analyst; developers familiar with the system; product and domain representatives to help select tasks. Add facilitation and note-taking as needed. A qualified person can prepare and conduct the analysis alone. Task selection, weighting and key assumptions are then checked with affected stakeholders; until then, findings are an initial assessment.
  • Advance information: Clarify the analysis question and the business domain in scope. Gather architecture documents and agree relevant change tasks with people who know the system and how it is used.
  • Overall time needed: Plan preparation, agreement on evaluation cases, one or more analysis blocks and a results discussion. The number and difficulty of tasks and the available documents determine the time needed. The time entered for one step applies to that selected work block.
  • Setup: Set up a shared document with stable scenario and finding IDs. Label facts, assumptions, technical evidence and decisions separately.

Prepare for the work steps

Functions: Describe the functions the system performs

  • Knowledge of the business domain and system use
  • Bounded analysis question

Allocation: Map functions to components

  • Functional partition
  • Architecture description for each alternative

Qualities: Set quality goals and evaluation criteria

  • Goals for use and future development
  • Functions and responsible components

Tasks: Describe representative changes as evaluation cases

  • Quality attributes and criteria
  • Expected business or technical changes

Evaluation: Examine change impacts for each architecture

  • Scenario tasks
  • Mapping of functions to components
  • Evaluation criteria

SAAM analysis report

Question and business functions

Describe the analysis question, system boundary and goals for future development. List the business functions as a shared basis.

...

Functions and components

Describe components and connections for each alternative. Map business functions to them and record sources and information still needed.

...

Quality goals and criteria

Name the relevant quality goals. Explain the criteria you will use and which conclusions they support.

...

Concrete evaluation cases

Record concrete tasks, context, desired outcome, priority and selection rationale.

...

Assessment and next steps

For each task and alternative, record the required changes, evidence, assumptions and assessment. Agree next steps and owners.

...

Enter your own information, sources and assumptions in the blank worksheet.

SEI: Software Architecture Analysis Method

Functions: Describe the functions the system performs

Expected artifact: Shared list of business functions

Functions describe responsibilities; components are mapped in the next step.

Entry:

...

  • Do the functions describe business tasks independently of particular products?
  • Is it understood consistently across alternatives?

Allocation: Map functions to components

Expected artifact: Functions and responsible components

Describe each component’s responsibility and connections so you can trace the effects of a change later.

Entry:

...

  • Are all relevant functions mapped?
  • Are alternatives described at comparable depth?

Qualities: Set quality goals and evaluation criteria

Expected artifact: Quality goals and evaluation criteria

The number of affected components shows how far a change reaches. An effort estimate also needs information about implementation and testing.

Entry:

...

  • Do the criteria match the goals for use and future development?
  • Are structural indicators distinguished from effort estimates?

Tasks: Describe representative changes as evaluation cases

Expected artifact: Evaluation cases with selection rationale

Start with the desired change. Record possible technical solutions as options for the subsequent analysis.

Entry:

...

  • Are the tasks concrete enough to walk through the affected components step by step?
  • Have people from the affected areas agreed on the selection?

Evaluation: Examine change impacts for each architecture

Expected artifact: Evaluation and change impact

The analysis shows which changes the architecture is expected to require. Further investigations establish code quality, precise effort and actual runtime behavior.

Entry:

...

  • Can each assessment be traced to the affected components and its sources?
  • Are assumptions and unexamined consequences visible?

Open questions and next steps

...

Method guide: https://methodatlas.meierhoff-systems.de/en/methods/saam/run-sheet

06

Example output

Concrete filled scenario, fictional example

Fictional example for orientation. Counts and timings describe this case and are not universal requirements.

saam-beispiel.md

Concrete filled scenario, fictional example

Fictional worked example: shipping software

A retailer wants to add shipping providers. The software performs three business functions: preparing an order, booking shipment and mapping delivery status.

Alternative A: The order module calls providers directly and processes their status codes. Alternative B: An adapter handles communication with each provider. A mapping translates external status codes into internal delivery states.

Task T1: Add a second provider for standard parcels. A requires changes to the order module and status processing. B may need only a new adapter and an additional status mapping. This assumes the shared interface also fits the new provider, which still needs checking.

Task T2: Support grouped shipments with multiple parcel IDs. Both alternatives require changes to the order model and status mapping.

Assessment: For T1, alternative B may confine changes to the new adapter and status mapping. This assessment assumes the shared interface fits. T2 affects further components in both alternatives. The team investigates implementation effort and migration risks separately.

Next step: Development checks the shared interface against an example from the new provider and updates the architecture overview. The entire example, including its findings, is fictional.

07

Pitfalls

Recognize symptoms and steer against them

Quick overview, the full text is in the matching phase in the flow

  1. Describe the functions the system performsFunctions simply mirror modules in the favored solution.View in phase
  2. Map functions to componentsAn alternative seems simpler because its details are missing.View in phase
  3. Set quality goals and evaluation criteriaQuality is reduced to having as few components as possible.View in phase
  4. Describe representative changes as evaluation casesOnly tasks that are easy to support are selected.View in phase
  5. Examine change impacts for each architectureA qualitative assessment is passed on as a firm implementation estimate.View in phase
08

Stop criteria

When to pause, resolve prerequisites, or choose another approach

Evaluation scope, architecture version and participants are agreed. Remaining questions are explicitly identified.
The selected evaluation cases have been examined with clear reasoning. Each assessment states its assumptions and scope.
Report, open evidence needs, owners and review dates are handed over.
Pause the affected analysis block when the architecture baseline or required expertise is missing and arrange access.

Finished the method guide?

Go to the profile for purpose, similar methods, and sources or continue to the next method in the catalog.