COTS-Based Systems

69
COTS-Based Systems A Winsor Brown & Jesal Bhuta ({AWBrown, Jesal} @usc.edu) USC Center for Systems and Software Engineering http://csse.usc.edu/ Presentation for: CSCI 510 Fall 2006 COTS: The Future is Here COTS: The Future is Here

description

COTS: The Future is Here. COTS-Based Systems. A Winsor Brown & Jesal Bhuta ({AWBrown, Jesal} @usc.edu) USC Center for Systems and Software Engineering http://csse.usc.edu/ Presentation for: CSCI 510 Fall 2006. Outline. Introduction to COTS, CBS and CBA COTS Trends in Industry Using COTS - PowerPoint PPT Presentation

Transcript of COTS-Based Systems

Page 1: COTS-Based Systems

COTS-Based Systems

A Winsor Brown & Jesal Bhuta ({AWBrown, Jesal} @usc.edu)

USC Center for Systems and Software Engineering

http://csse.usc.edu/

Presentation for: CSCI 510 Fall 2006

COTS: The Future is HereCOTS: The Future is Here

Page 2: COTS-Based Systems

2

Outline

Introduction to COTS, CBS and CBA

COTS Trends in Industry

Using COTS

Building and Estimating COTS-Based Applications

CBA/COTS Risks and Lessons Learned

Other COTS Cost Estimation Techniques

Page 3: COTS-Based Systems

3

What is COTS

COTS definition by SEI– A product that is

Sold, leased or licensed to the general public Offered by a vendor trying to profit from it Supported and evolved by the vendor, who retains

the intellectual property rights Available in multiple copies Used without internal modification by a consumer

Page 4: COTS-Based Systems

4

Related Terms

COTS (Commercial off the shelf)

– Black box (internal modification not possible)

– White box (internal modification possible)

GOTS (Government Off The shelf)

ROTS (Research Off The Shelf)

NDI (Non Developmental Item/Not Developed In-house)

Reuse Code

– Source code originally written for some other project

Page 5: COTS-Based Systems

5

COTS Systems Definitions

COTS Based Systems (CBS)– Any system that uses COTS

COTS Based Applications (CBA)

A system for which – at least 30% of the end-user functionality is provided

by COTS products and– at least 10% of the development effort is devoted to

COTS considerations

Page 6: COTS-Based Systems

6

COTS Implications

Source code may or may not be available

No longer a COTS if the source code is modified internally– No vendor support for modified COTS

Can be tailored or extended using– Tailoring options

Can be extended using– An application programming interface (API)

Usually periodic releases with feature growth

Older versions eventually become obsolete– No vendor support (e.g. Windows 95, 98, 2000)

Page 7: COTS-Based Systems

7

CBA – Major Activities

Assessment– Activity of determining the feasibility of using specific COTS to

fulfill required system functions

Tailoring– Activity associated with setting or defining shell parameters or

configuration options for a COTS, but which do not require modification of source code, including defining I/O report formats, screens, etc.

Glue-code– Custom development needed to integrate COTS packages within

an application external to the packages themselves

Page 8: COTS-Based Systems

8

Outline

Introduction to COTS, CBS and CBA

COTS Trends in Industry

Using COTS

Building and Estimating COTS-Based Applications

CBA/COTS Risks and Lessons Learned

Other COTS Cost Estimation Techniques

Page 9: COTS-Based Systems

9

1980 - Zon.com - Architecture

Application Server

User-InterfaceWeb-browser

Submit ordersDisplay inventory…

Inventory Mgt Shopping Cart Credit Card Auth

Database System

HTTP service…

Data storageDate retrievalData IndexingData Backup…

Custom components(developed in-house)

Third-Party components(developed else-where)

Page 10: COTS-Based Systems

10

1990 – Zon.com - Architecture

Application Server

User-InterfaceWeb-browser

Submit ordersDisplay inventory…

Inventory Mgt Shopping Cart Credit Card Auth

Database System

(Sybase)

HTTP service…

Data storageDate retrievalData IndexingData Backup…

Custom components(developed in-house)

Third-Party components(developed else-where)

Page 11: COTS-Based Systems

11

2000 – Zon.com - Architecture

Custom components(developed in-house)

Third-Party components(developed else-where)

Application Server

User-InterfaceWeb-browser

Submit ordersDisplay inventory…

Inventory Mgt Shopping Cart Credit Card Auth

Database System

(Sybase)

HTTP service…

Data storageDate retrievalData IndexingData Backup…

Page 12: COTS-Based Systems

12

2004 – Zon.com - Architecture

Application Server

User-InterfaceWeb-browser

Submit ordersDisplay inventory…

Inventory Mgt Shopping Cart Credit Card Auth

Database System

(Sybase)

HTTP service…

Data storageDate retrievalData IndexingData Backup…

Custom components(developed in-house)

Third-Party components(developed else-where)

Page 13: COTS-Based Systems

13

CBA Growth Trend

USC e-services project data shows: increase in # of projects from 28% in 1997 to 70% in 2002

CBA Growth Trend in USC e-Services Projects

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

1997 1998 1999 2000 2001 2002

Year

%

Page 14: COTS-Based Systems

14

Implications for Software Engineers

New skills required for system development

– COTS assessment

– COTS tailoring

– COTS integration

– COTS system feasibility analysis …

Page 15: COTS-Based Systems

15

Software Development Phase Activities: Custom Vs COTS

Requirements

(Inception)

Design

(Elaboration)

Implementation

(Construction)

Acceptance & Deployment

(Transition)

Sustainment

(Maintenance)

Custom Development Activities

Ops ConceptPlanningSoftware ReqsArchitecture

Preliminary DesignDetailed Design

Code & Unit TestComponent TestSystem Test

Acceptance TestSite InstallationSite Activation

OperationsMaintenanceEnhancements

COTS Specific Activities

Definition of Objectives Constraints & PrioritiesCOTS Component IdentificationCOTS Assessment/SelectionPrototyping

TailoringGlue code developmentCOTS Integration & TestComponent Refresh

Acceptance TestSite InstallationSite Activation

Component RefreshMaintenance

Page 16: COTS-Based Systems

16

Outline

Introduction to COTS, CBS and CBA

COTS Trends in Industry

Using COTS

Building and Estimating COTS-Based Applications

CBA/COTS Risks and Lessons Learned

Other COTS Cost Estimation Techniques

Page 17: COTS-Based Systems

17

Why use COTS?

Change in software development practice over the past 20 years– Build system with pre-existing software to reduce

development and maintenance costs– One such source: COTS

COTS Based Systems– Involve less development time and lower development

cost by taking advantage of existing, market proven, vendor supported products.

Page 18: COTS-Based Systems

18

Using COTS - Trade Off’s

Two main characteristics of COTS:– source code not available to developer– evolution not under control of developer

Results in trade-off: – development time can be reduced, but often at cost of

increased software component integration work

Page 19: COTS-Based Systems

19

COTS Pros and Cons

Pros Available now, earlier payback

Avoids expensive development & maintenance

Predictable license costs & performance

Rich in functionality

Cons Licensing and procurement

delays

Up front license fees

Recurring maintenance fees

Reliability often unknown/ inadequate

Unnecessary features compromise usability, performance

Page 20: COTS-Based Systems

20

COTS Pros and Cons

Pros Broadly used, mature

technology

Frequent upgrades often anticipate organization’s needs

Dedicated support organization

Hardware/software independence

Tracks technology trends

Cons Functionality, efficiency

constraints

No control over upgrades/maintenance

Dependency on vendor

Integration not always trivial; incompatibilities among different COTS

Synchronizing multiple-vendor upgrades

Page 21: COTS-Based Systems

21

When is COTS right for you

When they lie at the intersection of the three determinants of feasibility, and do so demonstrably better than could original code:

– Technical

– Economic

– Strategic constraints

Page 22: COTS-Based Systems

22

When is COTS right for you

Technical constraint– Ability supply the desired functionality at the required

level of reliability

Economic constraint– Ability to be incorporated and maintained in the new

system within the available budget and schedule

Strategic constraint– Ability to meet needs of the system operating

environment--including technical, political, and legal considerations--now, and as environment is expected to evolve in the future

Page 23: COTS-Based Systems

23

Outline

Introduction to COTS, CBS and CBA

COTS Trends in Industry

Using COTS

Building and Estimating COTS-Based Applications

CBA/COTS Risks and Lessons Learned

Other COTS Cost Estimation Techniques

Page 24: COTS-Based Systems

24

Principles of CBA Models

1. Process happens where the effort happens

2. Don’t start with Requirements

3. Avoid premature commitments -- but have and use a plan

4. Buy information early to reduce risk and rework

5. Prepare for COTS changes

Page 25: COTS-Based Systems

25

Outline

Introduction to COTS, CBS and CBA

COTS Trends in Industry

Using COTS

Building and Estimating COTS-Based Applications

CBA/COTS Risks and Lessons Learned

Other COTS Cost Estimation Techniques

Page 26: COTS-Based Systems

26

Building and Estimating COTS-Based Applications

Elements for Developing CBS/CBA COCOTS: Estimating the CBS/CBA Development costs MBASE/RUP The Problem: COTS capabilities “control” Requirements Developing CBS/CBA Mapped onto MBASE/RUP

Page 27: COTS-Based Systems

27

Elements for Developing CBS/CBA

COCOMO II,COCOTS, etc.

CBA Process Decision

Framework

• Process Elements

COTS Market/ Vendors

Stakeholders’WinWin

Negotiation

Cost exposure for each candidate

Information, updates, changes

Win conditions, system OC&P’s,Agreements, etc.

COTS price models

COTS integrationcharacteristics

CBA Activity Sequence Patterns

•Sequences•Indicated Risks•Risk Mitigations

CBA Experience Base

CBA Classifications

•3 types of CBA•Guidelines•Top risk lists

COCOMO II,COCOTS, etc.

CBA Process Decision

Framework

• Process Elements

COTS Market/ Vendors

Stakeholders’WinWin

Negotiation

Cost exposure for each candidate

Information, updates, changes

Win conditions, system OC&P’s,Agreements, etc.

COTS price models

COTS integrationcharacteristics

CBA Activity Sequence Patterns

•Sequences•Indicated Risks•Risk Mitigations

CBA Experience Base

CBA Classifications

•3 types of CBA•Guidelines•Top risk lists

CBA Activity Sequence Patterns

•Sequences•Indicated Risks•Risk Mitigations

CBA Experience Base

CBA Classifications

•3 types of CBA•Guidelines•Top risk lists

Page 28: COTS-Based Systems

28

Value-Based CBA Process Framework

P1: Identify Objective, Constraints and

Priorities (OC&Ps)

P2: Do Relevant COTS Products Exist?

P3: Assess COTS Candidates

P4: Tailoring Required?

Single Full-COTS solution satisfies all OC&Ps

Yes or Unsure

P6: Can adjust OC&Ps?No

No acceptable COTS-Based Solution

P5: Multiple COTS cover all OC&Ps?Partial COTS solution best

P7: Custom Development

NoYes

P10: Develop Glue Code

P8: Coordinate custom code and glue

code development

P9: Develop Custom Code

No, Custom codeRequired to satisfy

all OC&Ps

Yes

P11: Tailor COTSP12: Productize,

Test and Transition

NoYes

Deploy

Deploy

A

T

No

G

Start

C

C

Task/Process

Decision/Review

AssessmentA

TailoringT

Glue-CodeG

Custom DevelopmentC

Page 29: COTS-Based Systems

29

Assessment Process Element

A1: Establish evaluation criteria, weights; Identify COTS candidates

A2: Initial Filtering:

document/literature review

A3: Prepare for detailed

assessment

A4: Detailed Assessment

A5: Collect data and analyze assessment

results

Market Trend Analysis

Remaining COTS candidates

Changes of COTS Vendor/Standards

P6: Can adjust OC&Ps?

No acceptable COTS-Based

Solution

A6: Clear Choice?

P5: Multiple COTS cover all OC&Ps?

No acceptable COTS-Based

Solution

Partial COTS solution best

Single Full-COTS solution satisfies all OC&Ps

COTS Assessment Background

(CAB)

COTS Assessment

Plan(CAP)

COTS Assessment

Report(CAR)

P4: Tailoring Required?

Page 30: COTS-Based Systems

30

Tailoring Process Element

Alternate COTS selections

T1: Identify tailoring methods available for the selected COTS

components

T3: Perform tailoring effort vs functionality trade-off analysis

T2: Clear best tailoring method?

T5: Design and Plan tailoring using best

available tailoring method

No

Yes

Yes

T4: Tailoring-functionality trade-off feasible to satisfy OC&Ps?

No

A4: Detailed Assessment

T6: Perform Tailoring

A4: Detailed Assessment

G4: Develop glue code and integrate

P12: Productize, Test and Transition

Tailoring options:

1. GUI Based2. Parameter Based3. Programmable

Eval. Parameters GUI Based Parameter Based ProgrammableDesign Details Low - None Low Detailed

ComplexityLow -Moderate Moderate High

AdaptabilityGUI - High;Other - Low Low - Moderate High

DeveloperResources Low Low - Moderate Moderate - High

Page 31: COTS-Based Systems

31

Glue Code Process Element

G1: Architect and Design Glueware

G2: Architecture Feasible?

Yes

P12: Productize, Test and Transition

G3: Tailoring Required

No

YesT

G4: Develop glue code and integrate

No

A4: Detailed Assessment

Alternate COTS combinations

No acceptable COTS-Based

Solution

P6: Can adjust OC&Ps?

P9: Develop custom code

Architecture considerations: • Determine interconnection topology options• Minimize the complexity of interactions• Select connectors w.r.t. COTS interfaces• Identify potential architectural mismatches

Page 32: COTS-Based Systems

32

COCOTS: COTS Modeling Problem Context

1

(COTS Components as Application Elements, Infrastructure, or Tools)

COTS and Custom Applications Components----------------NewModelingProblem----------------

COTS as Infrastructure COTS as Tools (COCOMO II parms PVOL, PLEX) (COCOMO II parms LTEX, TOOL)

Cost Modeling Currently Addressed Within COCOMO II: COTS as Infrastructure and Tools

Page 33: COTS-Based Systems

33

COCOTS: COTS’ Development Cost Sources

2. COTS Tailoring 1. COTS

Assessment

3. COTS Glue Code Development

Time

Sta

ffin

g

LCO ( requirements

review)

LCA ( preliminary

design review) IOC

( system delivery)

LCO – Lifecycle Objectives LCA – Lifecycle Architecture IOC – Initial Operational Capability COCOMO II Effort Estimate

COCOTS Effort Estimate

Application Code Development, Integration, and Test Separate from COTS Effects

Page 34: COTS-Based Systems

34

COCOTS - Current Status – (1)

Three Sub-models– Assessment sub-model– Tailoring sub-model– Glue code sub-model

Mathematical form of each sub-model is different– However, a common feature is estimates based upon classes of

COTS components being examined– Example COTS classes: GUI builders, operating systems,

databases, word processors, etc.

Page 35: COTS-Based Systems

35

COCOTS - Current Status – (2)

Calibrated on 20 data points

Project Domains– Air Traffic Management– Business (including databases)– Communication, Navigation, & Surveillance– Logistics– Mission Planning– Operations– Web-based Maps

Page 36: COTS-Based Systems

36

MBASE/RUP: What’s wrong with this “picture”

IRR

LCA

IOC

PRR

LCO

CCD

Page 37: COTS-Based Systems

37

Problem: COTS capabilities “control” Requirements

CBS/CBA Needs/Wants/WinCs -> COTS or New or OSSw ->-> Arcitecture -> Requirements -> Design …

GreenfieldNeeds/Wants/WinCs -> Requirements -> Architecture -> -> Design …

Page 38: COTS-Based Systems

38

Developing CBS/CBA Mapped onto 577 ICM

Page 39: COTS-Based Systems

39

Outline

Introduction to COTS, CBS and CBA

COTS Trends in Industry

Using COTS

Building and Estimating COTS-Based Applications

CBA/COTS Risks and Lessons Learned

Other COTS Cost Estimation Techniques

Page 40: COTS-Based Systems

40

CBA Top N Risk List

No. Risk Items No. Risk Items

1 Requirements Changes and Mismatches 9 Difficulty in coordinating meetings with key personnel may result in significant delays

2 Many new non technical activities are introduced in the Software Engineering Process

10 Inadequate vendor support may result in significant project delays

3 Miss possible COTS candidates within the COTS process 11 COTS package incompatibilities may result in feature loss and significant project delays (Integration Clash)

4 Too much time spent in assessment due to too many requirements and too many COTS candidates

12 Added complexity of unused COTS features

5 Might not include all key aspects for establishing evaluation criteria set. (Inadequate COTS assessment)

13 Overly optimistic expectations of COTS quality attributes

6 Introducing new COTS candidates is likely and requires re-planning

14 Overly optimistic COTS package learning curve

7 Faulty Vendor Claims may result in feature loss and/or significant delays

15 A version upgrade may result in re-tailoring of COTS package

8 Ability or willingness of the organization to accept the impact of COTS requirements

16 Imposed black box testing of COTS components

Source: USC e-service projects 2000-2002

Page 41: COTS-Based Systems

41

Lessons Learned Using COTS I

Problems with vendors– Vendors promise and don’t deliver– Products don’t work as advertised– Don’t assume a quantity discount, negotiate price upfront

Need for flexibility in defining requirements– Distinguish between essential and negotiable requirements. Be

flexible where you can.– What we did right - spent 14 out of a total of 22 months iterating

between requirements, business processes and the marketplace– If you can bend your requirements, COTS is cheaper. Otherwise

you’re better off with custom developed. (Not all projects may be flexible)

Page 42: COTS-Based Systems

42

Lessons Learned Using COTS II

Importance of operational demos– Spend a lot of time in detailed performance demonstrations with

real users. – Up-front time is critical. That’s when you have leverage with

vendors. Once you buy their product, they are a lot less willing to help out.

Assessment of specific attributes– Projects (COCOTS), in the past have expressed regret that they

did not spend more time assessing portability, inter-component compatibility, flexibility (of user interface), and installation ease.

Page 43: COTS-Based Systems

43

Lessons Learned Using COTS III

Life-cycle issues– Supportability of COTS viewed as a major issue for safety-critical

systems– Out of service is a critical problem

contractor purchased source code and will maintain COTS software

– Projects, in past have expressed the view that COTS saved money during development but shifted costs to operational side of the life cycle

– On-line software maintenance How do you upgrade systems once they are in place and

operating?

Page 44: COTS-Based Systems

44

Lessons Learned Using COTS IV

Life Cycle Issues (Upgrading)– What is an effective strategy for upgrading? Products reach end

of life in two years. Freeze and redo the system in 10 years? Incorporate all versions from all vendors whenever they come

out? Refresh every 2 years? Refresh a selected set of components every 2 years?

– Should have an environment set up so you can load new versions onto the existing configuration and decide whether or not to upgrade.

– Look at the entire life cycle realistically - not just development

Page 45: COTS-Based Systems

45

Lessons Learned Using COTS V

COTS integrator experience– Important that they have experience integrating

COTS.– Look carefully at their credentials. They will oversell

themselves

Product maturity– Never use an untried OS– Maturity of the software was very important in COTS

selection– If you have a safety-critical system, you don’t want

state-of-the-art COTS

Page 46: COTS-Based Systems

46

Lessons Learned Using COTS VI

Training on COTS packages– Significant learning curve

Need for technology and market watch to keep up with vendors and technologies

Impacts of volatility during development– redo the tailoring with new releases

Page 47: COTS-Based Systems

47

Outline

Introduction to COTS, CBS and CBA

COTS Trends in Industry

Using COTS

Building and Estimating COTS-Based Applications

CBA/COTS Risks and Lessons Learned

Other COTS Cost Estimation Techniques

Page 48: COTS-Based Systems

48

Other COTS Cost Estimation Techniques

COCOTS (already discussed)

Early COCOTS

Price-S (Uses COCOMO & COCOTS)

Seer-SEM (Galorath Corp)

SLIM

Page 49: COTS-Based Systems

49

Early COCOTS Motivation

Information known early in the life-cycle is limited

Require a rough order-of-magnitude estimates for basic investment decisions

Build Vs. Buy decision

Page 50: COTS-Based Systems

50

Early COCOTS - Highlights

Handle’s COTS, NDI, and new Code

Cost drivers can be estimated or are known early-on

Costs will be estimated at system level, not at the level of components

Model addresses the total cost of ownership– COTS licensing– Effort to build/integrate– Business process re-engineering, training, consulting– Maintenance costs

Page 51: COTS-Based Systems

51

Model Drivers – Size inputs

Number of independent COTS products

Number of COTS-provided user functions

Degree of uncertainly about product choices

Amount of newly developed software (equivalent SLOC)

Page 52: COTS-Based Systems

52

Model Drivers – Cost Drivers

Complexity of Integration

Required tailoring, BPR, training, data conversion

Integrator difficulties with COTS products and integration

Degree of mismatch between COTS capabilities and user needs; maturity, requirements flexibility

Requirements Volatility

COTS Volatility

Page 53: COTS-Based Systems

53

Questions

Page 54: COTS-Based Systems

Additional Slides

Page 55: COTS-Based Systems

55

CBA Project Types

Assessment Intensive CBA– Assessment is the dominant activity

Projects 1-7 in USC e-services effort distribution chart

Tailoring Intensive CBA– Tailoring is the dominant activity

Projects 8-10 in USC e-services effort distribution chart

Glue Code Intensive CBA– Glue code is the dominant activity

Projects 14-17 in USC e-services effort distribution chart

Page 56: COTS-Based Systems

56

CBA Activities Effort Distribution

USC e-services project data– 5 person teams– 24 week projects

COCOTS calibration data– Small to large business

mgmt., analysis, and control applications

0%

20%

40%

60%

80%

100%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Assessment Tailoring Glue Code

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Page 57: COTS-Based Systems

57

Effort Sources in CBA Project Types

Comparison of CBA Effort Sources

0%

5%

10%

15%

20%

25%

Activity

ACBA

TCBA

GCBA

Non-CBA

Page 58: COTS-Based Systems

58

Principles of CBA Model

1. Process happens where the effort happens

2. Don’t start with Requirements

3. Avoid premature commitments -- but have and use a plan

4. Buy information early to reduce risk and rework

5. Prepare for COTS changes

Page 59: COTS-Based Systems

59

1. Process Happens where Effort Happens

Effort sources: – COTS Assessment, Tailoring, Glue Code/Integration

0%

20%

40%

60%

80%

100%

1 3 5 7 9 11 13 15 17

Assessment Tailoring Glue Code

0%

20%

40%

60%

80%

100%

1 3 5 7 9 11 13 15 17

Page 60: COTS-Based Systems

60

Activity Sequence Patterns

COTS Activity Sequences

Inception Elabration Constructio Transition1 A AC ATG C2 A AT A A3 A (TG)A G G4 A A(TG) A(TG) G5 AT AT T T6 A T TG G7 AT T T T8 AT (AA) TG (TGC) G9 A AT TG G

No.

Activity Sequences

• Time-ordered sequence of A, T, G, and C• Parentheses: parallel activities

Data Source: Weekly Progress Reports

Page 61: COTS-Based Systems

61

2. Don’t Start With Requirements

Definition of Requirement: Webster– Something required: claimed or asked for by right and authority

Semantics ingrained into customer and user cultures

Pitfalls: unmanageable expectations, severe COTS constraints

Process examples: Waterfall variants

Counterexample: large TRW-Government project

Hazard: Many corporate, Government policies enforce Waterfall

Page 62: COTS-Based Systems

62

Waterfall Variant: UMD CBA Process

Page 63: COTS-Based Systems

63

Waterfall Processes Over-constrain COTS Options

$100M

$50M

Arch. A:Custommany cache processors

Arch. B:ModifiedClient-Server

1 2 3 4 5

Response Time (sec)

Original Spec After Prototyping

Page 64: COTS-Based Systems

64

Hazard Avoidance: Waterfall Policies

Interpret as “risk-driven waterfall”

Defer Requirement Review until risks are resolved or covered by risk management plans

Concurrently engineer requirements, architecture, plans, COTS

Use anchor point milestone definitions– With Pass/Fail Feasibility Rationales

Page 65: COTS-Based Systems

65

3. Avoid Premature Commitments- But have and use a plan

Pitfalls: study-wait-study cycle; lack of progress metrics Process examples: convergent spheres of concern Counterexample: software environment S-W-S cycle Hazard: Avoiding premature commitments by avoiding

commitments Hazard avoidance Use a tailorable planning framework Use goal-oriented adaptive control process to monitor

and adjust plans

Page 66: COTS-Based Systems

66

Converging Spheres: SEI EPIC Process

Stakeholder needs/ Business Processes

Programmatics/Risks

Marketplace Architecture/Design

Page 67: COTS-Based Systems

67

4. Buy Information Early to Reduce Risk and Rework

Pitfall: COTS interoperability, scalability, culture match

Hazard: pressure to be decisive, commit early

Hazard avoidance: Evaluate COTS risk mitigation options; use CBA-specialized spiral process framework

Page 68: COTS-Based Systems

68

5. Prepare for COTS Changes

New releases every 10 months (GSAW 2000-03)

Releases unsupported after 3 newer releases

Releases likely to diverge– Vendor need product differentiation

Change interactions scale as high as square of # COTS products

Large outsourced applications may have unsupported COTS– Example: 3-year project; 120 COTS; 55 unsupported (46%)

Page 69: COTS-Based Systems

69

Coping with COTS Changes

Win-win relationships with COTS vendors– Pro-active market watch

Reduce number of COTS products and vendors

Reduce inter-COTS coupling– Wrappers, standards, mediators

Develop, evolve COTS refresh strategy

Contract for delivery of refreshed COTS