You are on page 1of 22

1

Frank Buschmann, all rights reserved


Siemens AG 2007
Corporate Technology
Architecture Reviews
Christa Schwanninger, Frank Buschmann
Siemens AG
Christa.Schwanninger@siemens.com
Frank.Buschmann@siemens.com
Page 2 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 2
Architecture reviews
Learning objectives
Become familiar with architecture reviews from the perspective of the
architect of a reviewed architecture, a reviewer, and a review initiator
Get to know when and why to conduct an architecture review
Become familiar with techniques for architecture reviews
Understand how to build a review culture
2
Frank Buschmann, all rights reserved
Page 3 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 3
Why architecture reviews
Architecture reviews as feedback measure
Core structure of architecture reviews
Techniques for architecture reviews
Initiating a review
Summary
Architecture reviews
Agenda
Page 4 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 4
Why architecture reviews
Architecture reviews as feedback measure
Core structure of architecture reviews
Techniques for architecture reviews
Initiating a review
Summary
Architecture reviews
Agenda
3
Frank Buschmann, all rights reserved
Page 5 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 5
Why architecture reviews are initiated
War story part I: A project
in industry automation had
problems with the stability
and performance of the first
product of a new generation
of a product family.
This product was realized for
a lead customer. The product
was installed at the customer
site but it did not satisfy their
needs at all.
A key question was: what are
the architectural reasons for
not fulfilling the stability and
performance requirements?
Performance
Stability
Extensibility
Maintainability
...
Client
Service
Interface
Macro
Command
A. Method
Request
Future
Store
Item
Fetch
Item
Activation
List
Scheduler
*
Memento
Scheduling
Strategy
FIFO
Application
Performance
Scalability
Stability
Flexibility

?
?
?
?
Typical causes for initiating an architecture
review are observed problems regarding specific
quality attributes, such as
Page 6 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 6
What architecture reviews find
Process issues
Wrong process
Mismatch between defined and lived process
People issues
Wrong staffing and competencies
Lack of communication
Methodological issues
Wrong or missing techniques for RE, testing,
variability management
Technology issues
Architectural faults
Wrong / inappropriate technologies
War story part II: The root cause for the stability and performance problems was that
no time was assigned in the project for addressing those qualities. Development was busy
implementing a proprietary middleware for the product family, including a database.
Methods
Processes Technology
Context of
Architecture
People
Yet the reviews often find many things other
than architectural and technology faults
4
Frank Buschmann, all rights reserved
Page 7 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 7
In conclusion
software architecture has a profound
influence on project organizations'
functioning and structure. Poor
architecture can reflect poorly defined
organizations with inherent project
inefficiencies, poor communication,
and poor decision making.*
* Architecture Reviews: Practice and Experience, J.Maranzano, S. Rozsypal, G.
Zimmermann, G. Warnken, P. Wirth, D. Weiss, IEEE Software, 2005
Page 8 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 8
Why architecture reviews
Architecture reviews as feedback measure
Core structure of architecture reviews
Techniques for architecture reviews
Initiating a review
Summary
Architecture review
Agenda
5
Frank Buschmann, all rights reserved
Page 9 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 9
Feedback in architecture reviews
Architecture reviews provide feedback at the
end of key development phases
They are a retrospective approach to
assess the quality of a software
architecture and its implementation
They tell you where you are with your
software architecture and
where to go with it
They provide an external and neutral
view of a software architecture
Architecture reviews are architectural testing, a safety net for the architect,
planned and conducted in line with a risk-based testing strategy.
Page 10 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 10
What can you expect from an architecture review
Clarification of quality goals
Agreement on priorities among qualities
Verification of tradeoffs
Early identification of technical risks
Improved communication
Knowledge transfer and increased reuse
Management attention for critical issues
Client
Service
Interface
Macro
Command
A. Method
Request
Future
Store
Item
Fetch
Item
Activation
List
Scheduler
*
Memento
Scheduling
Strategy
FIFO
Application
Performance
Scalability
Stability
Flexibility

?
?
?
?
Architecture reviews are not a measure of management control but a guide for
the architect on
Architecture reviews verify the capability of an architecture to fulfill its current
and future requirements.
6
Frank Buschmann, all rights reserved
Page 11 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 11
When to conduct architecture reviews
After an initial architecture is designed
After key use cases with strong architectural impact are realized
When critical problems arise, for example, if performance criteria cannot be met
Before major extensions or changes are integrated into the architecture
Inception Elaboration Construction Transition
Elab1 Elab2 Con1 Con2 ConN
Architecture reviews can be conducted in response to internal triggers before each
major milestone, even within each iteration of a software project
Page 12 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 12
When architecture reviews are conducted
End customer initiated: Customer wants to know whether promises on
timeline and feature set can be kept
Competitor initiated: Internal competitor wants
to prove that technology used is inadequate to
get permission to redevelop the software
Protective: Management decisions probably
cause disadvantages for business
Streamline a portfolio: A division bought
three small companies within a year with
overlapping product portfolios
Reviews are used for non-technical purposes and initiated in response to
external triggers
For externally triggered architecture reviews it is vital to have sound technical
arguments for the review results!
7
Frank Buschmann, all rights reserved
Page 13 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 13
Why architecture reviews
Architecture reviews as feedback measure
Core structure of architecture reviews
Techniques for architecture reviews
Initiating a review
Summary
Architecture review
Agenda
Page 14 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 14
Review structure: overview (1)
A proper architecture review comprises four steps:
Scoping: what is the review all about?
Collection: collect and retrieve information about the
architecture with an emphasis on the reviews focus.
Evaluation: how well meets the architecture
the issues of interest. If it does not, how can
it be improved so that it gets back on track?
Feedback: report the evaluation results back
to the customer and the development team.
Client
Service
Interface
Macro
Command
A. Method
Request
Future
Store
Item
Fetch
Item
Activation
List
Scheduler
*
Memento
Scheduling
Strategy
FIFO
Application
8
Frank Buschmann, all rights reserved
Page 15 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 15
Review structure: overview (2)
Scoping Collection Evaluation Feedback
Key goal
and
requirements
Schedule
Questionnaires
Interviews Documents
Code
Result Slides
Result Report
Workflow
Document flow
Page 16 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 16
Why architecture reviews
Architecture reviews as feedback measure
Core structure of architecture reviews
Techniques for architecture reviews
Initiating a review
Summary
Architecture reviews
Agenda
9
Frank Buschmann, all rights reserved
Page 17 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 17
Skills needed as a reviewee
Technical knowledge Soft skills
Methodological
knowledge
Design qualities
Design tactics
Technology
Processes
Methodology
(test, CM ..)
Conflict management
Listen
Accept feedback
Initiative
Change orientation
Learning
Strategic judgment
and risk management
Review techniques
Feedback techniques
Moderation
Presentation
Architectural views
Page 18 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 18
Skills needed to conduct architecture reviews
Technical knowledge Soft skills
Methodological
knowledge
Design qualities
Design tactics
Technology
Processes
Methodology
(test, CM ..)
Conflict management
Listen
Accept feedback
Initiative
Change orientation
Learning
Strategic judgment and risk
management
Review techniques
Feedback techniques
Moderation
Presentation
Architectural views
10
Frank Buschmann, all rights reserved
Page 19 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 19
Techniques for architecture review
Quantitative
Code quality assessment
Simulations
Prototypes
Qualitative
Scenario-based approaches
Experience-based approaches
Page 20 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 20
Quantitative review
Benefits
Yield "hard" results
Quantifiable, objective means for selecting alternatives
Experiments by altering the parameters relatively easy
Liabilities
Focus on only a couple of concerns or system parts
Works only if data is interpreted correctly
Effect on quality attributes other than the focus is
unknown
Probably costly
=> 42
C:\>
Similar to test automation, the initial cost might be high, but is typically
justified by early detection of conceptual faults.
11
Frank Buschmann, all rights reserved
Page 21 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 21
Types of quantitative review
Code quality assessment
Static analysis of the source code for metrics, coding rules, structure analysis, architecture
conformance
Broad range of tools available with different emphases: Sotograph, Lattix, Together
ControlCenter, Understand, but also rule checkers like Lint, many open source tools
Simulation
Simulation of system context and component internals
Evaluation through (performance / usage / failure) profile execution
Prototype
Incomplete model of the software concentrating on technical challenges or user
acceptance
Page 22 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 22
Qualitative review
Benefits
Involves all relevant stakeholders
Overview of the whole system
Improve understanding for all participants
Relatively cheap to execute
Can be conducted as soon as high level architecture
design is available
Liabilities
Relies mainly on documents and statements from personally involved stakeholders
Experienced reviewers required
No "hard facts" (unless supported by quantitative assessments)
12
Frank Buschmann, all rights reserved
Page 23 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 23
Types of qualitative review
SAAM ATAM ADR Industry practice
Type Scenario-based Scenario-based
Experience-based,
scenario-based
Experience-based
Intention
Clarify and prioritize
requirements,
evaluate suitability of
architecture for change
scenarios
Clarify and prioritize
requirements,
find risks, sensitivity
points, tradeoffs
Improve design,
find errors
SWOT analysis,
identify measures
Page 24 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 24
Software Architecture Analysis Method (SAAM)
Purpose: Evaluates growth and change scenarios
Workshop format reviewers being facilitators
Architect presents the architecture
All relevant stakeholders provide scenarios
Current: usage, error scenarios
Future: evolution scenarios
Scenarios are probed against the architecture, cost of change is evaluated
Effort: 23 day workshop, evaluation team 1020 days, project team 1525 days
Results: Prioritized scenarios, mapping of scenarios to the architecture with associated cost
Benefits: Clarification of quality goals, improved documentation, improved communication
architect
customer
reviewer
user
developer
tester
operator integrator
13
Frank Buschmann, all rights reserved
Page 25 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 25
Key tactics: Scenarios
Scenarios describe a concrete interaction of a stakeholder with the system
Testable as opposed to general claims about quality attributes
Example stakeholder: User, developer, tester, operator
stimulus
environment
response System
Stimulus for the event that concerns
the quality attribute, e.g. function
invoked, failure, modification
Relevant assumptions about the
environment and the
relevant conditions
Precise statement of quality attribute
response, e.g. response time,
difficulty of modification
One of the CPUs fails Normal operation 0,9' availability of the switch
Remote user requests database report During peak time Result visible within 5 seconds
Database is changed from MySQL to
Oracle
Change implemented in 20 work
days
Page 26 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 26
Architecture Tradeoff Analysis Method (ATAM )
Purpose: Identify risks, sensitivity points and tradeoffs
Enhancement of SAAM, additional measures for
Aligning the qualities with the business
drivers
Relating architectural decisions with
quality goals, identifying risks and
tradeoffs
Iteration with different stakeholder groups
Effort: 34 day workshops, evaluation team 3040, project team 3040 person days
Results: Prioritized list of scenarios with relation to business drivers, risks and tradeoff
points related to architectural decisions
Benefits: Identified risk, documented basis for architectural decisions
Analysis
Architectural
Decisions
Scenarios
Quality
Attributes
Architectural
Approaches
Business
Drivers
Software
Architecture
Risks
Sensitivity Points
Tradeoffs
Non-Risks
impacts
Risk Themes
distilled
into
14
Frank Buschmann, all rights reserved
Page 27 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 27
Key tactics: Utility tree
Performance
Modifiability
Availability
Security
Add CORBA middleware
in < 20 person-months
Change web user interface
in < 4 person-weeks
Power outage at site1 requires traffic
redirected to site 2 in < 3 seconds
Network failure detected and recovered
in < 1.5 minutes
Reduce storage latency on
customer DB to < 200 ms.
Deliver video in real time
Customer DB authorization works
99.999% of the time
Credit card transactions are secure
99.999% of the time
Data
latency
Transaction
throughput
New products
Change
COTS
H/W failure
COTS S/W
failures
Data
Data
confidentiality
integrity
(L,M)
(M,M)
(H,H)
(H,L)
(H,H)
(H,H)
(H,M)
(H,L)
Utility
Page 28 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 28
Experience-based review method
Purpose: Confirm strength, find challenges and identify measures
Reviewers are experienced architects
Stakeholders input collected in interviews
System description by project externals
Elaboration of the key requirements
Elaboration of the key design elements
Analysis and documentation of strengths, weaknesses,
opportunities, and threats
Effort: Regular review: reviewer team 2060 days, project team 816 days
flash review: review team 23 days, project team 23 hours
Results: Detailed report including architecture description, SWOT analysis, measures
Benefits: Rating of a software architecture regarding compliance to its requirements,
dedicated measures, minimal effort for project team; effective in difficult situations
15
Frank Buschmann, all rights reserved
Page 29 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 29
Experience-based review: scoping
Every architecture review needs a focus! Otherwise it is impossible to provide a
valuable result back to the project team.
ERP
Warehouse
Management
Material Flow
Control
H
C
I
Base Automation
Warehouse
Representation
Fault
Mgr
User
Mgr
DB
Access
The initial step of an architecture review is therefore dedicated to identifying:
the review topic: what is the overall goal
and what are the 3 to 5 key areas that
contribute to this goal?
requirements to evaluate against: what
are the concrete measures regarding
the goal and the key areas that the
architecture under review should fulfill?
sources from which the required information
could be retrieved: documents, source code,
a demo, test reports, and interviews
Page 30 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 30
Experience-based review: information collection
Retrieving the relevant information about the architecture
requires to access multiple sources!
Collecting information is neutral: no assessments
of the retrieved information must be made
Documents describe the desired architecture, but
not necessarily the implemented architecture.
Code, demos, and test reports help to uncover
the real architecture, its strengths and weaknesses,
but do not tell whether particular deficiencies
already get tackled and by what measures.
Interviews with all stakeholders of the architecture
will tell you how the architecture under review is
received, assessed, and what the next development
steps are.
16
Frank Buschmann, all rights reserved
Page 31 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 31
Experience-based review: information evaluation
Assessing the information gathered during the collection step and
drawing conclusions from it is the reviews core activity.
Client
Ser vice Interface
Macro Command
A. Method Request
Future
Store Item Fetch Item
Acti vation List
Scheduler
*
Memento
Scheduling Strategy FIFO
Application
The result of the evaluation step is a review report with the following structure:
Goals: a description of the review goal and the 3 to 5 key areas that were
addressed, including the requirements for these key areas
Procedure: how was the information retrieved and assessed
Description and Assessment: A description
of the software architecture from the
perspective of each relevant key area, and
the assessment of its quality with respect
to the requirements for these areas
Recommendations: Measures for improvement,
if certain parts of the reviewed architecture show deficiencies
Be politically correct but honest decisions on how to proceed with the
architecture or even the entire project will be made on the review results
Page 32 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 32
Experience-based review: feedback
Workshops communicate the review results to the customer!
Focus on key issues, do not run through the entire review report
Begin with the review goals and examined key areas to set the right scope
Not only mention the major weaknesses
of the reviewed architecture, but also
its key strengths
Spend most time on the suggestions
for improvements, this is the information
that is most important for the customer
Inform the architects / project team
of the reviewed system before the
results get presented to the
customer this avoids
unpleasant surprises
17
Frank Buschmann, all rights reserved
Page 33 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 33
Key tactics: Multiple views and trust
Individual statements and results
are treated as confidential
Focus on improvement measures
Cooperative approach
Usage of multiple views
For successfully rating and improving an architecture the external expert
uses techniques based on a set of basic principles.
Understanding
Objectivity
Security
Acceptability
Efficiency
Trust
Page 34 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 34
Active Design Review (ADR)
Purpose: Test design and design documentation
Review detailed designs for components / modules
Scenario-based, designer asks reviewer to solve concrete tasks
Experience-based, designer and reviewer involved
Tests the design and the documentation of the design
Different reviewers for different fields of expertise
Effort: 2 days for each reviewer, 1 day for designer per reviewer
Results: List of errors, improved design and design documentation
Benefits: Efficient, deep analysis, improved documentation, improved understanding
18
Frank Buschmann, all rights reserved
Page 35 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 35
Key tactics: Concrete and narrow focus
The designer provides a questionnaire with concrete assignments for each reviewer
"Write a short pseudocode program that uses the design to accomplish "
"Write down the exceptions that can occur"
"For each access function provided, write down the specific requirements from the
requirements list that you believe the function was designed to meet."
The effect is
Very focused review
Test completeness and understandability of documentation, including requirements
documentation
There is a chance to find design errors
The reviewer is not bored by the reviewing task
Page 36 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 36
Comparison of qualitative reviews
SAAM ATAM ADR Industry practice
Interaction Workshop Workshop Designer, reviewer Interviews
Phase
Architecture design
complete enough for
walkthroughs
Architecture design
complete enough for
walkthroughs
Detailed component /
module design ready
After architecture has
been designed
Strength
Bring stakeholders
together, requirement
prioritization
Like SAAM, but deeper
architectural evaluation
Focused on finding
defects in design
Concrete measures
Key restriction
No risks,
no measures
No measures Small scale
No common
understanding of
requirement priorities
Duration 23 days Two weeks 2 days / reviewer
Four weeks regular
1 day flash
19
Frank Buschmann, all rights reserved
Page 37 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 37
Why architecture reviews
Architecture reviews as feedback measure
Core structure of architecture reviews
Techniques for architecture reviews
Initiating a review
Summary
Architecture reviews
Agenda
Page 38 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 38
Internal triggers
Which kind of architecture review would you recommend
When the first architecture design is ready
For major extension
When the design of a new use case is done
For due diligence
When critical problems surface
For rebasing several products on one platform
In an iterative development process
Inception Elaboration Construction Transition
Elab1 Elab2 Con1 Con2 ConN
20
Frank Buschmann, all rights reserved
Page 39 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 39
Review culture in an organization
The goal should be to mature architecture reviews from art to craft.
Qualitative review maturity Quantitative review maturity
Domain specific questionnaires
and checklists available
Architecture and design reviews
embedded in development process
(internal and external)
Regular reviews for major
extensions, design reviews
Review after architecture design
Emergency reviews
Code quality and architecture
conformance checks built into tool
landscape
Continuous code quality checks in
development process
Checking of architectural conformance
Prototyping / simulation checking risks
Emergency problem analysis
Page 40 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 40
Why architecture reviews
Architecture reviews as feedback measure
Core structure of architecture reviews
Techniques for architecture reviews
Initiating a review
Summary
Architecture reviews
Agenda
21
Frank Buschmann, all rights reserved
Page 41 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 41
Summary
You learned
That architecture reviews close the feedback loop
Review techniques that allow collecting and evaluating relevant
information efficiently
How to make use of architecture reviews in various situations and from
different perspectives
That a review culture not only increases the quality of software
architectures, but drives an organization's maturity
Page 42 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 42
Architecture reviews
References
22
Frank Buschmann, all rights reserved
Page 43 Architecture Reviews Siemens AG, Corporate Technology, 2009, all rights reserved Page 43
Architecture Reviews
Clemens, P., Kazman, R., Klein, M.: Evaluating
Software Architectures: Methods and Case Studies.
Addison Wesley, 2002.
Bosch, J.: Design and Use of Software Architectures
Adapting and Evolving a Product-Line Approach.
Addison Wesley, 2000.
Maranzano, J., Rozsypal, S., Zimmermann, G.,
Warnken, G., Wirth, P., Weiss, D.: Architecture
Reviews: Practice and Experience.
IEEE Software, 2005.
References