Christa Schwanninger, Frank Buschmann, Siemens AG, Corporate Technology

Similar documents
What an Architect Needs to Know

SOFTWARE ARCHITECTURE QUALITY EVALUATION

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Agile project portfolio manageme nt

Develop Project Charter. Develop Project Management Plan

AGILE - QUICK GUIDE AGILE - PRIMER

ATAM: Method for Architecture Evaluation

Chap 1. Introduction to Software Architecture

Analysis of Software Architectures

ESTABLISHING A MEASUREMENT PROGRAM

Information Systems Development Process (Software Development Life Cycle)

The Role of the Software Architect

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Software Architecture. New wine in old bottles? (i.e., software architecture global design?, architect designer)

Applying 4+1 View Architecture with UML 2. White Paper

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

PROJECT MANAGEMENT PLAN CHECKLIST

An Introduction to. Metrics. used during. Software Development

The goal of software architecture analysis: confidence building or risk assessment

Quality Management. Lecture 12 Software quality management

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Supporting Workflow Overview. CSC532 Fall06

EAM: Ecosystemability Assessment Method

The following is intended to outline our general product direction. It is intended for informational purposes only, and may not be incorporated into

How to achieve excellent enterprise risk management Why risk assessments fail

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

Advancements in the V-Model

Course Outline. Foundation of Business Analysis Course BA30: 4 days Instructor Led

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Iterative Project Management 1

Requirements engineering

Development Methodologies Compared

Software Process Improvement Software Business. Casper Lassenius

EVITA-Project.org: E-Safety Vehicle Intrusion Protected Applications

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Getting Things Done: Practical Web/e-Commerce Application Stress Testing

Software Requirements Specification (SRS)

The Agile PMO. Contents. Kevin Thompson, Ph.D., PMP, CSP Agile Practice Lead cprime, Inc E. Third Avenue, Suite 205 Foster City, CA 94404

An Overview of Quality Assurance Practices in Agile Methodologies

Test Plan Template (IEEE Format)

Top 10 Skills and Knowledge Set Every User Experience (UX) Professional Needs

Architecture Centric Development in Software Product Lines

Software Quality Management

Software Development Life Cycle (SDLC)

Partnering for Project Success: Project Manager and Business Analyst Collaboration

The role of integrated requirements management in software delivery.

AGILE SOFTWARE TESTING

Challenges in Developing a Small Business Tax payer Burden Model

n Assignment 4 n Due Thursday 2/19 n Business paper draft n Due Tuesday 2/24 n Database Assignment 2 posted n Due Thursday 2/26

Agile Based Software Development Model : Benefits & Challenges

What is a life cycle model?

Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions

Digital Advisory Services Professional Service Description Network Assessment

ERP. Key Initiative Overview

Netspective Software Development Process

Advanced Test Manager E-learning Course Outline

Description of the program

4.1 Identify what is working well and what needs adjustment Outline broad strategies that will help to effect these adjustments.

Risk Management Primer

Guidelines for the Success of a Business Process Management Initiative

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Section 4: Key Informant Interviews

Fourth generation techniques (4GT)

An Overview of the Convergence of BI & BPM

Requirements engineering and quality attributes

Effective Business Requirements (Virtual Classroom Edition)

How To Test For Performance

High Level Modeling to Support Software Design

The 10 Knowledge Areas & ITTOs

CMMS/EAM AND FINANCIAL INTERFACES. Joe Grassi, Grassi & Associates

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

A Mock RFI for a SD-WAN

The most suitable system methodology for the proposed system is drawn out.

STANDARD. Risk Assessment. Supply Chain Risk Management: A Compilation of Best Practices

Bringing Value to the Organization with Performance Testing

Software Architecture Professional Certificate

VENDOR SELECTION: WHERE TO BEGIN?

Measurement Information Model

Software Engineering. Objectives. Designing, building and maintaining large software systems

Vehicular On-board Security: EVITA Project

Information Technology Engineers Examination. Information Security Specialist Examination. (Level 4) Syllabus

Exhibit F. VA CAI - Staff Aug Job Titles and Descriptions Effective 2015

Software Development Methodologies in Industry. By: Ahmad Deeb

Quantification and Traceability of Requirements

Strategic Outcome- Based Metrics for the Federal Government

Managing Variability in Software Architectures 1 Felix Bachmann*

Vito Madaio, PMP, TSPM 2015, September, 24th

CRM on Demand Best Practices for Conducting a Health-Check

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

WebSphere Business Modeler

Basic Trends of Modern Software Development

Enterprise RIM: Building the Business Case. Steve Gens. Bethesda Maryland: February 25, Managing Partner Gens and Associates, Inc.

Karunya University Dept. of Information Technology

Tracking the Impact of Design Changes During Software Development

8 Ways that Business Intelligence Projects are Different

Agile QA Process. Anand Bagmar Version 1.

Enterprise IT Portfolio Governance and Management Model

Outline. Lecture 13: Web Usability. Top Ten Web Design Mistakes. Web Usability Principles Usability Evaluations

TEST MANAGEMENT SOLUTION Buyer s Guide WHITEPAPER. Real-Time Test Management

Project Management Assessment Overview

Transcription:

Architecture Reviews Christa Schwanninger, Frank Buschmann, Siemens AG, Corporate Technology Christa.Schwanninger@siemens.com Frank.Buschmann@siemens.com Siemens AG 2007 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 Page 2 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 1

Architecture review Agenda Architecture reviews as feedback measure Core structure of architecture reviews Techniques for architecture reviews Summary Page 3 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved A motivating thought 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 4 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 2

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 5 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved What can you expect from an architecture review Architecture reviews are not a measure of management control but a guide for the architect on 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 Future Client???? Performance Scalability Stability Flexibility Service Interface Macro Command A. Method * Request Store Item FIFO Application Scheduler Activation List Memento Fetch Item Scheduling Strategy Architecture reviews verify the capability of an architecture to fulfill its current and future requirements. Page 6 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 3

When to conduct architecture reviews Architecture reviews can be conducted in response to internal triggers before each major milestone, even within each iteration of a software project 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 Elab1 Elab2 Con1 Con2 ConN Inception Elaboration Construction Transition Page 7 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved Architecture reviews Agenda Architecture reviews as feedback measure Core structure of architecture reviews Techniques for architecture reviews Summary Page 8 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 4

Review structure: overview 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 review s 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. Future Client Service Interface FIFO * A. Method Request Memento Scheduling Strategy Scheduler Activation List Macro Command Store Item Fetch Item Application Page 9 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved Review structure: scoping Every architecture review needs a focus! Otherwise it is impossible to provide a valuable result back to the project team. 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 H C I User Mgr Warehouse Management Material Flow Control ERP Warehouse Representation Fault Mgr Base Automation DB Access Page 10 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 5

Future Client Ser vice Interface Macro Command * A. Method Request Store Item Application FIFO Memento Fetch Item Scheduling Strategy Scheduler Acti vation List Review structure: information collection Retrieving the relevant information about the architecture requires to access multiple sources! 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. Collecting information is neutral: no assessments of the retrieved information must be made Page 11 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved Review structure: information evaluation Assessing the information gathered during the collection step and drawing conclusions from it is the review s core activity. 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 12 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 6

Procedure: 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 Page 13 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved Architecture reviews Agenda Architecture reviews as feedback measure Core structure of architecture reviews Techniques for architecture reviews Summary Page 14 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 7

Skills needed to conduct a review 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 15 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved Techniques for architecture review Quantitative Code quality assessment Simulations Prototypes Qualitative Scenario-based approaches Experience-based approaches Page 16 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 8

Types of quantitative review Code quality assessment Static analysis of the source code for metrics, coding rules, structure analysis, architecture conformance Main topic in Workshop 3: Principles of Software Testing for Senior Software Architects, CQM-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 17 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 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. Page 18 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 9

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 19 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 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) Page 20 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 10

Software Architecture Analysis Method (SAAM) Purpose: Evaluates growth and change scenarios reviewer Workshop format reviewers being facilitators Architect presents the architecture architect developer user All relevant stakeholders provide scenarios Current: usage, error scenarios Future: evolution scenarios customer operator tester integrator Scenarios are probed against the architecture, cost of change is evaluated Effort: 2 3 day workshop, evaluation team 10 20 days, project team 15 25 days Results: Prioritized scenarios, mapping of scenarios to the architecture with associated cost Benefits: Clarification of quality goals, improved documentation, improved communication Page 21 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 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 System response environment Stimulus for the event that concerns the quality attribute, e.g. function invoked, failure, modification One of the CPUs fails Remote user requests database report Database is changed from MySQL to Oracle Relevant assumptions about the environment and the relevant conditions Normal operation During peak time Precise statement of quality attribute response, e.g. response time, difficulty of modification 0,9' availability of the switch Result visible within 5 seconds Change implemented in 20 work days Page 22 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 11

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 Business Drivers Software Architecture impacts Risk Themes Quality Attributes Architectural Approaches distilled into Scenarios Architectural Decisions Tradeoffs Sensitivity Points Non-Risks Risks Analysis Iteration with different stakeholder groups Effort: 3 4 day workshops, evaluation team 30 40, project team 30 40 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 Page 23 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved Key tactics: Utility tree Utility Performance Modifiability Availability Security Data latency Transaction throughput (H,H) New products Change COTS (H,L) (H,H) H/W failure COTS S/W failures Data confidentiality Data integrity (L,M) Reduce storage latency on customer DB to < 200 ms. Deliver video in real time (M,M) 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 (H,H) in < 1.5 minutes (H,M) Credit card transactions are secure 99.999% of the time Customer DB authorization works 99.999% of the time (H,L) Page 24 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 12

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 20 60 days, project team 8 16 days flash review: review team 2 3 days, project team 2 3 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 Page 25 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved Key tactics: Multiple views and trust For successfully rating and improving an architecture the external expert uses techniques based on a set of basic principles. Usage of multiple views Understanding Objectivity Cooperative approach Security Acceptability Focus on improvement measures Efficiency Individual statements and results are treated as confidential Trust Page 26 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 13

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 Page 27 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 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 28 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 14

Comparison of qualitative reviews SAAM ATAM ADR Industry practice Interaction Workshop Workshop Designer, reviewer Interviews Phase Strength Architecture design complete enough for walkthroughs Bring stakeholders together, requirement prioritization Architecture design complete enough for walkthroughs Like SAAM, but deeper architectural evaluation Detailed component / module design ready Focused on finding defects in design After architecture has been designed Concrete measures Key restriction No risks, no measures No measures Small scale No common understanding of requirement priorities Duration 2 3 days Two weeks 2 days / reviewer Four weeks regular 1 day flash Page 29 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved Architecture reviews Agenda Architecture reviews as feedback measure Core structure of architecture reviews Techniques for architecture reviews Summary Page 30 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 15

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 Page 31 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved Architecture reviews References Page 32 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 16

Architecture Reviews References 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. Page 33 Architecture Reviews Christa Schwanninger, Frank Buschmann, all rights reserved 17