Domain-Based Phase Effort Distribution Analysis

advertisement
University of Southern California
Center for Systems and Software Engineering
Domain-Based Phase Effort Distribution
Analysis
Annual Research Review
Thomas Tan
March 2012
University of Southern California
Center for Systems and Software Engineering
Table of Contents
•
•
•
•
Introduction
Research Approach
Current Results
Summary and Next Steps
2
University of Southern California
Center for Systems and Software Engineering
Introduction
• This research is aimed at finding alternative phase effort
distribution guideline for the current COCOMO II model.
– Current COCOMO II model use an one-size-fit-all guideline which may lead to
unrealistic schedule.
• Studying many mainstream cost estimation models, it seems
domain information can be a good candidate:
– Available early.
– Easier to tell by all stakeholders.
• So, if we are to use domain information to define an alternative
guideline, then, we must prove the following:
– Projects from different domains have different phase effort
distribution patterns.
– Projects from different domains does not always follow the given
COCOMO II model’s effort distribution guideline.
3
University of Southern California
Center for Systems and Software Engineering
Table of Contents
•
•
•
•
Introduction
Research Approach
Current Results
Summary and Next Steps
4
University of Southern California
Center for Systems and Software Engineering
Research Approach
•
Establish domain breakdown definitions.
– Two possible breakdowns:
– Conventional Application Domains using application types, such as communication,
simulation, sensor control and process, etc.
– Innovative way using productivity rates to group traditional domains, resulting
Productivity Types.
– The following slide will provide mapping between the two breakdowns.
•
•
Select and normalize subject data set.
Analyze effort distribution patterns and prove that differences between
domains exist.
– Calculate effort distribution percentages and find distribution patterns.
– Use ANOVA and T-Test for proof.
– Study personnel ratings and system size to observe additional effects.
– This analysis is performed on data set that is categorized by either domain
breakdowns, namely, Application Domains and Productivity Types.
5
University of Southern California
Center for Systems and Software Engineering
Domain Breakdowns
Productivity Types
Sensor Control and Signal Processing (SCP)
Vehicle Control (VC)
Real Time Embedded (RTE)
Vehicle Payload (VP)
Mission Processing (MP)
Command & Control (C&C)
System Software (SYS)
Telecommunications (TEL)
Process Control (PC)
Scientific Systems (SCI)
Training (TRN)
Test Software (TST)
Software Tools (TUL)
Business Systems (BIS)
Application Domains
Sensor Control and Processing
Executive
Spacecraft Bus
Communication
Controls and Displays
Mission Planning
Weapons Delivery and Control
Spacecraft Payload
Mission Management
Mission Planning
Command & Control
Infrastructure or Middleware
Information Assurance
Maintenance & Diagnostics
Communication
Infrastructure or Middleware
Process Control
Scientific Systems
Simulation and Modeling
Training
Test and Evaluation
Tools and Tool Systems
Business
Internet
Mapping between Application Domains and Productivity Types
6
University of Southern California
Center for Systems and Software Engineering
Select and Normalize Data
• Project data (about 530 records) is extracted from the standard
Software Research Data Report (SRDR).
• Normalization includes:
– Evaluate and eliminate records with missing important fields or weird
patterns.
– Backfill those with missing limited phase effort data.
– Calculate system size, personnel ratings, and other necessary
parameters.
• Data processing results:
– After evaluation and elimination, we have 345 total records.
– Within these 345 total records:
• 135 are “perfect” records (all effort fields are filled with original
values).
• 257 are “missing 2” records which we backfilled 2 of the 5 phase
effort data.
7
University of Southern California
Center for Systems and Software Engineering
Calculate Average Percentages
Calculate percentages
for each records
Calculate average percentages
for each domain
8
University of Southern California
Center for Systems and Software Engineering
ANOVA Test
• Test 1: show if there is difference between application domains in
term of effort distribution percentages.
• Test 1: Use simple ANOVA to test the following:
– H0: effort distributions are same.
– Ha: effort distributions are not all the same between domains.
• Test input is the list of effort percentages grouped by application
domains.
• Test uses 90% confidence level to determine the significance of
the results
9
University of Southern California
Center for Systems and Software Engineering
T-Test
•
•
Test 2: show if there is difference between application domains averages
and the COCOMO II effort distribution averages.
Test 2: Use independent one-sample t-test to test the following:
– H0: domain average is the same as COCOMO average.
– Ha: domain average is not the same as COCOMO average.
– Tests run for every domain on every activity group.
•
Use the following formula to calculate T value in order to determine the
result of the t-test:
– where s is the standard deviation, n is the sample size, and µ0 is the COCOMO
average we used to compare against.
•
Also uses 90% confidence level to determine the significance of the
results.
10
University of Southern California
Center for Systems and Software Engineering
Study on Personnel Ratings and Size
• Goal: to find if changes in personnel ratings and/or size will
generate changes in phase effort distribution patterns.
• Procedure:
– Each record is supplied with personnel ratings and size.
– Note: personnel rating is calculated as the following:
– Simple plot of these values vs. effort percentages for each activity
group for each domain/productivity type.
– Observe trends from the plot, using statistical analysis if necessary.
• Results of the study may indicate that we can use more precise
distribution pattern when size or personnel rating is given.
11
University of Southern California
Center for Systems and Software Engineering
Table of Contents
•
•
•
•
Introduction
Research Approach
Current Results
Summary and Next Steps
12
University of Southern California
Center for Systems and Software Engineering
Data Processing Results
•
Records by application domains:
Research Data Records Count
Application Domains
Missing 2
Missing 1
Business Systems
Command & Control
Communications
Controls & Displays
Executive
Information Assurance
Infrastructure or Middleware
Maintenance & Diagnostics
Mission Management
Mission Planning
Process Control
Scientific Systems
Sensor Control and Processing
Simulation & Modeling
Spacecraft BUS
Spacecraft Payload
Test & Evaluation
Tool & Tool Systems
Training
Weapons Delivery and Control
Total
Perfect Set
6
31
51
10
3
1
8
3
28
14
4
3
27
19
9
2
2
7
1
28
6
25
47
10
3
1
3
1
26
13
4
3
22
18
9
2
1
7
1
19
5
15
32
5
3
1
1
1
19
10
0
3
10
11
5
0
1
2
0
10
257
221
135
13
University of Southern California
Center for Systems and Software Engineering
Results – Application Domains
Average Effort Percentages – Perfect Set
Domain
Requirement Arch&Design Code&Unit Test Integration & QT
Business
Biz
20.98%
22.55%
24.96%
31.51%
Command & Control
CC
21.04%
22.56%
33.73%
22.66%
Communications
Comm
14.95%
30.88%
28.54%
25.62%
Control & Display
CD
14.72%
34.80%
24.39%
26.09%
Mission Management
MM
15.40%
17.78%
28.63%
38.20%
Mission Planning
MP
17.63%
12.45%
44.32%
25.60%
Sensors Control and Processing Sen
7.78%
45.74%
22.29%
24.19%
Simulation
Sim
10.71%
39.11%
30.80%
19.38%
Spacecraft Bus
SpBus
33.04%
20.66%
30.00%
16.30%
Weapons Delivery and Control
Weapons
11.50%
17.39%
29.82%
41.29%
Average Effort Percentages Distribution
50.00%
45.00%
Biz
Percentages
40.00%
CC
35.00%
Comm
30.00%
CD
25.00%
MM
20.00%
MP
Sen
15.00%
Sim
10.00%
SpBus
5.00%
Weapons
0.00%
Requirement
Arch&Design
Code&Unit Test
Integration & QT
University of Southern California
Center for Systems and Software Engineering
Results – Application Domains
Average Effort Percentages – Missing 2
Domain
Requirement Arch&Design Code&Unit Test Integration & QT
Business
Biz
18.51%
23.64%
27.85%
30.00%
Command & Control
CC
19.41%
23.70%
34.59%
22.31%
Communications
Comm
14.97%
27.85%
27.89%
29.28%
Control & Display
CD
14.67%
26.66%
27.72%
30.95%
Mission Management
MM
16.59%
17.60%
25.74%
40.07%
Mission Planning
MP
14.41%
16.42%
43.47%
25.69%
Sensors Control and Processing Sen
7.75%
31.84%
25.32%
35.09%
Simulation
Sim
13.73%
29.09%
30.33%
26.85%
Spacecraft Bus
SpBus
36.38%
17.23%
27.90%
18.50%
Weapons Delivery and Control
Weapons
11.73%
17.79%
28.97%
41.51%
Average Effort Percentages Distribution
50.00%
45.00%
Biz
Percentages
40.00%
CC
35.00%
Comm
30.00%
CD
25.00%
MM
20.00%
MP
Sen
15.00%
Sim
10.00%
SpBus
5.00%
Weapons
0.00%
Requirement
Arch&Design
Code&Unit Test
Integration & QT
University of Southern California
Center for Systems and Software Engineering
Application Domains ANOVA Results
Activity Group
“Missing 2” Data Set
“Perfect” Data Set
F
P-Value
Results
F
P-Value
Results
Plan & Requirements
2.9461
0.0035
Reject
7.2908
0.0000
Reject
Architecture & Design
4.5656
0.0000
Reject
3.5347
0.0004
Reject
Code & Unit Testing
2.1018
0.0350
Reject
3.3470
0.0007
Reject
Integration and
Qualification Testing
3.7787
0.0003
Reject
7.2467
0.0000
Reject
ANOVA Test: Reject means that for the given activity group (development
phase), there is significant differences between the domains analyzed.
16
University of Southern California
Center for Systems and Software Engineering
Application Domains T-Test Results
Activity Group
COCOMO
Averages
“Perfect” Data Set
“Missing 2” Data Set
6.5%
All domains reject except Control
and Display, Sensor Control, and
Simulation domains.
All domains reject except Sensor
Control.
39.3%
All domains reject except Control
and Display, Sensor Control, and
Simulation domains.
All domains reject except Control
and Display.
30.8%
Only Mission Planning rejects.
Communication, Mission
Management, Mission Planning,
and Sensor Control reject, other
six domains do not.
23.4%
Only Mission Management,
Spacecraft Bus, and Weapon
Delivery domain reject.
Communications, Mission
Management, Sensor Control,
Spacecraft Bus, and Weapons
Delivery domains reject; other five
domains do not.
Plan & Requirements
Architecture & Design
Code & Unit Testing
Integration and
Qualification Testing
T-Test: Reject means that the given domain has significantly different average
percentages from the COCOMO II model.
NOTE: Because the sum of all COCOMO II averages are 107%, we have divided them
by 1.07 to make sure all measurements are at the same level for comparison purpose.
17
University of Southern California
Center for Systems and Software Engineering
Data Processing Results
•
Records by productivity types:
Research Data Records Count
Productivity Types
Missing 2
Missing 1
C&C
ISM
MP
PC
PLN
RTE
SCI
SCP
SYS
TEL
TRN
TST
TUL
VC
VP
Total
Perfect Set
8
14
28
7
10
57
22
35
27
4
4
2
4
26
9
3
14
23
6
9
49
21
28
23
4
4
2
3
25
7
0
6
14
3
7
33
16
12
15
4
3
1
2
15
4
257
221
135
18
University of Southern California
Center for Systems and Software Engineering
Results – Productivity Types
Average Effort Percentages – Perfect Set
Productivity Type Requirement Arch&Design Code&Unit Test Integration & QT
ISM
11.56%
27.82%
35.63%
24.99%
MP
20.56%
15.75%
28.89%
34.80%
PLN
16.22%
12.27%
50.78%
20.73%
RTE
15.47%
26.65%
26.71%
31.17%
SCI
7.38%
39.90%
32.05%
20.67%
SCP
10.80%
45.20%
20.34%
23.66%
SYS
17.61%
21.10%
28.75%
32.54%
VC
18.47%
23.60%
31.32%
26.61%
Average Effort Percentages Distribution
60.00%
50.00%
ISM
MP
Percentages
40.00%
PLN
RTE
30.00%
SCI
SCP
20.00%
SYS
VC
10.00%
0.00%
Requirement
Arch&Design
Code&Unit Test
Integration & QT
University of Southern California
Center for Systems and Software Engineering
Results – Productivity Types
Average Effort Percentages – Missing 2
Productivity Type Requirement Arch&Design Code&Unit Test Integration & QT
ISM
12.34%
25.32%
32.81%
29.53%
MP
22.43%
15.06%
26.11%
36.40%
PLN
14.99%
14.15%
49.23%
21.62%
RTE
15.43%
24.02%
28.84%
31.70%
SCI
7.40%
34.98%
30.47%
27.15%
SCP
12.50%
29.07%
24.11%
34.32%
SYS
15.74%
20.87%
32.61%
30.79%
VC
18.02%
21.36%
30.02%
30.59%
Average Effort Percentages Distribution
60.00%
50.00%
ISM
MP
Percentages
40.00%
PLN
RTE
30.00%
SCI
SCP
20.00%
SYS
VC
10.00%
0.00%
Requirement
Arch&Design
Code&Unit Test
Integration & QT
University of Southern California
Center for Systems and Software Engineering
Productivity Types ANOVA Results
Activity Group
“Missing 2” Data Set
“Perfect” Data Set
F
P-Value
Results
F
P-Value
Results
Plan & Requirements
1.9431
0.0694
Reject
4.0141
0.0003
Reject
Architecture & Design
4.9696
0.0000
Reject
4.7831
0.0000
Reject
Code & Unit Testing
3.8851
0.0008
Reject
5.2205
0.0000
Reject
Integration and
Qualification Testing
1.9848
0.0634
Reject
1.8849
0.0733
Reject
ANOVA Test: Reject means that for the given activity group (development
phase), there is significant differences between the productivity types analyzed.
21
University of Southern California
Center for Systems and Software Engineering
Productivity Types T-Test Results
Activity Group
Plan & Requirements
Architecture & Design
Code & Unit Testing
Integration and
Qualification Testing
COCOMO
Averages
“Perfect” Data Set
“Missing 2” Data Set
6.5%
All types reject except ISM, SCI,
and SCP.
All types reject except SCI.
39.3%
All types reject except SCI and
SCP.
All types reject except SCI.
30.8%
Only PLN, RTE, and SCP reject.
Only MP, PLN, and SCP reject.
23.4%
Only MP, RTE, and SYS reject.
All types reject except PLN and
SCI.
T-Test: Reject means that the given domain has significantly different average
percentages from the COCOMO II model.
NOTE: Because the sum of all COCOMO II averages are 107%, we have divided them
by 1.07 to make sure all measurements are at the same level for comparison purpose.
22
University of Southern California
Center for Systems and Software Engineering
Results on Personnel Ratings and Size
• For both Application Domains and Productivity Types:
– Personnel ratings and system size are ineffectively to indicate any
changes of effort distribution patterns in most cases.
– Few cases observed distinguishable trends but later proved
statistically insignificant.
– Grouping sizes is an alternative for analyzing size, however, it is
extremely difficult to apply on all domains or productivity types:
– No appropriate way to divide group sizes to fit all domains or productivity
types.
• Conclusion:
– Personnel ratings can be dropped from the effort distribution pattern
analysis.
– Can spend a little more time playing with size groups, but initial
results favors dropping size as well.
23
University of Southern California
Center for Systems and Software Engineering
Table of Contents
•
•
•
•
Introduction
Research Approach
Current Results
Summary and Next Steps
24
University of Southern California
Center for Systems and Software Engineering
Summary and Next Step
• Established research goal and plan.
• Defined domain breakdowns.
• Normalized the subject data collection: prepared all the needed
data sets for analysis.
• Finished the analyzing effort distribution patterns for both
Application Domains and Productivity Types:
•
– Both breakdowns show proven differences in effort distribution
patterns.
– Both show proven differences against COCOMO II model’s average
percentages.
– None of them show significant trends adding in personnel ratings or
size.
The next major thing is to determine which breakdown is better to provide
an alternative effort distribution guideline for the COCOMO II model.
25
University of Southern California
Center for Systems and Software Engineering
For more information, contact:
Thomas Tan
thomast@usc.edu
626-617-1128
Questions?
26
University of Southern California
Center for Systems and Software Engineering
References (1/2)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Blom, G. Statistical estimates and transformed beta variables. John Wiley and Sons. New York. 1958.
Boehm, B., et al. Software Cost Estimation with COCOMO II. Prentice Hall, NY. 2000.
Boehm, B. Software Engineering Economics. Prentice Hall, New Jersey. 1981.
Borysowich, C. “Observations from a Tech Architect: Enterprise Implementation Issues & Solutions – Effort
Distribution Across the Software Lifecycle”. Enterprise Architecture and EAI Blog.
http://it.toolbox.com/blogs/enterprise-solutions/effort-distribution-across-the-software-lifecycle-6304. October
2005.
Defense Cost and Resource Center. “The DoD Software Resource Data Report – An Update.” Practical
Software Measurement (PSM) Users’ Group Conference Proceedings. July 2005.
Department of Defense Handbook. “Work Breakdown Structure for Defense Material Items: MIL-HDBK-881A.”
July 30, 2005.
Digital Equipment. VAX PWS Software Source Book. Digital Equipment Corp., Maynard, Mass., 1991.
Heijstek, W., Chaudron, M.R.V. “Evaluating RUP Software Development Process Through Visualization of
Effort Distribution”. EUROMICRO Conference Software Engineering and Advanced Application Proceedings.
2008. Page 266.
IBM Corporation. Industry Applications and Abstracts. IBM. White Plains, N.Y., 1988.
Kruchten, P. The Rational Unified Process: An Introduction. Addison-Wesley Longman Publishing Co., Inc.
Boston. 2003.
Kultur, Y., Kocaguneli, E., Bener, A.B. “Domain Specific Phase By Phase Effort Estimation in Software
Projects”. International Symposium on Computer and Information Sciences. September 2009. Page 498.
McConnell, S. Software Estimation Demystifying the Black Art, Microsoft Press, 2006, page 62.
Milicic, D., Wholin, C. “Distribution patterns of Effort Estimation”. EUROMICRO Conference Proceedings.
September 2004. Page 422.
Norden, P.V. “Curve Fitting for a Model of Applied Research and Development Scheduling”. IBM J. Research
and Development. 1958. Vol. 3, No. 2, Page 232-248.
North American Industry Classification System, http://www.census.gov/eos/www/naics/, 2007.
O'Connor, J. Robertson, E. "Student's t-test", MacTutor History of Mathematics archive, University of St
Andrews, http://www-history.mcs.st-andrews.ac.uk/Biographies/Gosset.html.
27
University of Southern California
Center for Systems and Software Engineering
References (2/2)
•
•
•
•
•
•
•
•
•
•
•
Pearson, K. "On the criterion that a given system of deviations from the probable in the case of a correlated
system of variables is such that it can be reasonably supposed to have arisen from random sampling".
Philosophical Magazine, Series 5 50 (302), 1901. Page 157–175.
Putnam, L.H. “A Macro-Estimating Methodology for Software Development”. IEEE COMPCON 76
Proceedings. September 1976. Page 138-143.
Putnam, L. and Myers. W. Measures for Excellence. Yourdon Press Computing Series. 1992.
Reifer Consultants. Software Productivity and Quality Survey Report. El Segundo, Calif., 1990.
SEER-SEM. http://www.galorath.com.
Shapiro, S. S.; Wilk, M. B. “An analysis of variance test for normality (complete samples).” Biometrika 52 (3-4),
1965: page 591–611.
Stephens, M. A. "EDF Statistics for Goodness of Fit and Some Comparisons". Journal of the American
Statistical Association. Vol. 69, No. 347 (Sep., 1974). Page 730-737.
Tan, T. Clark, B. “Technical Report of a New Taxonomy for Software Application Domains and Operating
Environments.” USC CSSE Technical Reports. 2011.
Upton, G., Cook, I. Understanding Statistics. Oxford University Press. Page 55. 1996.
US Air Force. Software Develoopment Cost Estimating Handbook, Software Technology Support Center, Vol
1, Sep 2008.
Yang, Y., et al. “Phase Distribution of Software Development Effort”. Empirical Software Engineering and
Measurement. October 2008. Page 61.
28
Download