Software Architecture and Product Quality

Similar documents
Reducing System Acquisition Risk with Software Architecture Analysis and Evaluation

Risk themes from ATAM data: preliminary results

Integrating Software Architecture Evaluation in a DoD System Acquisition

When and Where to Apply the Family of Architecture- Centric Methods

Why Isn t Someone Coding Yet (WISCY)? Avoiding Ineffective Requirements

SCAMPI B&C Tutorial. Software Engineering Process Group Conference SEPG Will Hayes Gene Miluk Jack Ferguson

Capability Integration

Mission Threads: Bridging Mission and Systems Engineering

Test and Evaluation of Highly Complex Systems

CMMI: The DoD Perspective

Department of Defense DIRECTIVE

Outsourced Product Development

UNCLASSIFIED. UNCLASSIFIED Office of Secretary Of Defense Page 1 of 7 R-1 Line #73

Collaborative coordination of fire support mission execution

Overview of the New Introduction to CMMI Course and Changes to the Intermediate Concepts and Instructor Training Courses

Responsive Decision Making through Automated Policy-Enabled Systems

Using the Systems Engineering Method to Design A System Engineering Major at the United States Air Force Academy

UNCLASSIFIED R-1 ITEM NOMENCLATURE FY 2013 OCO

COTS Selection and Adoption in a Small Business Environment. How Do You Downsize the Process?

The CMMI Product Suite and International Standards

EXHIBIT R-2, RDT&E BUDGET ITEM JUSTIFICATION N/Space and Electronic Warfare (SEW) Support

Software Sustainment: Continuous Engineering to

Mission Assurance Analysis Protocol (MAAP)

CHAIRMAN OF THE JOINT CHIEFS OF STAFF INSTRUCTION

The Verification for Mission Planning System

Lifecycle Models for Survivable Systems

REQUIREMENTS TO CAPABILITIES

FIGHTER DATA LINK (FDL)

UNCLASSIFIED. FY 2011 Total Estimate

UNCLASSIFIED R-1 ITEM NOMENCLATURE FY 2013 OCO

Lean Six Sigma DMAIC Project (Example)

UNCLASSIFIED FY 2016 OCO. FY 2016 Base

Process Improvement at NAVAIR using TSP and CMM

Joint Distributed Engineering Plant (JDEP)

First Announcement/Call For Papers

Department of Defense DIRECTIVE. SUBJECT: Electronic Warfare (EW) and Command and Control Warfare (C2W) Countermeasures

Joint Interoperability Certification

NATIONAL DEFENSE INDUSTRIAL ASSOCIATION NET3 CONFERENCE REMARKS BY MG (RET) WILLIE B. NANCE, JR. EXECUTIVE VICE PRESIDENT, CYPRESS INTERNATIONAL INC.

Mining PSP Data. Dan Burton and Watts Humphrey Software Engineering Institute Carnegie Mellon University

Quality Assurance. Confirmed Task Orders. Functional Area of Expertise and Proposed Assignments

resource allocation decisions.

Outsourcing Non-core Activities A strategy for SMBs that actually works

Test and Evaluation Strategies for Network-Enabled Systems

UNCLASSIFIED FY 2016 OCO. FY 2016 Base

COMPLIANCE WITH THIS PUBLICATION IS MANDATORY

Department of Defense Investment Review Board and Investment Management Process for Defense Business Systems

Wall St. Training Valuation Case Competition Competition Guide

DoD Analysis Update: Support to T&E in a Net-Centric World

Guide to the SEI Partner Network

Naval Unmanned Combat Air Vehicle

Department of Defense INSTRUCTION

COMPLIANCE WITH THIS PUBLICATION IS MANDATORY

EXHIBIT R-2, RDT&E Budget Item Justification RESEARCH DEVELOPMENT TEST & EVALUATION, NAVY / BA4

Department of Defense DIRECTIVE. DoD Modeling and Simulation (M&S) Management

DOD INSTRUCTION DEPOT SOURCE OF REPAIR (DSOR) DETERMINATION PROCESS

UNCLASSIFIED R-1 ITEM NOMENCLATURE FY 2013 OCO

ARMY RDT&E BUDGET ITEM JUSTIFICATION (R-2 Exhibit)

Department of Defense DIRECTIVE

UNCLASSIFIED. R-1 ITEM NOMENCLATURE PE D8Z: Central Test and Evaluation Investment Program (CTEIP) FY 2013 OCO

Offshore Outsourcing. Agenda

C4I System Solutions.

UNCLASSIFIED. UNCLASSIFIED Navy Page 1 of 7 R-1 Line #31

The Four Pillars of Ambulatory Care Management - Transforming the Ambulatory Operational Framework

Mission Command. Lisa Heidelberg. Osie David. Chief, Mission Command Capabilities Division. Chief Engineer, Mission Command Capabilities Division

UNITED STATES SPECIAL OPERATIONS COMMAND

Air-Ground Integrated Layer Exploration (AGILE) Fire Phase II

UNCLASSIFIED UNCLASSIFIED

UNCLASSIFIED. FY 2016 Base FY 2016 OCO

A udit R eport. Office of the Inspector General Department of Defense. Report No. D October 31, 2001

Page. II. TECHNICAL ASSISTANCE PROJECT DESCRIPTIONS.. 3 A. Introduction... B. Technical Assistance Areas.. 1. Rate Design Consumer Programs...

JOINT STAFF FY 2006/2007 Budget Estimates Submissions Research, Development, Test, and Evaluation (RDT&E), Defense-Wide

DOD INSTRUCTION DISTRIBUTED LEARNING (DL)

UNCLASSIFIED. R-1 ITEM NOMENCLATURE PE A: Biometrics Enabled Intelligence FY 2012 OCO

UNCLASSIFIED. R-1 ITEM NOMENCLATURE PE D8Z: Central Test and Evaluation Investment Program (CTEIP) FY 2011 Total Estimate. FY 2011 OCO Estimate

DOD MANUAL ACCESSIBILITY OF INFORMATION AND COMMUNICATIONS TECHNOLOGY (ICT)

UNCLASSIFIED. UNCLASSIFIED Defense Information Systems Agency Page 1 of 12 R-1 Line #203

2016 Major Automated Information System Annual Report

RDT&E BUDGET ITEM JUSTIFICATION SHEET (R-2 Exhibit) February 2000

CMMI Version 1.2 and Beyond a Tutorial

WARFIGHTER MODELING, SIMULATION, ANALYSIS AND INTEGRATION SUPPORT (WMSA&IS)

Analyzing Medical Processes

The Concept of C2 Communication and Information Support

The Connected Point of Care Ecosystem: A Solid Foundation for Value-Based Care

U.S. Army Training and Doctrine Command (TRADOC) Analysis Center (TRAC)

Department of Defense DIRECTIVE. SUBJECT: Single Manager Responsibility for Military Explosive Ordnance Disposal Technology and Training (EODT&T)

ABMS Organizational QI Forum Links QI, Research and Policy Highlights of Keynote Speakers Presentations

Modeling, Simulation & Training Services

Mission Thread Workshop (MTW): Preparation and Execution

UNCLASSIFIED R-1 ITEM NOMENCLATURE. FY 2014 FY 2014 OCO ## Total FY 2015 FY 2016 FY 2017 FY 2018

Success through Offshore Outsourcing. Kartik Jayaraman Director Enterprise Relationships (Strategic Accounts)

Software Intensive Acquisition Programs: Productivity and Policy

Systems Approach to the Army s Evolving Role in Support of Civil Authorities

UNCLASSIFIED FY 2016 OCO. FY 2016 Base

Centre for Healthcare Assistive & Robotics Technology Charting Future Healthcare Delivery

UNCLASSIFIED. R-1 ITEM NOMENCLATURE PE D8Z: Net Centricity FY 2012 OCO

We Produce the Future. Air Force Doctrine

Quality Management Plan

Be clearly linked to strategic and contingency planning.

UNCLASSIFIED. FY 2016 Base

UNCLASSIFIED FY 2016 OCO. FY 2016 Base

Transcription:

Software Architecture and Product Quality Linda Northrop Director, Product Line Systems Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Presentation for the Boston SPIN May 20, 2003 This work is sponsored by the U.S. Department of Defense. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 1

SEI s Strategic Functions AMPLIFY TRANSITION APPLY DIRECT SUPPORT DoD needs Technology trends CREATE IDENTIFY AND MATURE TECHNOLOGY SEI s experience User s experience 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 2

SEI and the Community CREATE APPLY AMPLIFY CREATE APPLY DEVELOPERS AMPLIFY CREATE APPLY AMPLIFY CREATE APPLY AMPLIFY CREATE APPLY AMPLIFY CREATE APPLY AMPLIFY CREATE APPLY ACQUIRERS AMPLIFY CREATE APPLY AMPLIFY CREATE APPLY AMPLIFY CREATE APPLY AMPLIFY CREATE APPLY AMPLIFY CREATEAPPLY RESEARCHERS 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 3

Product Line Systems Program Our Goal: To enable widespread product line practice through architecture-based development 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 4

Our Strategy Software Architecture (Architecture Tradeoff Analysis Initiative) Software Product Lines (Product Line Practice Initiative) Component Technology (Predictable Assembly from Certifiable Components Initiative) 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 5

Our Customers and Collaborators ABB Daimler Chrysler Caterpillar Robert Bosch Co. Raytheon Foliage RIM Unisys Visteon LLNL EPA FAA NASA: JSC NASA: KSC NASA Goddard USCG NRO/CCT JNIC DMSO US Army SOA: TAPO US Army: FBCB2, CECOM, ATSC, FCS US Navy: TENA, DDX US Navy: DDX US Air Force: F-22, ESC Philips Lucent AT&T Hewlett Packard Thomson-CSF Ericsson Raytheon Siemens Schlumberger Nokia Telesoft S.p.A. Boeing CelsiusTech Buzzeo ALLTEL Motorola Cummins, Inc. General Motors Lockheed Martin Salion, Inc. MarketMaker 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 6

Business Success Requires Software Prowess Software pervades every sector. Software has become the bottom line for many organizations who never envisioned themselves in the software business. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 7

Universal Business Goals High quality Quick time to market Effective use of limited resources Product alignment Low cost production Low cost maintenance improved efficiency and productivity Mass customization Mind share 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 8

Software Strategies Are Needed Business/Mission Goals System (Software) Strategies process quality product quality Process Improvement Improved Architecture Practices 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 9

Software System Development Functional Software Requirements If function were all that mattered, any monolithic software would do,..but other things matter The important quality attributes and their characterizations are key. Modifiability Interoperability Availability Security Predictability Portability : Quality Attribute Drivers analysis, design, development Software Architecture has these qualities Software 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 10

Software Architecture: Common Ideas A software architecture is a first-cut at designing the system and solving the problem or fitting the need. A software architecture is an ad hoc box-and-line drawing of the system that is intended to solve the problems articulated by the specification. Boxes define the elements or parts of the system. Lines define the interactions or between the parts. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 11

Our Definition of Software Architecture The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. Bass L.; Clements P.; Kazman R. Software Architecture in Practice 2 nd Edition Reading, MA: Addison-Wesley, 2003. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 12

Implications of Our Definition Software architecture is an abstraction of a system. Software architecture defines the properties of elements. Systems can and do have many structures. Every software-intensive system has an architecture. Just having an architecture is different from having an architecture that is known to everyone. If you don t develop an architecture, you will get one anyway and you might not like what you get! 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 13

Why is Software Architecture Important? Represents earliest design decisions hardest to change most critical to get right communication vehicle among stakeholders First design artifact addressing performance reliability modifiability security Key to systematic reuse transferable, reusable abstraction 7KH ULJKW DUFKLWHFWXUH SDYHVWKHZD\IRUV\VWHP VXFFHVV 7KH ZURQJ DUFKLWHFWXUH XVXDOO\VSHOOVVRPHIRUPRI GLVDVWHU 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 14

System Qualities and Software Architecture System Specification System Quality Attributes* S Y S T E M drive determines level of quality * Performance Security Interoperability Reliability Availability etc. Software Architecture drives System Capabilities and Software Quality 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 15

What Is Architecture-Based Development? Architecture-based development involves Creating the business case for the system Understanding the requirements Creating or selecting the architecture Documenting and communicating the architecture Analyzing or evaluating the architecture Implementing the system based on the architecture Ensuring that the implementation conforms to the architecture Maintaining the architecture The architecture must be both prescriptive and descriptive. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 16

Common Impediments to Achieving Architectural Success Lack of adequate architectural talent and/or experience. Insufficient time spent on architectural design and analysis. Failure to identify the quality drivers and design for them. Failure to properly document and communicate the architecture. Failure to evaluate the architecture beyond the mandatory government review. Failure to understand that standards are not a substitute for a software architecture. Failure to ensure that the architecture directs the implementation. Failure to evolve the architecture and maintain documentation that is current. Failure to understand that a software architecture does not come free with COTS or with the C4ISR Framework. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 17

Challenges What precisely do these quality attributes such as modifiability, security, performance, and reliability mean? How do you architect to ensure the system will have its desired qualities? Can a system be analyzed to determine these desired qualities? How soon can such an analysis occur? How do you know if software architecture for a system is suitable without having to build the system first? 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 18

Architecture Tradeoff Analysis Initiative: Maturing Sound Architecture Practices Starting Points Quality attribute/ performance engineering Software Architecture Analysis Method (SAAM) Security analysis Reliability analysis Software Architecture Evaluation Best Practices Report Software architecture evaluations Create Architecture tradeoff analysis attribute-specific patterns architecture evaluation techniques Architecture representation Architecture definition Architecture reconstruction 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 19

Traditional System Development Operational descriptions High level functional requirements Legacy systems New systems a miracle occurs Specific system architecture Software architecture Detailed design Implementation Quality attributes are rarely captured in requirements specifications. often vaguely understood often weakly articulated 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 20

Quality Attribute Workshop The Quality Attribute Workshop (QAW) is a facilitated method that engages system stakeholders early in the lifecycle to discover the driving quality attributes of a software intensive system. Key points about the QAW are that it is system centric scenario based stakeholder focused used before the software architecture has been created 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 21

QAW Benefits and Next Steps QAW Quality Attribute Scenarios: raw prioritized refined Potential Benefits Can be used to Increased stakeholder communication Clarified quality attribute requirements Informed basis for architectural decisions Improved architecture documentation Potential Next Steps Update Architectural Vision Refine Requirements Create Prototypes Exercise Simulations Create Architecture Architecture Evaluation 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 22

Creating the Software Architecture There are architecture definition methods and guidelines, many of which focus exclusively on the functional requirements. It is possible to create an architecture based on the quality architectural drivers. One way to approach this is to use architectural tactics and patterns and a method that capitalizes on both. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 23

Tactics The design for a system consists of a collection of design decisions. Some decisions are intended to ensure the achievement of the functionality of the system. Other decisions are intended to help control the quality attribute responses. These decisions are called tactics. A tactic is a design decision that is influential in the control of a quality attribute response. A collection of tactics is an architectural strategy. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 24

Performance Tactics Summary of performance tactics 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 25

Tactics Catalog Tactics have been defined for the following quality attributes: Performance Availability Maintainability Usability Testability Security Others are in the works. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 26

Attribute Driven Design The Attribute Driven Design (ADD) method is an approach to defining a software architecture by basing the design process on the quality attributes the software has to achieve. It follows a recursive decomposition process where, at each stage in the decomposition, tactics and architectural patterns are chosen to satisfy a set of quality scenarios. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 27

Importance of Architecture Documentation Architecture documentation is important if and only if communication of the architecture is important. How can an architecture be used if it cannot be understood? How can it be understood if it cannot be communicated? Documenting the architecture is the crowning step to creating it. Documentation speaks for the architect, today and 20 years from today. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 28

Seven Principles of Sound Documentation Certain principles apply to all documentation, not just documentation for software architectures. 1. Write from the point of view of the reader. 2. Avoid unnecessary repetition. 3. Avoid ambiguity. 4. Use a standard organization. 5. Record rationale. 6. Keep documentation current but not too current. 7. Review documentation for fitness of purpose. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 29

View-based Documentation An architecture is a very complicated construct and its almost always too complicated to be seen all at once. Software systems have many structures or views. No single representation structure or artifact can be the architecture. The set of candidate structures is not fixed or prescribed: architects need to select what is useful for analysis or communication. A view is a representation of a set of system elements and the relations associated with them. Documenting a software architecture is a matter of documenting the relevant views, and then adding information that applies to more than one view. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 30

Which Views are Relevant? Which views are relevant? It depends on who the stakeholders are how they will use the documentation. Three primary uses for architecture documentation Education - introducing people to the project. Communication - among stakeholders. Analysis - assuring quality attributes. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 31

Why Analyze an Architecture? All design involves tradeoffs. A software architecture is the earliest lifecycle artifact that embodies significant design decisions. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 32

SEI s Architecture Tradeoff Analysis Method SM (ATAM) SM ATAM is an architecture evaluation method that focuses on multiple quality attributes illuminates points in the architecture where quality attribute tradeoffs occur generates a context for ongoing quantitative analysis utilizes an architecture s vested stakeholders as authorities on the quality attribute goals 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 33

Conceptual Flow of ATAM Business Drivers Software Architecture Quality Attributes Architectural Approaches Scenarios Architectural Decisions Analysis impacts Risk Themes distilled into Tradeoffs Sensitivity Points Non-Risks Risks 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 34

ATAM Steps 1. Present the ATAM 2. Present business drivers 3. Present architecture 4. Identify architectural approaches 5. Generate quality attribute utility tree 6. Analyze architectural approaches 7. Brainstorm and prioritize scenarios 8. Analyze architectural approaches 9. Present results 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 35

ATAM Benefits There are a number of benefits from performing ATAM analyses: Clarified quality attribute requirements Improved architecture documentation Documented basis for architectural decisions Identified risks early in the life-cycle Increased communication among stakeholders The results are improved architectures. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 36

Where Can the ATAM Be Used? Architecture decisions, little or no code Alternative candidate architectures Existing System 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 37

ATAM Experience By an SEI Team Internal - user-interface tool - avionics system - furnace control system Commercial - engine control systems - automotive systems - healthcare information management system - financial information system Non-defense Government - physics models - water quality models Academic - required part of masters-level Carnegie Mellon architecture course - on software engineering projects (MSE-Carnegie Mellon By a Non-SEI Team Automotive systems Consumer electronics systems 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 38

Defense-Related ATAM Experience Completed Army (Picatinny Arsenal)- Mortar Fire Control Systems Air Force (SND C2 SPO) -Space Battle Management Core System Air Force - NATO-Midterm AWACS NRO/NASA - Space Object Technology Group (SOTG) Reference Architecture NASA Goddard - Earth Observing System JNTF - Wargame 2000 NASA Houston Space Shuttle Software Army TAPO Common Avionics Architecture System Under way Army Future Combat System Army FBCB2 Army Army Training Support System Navy DDX 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 39

Architecture Tradeoff Analysis Initiative: Enabling Sound Architecture Practices Starting Points Create Apply/Amplify Quality attribute/ performance engineering Software Architecture Analysis Method (SAAM) Security analysis Reliability analysis Software Architecture Evaluation Best Practices Report Software architecture evaluations Architecture tradeoff analysis attribute-specific patterns architecture evaluation techniques Architecture representation Architecture definition Architecture reconstruction Architecture Evaluations Architecture Coaching Architecture Reconstructions Books Courses Certificate Programs Acquisition Guidelines Technical Reports Web site 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 40

Widespread Transition: SEI Software Architecture Curriculum Six courses Software Architecture Familiarization Documenting Software Architectures Software Architecture Design and Analysis Software Product Lines ATAM Evaluator Training ATAM Facilitator Training Three certificate programs Software Architecture Professional ATAM Evaluator ATAM Lead Evaluator NEW In addition Architecture Analysis Guidelines for Acquisition Managers 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 41

Certificate Program Course Matrix Software Architecture Professional: 4 Courses ATAM Lead Evaluator: 5 Courses & Coaching Software Architecture Familiarization ATAM Evaluator Training Documenting Software Architectures ATAM Facilitator Training Software Architecture Design and Analysis ATAM Coaching Software Product Lines ATAM Evaluator 2 courses 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 42

Associated Texts Software Architecture in Practice, 2 nd Edition Documenting Software Architectures: Views and Beyond Evaluating Software Architectures: Methods and Case Studies Software Product Lines: Practices and Patterns 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 43

Another Challenge Over the next n years you have m similar systems under development and mildly (wildly) different development approaches. At the same time you have less money to spend, fewer people to work with, and less time to get the job done. And oh by the way, the systems are more complex. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 44

The Truth is Few Systems Are Unique Most organizations produce families of similar systems, differentiated by features. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 45

CelsiusTech: Ship System 2000 A family of 55 ship systems Integration test of 1-1.5 million SLOC requires 1-2 people. Rehosting to a new platform/os takes 3 months. Cost and schedule targets are predictably met Performance/distribution behavior known in advance Customer satisfaction is high Hardware-to-software cost ratio changed from 35:65 to 80:20 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 46

Cummins Inc.: Diesel Engine Control Systems Over 20 product groups with over 1000 separate engine applications product cycle time was slashed from 250 personmonths to a few personmonths Build and integration time was reduced from one year to one week quality goals are exceeded customer satisfaction is high product schedules are met 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 47

National Reconnaissance Office / Raytheon: Control Channel Toolkit Ground-based spacecraft command and control systems increased quality by 10X incremental build time reduced from months to weeks software productivity increased by 7X development time and costs decreased by 50% decreased product risk 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 48

Market Maker GmbH: MERGER Internet-based stock market software each product uniquely configured three days to put up a customized system 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 49

Nokia Mobile Phones Product lines with 25-30 new products per year Across products there are varying number of keys varying display sizes varying sets of features 58 languages supported 130 countries served multiple protocols needs for backwards compatibility configurable features needs for product behavior change after release 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 50

A Proven Solution Software Product Lines 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 51

How Did They Do It? strategic reuse business strategy and technical strategy employed to achieve explicit business goals 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 52

What is a Software Product Line? A software product line is a set of softwareintensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 53

How Do Product Lines Help? Product lines amortize the investment in these and other core assets: requirements and requirements analysis domain model software architecture and design performance engineering documentation test plans, test cases, and data people: their knowledge and skills processes, methods, and tools budgets, schedules, and work plans Software components earlier lifecycle reuse more benefit Software product lines epitomize strategic reuse. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 54

The Key Concepts Use of a common asset base in production of a related set of products 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 55

The Key Concepts Use of a common asset base in production of a related set of products Architecture Production Plan Scope Definition Business Case 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 56

Organizational Benefits Improved productivity by as much as 10x Decreased time to market (to field, to launch...) by as much as 10x Decreased cost by as much as 60% Decreased labor needs by as much as 10X fewer software developers Increased quality by as much as 10X fewer defects 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 57

Necessary Changes Business approach Organizational structure and personnel Architecture Development approach Management The architecture is the foundation of everything. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 58

Product Line Practice Contexts for product lines vary widely nature of products nature of market or mission business goals organizational infrastructure workforce distribution process discipline artifact maturity But there are universal essential activities and practices. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 59

A Framework for Software Product Line Practice The three essential activities and the descriptions of the product line practice areas form a conceptual framework for software product line practice. This framework is evolving based on the experience and information provided by the community. Version 4.0 in Software Product Lines: Practices and Patterns Version 4.1 http://www.sei.cmu.edu/plp/framework.html 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 60

Framework Core Asset Development Product Development Management Essential Activities Architecture Definition Architecture Evaluation Component Development COTS Utilization Mining Existing Assets Requirements Engineering Software System Integration Testing Understanding Relevant Domains Software Engineering Configuration Management Data Collection, Metrics, and Tracking Make/Buy/Mine/Commission Analysis Process Definition Scoping Technical Planning Technical Risk Management Tool Support Technical Management Building a Business Case Customer Interface Management Implementing an Acquisition Strategy Funding Launching and Institutionalizing Market Analysis Operations Organizational Planning Organizational Risk Management Structuring the Organization Technology Forecasting Training Organizational Management Practice Areas 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 61

SE Practice Area Relationships Domain Understanding feeds Requirements drive Architecture specifies components Components 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 62

SE Practice Area Relationships Domain Understanding feeds Requirements drive Architecture specifies components Make Buy Mine Commission Components 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 63

SE Practice Area Relationships Domain Understanding Understanding Relevant Domains feeds Requirements Requirements Engineering drive Architecture Architecture Definition Architecture Evaluation specifies components Make/Buy/Mine/Commission Analysis Make Buy Mine Commission Component Development COTS Utilization Mining Existing Assets [Developing an Acquisition Strategy] Software System Integration Components Testing 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 64

SE Practice Area Relationships Domain Understanding Understanding Relevant Domains feeds Requirements Requirements Engineering drive Architecture Architecture Definition Architecture Evaluation specifies components Make/Buy/Mine/Commission Analysis Make Buy Mine Commission Component Development COTS Utilization Mining Existing Assets [Developing an Acquisition Strategy] existing talent organizational policy market availability legacy base Software System Integration Components Testing 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 65

Dilemma: How Do You Apply the 29 Practice Areas? Organizations still have to figure out how to put the practice areas into play. 29 is a big number. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 66

How to Make It Happen Essential Activities Core Asset Development Product Development Management Practice Areas Software Engineering Technical Management Guidance Organizational Management Probe Patterns Case Studies 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 67

SEI Product Line Case Studies CelsiusTech: Ship System 2000 National Reconnaissance Office / Raytheon: Control Channel Toolkit (CCT) Cummins, Inc.: Diesel Engine Control Systems Market Maker GmbH: MERGER US Naval Underwater Warfare Center: Rangeware Salion, Inc.: Revenue Acquisition Management solutions 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 68

How to Make It Happen Essential Activities Core Asset Development Product Development Management Practice Areas Software Engineering Technical Management Guidance Organizational Management Probe Patterns Case Studies 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 69

Patterns Can Help Patterns are a way of expressing common context and problem-solution pairs. Patterns have been found to be useful in building architecture, economics, software architecture, software design, software implementation, process improvement, and others. Patterns assist in effecting a divide and conquer approach. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 70

Software Product Line Practice Pattern Pattern Context organizational situation Problem what part of a product line effort needs to be accomplished Solution grouping of practice areas relations among these practice areas (and/or groups if there is more than one) 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 71

Current Set of Patterns Assembly Line Cold Start Curriculum Each Asset Factory In Motion Monitor Process Product Builder Product Parts What to Build Pattern Essentials Coverage Warm Start Each Asset Apprentice Evolve Each Asset Process Improvement Product Gen Green Field Barren Field Plowed Field Analysis Forced March Variants 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 72

How to Make It Happen Essential Activities Core Asset Development Product Development Management Practice Areas Software Engineering Technical Management Guidance Organizational Management Probe Patterns Case Studies 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 73

What is a Product Line Technical Probe? A method for examining an organization s readiness to adopt or ability to succeed with a software product line approach diagnostic tool based on the Framework for Software Product Line Practice SM practice areas are used in the data collection and analysis 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 74

Summary of SEI Contributions Practice Integration: A Framework for Software Product Line Practice SM, Version 4.1, http://www.sei.cmu.edu/plp/framework.html Acquisition Companion to the Framework Techniques and Methods product line analysis architecture definition Attribute-Driven Design (ADD) architecture evaluation Architecture Tradeoff Analysis Method SM ( ATAM SM) mining assets Options Analysis for Reengineering SM (OAR SM ) Product Line Technical Probe SM Book Software Product Lines: Practices and Patterns Practices (Framework, Version 4.0) patterns case studies Conferences SPLC 2004 Sept 2004 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 75

Spreading the Software Product Line Word Software product line concepts, practices, and patterns Architecture design Mining assets Product line analysis Acquisition Guidelines Courses Essentials of Software Product Lines Software Product Lines Attribute-Driven Design Options Analysis for Reengineering SM Product Line Analysis Tutorial Acquisition Executive Tutorial Book Reports Web 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 76

What s Different About Reuse with Software Product Lines? Business dimension Iteration Architecture focus Pre-planning Process and product connection 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 77

Software Product Line Strategy in Context System (Software) Strategies Business/Mission Goals process quality product quality process and product quality Software Product Lines Process Improvement Improved Architecture Practices 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 78

Software Product Line Strategy in Context Business/Mission Goals System (Software) Strategies process quality product quality process and product quality Software Product Lines Process Improvement Improved Architecture Practices 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 79

Challenge Software components are critical to today s systems and product lines BUT the behavior of component assemblies is unpredictable. interface abstractions are not sufficiently descriptive behavior of components is, in part, an a priori unknown behavior of component assemblies must be discovered The result is costly development and decreased assurance. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 80

A Solution Predictable Assembly from Certifiable Components (PACC) 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 81

Vision The Vision Our vision is to provide the engineering methods and technologies that will enable properties of assemblies of components to be reliably predicted, by construction properties of components used in predictions to be objectively trusted We refer to the end-state as having achieved predictable assembly from certifiable components (PACC) 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 82

Prediction Enabled Component Technology (PECT) PACC: Overall concepts and research community PECT: Prediction Enabled Component Technology Other PACC approaches in the research community PECT is the approach we propose to achieve PACC goals. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 83

PECT Reference Concept Prediction-Enabled Component Technology (PECT) Component Technology Analysis Technology At the grossest level, PECT is the integration of component technology with analysis technology 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 84

Industrial Demonstration Customer: ABB Corporate Research Center Customer Information Transforming from heavy industry in power plant equipment to IT products and services in process automation Purpose First year of collaboration to demonstrate the feasibility of PACC in substation automation Second year of collaboration to demonstrate the feasibility of PACC in industrial robotics Problem Being Solved Predictable assembly from certifiable components in substation automation domain - operator level latency (PECT) - controller level latency (PECT) - combined operator-controller latency (PECT 2 ) and in robotics domain Reliability and safety scenarios are under investigation Status Feasibility study for substation automation completed Robotics work underway 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 85

Status PACC premises were validated on an internal system and through an ABB Feasibility Study. PACC became an initiative as of October 2002. The emphasis of work in 2002-03 is to ready PECT for practitioner use practical automation for building and using PECTs - conceptual framework of PECT was generalized in and was more rigorously defined - specification language (CCL) was defined and tools are currently being developed model checking was introduced for reliability verification technical advances in timing and reliability analysis paves the way to real industry trial, real payoff potential 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 86

The Total Picture Business/Mission Goals System (Software) Strategies process quality product quality process and product quality Software Product Lines Process Improvement Improved Architecture Practices Improved Component Practices 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 87

The Total Picture Business/Mission Goals System (Software) Strategies process quality product quality process and product quality Software Product Lines Process Improvement Improved Architecture Practices Improved Component Practices 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 88

Conclusion Software architecture, product line practices, and predictable component practices hold great potential for achieving business and mission goals in software-intensive systems. Software architecture is critical to product quality. 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 89

For More Information Linda Northrop Director Product Line Systems Program Telephone: 412-268-7638 Email: lmn@sei.cmu.edu U.S. mail: Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 World Wide Web: http://www.sei.cmu.edu/ata http://www.sei.cmu.edu/plp SEI Fax: 412-268-5758 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 90

How Does Process Improvement Relate to Software Product Lines? Process discipline is required to succeed with software product lines. An organization s process improvement efforts poise it to succeed with software product lines. Questions to ask What CMM maturity level do I have to have to be successful with product lines? Does my process improvement prowess guarantee my success with software product lines? 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 91

Process Discipline Provides a Foundation for Product Line Practice Product line practice involves strategic reuse. A strategic effort requires more coordination, discipline, and commonality of approach than a more independent effort. An organization with a culture of process discipline is better poised for product line success. The question again is, How much process discipline? 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 92

Answers -1 Process discipline provides an important foundation for software product line practice. It would be very useful to be CMMI Level 2 (project focus) in this minimum set of Process Areas Requirements Management Project Planning Configuration Management Requirements Development It would be even more useful to be able to standardize these processes across organizational units (Level 3). 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 93

Answers -2 Product line practice is supported by both CMMI model representations. continuous (focus on the minimum set of Process Areas) staged (establish a more solid foundation with a more comprehensive set of Process Areas). Process maturity is a very helpful foundation. However, success in software product lines requires mastery of many other essential practice areas. important technical and technical management practices plus product line extensions to CMMI Process Areas cross-project strategic business processes not address by CMMI models 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 94

For More Details Software Process Improvement and Product Line Practice: CMMI and the Framework for Software Product Line Practice CMU/SEI-2002-TN-012 Available on the SEI web site at www.sei.cmu.edu/publications/documents/02.reports/02tn012.html 2003 by Carnegie Mellon University Version 052203 Boston SPIN May 2003 - page 95