COCOMO-III-Workshop-v4 - Center for Software Engineering

advertisement
University of Southern California
Center for Systems and Software Engineering
COCOMO III Workshop
USC CSSE Annual Research Review 2014
Brad Clark, Moderator
5/1/2014
© USC-CSSE
1
University of Southern California
Center for Systems and Software Engineering
Observations
• COCOMO II challenged by different development
strategies
• 2000 calibration dataset is over 14 years old
• Productivity appears to be increasing over time
• Levels of reported process maturity increasing in
Software Engineering data
• Productivity appears to decline with multiple
incremental development
5/1/2014
© USC-CSSE
2
University of Southern California
Center for Systems and Software Engineering
COCOMO II Challenges
1995: one-size-fits-all model for 21st century software
1999: poor fit for schedule-optimized projects;
CORADMO
2000: poor fit for COTS-intensive projects: COCOTS
2003: need model for product line investment: COPLIMO
2003: poor fit for agile projects: Agile COCOMO II
(partial)
2012: poor fit for incremental development: COINCOMO
5/1/2014
© USC-CSSE
3
University of Southern California
Center for Systems and Software Engineering
COCOMO II Data by 5-Year Periods
5/1/2014
© USC-CSSE
4
University of Southern California
Center for Systems and Software Engineering
COCOMO II Data: Productivity Trends
5/1/2014
© USC-CSSE
5
University of Southern California
Center for Systems and Software Engineering
COCOMO II Data: Process Maturity Trends
5/1/2014
© USC-CSSE
6
University of Southern California
Center for Systems and Software Engineering
Trends Confounded by Missing Variables
Incremental Development Productivity Decline
QMP
12
10
8
Productivity
6
Linear (Productivity)
Log. (Productivity)
4
y = -0.7989x + 8.5493
R² = 0.3693
2
y = -2.708ln(x) + 8.7233
R² = 0.5326
0
1
5/1/2014
2
3
4
5
© USC-CSSE
6
7
University of Southern California
Center for Systems and Software Engineering
Workshop Objectives
• Discuss how do we get from COCOMO II to
COCOMO III
– Explore models for unexplained existing sources or drop
– Try added variables for mostly-general fit to existing data
– Obtain more data to validate results
5/1/2014
© USC-CSSE
8
University of Southern California
Center for Systems and Software Engineering
Workshop Topics
1. Consider incorporating Software Application Domains
2. Discuss additional model forms
3. Review current set of cost drivers
5/1/2014
© USC-CSSE
9
University of Southern California
Center for Systems and Software Engineering
Software Application Domains
• Account for different productivities in data
• Pre-set cost drivers
• Select model form
• Select effort / schedule distributions
• CAUTION:
– More domains requires More data
– Calibration takes place within the domain
5/1/2014
© USC-CSSE
10
University of Southern California
Center for Systems and Software Engineering
SEER-SEM Application Domain
Artificial Intelligence
Data Mining
Financial Transactions
MIS
Relational Database
Testing Software
Business Analysis Tool
Data Warehousing
Graphical User Interface
Multimedia
Report Generation
Training / CBT / CAl
CAD - Computer Aided
Design
Device Driver
Graphics
Object Oriented
Database
Robotics
Transaction Processing
Command/Control
Diagnostics
Internet Server Applet
Office Automation
Simulation
Flight Systems
Communications
Embedded
Electronics/Appliance
Mathematical & Complex
OS/Executive
Algorithms
Software Development
Tools
Mission Planning &
Analysis
Database
Expert System
Message Switching
System & Device Utilities
Radar
Process Control
Common Domain Titles
Signal Processing
Business Domain
• Pros
• Most popular taxonomy within DoD (developers, cost agencies, support KTR)
• Common titles and comprehensive definitions
• Compatible with NRO/ STSC/SMC/AFCAA Application Domains/Types
• Cons
• List is consider too large by many practitioners (37 domains)
• 12 of 37 considered Business type
• Missing 2 popular DoD domains: Payload, Weapons Delivery and Control
University of Southern California
Center for Systems and Software Engineering
SLIM Application Types
Microcode & Firmware
Command & Control
Real Time
Telecommunications
Avionic
Scientific
System Software
Process Control
Business
Common Domain Titles
Business Domain
• Pros
• Very popular within Army (ODASA-CE, Army-wide license) and Commercial
• Definitions provided
• Cons
• Missing 4 popular DoD domains: Training, Test, Tools, and Simulation
• Some terms are unique (e.g. Microcode vice Signal Processing)
• Some terms overlap (e.g. Real Time with Avionics)
University of Southern California
Center for Systems and Software Engineering
ISBSG Application Types
Catalogue or register of
things or events
Customer billing
Customer relationship
management
Document management
Job, case, incident,
project management
Logistic or supply
planning & control
Management Information
System
Management or
performance reporting
Stock control & order
processing
Trading
Transaction/production
system
Workflow support &
management
Electronic Data
Interchange
Office Information System Automatic Data Logging
Executive Information
System
Online analysis and
reporting
Financial transaction
process & accounting
Command & control
Reservation system (e.g.
system (e.g. military, air
airline, hotel)
traffic, police)
Embedded software for
simple device control
Complex process control
(e.g. oil refinery, steel
Artificial Intelligence
manufacture)
Geographic or spatial
Fault Tolerance
information system
Image, video or sound
Robot control
processing
Telecom & network
Mathematical modelling
management
Transportation control
Scientific/ engineering
(includes avionics,
application
signalling)
Software development
tool
Statistical analysis
3D modelling or animation
Image, video or sound
processing
Data or database
management
Device or interface driver
Graphics & publishing
tools or system
Operating system or
software utility
Personal productivity (e.g.
word processor,
spreadsheet)
Geographic or spatial
information system
Common Domain Titles
Business Domain
• Pros
• Most popular taxonomy world wide; used on more than 6,000 projects
• Cons
• List is consider too large (41) and most domains are business (21 of 41)
• Missing definitions on 33 out of 42 domains
• Missing 5 popular DoD domains:
•
Weapons Delivery and Control , Payload, Training, OS/Executive, Radar
University of Southern California
Center for Systems and Software Engineering
AFCAA Productivity Types (PT)
(used in the online Software Cost Metrics Manual)
Real-Time Embedded
Telecommunications
Test Software
Sensor Control and Signal Processing
Mission Processing
System Software
Mission Planning
Training
Vehicle Payload
Scientific Software
Process Control
Vehicle Control
Software Tools
Intelligence and Information Systems
Common Domain Titles
Business Domain
• Pros
• 24 AFCAA Application Domains 14 Complexity Zones (Productivity Types)
• Productivity Types determined via a Delphi-Method:
•
•
2-Day Workshop hosted at the Massachusetts Institute of Technology , 24th International
Forum on COCOMO and Systems/Software Cost Modeling, 4-5 Nov 2009
21 Participants -- academia, SEI-CMU, Lockheed, Northrop, Rockwell…
• Same AFCAA Application Domain Definitions
• PTs maps to SEER-SEM, SLIM, COCOMO II, and ISBSG Application
Domains
• Cons
• 3 DoD domains are hidden:
1. OS/Executive captured within Vehicle Control
2. Command and Control captured within Mission Processing
3. Simulation captured within Scientific Software
University of Southern California
Center for Systems and Software Engineering
Super-Domains and AFCAA Productivity Types
Productivity Types
Super Domain
1 Sensor Control and Signal Processing
Real-Time
2 Vehicle Control
(RT)
3 Vehicle Payload
4 Real Time Embedded-Other
5 Mission Processing
6 Executive
Engineering
(ENG)
7 Automation and Process Control
8 Scientific Systems
9 Telecommunications
10 Planning Systems
Mission Support
(MS)
11 Training
12 Software Tools
13 Test Software
Automated Information System
14 Intelligence and Information Systems
Software Services
(AIS)
March 2014
Software Applications
Software Characterization
15
University of Southern California
Center for Systems and Software Engineering
Domain Comparisons
SEER (37)
AFCAA Domains (24)
AFCAA PT (14)
COCOMO II (12)
SLIM (9)
Signal Processing
•
•
Signal Processing
Sonar
Sensor Control and Signal
Processing
Signal Processing
Microcode & Firmware
•
•
Weapons Delivery and Ctrl
Payload
Vehicle Payload
ISBSG (42)
Transportation control (includes
avionics, signalling)
Flight Systems
Avionic
Infrastructure
Vehicle Control
OS/Executive
Radar
•
Robotics
•
Embedded
Electronics/Appliance
•
GUI (cockpit displays)
•
Device Driver
•
System & Device Utilities
Radars
Real-Time Embedded
•
•
Electronic Warfare
Controls & Display
•
•
Platform
Information Assurance
System
•
•
Operating System
Utilities
Process Control
Process Control
Process Control
Process Control
Command and Control
•
•
Mission Processing
Command and Control
Mission Planning & Analysis
•
Communications
•
Message Switching
Training , CBT, CAl
Command and Control
Mission Management
Mission Planning
Communications
•
•
Robot control
Embedded software for simple
device control
System
•
•
Device or interface driver
Operating system or software
utility
Process Control
•
Complex process control
Command and Control
•
•
Command & control system
Automatic Data Logging
•
Telecom & network
management
Image, video or sound
processing
Real Time
Mission Planning
Telecommunications
Training
Training
Tool and Tool Systems
Software Tools
Communications
Telecommunication
•
•
•
Software Development Tools
•
Business Analysis Tool, CAD
•
Diagnostics
•
•
Testing Software
•
Software Tools
•
Maintenance and
Diagnostics
Test & Evaluation
Test Software
•
•
Diagnostics
Testing
Graphics & publishing tools or
system
Software development tool
Fault Tolerance
University of Southern California
Center for Systems and Software Engineering
Workshop Topics
1. Consider incorporating Software Application Domains
2. Discuss additional model forms
3. Review current set of cost drivers
5/1/2014
© USC-CSSE
17
University of Southern California
Center for Systems and Software Engineering
Additional Model Forms
• Keep COCOMO II models?
– Application Composition
– Early-Design
– Post-Architecture
• Should COCOMO III be backwards compatibility to
COCOMO 81 & COOCMO II?
• New parameters, e.g.,
– to indicate the type of processes that are planned for the
development e.g.: plan-driven, rapid development, architected
agile, formal methods, COTS integration.
5/1/2014
© USC-CSSE
18
University of Southern California
Center for Systems and Software Engineering
Three COCOMO II Models
• Application Composition Model
– Involves prototyping to resolve risks
– Uses application points to bound size of the job
• Early Design Model
– Exploration of alternative architectures
– Uses function points and set of 7 cost drivers
• Post Architecture Model
– Actual development & maintenance of software
– Uses variety of size measures, 17 cost drivers and 5 scale
factors to estimate resources
2/288/00
Copyright 2000, Reifer Consultants
19
University of Southern California
Center for Systems and Software Engineering
Effort Model Forms
Log-Linear Model
PM = A* Size * Õ EM
B
Non-Linear Model 1
PM = C + A* SizeB * Õ EM
Non-Linear Model 2
PM = C + Size B * Õ EM
Where
PM
Size
A
B
C
EM
=
=
=
=
=
=
Software development effort (in Person-months)
Size in Thousand Equivalent Source Lines of Code (KESLOC)
Calibrated Productivity constant (ESLOC/PM)
B-exponent
Fixed level of effort support activities (in Person-Months)
Effort Multipliers
University of Southern California
Center for Systems and Software Engineering
Schedule Model Forms
TDEV = A* PM F *(%Comp)
COCOMO II Model
Where:
TDEV
Size
FTE
PM
A
B
C
=
=
=
=
=
=
=
F
=
TDEV  A * SizeB * FTE C
Non-Linear Model
Time (in months) to develop the Software Product
Software Size in Equivalent Source Lines of Code (ESLOC)
Full Time Equivalent (FTE) Staffing Levels
Total Estimated Effort in Person-Months (PM)
is a duration constant
Scaling factor to account for changing productivity as size increases,
C-Scaling Factor accounts for the non-linear relationship between
increasing staffing levels and shortening development time, TDEV
Scaling factor for effort changes
University of Southern California
Center for Systems and Software Engineering
Workshop Topics
1. Consider incorporating Software Application Domains
2. Discuss additional model forms
3. Review current set of cost drivers
5/1/2014
© USC-CSSE
22
University of Southern California
Center for Systems and Software Engineering
COCOMO II Cost Driver Review
• New cost driver values based on post-2000 data points
• Review cost drivers for
– Relevance?
– Additions / deletions?
• Which cost drivers need a better rating selection
system that reduces rating subjectivity
5/1/2014
© USC-CSSE
23
University of Southern California
Center for Systems and Software Engineering
• Vu’s cost driver analysis
5/1/2014
© USC-CSSE
24
Download