Model Driven Development Needs More Than Product Models

Similar documents
Value Model Clash Analysis

Complex Systems of Systems (CSOS) : Software Benefits,Risks,and Strategies

COCOMO II and Model-Based (System) Architecting and Software Engineering (MBASE)

Teaching the Elephant to Dance: Agility Meets Systems of Systems Engineering and Acquisition

Barry Boehm, USC-CSE IBM T. J. Watson Presentation August 13, 1999

Avoiding Overruns in the Specification of Non-Functional Requirements

The MBASE Life Cycle Architecture Milestone Package No Architecture Is An Island

Parallel Development and The Incremental Commitment Spiral Model (ICSM)

CSE Annual Research Review. Group 2 Creating Lean Disciplined Methods & Synthesizing Hybrid Agile/Disciplined Methods

The MBASE* Life Cycle Architecture Package -and Relations to the Draft DoD 5000 Series. Barry Boehm, USC GSAW 2000 Keynote February 23, 2000

Value-Based Verification and Validation Guidelines

In his keynote address at the 1996

COCOMO II Status and Extensions. Barry Boehm, USC COCOMO / SCM Forum #13 October 7,1998. Outline

COSYSMO: Constructive Systems Engineering Cost Model

A Value-Based Process For Achieving Software Dependability

A Data Item Description for System Feasibility Evidence

Synthesis of Existing Cost Models to Meet System of Systems Needs

Evidence-Based Software Processes

Software Architecture Challenges for Complex Systems of Systems

5) A work breakdown structure is a list of tasks broken down to small manageable activities. Answer: TRUE Diff: 2 Page Ref: 42

When Does Requirements Volatility Stop All Forward Progress?

Goals of course. Themes: What can you do to evaluate a new technique? How do you measure what you are doing?

Using the Spiral Model and MBASE to Generate New Acquisition Process Models: SAIV, CAIV, and SCQAIV

Evidence-Based Software Processes

Software Engineering

Software Engineering Economics

Agility in Defense SE & Acquisition: Some Critical Success Factors

Feasibility Rationale Description (FRD)

USC-CSE Annual Research Review 2000 DEMONSTRATION GUIDE

Software Engineering QUESTION BANK

The Systems Development Lifecycle

03. Perspective Process Models

Processes. Object Orientated Analysis and Design. Benjamin Kenwright

Systems Cost Modeling

COSOSIMO Parameter Definitions Jo Ann Lane University of Southern California Center for Software Engineering

Explore Comparative Analysis Software Development Life Cycle Models

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Life Cycle Plan (LCP)

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

CORADMO and COSSEMO Driver Value Determination Worksheet

Software Engineering Modern Approaches

The Software Life Cycle

Chapter 3 Software Process Model

3. Comparison of Above Described SDLC Models

Current and Future Challenges for Ground System Cost Estimation

Introduction to Software Engineering

Software Cost Estimation Issues for Future Ground Systems

Chapter 3 Prescriptive Process Models

ESD/MITRE Software. Proceedings May 6-7, Acquisition SYMPOSIUM

Using the Incremental Commitment Model (ICM) to Help Execute Competitive Prototyping (CP) Charts with Notes

7. Model based software architecture

Software Life Cycle. Main Topics. Introduction

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

System-of-Systems Influences on Acquisition Strategy Development

Software Development Methodologies. CSC 440: Software Engineering Slide #1

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae

Name: DBA COCOMO. Presenter(s): Janet Chu. Objective: Database version of the COCOMOll with additional functionalities.

The Fourth Principle: Evidence and Risk-Based Decision Making

Next Generation Trends:

Value-Based Software Engineering Barry Boehm University of Southern California

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

The Software Life Cycle

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Software Processes 1

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

USC-CSE Annual Research Review. Los Angeles, CA March 12, 2003

MIS Systems & Infrastructure Lifecycle Management 1. Week 10 March 24, 2016

MODULE Explain briefly the different types of system models that might be created during the system analysis phase. 2. Write short notes on

The software process

Architecture Based Analysis of System ility Synergies and Conflicts

The Product and the Process The Product The Evolving Role of Software Software Software: A Crisis on the Horizon Software Myths Summary References

Ingegneria del Software Corso di Laurea in Informatica per il Management

Principles for Successful Systems Engineering

Software Risk Management

Software Process. Overview

COCOMO Suite Methodology and Evolution

Spiral Lifecycle Increment Modeling for New Hybrid Processes

SYLLABUS. What is Agility, What is an Agile Process, Agile Process Models.

Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM. An Oracle White Paper April 2012

Organising Requirements

Workshop Summary. Process Support of Software Product Lines

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Software Engineering in the Agile World. Table of contents

Addressing New Technologies

CS 320 Introduction to Software Engineering Spring February 01, 2017

CSCI 510 Final Exam, Fall 2017 v10 of solution & rubric Monday, December 11, questions, 300 points

Value-Based Software Engineering

Foundations of Software Engineering. Lecture 16: Process: Linear to Iterative Michael Hilton

Using the Incremental Commitment Model to Integrate System Acquisition, Systems Engineering, and Software Engineering

Software Cost Estimation Meets Software Diversity

Software Engineering Part 2

Software Technology Conference

Software Estimation 25 Years and Still Guessing

Pertemuan 2. Software Engineering: The Process

Life Cycle Plan (LCP)

Requirements Organisation, Analysis. Software Requirements & Project Management CITS3220

Transcription:

Model Driven Development Needs More Than Product Models Barry Boehm, USC USC-CSE Executive Workshop on MDA Mar. 16 th, 2005 3/16/2005 USC-CSE 1

Nature of Model Clashes Outline Among product, process, property, success models Project examples Distribution of Model Clashes 35-project sample: Al-Said Ph.D. thesis Product-product: 30% of total, 24% of risk Detecting and Avoiding Model Clashes MBASE integration and process frameworks Concurrent engineering of architecture, rqt s, plans Anchor point milestones and Feasibility Rationale Conclusions 3/16/2005 USC-CSE 2

Understanding the Tar Pit: Model Clashes Model Clash: An incompatibility among the underlying assumptions of a set of models Process, product, property, and success models Often unrecognized Produces conflicts, confusion, mistrust, frustration, rework, throwaway systems 3/16/2005 USC-CSE 3

Process Models Using Models to Visualize Software Facets Success Models Win-Win Business Case Analysis Results Chains Risk Software Warranties Correctness RAD Six Sigma Stories Award Fees Agility JAD QFD Golden Rule Waterfall Spiral RUP XP SAIV CAIV SCQAIV Risk Management Business Process Reengineering CMM s Peopleware IPT s Agile Development Groupware Easy WinWin Experience Factory GQM MBASE, CeBASE COCOMO II COCOTS CORADMO System Dynamics Metrics - ilities COQUALMO Simulation and Modeling Property Models 3/16/2005 USC-CSE 4 Product Models UML XML CORBA COM Architectures Product Lines OO Analysis & Design Requirements Operational Concepts Domain Ontologies COTS GOTS

Model Clash Example: Waterfall and COTS - e.g., DoD-STD-2167 and SecDef Perry COTS memo Waterfall Process Model Assumptions System requirements are specifiable in advance They determine the system s capabilities COTS-Based Product Model Assumptions COTS capabilities determine affordability Affordability determines requirements It s not a requirement if you can t afford it 3/16/2005 USC-CSE 5

Large Government Waterfall Project Example $100M Required Architecture: Custom; many cache processors $50M Original Cost Original Spec Original Architecture: Modified Client-Server After Prototyping 1 2 3 4 5 Response Time (sec) 3/16/2005 USC-CSE 6

Clashes Among MBASE Models Product Model Process Model Property Model Success Model Product Model Process Model Property Model Structure clash Traceability clash Architecture style clash COTS-driven product vs. Waterfall (requirementsdriven) process Multi-increment development process vs. singleincrement support tools Interdependent multiprocessor product vs. linear performance scalability model Evolutionary development process vs. Rayleigh-curve cost model Minimize cost and schedule vs. maximize quality (Quality is free) 4GL-based product vs. low development cost and performance scalability Waterfall process model vs. "I'll know it when I see it" (IKIWISI) prototyping success model Fixed-price contract vs. easyto-change, volatile requirements Success Model Golden Rule vs. stakeholder winwin 3/16/2005 USC-CSE 7

Model Clashes SpiderWeb: MasterNet 3/16/2005 USC-CSE 8

Nature of Model Clashes Outline Among product, process, property, success models Project examples Distribution of Model Clashes 35-project sample: Al-Said Ph.D. thesis Product-product: 30% of total, 24% of risk Detecting and Avoiding Model Clashes MBASE integration and process frameworks Concurrent engineering of architecture, rqt s, plans Anchor point milestones and Feasibility Rationale Conclusions 3/16/2005 USC-CSE 9

Model Clashes Occurrence Probability & Severity: 35 Projects RAD Sample Assumptions Developer needs extensive, on demand user/customer interaction User/Customer are available at limited times S Dev User/ Cust M SS SS OP 0.86 SV H User/Customer are free to add/modify the system requirements during the system implementation User/ Cust PD 0.46 H Changes/additions to system requirements require extra budget and schedule Dev PP 3/16/2005 USC-CSE 10 S: Stakeholder; M: Model; OP: Occurrence Probability; SV: Severity

Clash Types and their Contribution to Project Risk 1.4 1.3 0.8 Success- Property Success- Product Success- Success Product- Property Process- Property Property-Product- Property Product Process- Process Product- Process % of Clashes 4 12 3 16 4 13 30 7 6 5 % of Risk 6 17 4 20 5 12 24 5 4 3 Success- Process Majority of research (product-product) addresses minority of risk 3/16/2005 USC-CSE 11

Inter and Intra Model Clashes and their Contribution to Project Risk 100 Distribution of Inter and Intra Model Clashes Contribution of Inter and Intra Model Clashes to Risk 100 % Total Model Clashes 80 60 40 20 47% 80 53% 60 55% % Total Risk 40 20 43% 0 0 Inter Model Clashes Intra Model Clashes Inter Model Clashes Intra Model Clashes Inter model clashes caused majority of risk 3/16/2005 USC-CSE 12

3/16/2005 USC-CSE 13

Nature of Model Clashes Outline Among product, process, property, success models Project examples Distribution of Model Clashes 35-project sample: Al-Said Ph.D. thesis Product-product: 30% of total, 24% of risk Detecting and Avoiding Model Clashes MBASE integration and process frameworks Concurrent engineering of architecture, rqt s, plans Anchor point milestones and Feasibility Rationale Conclusions 3/16/2005 USC-CSE 14

MBASE Integration Framework Life cycle anchor points Risk management Key practices Process models Business case IKIWISI Stakeholder win-win Process entry/exit criteria Success models Planning and control Milestone content Evaluation and analysis Property models Cost Schedule Performance Reliability Product evaluation criteria Product models Domain model Requirements Architecture Code Documentation 3/16/2005 USC-CSE 15

MBASE Process Framework determine the relevance of Stakeholders WinWin Spiral Process Life Cycle Architecture Package Plan in LCA Package set context for IPM 1 Domain/ Environment Models provide parameters for Conceptual Product Models are refinements of intermediate Product Models reify Reified Product Models Property Models IPM n identify, prioritize Success Models Provide evaluations for impose constraints on guide progress in selecting, and reifying enable satisficing among serve and satisfy Process Models provide parameters for 3/16/2005 USC-CSE 16

Spiral Anchor Points Enable Concurrent Engineering I R R L C O L C A C C D I O C P R R 3/16/2005 USC-CSE 17

Need Concurrently Engineered Milestone Reviews Life Cycle Objectives (LCO); Life Cycle Architecture Package (LCA) Operational Concept System Prototype(s) System Requirements System and Software Architecture Elaboration of system objectives and scope by increment Elaboration of operational concept by increment Exercise range of usage scenarios Resolve major outstanding risks Elaboration of functions, interfaces, quality attributes, and prototypes by increment - Identification of TBD s (to be determined items) Stakeholders concurrence on their priority concerns Choice of architecture and elaboration by increment - Physical and logical components, connectors, configurations, constraints - COTS, reuse choices - Domain architecture and architectural style choices Architecture evolution parameters 3/16/2005 USC-CSE 18

Need Concurrently Engineered Milestone Reviews Life Cycle Objectives (LCO); Life Cycle Architecture Package (LCA) 2 Life-Cycle Plan Feasibility Rationale Elaboration of WWWWWHH* for Initial Operational Capability (IOC) Partial elaboration, identification of key TBD s for later increments Assurance of consistency among elements above All major risks resolved or covered by risk management plan. *WWWWWHH: Why, What, When, Who, Where, How, How Much 3/16/2005 USC-CSE 19

LCO (MS A) and LCA (MS B) Pass/Fail Criteria A system built to the given architecture will Support the operational concept Satisfy the requirements Be faithful to the prototype(s) Be buildable within the budgets and schedules in the plan Show a viable business case Establish key stakeholders commitment to proceed LCO: True for at least one architecture LCA: True for the specific life cycle architecture; All major risks resolved or covered by a risk management plan 3/16/2005 USC-CSE 20

Conclusions Need to address model clashes among product, process, property, and success models A major hidden source of project failures Product-product clashes: 30% of total, 24% of risk Best to concurrently engineer operational concept, requirements, architecture, plans, feasibility rationale Win-Win spiral model and anchor point milestones enable controlled concurrent engineering Life Cycle Architecture Package vs. standalone architecture 93% success rate of on-time client satisfaction on campus e- services projects 3/16/2005 USC-CSE 21