As an architect, you should be able to perform pattern analysis, provide validation of design elements, and identify and remediate poor design. There are several methodologies and tools that can be used for design analysis, with Architecture Tradeoff Analysis Method (ATAM) and Perspective-Based Architecture (PBA) being two of the best known.

Design analysis and testing allow you to discover issues with your solution earlier in the project. The earlier in the life cycle to identify and mitigate a problem, the less impact to schedules and costs.

Definition:

Architecture analysis techniques and related tools allow IT architects to evaluate a design relative to alternatives, describe the structure and state of a design, and analyze the design’s dynamic behavior in response to external events. They can then test a design as an artifact for completeness, correctness, efficiency, and a number of other criteria.

Highest priority techniques such as selected ATAM techniques, failure analysis, optimization, prototyping, simulation, scaled modeling, and various forms of walk-throughs and design reviews can be used to perform analysis and testing.

Design Analysis and Testing

IT architecture analysis and testing techniques are becoming common.

  • Mitigate/reduce risk
  • Allow team to test effectiveness of an IT architecture
  • Generally based on use case scenarios and perspective analysis
  • Tools:
  • ATAM (Architecture Tradeoff Analysis Method) by SEI-CMU
  • Perspective-Based Architecture (PBA/PBAAM)

Cost of Not Knowing

  • Poor design not discovered until implementation or deployment
  • Poor architecture value


 

Skills Analysis

  • I have read and/or used at least one industry-accepted analysis tool.
  • I have participated in an architecture analysis process.
  • I have introduced others to analysis or mentored others in analysis.
  • I have developed or speak about design analysis methodology.

Concepts

The assessment method can be chosen according to

  • the software quality attributes to be assessed,
  • the input required by the assessment method and the architecture description format used,
  • the process stage in the software life cycle when the assessment is performed,
  • the resources required and the time allotted to the assessment, and
  • the scope of the assessment, e.g., the entire software architecture or system.

Specialization knowledge areas in regard to design analysis and testing:

Software Architects: analyze designs using standard analysis tools and methods; participate in analysis process on software projects

Infrastructure Architects: analyze designs using standard analysis tools and methods; participate in analysis process on infrastructure projects

Business Architects:  participate in design analysis across LOB and capability

Information Architects: analyze designs using standard analysis tools and methods; participate in analysis process on information projects

Evaluation Methods

  • Scenario-based Architecture Analysis Method (SAAM)
  • Architecture Tradeoff Analysis Method (ATAM)
  • Active Reviews for Intermediate Design (ARID)
  • SAAM for Evolution and Reusability (SAAMER)
  • Architecture-Level Modifiability Analysis (ALMA)
  • Architecture-Level Prediction of Software Maintenance (ALPSM)
  • Scenario-Based Architecture Reengineering (SBAR)
  • SAAM for Complex Scenarios (SAAMCS)
  • Perspective-Based Architecture (PBA)