e volutionary p rocess for i ntegrating c ots-based systems lisa brownsword ceci albert

24
Sponsored by the U.S. Department of Defense © 2003 by Carnegie Mellon University page 1 Pittsburgh, PA 15213-3890 Evolutionary Process for Integrating COTS-based systems Lisa Brownsword Ceci Albert

Upload: cerise

Post on 01-Feb-2016

26 views

Category:

Documents


0 download

DESCRIPTION

E volutionary P rocess for I ntegrating C OTS-based systems Lisa Brownsword Ceci Albert. Why EPIC?. Many projects are not getting the benefits they want from using COTS products - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

Sponsored by the U.S. Department of Defense© 2003 by Carnegie Mellon University

page 1

Pittsburgh, PA 15213-3890

Evolutionary Process for Integrating COTS-based systems

Lisa Brownsword Ceci Albert

Page 2: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 2

Why EPIC?

Many projects are not getting the benefits they want from using COTS products

Marketplace imperatives drive new and modified activities, new skill sets, additional players, and changed roles and responsibilities

Organizations need an example to facilitate required culture changes

Page 3: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 3

Outline

Challenges of Building Systems using COTS Products

Evolutionary Process for Integrating COTS-Based Systems (EPIC)

Page 4: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 4

Popular COTS Fantasies

COTS products are “plug ‘n play”

We’ll just modify the COTS to fit our business

COTS is “market tested”

COTS will save money

I’ll just use “best of breed”

Page 5: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 5

What is COTS?

A COTS product is one that is …

• Sold, leased, or licensed to the general public

• Offered by a vendor trying to profit from it

• Is supported and evolved by the vendor, who retains intellectual property rights

• Available in multiple, identical copies

• Used without modification of its internals

Page 6: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 6

What Makes COTS Challenging?

Marketplace is volatile• Market drivers• Product features• Vendor viability

Mismatch is likely• End user and product

processes• Architectural assumptions• Enterprise and product

architectures• Different products• Versions of products

COTSProducts

COTS-Based System

???

COTS Vendors

Product visibility is limited• Technical behavior• Business implications

Page 7: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 7

What Makes COTS-Based Systems Challenging?

COTS-based systems come in many forms• One substantial product (suite) tailored to provide functionality• Multiple products from multiple suppliers integrated with other

components (legacy, NDI, custom) to collectively provide functionality

A solution based on COTS products includes • COTS-based system (composed of tailored COTS products,

other components, integration code)• end-user business processes • associated requirements, architecture, cost/schedule/risks

Different COTS products may lead to different solutions

Stability -- and potential obsolescence -- of the solution must be balanced with marketplace volatility

Page 8: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 8

COTS Spheres of Influence

VendorsMarket segmentsAvailable COTS ProductsEmerging technology

MarketplaceMarketplace

Use casesQuality attributesBusiness model

Stakeholder Needs/ Business Processes

Stakeholder Needs/ Business Processes

PatternsInterfacesInfrastructure

Architecture/ Design

Architecture/ Design

Risk managementProject management

Change managementLicense negotiation

Programmatics/Risk

COSTS

Programmatics/Risk

COSTS

Page 9: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 9

Marketplace Changes the Approach

Traditional Engineering Approach

Requirements

Architecture & Design

Implementation

Requirements-driven

Required COTS Approach

Negotiation-driven

Simultaneous Definition

and TradeoffsMarketplace

Stakeholder Needs/Business Processes

Architecture Design

Programmatics/Risk

Page 10: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 10

Key Aspects of COTS Approach

Simultaneous definition and tradeoffs among four spheres – from project initiation until system retired

• Business process engineering is fully integrated• Requirements are fluid and formed through discovery • Flexible system architecture is developed early and maintained • Marketplace is monitored continuously • Cost, schedule, and risk for implementing the system and any

required business process changes is integral to all trades

Continuous negotiation among stakeholders

Disciplined spiral or iterative practices with frequent executable representations of the evolving system

Page 11: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 11

Outline

Challenges of Building Systems using COTS Products

Evolutionary Process for Integrating COTS-Based Systems (EPIC)

Page 12: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 12

What is EPIC?A disciplined, negotiation-driven spiral approach

• Addresses the aspects of defining, building, fielding, and supporting COTS-based solutions

• Describes objectives, activities, and artifacts with sufficient detail to facilitate needed culture change

Operationalizes COTS lessons learned and software engineering best practice

• Concurrent definition of artifacts

• Frequent executable representations

• Risk drives project planning and engineering activities

Page 13: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 13

EPIC Conceptual Framework

TimeTrade Space

Simultaneous Definition

and Tradeoffs

Marketplace

Stakeholder Needs/Business Processes

Architecture/ Design

Programmatics/Risk

• Trades are negotiation-driven with knowledge of marketplace • Requirements formed based on knowledge of market/architecture • Continuous awareness of end-user business processes changes• Project business and contractual approaches support trades

Trade Space

Decisions

Converge

Page 14: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 14

Knowledge Grows Incrementally

• Risk-based spiral development focuses and integrates diverse information

- Prioritized stakeholder needs, end-user processes- Organization and system architecture, design constraints- Identified risks, programmatic constraints- Marketplace offerings, product characteristics, other buyer

usage

• Frequent, evolving executable representations demonstrate current understanding

Executable

Time

Page 15: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 15

Continuous Stakeholder Negotiation• Stakeholder needs mature with increased understanding of

marketplace implications• Business processes change to leverage available products• End users committed to system solution• Quick resolution to discovered mismatches

- Business process owners and end users- System engineers and developers- Vendors and suppliers- Project managers- Change agents

Time

Stakeholder Buy-in Increases

Page 16: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 16

Spiral Development – at a GlanceContinuous discovery, invention, and implementation approach for an increment of capability

• Many iterations are executed to deliver an increment

• Each iteration forces the development team to drive the increment’s artifacts to closure in a predictable and repeatable way

• High-priority risks drive objectives for each iteration

Successive increments replace or build upon previously delivered increments

Page 17: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 17

Iterations Redefined for COTS*

Assess iteration

Gather information

SimultaneousDefinition

and Tradeoffs

*adapted from A/APCS; SEI CBS Initiative

(1 to 8 weeks per outer cycle)

Plan iterationAssemble executable representation

Executable

Refine into harmonized set

by identifying and analyzing mismatches and negotiating among stakeholders

Page 18: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 18

Phases Bounded by Anchor Points

LifeCycle Architecture

Initial Operational Capability

Elaboration Construction Transition

Refine, experiment & select solution

Try/select COTS

Prototype business process changes

Implement selected solution

Apply/track COTS

Prepare to change business process

Field and support solution

Track/update COTS

Change business process

… … …

LifeCycle Objectives

Inception

Gather and define project scope

Survey/try COTS

Agree to business process changes

…Plan iteration

Gather information

Assess iteration

Refine into harmonized set

ExecutableExecutable

Programmatics/Risk

Business Processes

Architecture/ •Design

Marketplace

Stakeholder needs/

SimultaneousDefinition

and Tradeoffs

Assemble executablePlan iteration

Gather information

Assess iteration

Refine into harmonized set

ExecutableExecutable

Programmatics/Risk

Business Processes

Architecture/ •Design

Marketplace

Stakeholder needs/

SimultaneousDefinition

and Tradeoffs

Assemble executablePlan iteration

Gather information

Assess iteration

Refine into harmonized set

ExecutableExecutable

Programmatics/Risk

Business Processes

Architecture/ •Design

Marketplace

Stakeholder needs/

SimultaneousDefinition

and Tradeoffs

Assemble executablePlan iteration

Gather information

Assess iteration

Refine into harmonized set

ExecutableExecutable

Programmatics/Risk

Business Processes

Architecture/ •Design

Marketplace

Stakeholder needs/

SimultaneousDefinition

and Tradeoffs

Assemble executablePlan iteration

Gather information

Assess iteration

Refine into harmonized set

ExecutableExecutable

Programmatics/Risk

Business Processes

Architecture/ •Design

Marketplace

Stakeholder needs/

SimultaneousDefinition

and Tradeoffs

Assemble executablePlan iteration

Gather information

Assess iteration

Refine into harmonized set

ExecutableExecutable

Programmatics/Risk

Business Processes

Architecture/ •Design

Marketplace

Stakeholder needs/

SimultaneousDefinition

and Tradeoffs

Assemble executablePlan iteration

Gather information

Assess iteration

Refine into harmonized set

ExecutableExecutable

Programmatics/Risk

Business Processes

Architecture/ •Design

Marketplace

Stakeholder needs/

SimultaneousDefinition

and Tradeoffs

Assemble executablePlan iteration

Gather information

Assess iteration

Refine into harmonized set

ExecutableExecutable

Programmatics/Risk

Business Processes

Architecture/ •Design

Marketplace

Stakeholder needs/

SimultaneousDefinition

and Tradeoffs

Assemble executable

6 to 18 months

Page 19: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 19

EPIC: A Negotiation-Driven Approach

Drive strategic vision to

sustainable solution

Time

Solu

tio

n A

ltern

atives Stakeholder needs

Business processes

ProgrammaticsRisk

Simultaneous Definition

and TradeoffsMarketplace Architecture

Design

Time

Solu

tio

n A

ltern

atives Stakeholder needs

Business processes

ProgrammaticsRisk

Simultaneous Definition

and TradeoffsMarketplace Architecture

Design

Increase stakeholder buy-in and reconcile business processes with

COTS-based system

Accumulate knowledge through risk-based spirals

Coordinates operational change, system and software engineering, and program management activities

Page 20: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 20

Change Happens …Most software systems change before they are fully implemented• Enterprise priorities shift• Business or operational needs change• New technologies introduce new opportunities• COTS products add and delete key features• Participants rotate • Etc.

Each increment should be small enough to minimize the impact of change (6-18months)

Each increment must be defined in the context of an agreed upon system vision• Going after low hanging fruit in the absence of an overarching

architecture and coherent plan results in incompatible and stove piped solutions

Page 21: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 21

Managing Successive Increments

System level

Scope Design

• Business model

• Scope• Constraints • Market

study

• Critical use cases at system level (what)

• Architecture (how)• Available and

projected technology

LCO LCA

Scope Design

• Business model

• Scope• Constraints • Market

study

• Critical use cases at system level (what)

• Architecture (how)• Available and

projected technology

LCO LCA

Scope Design Build Field

Increment #1

LCO LCA IOC6-18 months

Page 22: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 22

The Bottom Line

Challenges of Building Systems using COTS Products• Vendors control product evolution • Forces of the marketplace drive COTS product tempo and

content

Implications for Development and Maintenance Processes • “Doing COTS” is different from custom development• Traditional requirements-driven processes don’t work

Evolutionary Process for Integrating COTS-Based Systems (EPIC)• A negotiation-driven process that helps identify and manage the

differences between what users want and what COTS products can deliver

• Commercial and government EPIC pilots underway

Page 23: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 23

References EPIC

• Overview: CMU/SEI-2002-TR-009 (July 2002)• Detailed: CMU/SEI-2002-TR-005 (November 2002)

COTS issues• Office of the Secretary of Defense, Commercial Item Acquisition:

Considerations and Lessons Learned. http://www.acq.osd.mil/ar/doc/cotsreport.PDF (26 June 2000)

• Boehm, B. & Abts, C. “COTS Integration: Plug and Pray?” IEEE Computer, 32, 1 (January 1999)

• Brownsword, L.; Carney, D.; & Oberndorf, P. “The Opportunities and Complexities of Applying COTS Components.” Crosstalk, 11, 4 (April 1998) http://www.stsc.hill.af.mil/crosstalk/1998/apr/applying.asp

• Carney, D.; Hissam, S.; & Plakosh, D. “Complex COTS-based Software Systems: Practical Steps for their Maintenance.” Journal of Software Maintenance: Research and Practice, 12, 6 (2000)

Spiral development• Boehm, B. “Anchoring the Software Process.” IEEE Software, (July 1996)• Kruchten, Phillippe. The Rational Unified Process: An Introduction, 2nd ed.

New York, NY: Addison-Wesley Object Technology Series, March 2000

Page 24: E volutionary  P rocess for  I ntegrating  C OTS-based systems Lisa Brownsword  Ceci Albert

© 2003 by Carnegie Mellon University page 24

Additional Information

Ceci [email protected]

Lisa [email protected]

www.sei.cmu.edu/cbs

www.sei.cmu.edu/cbs/epicprod.htm