normalizing the isbgs software benchmark€¦ · normalizing the isbgs software benchmark lee...
TRANSCRIPT
© Galorath Incorporated 2006 SEER® is a registered trademark of Galorath Incorporated.
Normalizing the ISBGS Normalizing the ISBGS Software BenchmarkSoftware Benchmark
Lee Fischman & Karen McRitchieGalorath Incorporated100 North Sepulveda Blvd, Suite 1801El Segundo, CA 90245 USA
2© Galorath Incorporated 2006
OverviewOverview
ISBSG Background
How Galorath uses the ISBSG data set
Data mapping
Normalization methods
Error checking
Results
3© Galorath Incorporated 2006
ISBSG Data Set BackgroundISBSG Data Set BackgroundThe International Software Benchmarking Standards Group collects data for software development and enhancement projectsThey more recently added a repository for maintenance projectsISBSG offers data sets for purchase which are based on actual software projectsThe subject of this study was ISBSG release 9 which contains 3023 observations
see www.isbsg.org for more information
4© Galorath Incorporated 2006
GalorathGalorath’’ss Use of ISBSGUse of ISBSGGalorath Incorporated offers the a suite of software project estimation, planning and control toolsThe SEER-SEM is the core estimation tool of this suite and provides knowledge based estimation capabilityThe estimation tool includes knowledge bases which capture parameter settings that target productivity rates for different types of projects and scenariosThe knowledge bases are developed by Galorath based on analysis of various data sets,
ISBSG is one of them
Raw Data BenchmarkNormalizeUpdate
Knowledge Bases
ISBSG
Proprietary
Other
Estimation tool
5© Galorath Incorporated 2006
How Data Is Incorporated Into How Data Is Incorporated Into ““Knowledge BasesKnowledge Bases””
The estimating tool does not ship with raw dataKnowledge bases include parameter settings based on analysis of historical dataHow is this analysis done?
For each observation, model the project data in the estimating toolUse the estimating tool’s calibration mode to get an actual vs. estimateGroup & aggregate observations into categories
Look at estimate ratios, “technology ratings” and productivity ratesIdentify trends
Absolute productivity for broad groupsRelative productivity, from category to category
Make adjustmentsRepeat & retest
6© Galorath Incorporated 2006
For Each ObservationFor Each Observation……
Modeling a project in the estimation tool requires certain information
Needless to say, the ISBSG data set needs to have descriptive and quantitative information mapped to the estimation tool inputsA data mapping process has been developed and tailored to the ISBSG data set
Knowledge bases (platform, application, development method, standards)
Effort & Schedule
Size
Other estimation tool inputs
7© Galorath Incorporated 2006
NormalizationNormalizationKnowledge bases
Mapping ISBSG qualitative descriptors into estimation tool attribute names
platform, application, method, standardRepeatable process developed
Size normalizationOur analysis utilizes unadjusted function pointsISBSG provides a well defined measure of size, requiring no special normalization or analysis
Effort normalizationThe estimation tool assumes effort for certain phasesEffort needs to be normalized so that all projects are comparable
Focus of our work
Acceptable as-is
Mapping ISBGS to tool categories
8© Galorath Incorporated 2006
Why our own normalization?Why our own normalization?
Although ISBSG provides normalized work effort, we ourselves normalized to achieve the following:
Full transparency into normalization method
Ability to remove implementation phase
Removal of resource level 4
9© Galorath Incorporated 2006
How Did ISBGS Do Normalization?How Did ISBGS Do Normalization?
Effort was added or removed depending on whether these phases/resources were recorded in each record.
Plan Spec Build Test ImplDevelopers 10 19 46 18 7
Developers+ Support
7 14 55 13 11
Developers + Support + Users
8 25 33 23 11
George Ansell & Chris Lokan, Normalising Effort in the ISBSG Repository, Australian Conference on Software Measurement (2002)
10© Galorath Incorporated 2006
GalorathGalorath’’ss Normalization StepsNormalization Steps
Phase normalization
Fill in potentially missing phases in “Project Activity Scope” fieldEstimate potentially omitted work effortChoose best normalization method given available infoRemove effort due to Implementation
Resource normalization
Remove effort due to resource level 4
11© Galorath Incorporated 2006
Phase Normalization Phase Normalization Decision ProcessDecision Process
12© Galorath Incorporated 2006
Phase Reporting In ISBSG v9Phase Reporting In ISBSG v9
Project Activity Scope Effort Plan Effort Specify Effort Design Effort Build Effort Test Effort Implement
Planning;Specification;Build;Test;Implement; 100 400 1000 200 150Planning;Specification;Build;Test; 281 359 156
Specification;Build;Test;Implement;Planning;Specification;Build;Test; 62 17172 136 230Planning;Specification;Build;Test; 3 459 2 1
75 248 136Specification;Build;Test;
Planning;Specification;Build;Test;Implement; 320 480 800 960
Planning;Specification;Build; 967 905Planning;Build;Test; 427 882 358
Planning;Build;Test;Implement; 1248 0 2504 8768 12520Specification;Build;Test;
153 1961 510 255Specification;Build;Test;Implement; 1682
90 720 1043 23Planning;Specification;Build;Test; 640 811 936Planning;Specification;Build; 102 4
39 164 315 65 65
Respondent may have provided list of phases included
Respondent may have provided a detailed effort
accounting by phase
X
X
X
Backup slide: ISBSG’s definition of phases
13© Galorath Incorporated 2006
““Project Activity ScopeProject Activity Scope”” Field Field --Did People Get Their Answers Right? Did People Get Their Answers Right?
Plan Spec Buil Test Impl Spec Buil Test Plan Spec Buil Test Plan Spec Buil Test Spec Buil Test Plan Spec Buil Test Spec Buil Plan Buil Test Plan Buil Test Impl Spec Buil Test Impl Test Plan Spec Buil Impl Spec Buil Test Spec Buil Plan Spec Buil Test Impl
‘Design’ is rarely
included – is that because most people consider it
part of Spec?
Did this respondent believe Plan
included Spec and Design?
Fill in missing phases
Figure out whether some phases were inadvertently
combined
Was Test only what
was intended?
Similar questions for detailed effort accounting
14© Galorath Incorporated 2006
““Project Activity ScopeProject Activity Scope”” Replacement Table Replacement Table ––Judging When Phases Are MissingJudging When Phases Are Missing
‘High’ ratings are given in obvious instances of phase exclusion.continued…
Phases Included
Probability Requiring Interpolation? Phases Included
Probability Requiring Interpolation?
Impl High Plan High Test High Plan Impl Low Buil High Plan TestImpl High BuilTest Low Plan Buil Low BuilTestImpl Low Plan Buil Impl Low DesiBuil Low Plan BuilTest Low DesiBuilTestImpl Low Plan BuilTestImpl Low Spec High Plan DesiBuilTestImpl Low Spec Impl Low PlanSpec High Spec Test High PlanSpec TestImpl High Spec TestImpl High PlanSpec Buil Low Spec Buil Low PlanSpec Buil Impl Low Spec Buil Impl Low PlanSpec BuilTest Low Spec BuilTest Low PlanSpec BuilTestImpl Low Spec BuilTestImpl Low PlanSpecDesiBuil Impl Low SpecDesiBuil Low PlanSpecDesiBuilTest Low SpecDesiBuil Impl Low PlanSpecDesiBuilTestImpl Low SpecDesiBuilTest Low SpecDesiBuilTestImpl Low
15© Galorath Incorporated 2006
Normalization StepsNormalization Steps
Phase normalization
Fill in potentially missing phases in “Project Activity Scope” fieldEstimate potentially omitted work effortChoose best normalization method given available infoRemove effort due to Implementation
Resource normalization
Remove effort due to resource level 4
16© Galorath Incorporated 2006
Productivity In ISBSG Hints AtProductivity In ISBSG Hints AtOmitted Work EffortOmitted Work Effort
Lower hours/UFP may hint at projects wherenot all effort was accounted for
Range of Hours / UFP in ISBGS 9
0
10
20
30
40
50
60
70
0.1 3.1 6.1 9.1 12.1
15.1
18.1
21.1
24.1
27.1
30.1
33.1
36.1
39.1
42.1
45.1
48.1
51.1
54.1
57.1
60.1
63.1
66.1
69.1
72.1
75.1
Hours / UPF
Freq
uenc
y
Range of Hours / UFP in ISBGS 9 (Lower Range)
0
10
20
30
40
50
60
70
0.1
1.6
3.1
4.6
6.1
7.6
9.1
10.6
12.1
13.6
15.1
16.6
18.1
19.6
21.1
22.6
24.1
25.6
27.1
28.6
30.1
31.6
33.1
34.6
36.1
Hours / UPFFr
eque
ncy
Range of Hours / UFP in ISBGS 9 (Lower Range)
0
10
20
30
40
50
60
70
0.1
1.6
3.1
4.6
6.1
7.6
9.1
10.6
12.1
13.6
15.1
16.6
18.1
19.6
21.1
22.6
24.1
25.6
27.1
28.6
30.1
31.6
33.1
34.6
36.1
Hours / UPFFr
eque
ncy
10% below and 10% above this range2.1 35.1
17© Galorath Incorporated 2006
Calibration Process Calibration Process –– Different Options Different Options Developed Depending on CircumstanceDeveloped Depending on Circumstance
Obtain MedianEffort
Proportions Between Phases
Interpolate Missing Effort
Using Recorded Work Effort By
Phase &Phase-By-Phase
Proportions
ISBGS v9
Sample With At Least Some Detailed Effort
Accounting
Actual Effort By
Phase
Effort Proportions
Between Phases
Obtain Percentages of
Each Phase,As % of Total Project Effort
Actual and Estimated Effort By
Phase
% Contribution of Each Phase To Total Effort
Actual and Estimated Effort By
Phase
Work EffortBy Phase
(PartialOr Better)
Interpolate Missing Effort
UsingTOTAL Work
Effort And Estimated %’s
“Phase Proportions” MethodUsed when effort accounting byphase is present but incomplete
“Phase Percentages” MethodUsed when Project Activity Scope field
is present but list of phases is incomplete
“Final” use in 81 instances“Final” use in 43 instances
18© Galorath Incorporated 2006
Phase Proportions Calibration MethodPhase Proportions Calibration Method““Missing from Detailed Effort By PhaseMissing from Detailed Effort By Phase””
Fill in effort for phases missing from the detailed phase accounting….
Matrix summarizing combinations to leftA Numbers below are A / BWE Plan 0.354 0.391 0.185 0.400 0.884WE Spec 0.659 0.598 1.157 3.133WE Design 0.271 0.932 2.688WE Build 2.000 6.182WE Test 2.613WE ImplB WE Plan WE Spec WE Design WE Build WE Test WE Impl
Project Activity Scope Effort Plan Effort Specify Effort Design Effort Build Effort Test Effort Implement
Planning;Specification;Build;Test;Implement; 100 400 1000 200 150Planning;Specification;Build;Test; 281 359 156
….using the proportions established from reported phase-level work effort.
19© Galorath Incorporated 2006
Phase Phase ProportionsProportions Calibration MethodCalibration MethodResulting Effort Percentages By Phase Resulting Effort Percentages By Phase
Actual, reported effort by phase
Effort by phase estimated from this calibration method
Planning6%
Specification23%
Design15%Build
32%
Test16%
Implement8%
Combined so that each record has either Combined so that each record has either actual or estimated effort by phaseactual or estimated effort by phase
20© Galorath Incorporated 2006
Phase Phase PercentagesPercentages Calibration MethodCalibration Method““Missing from Project Activity Scope listMissing from Project Activity Scope list””
Planning6%
Specification23%
Design15%Build
32%
Test16%
Implement8%
Using average percentages established from last method…
Planning SpecificationDesign Build Test Implement273.2297117.5626 65.32259
1396.617 3249.2182615.03 1453.017
68.67665 38.15955
17.20378 40.02446 22.23922
…add back in estimated effort for phases not listed as included.
21© Galorath Incorporated 2006
Compare results of last pageCompare results of last pagewith other studieswith other studies
ISBSG02
MIS96
NASA93
Cocomo00
Grady93
Rubin99
Canada
94
P 10 13
S 19 18 20 17 31 30 30
B 46 43 37 43 28 28 29
T 18 19 26 22 24 15 17
I 7 9 14 14
6/8
23/17
32/30(15/23 design)
16/13
8/9(proportion/percentage methods)
Source: Ansell & Lokan, ACOSM 2002
22© Galorath Incorporated 2006
Normalization StepsNormalization Steps
Phase normalization
Fill in potentially missing phases in “Project Activity Scope” fieldEstimate potentially omitted work effortChoose best normalization method given available infoRemove effort due to Implementation
Resource normalization
Remove effort due to resource level 4
23© Galorath Incorporated 2006
The Normalization Measure TakenThe Normalization Measure TakenDepended On The Info AvailableDepended On The Info Available
From most desirable to least…
Does theproject scope list show complete
recording?Existing totaleffort judged acceptable?
No
Yes
Use originally given ISBGS
summary effort
Project scopelist only partially
recorded?
Effort accounting by phase only
partial?
Project scopelist not specified
Yes
Use originally given ISBGS
summary effort
No
No
No
Yes
Augment ISBGS summary effort using “phase percentages”
Yes
Augment ISBGS summary effort using “phase proportions”
Yes
Use originally given ISBGS
summary effort
For Each ISBGS Record
1215/1766instances
1441instances
1862instances
1803instances
1542instances
24© Galorath Incorporated 2006
Normalization StepsNormalization Steps
Phase normalization
Fill in potentially missing phases in “Project Activity Scope” fieldEstimate potentially omitted work effortChoose best normalization method given available infoRemove effort due to Implementation
Resource normalization
Remove effort due to resource level 4
25© Galorath Incorporated 2006
Implementation EffortImplementation EffortRemoval ApproachesRemoval Approaches
Best case: Explicitly given.
Otherwise: Use an estimated value.
Removal of Implementation phase effort is consistent with the normalization method used:Proportions between phases – Implementation removed based on its historically proportionate share, given the balance of other phases.
Percentages of each phase - relative to percentage given for Implementation
Matrix summarizing combinations to leftA Numbers below are A / BWE Plan 0.354 0.391 0.185 0.400 0.884WE Spec 0.659 0.598 1.157 3.133WE Design 0.271 0.932 2.688WE Build 2.000 6.182WE Test 2.613WE ImplB WE Plan WE Spec WE Design WE Build WE Test WE Impl
WE Plan WE Spec WE DesignWE Build WE Test WE Impl
100 400 1000 200 150281 359 156
Test16%
Implement8%
Backup slide: ISBSG’sdefinition of phases
26© Galorath Incorporated 2006
Normalization Steps Completed Thus Normalization Steps Completed Thus FarFar
Phase normalization
Fill in potentially missing phases in “Project Activity Scope” fieldEstimate potentially omitted work effortChoose best normalization method given available infoRemove effort due to Implementation
Resource normalization
Remove effort due to resource level 4
27© Galorath Incorporated 2006
Comparative Performance of theComparative Performance of theDifferent Effort Measures Different Effort Measures –– Very SimilarVery Similar
LR2
R2_
DU
MLR
4FO
UR
GL
LNU
FPPL
ANBU
ILD
TST
IMPL
3LP
LAN
LSPE
CLB
UIL
DLT
EST
BUSI
NES
SC
LISE
RV
CO
NST
ANT
0
5
10
15
20
25
30
35
T-Statistic (Significance)
Model Coefficient
Comparative T-Statistics
Default EffortNormalized Effort Mapped To Record w/ ImplementationISBSG's Normalised Work EffortNormalized Less Implementation
Default Effort
Normalized Effort M
apped To Record w/
Implementation
ISBSG's Normalised W
ork Effort
Normalized Less Im
plementation
# Times Best or Second Best10 7 6 10
# Times Best7 1 4 4
Probable reason:
Explainable portion of relationship is unchanged(all adj. R2’s are about .5)
Probable reason:
Explainable portion of relationship is unchanged(all adj. R2’s are about .5)
28© Galorath Incorporated 2006
Normalization StatisticsNormalization StatisticsISBSG v9 Compared To GalorathISBSG v9 Compared To Galorath
Out of 3024 records(those not shown received no calibration)
Calibrations Applied
0.0100
0.1000
1.0000
10.0000
100.0000
1 81 161 241 321 401 481 561 641 721 801 881 961 1041 1121 1201 1281
Sample Number, Sorted By Calibration Scale
Cal
ibra
tion
% (A
dj/A
ctua
l)
Galorath % Adjustment Before Impl. RemovedGalorath % Adjustment after Imp RemovedISBSG Normalization %
Calibrations Applied (Closeup)
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
1 79 157 235 313 391 469 547 625 703 781 859 937 1015 1093 1171 1249 1327
ISBSG Galorath1359 998
# of adjustments
Correlation-9.7%
29© Galorath Incorporated 2006
Impact of Normalization On Impact of Normalization On ProductivityProductivity
Raw ISBGS
Before Implementation
Removed
After Implementation
RemovedAverage 16.377 18.179 16.377 16.153Median 8.890 9.711 8.890 8.559
Stdev 28.439 31.992 28.439 30.461
Galorath Normalization
Hours / UFP, Sorted
0.01
0.1
1
10
100
1000
1 10 100 1000 10000
Sample Number. Sorted By Productivity
Hou
rs /
UFP
ISBGS
Galorath Normalization Before Implementation Removed
Galorath Normalization After Implementation Removed
Raw
30© Galorath Incorporated 2006
Normalization StepsNormalization Steps
Phase normalization
Fill in potentially missing phases in “Project Activity Scope” fieldEstimate potentially omitted work effortChoose best normalization method given available infoRemove effort due to Implementation
Resource normalization
Remove effort due to resource level 4
Backup slide: ISBSG’s definition of resources
31© Galorath Incorporated 2006
Method Used For Resource Normalization: Method Used For Resource Normalization: RegressionRegression
VARIABLE ESTIMATEDNAME COEFFICIENT T-RATIO P-VALUE DEFINITION OF VARIABLELR2 0.2842 5.52 0 1 when resource level is 2 or above * log UFPsR2_DUM -1.7423 -6.25 0 1 when resource level is 2 or aboveLR4 0.0436 2.15 0.032 1 when resource level is 4 * log UFPsFOURGL -0.4255 -8.72 0 1 when 4GL language is usedLNUFP 0.6960 29.36 0 log of UFPsPLAN 0.6842 2.38 0.017 1 when the Plan phase is included, according to revised list of phasesBUILD -1.3634 -3.31 0.001 1 when the Build phase is included, according to revised list of phasesTST 1.1291 3.26 0.001 1 when the Test phase is included, according to revised list of phasesIMPL2 0.0907 1.68 0.094 1 when the Implementation phase is included, according to ORIGINAL listLPLAN -0.1511 -2.79 0.005 PLAN * log of UFPsLSPEC 0.1249 7.33 0 SPEC * log of UFPsLBUILD 0.1721 2.10 0.036 BUILD * log of UFPsLTEST -0.2344 -3.29 0.001 LTEST * log of UFPsBUSINESS -0.2778 -5.87 0 1 for non-critical Business projectsCLISERV -0.1593 -1.76 0.078 1 for non-critical Client-Server projectsCONSTANT 4.0837 33.85 0
NotesDependant variable was normalized effort, less implementationRegressions were scale-adjusted (i.e., heteroskedasticity).Coefficient values were highly stable given numerous alternative models.Adjusted for all R^2 models hovered just below .5 in all cases (using weighted least squares)Adjustments to R4 were applied on a % basis (estimate without R4 / with R4)
32© Galorath Incorporated 2006
Refining reported scheduleRefining reported scheduleIt is desirable to use schedule data when calibrating85% of project report schedule informationInactive schedule check – removing unproductive time
Elapsed schedule – inactive schedule should give a good measure of productive time spentHowever, several projects (44) show inactive time within ½calendar month of elapsed timeFor those observations, elapsed time was used
Staff level check – if information provided, compute a schedule
41 observations reported no schedule, but did have staff (max=average) levels reportedDerived schedule = (Summary Work Effort/152)/ Staff Level
33© Galorath Incorporated 2006
Checking staff levelsChecking staff levelsStaff levels can provide insight when calibrating
ISBSG reports average and max staff levels for 1106 (37%) observations
Needed to determine if this data is appropriate for use in calibrationAnalysis of monthly work effort shows
Reported staff levels were typically less than a FTESome extremes show average staff work effort to be greater than 2x an FTE
Reported staff levels were not used for calibration because:
Inconsistent work effort by reported staff levels (some part time, some full time, some more)Reported staff levels may not correlate with normalized work effort used for calibration
Instead, derived average staff levels were computed based on normalized effort and schedule
Hours Per Person Per Month = Summary Work Effort / Average Team Size / Schedule
34© Galorath Incorporated 2006
Checking extremesChecking extremes98% of observations were between .6 months and 36 monthsShort bursts
Checked for schedules < 1 month which reported more than 10 peopleDetected 11 of these cases, did not use schedule
Long slogsChecked for schedules > 2 years and less than 1 FTEDetected 18 of these cases, schedule data deemed not reliable for calibration
KM1
Slide 34
KM1 There were 15 of these using the ISGSG normalized work effort.Karen McRitchie, 7/12/2006
35© Galorath Incorporated 2006
Conclusion / Wrap UpConclusion / Wrap UpWe found anomalies in the ISBGS data set, although not manyWe have a consistent set of qualitative descriptors from which to categorize data trendsMissing phases may not have been omitted, but rather reported in other phasesPhase proportions after normalization are consistent with other studiesFewer calibrations, or none, can achieve similar results in estimating (probably because the majority of records are well specified)Observations calibrated did not match observations adjusted by the ISBSG normalized work effortThe data set is prepared for analysis for estimation tool knowledge base update (along with other datasets)
36© Galorath Incorporated 2006
Backup SlidesBackup Slides
37© Galorath Incorporated 2006
ISBSGISBSG’’ss Definition of PhasesDefinition of Phases
Project Phase Possible Phase Components
Plan Preliminary Investigations
Overall Project Planning
Feasibility Study
Cost Benefit Study
Project Initiation Report
Terms of Reference
Specify Systems Analysis
Requirements Specification
Review & Rework Requirements
Spec.
Architecture Design/Specification
Review & Rework Architecture Spec
Design Functional / External Design
Create Physical / Internal Design(s)
Review and Rework Design(s)
Build
Package Selection
Construct Code & Program Software
Review or Inspect & Rework Code
Package customisation / interfaces
Unit Test
Integrate Software
Test Plan System or Performance Testing
System Testing
Performance Testing
Create & Run Automated Tests
Acceptance Testing
Implement Prepare Releases for Delivery
Install Software Releases for Users
Prepare User Documentation
Prepare & Deliver User Training
Provide User Support
38© Galorath Incorporated 2006
ISBSG Description of Resource LevelsISBSG Description of Resource Levels
ISBSG Description of Each Resource Level
1 = development team effort project team, project management, project administration
2 = development team supportdatabase administration, data administration, quality assurance,data security, standards support, audit & control, tech support
3 = computer operations involvementsoftware support, hardware support, information centre support, computer operators, network administration
4 = end users or clientsuser liaisons, user training time, application users and/or clients
39© Galorath Incorporated 2006
What Does What Does ““ImplementationImplementation”” Include?Include?
Prepare Releases for Delivery
Install Software Releases for Users
Prepare User Documentation
Prepare & Deliver User Training
Provide User Support
Driven by factors beyond functional size (users, locations, business units..)
40© Galorath Incorporated 2006
AcknowledgementAcknowledgementThanks to Peter Hill of ISBSG for answering several questions about the ISBSG data set and providing detail on the ISBSG normalization process
41© Galorath Incorporated 2006
Platform knowledge basePlatform knowledge baseSEER-SEM platform knowledge base generically describes the operational platform ISBSG fields used to determine platform
Development Platform (Mainframe, Midrange, PC)Architecture (Standalone, Client-Server, Multi-Tier, Web)Business Area TypeApplication Type
42© Galorath Incorporated 2006
Application knowledge baseApplication knowledge baseSEER-SEM application knowledge base describes the general application typeISBSG fields used to determine application
Business Area Type (used to set defaults for those that did not have details)Application Type
Most applications readily mapped to existing SEER-SEM categories
43© Galorath Incorporated 2006
Acquisition Method knowledge Acquisition Method knowledge basebase
SEER-SEM acquisition method knowledge base reflects reuse scenariosISBSG fields used to determine application
Development type (new, enhancement)Function counts (added vs. changed vs. deleted)
44© Galorath Incorporated 2006
Development method knowledge baseDevelopment method knowledge base
SEER-SEM development method knowledge base describes the development method or paradigmISBSG fields used to determine application
Development techniquesCase tool usedPackage Customization and Degree of Customization