SlideShare a Scribd company logo
1 of 35
Application of economic models on
software maintenance
Anh Nguyen Duc
Trial lecture
Trondheim, Norway
April 10th 2015
2
Agenda
o Software maintenance
o Cost models of the maintenance phase
o Economic measures of maintenance activities
o Value driven prioritization of maintenance task
3
Significance of software maintenance
2 to 100 times:
maintenance cost vs.
development cost
Figure from Floris and Harald, 2010
4
Software maintenance types
The totality of activities required to provide cost-
effective support to software
5
Software maintenance process
6
Economic concerns in software
maintenance
Business
level
• Should we continue maintaining the system in the next X
year or buying a new system?
• How much to invest on maintenance for the greatest
earned value (saved cost, increased income)?
Product
level
• How much people need to be assigned for maintaining
the module Y?
• How much does maintenance cost in comparison to
development cost?
Project
level
• How long does it take to fix a post-release software
defect?
• Which features require the least cost but provide the
greatest customer value?
7
Agenda
o Software maintenance
o Cost models of maintenance phase
o Economic measures of maintenance activities
o Value driven prioritization of maintenance task
8
History of parametric cost models
SDC PRICE S Putnam SLIM
COCOMO 81 ESTIMACS
Checkpoint
Belady and Lehman
65 72
77 79 81 83 85
SEER-SEM
97 00
COCOMO versions
Tan and Mookerjee
03 05
95
• 65-85: the search for right parametric forms
• 85-95: advances in size and complexity metrics
• 95-05: proliferation of software development styles
• 05-15: advances in prediction and classification models
Ahn’s SMPEEM
Albrecht FP
Niesink et al.’s MFP
98
year
2015
9
Belady and Lehman (1972)
• Effort: total maintenance effort
• p: productive effort, including analysis, design,
code testing
• d: degree of maintenance team familiarity with the
software
• c: complexity caused by lack of structured design
and document
• K: empirical constant, depends on the environment
Effort= p + K c-d
10
 Effort (person-month) as a function of size (LOC)
Effort = b x Size c
• Organic: small teams develops
software in known
environment (b=2.4, c=1.05)
• Embedded: inflexible and
constrained environment
(b=3.6, c=1.20)
• Semidetached: varying levels
of team experience working
on larger projects (b=3.0,
c=1.12)
Effort = b x Size c x EAF
• Intermediate model
• b, c: calibrated factors
• EAF: effort adjustment factor
COCOMO (1981)
11
Example:
o A ERP module with original size of 10,000 KLOC
o Development effort is 600 PMs
o Estimated 1,500 new and modified KLOC per year
o ACT = 1500/ 10000 = 15% per year
o Maintenance cost of a 10 year project:
= 0.15 x 600 x 10 = 900 PMs
Maintenance effort = ACT x Development effort
• NNL: number of new LOCs
• NML: number of modified LOCs
• NOL: number of original LOCs
Annual change traffic (ACT) = (NNL + NML)/ NOL
COCOMO (1981) – Maintenance cost model
12
COCOMO (1997) – Post architecture level
Application
composition
Early design
Post-architecture
o SF: cost drivers, i.e. development
flexibility, architecture/risk resolution,
team cohesion and process maturity
o EM: 17 effort multipliers, i.e. the
required software reliability, database
size, product complexity, required
reusability, documentation, etc.
13
Function Point based estimation
• Function point (FP) as a consistent and early size
metric
• EFP: enhanced project function point
• ADD, CHG, DEL: added, changed and deleted FPs
• CFP: unadjusted function points added by conversion
• VAFa and VAFb: value adjustment factors of the application
after and before the project
EFP = (ADD + CHG + CFP) × VAFa + (DEL × VAFb)
14
Figure from Boehm et al. 2008
• Repeatable estimations
• Easy to modify input
• Easy to customize and refine formula
Advantages
• Subjective inputs
• Unable to deal with exceptional
conditions
• Mainly designed for waterfall
• Needs historical data for calibration
Disadvantages
COCOMO suite of models (1981-2007)
15
Model calibration
• A systematic adjustment of model parameters to get an
expected output with known inputs
• Proper calibration is important
 COCOMO II 1997 calibration of 83
data points: accuracy within 20% of
actual values in 46% of the times
 COCOMO II 1998 recalibration of161
data points: accuracy within 30% of
actual values in 75% of the times
16
Model evaluation
• Modest predicting results
– “… (estimating in general varies) from as much as 85 - 610 % between
predicated and actual values …” (Kemerer 1993)
– “…best models had MMRE (Mean Magnitude of Relative Error) of 60%,
… too inaccurate to be of any use …” (Jørgensen 1997)
• Combination with other estimation approaches
– Expert judgments, case based reasoning, regression models, Bayesian
network …
• Milestone budget and schedule for project stakeholder
negotiation and expectations management
• Basis of software maintenance planning and control
17
Agenda
o Economic aspects of software maintenance
o Economic measures of maintenance activities
o Cost models of maintenance phase
o Value driven prioritization of maintenance task
18
Value-based software maintenance
• The decision to perform maintenance at any time is based on
cost benefit analysis and economic measures
• Earned-value system
• A set of maintenance tasks
• Planned Value (PV) in
money and time of the
tasks
• Quantification of Earn
Value (EV)
19
Return on Investment (ROI)
Example:
o The benefit of the current system is 250,000 USD
o The benefit of the adapted system is 300,000 USD
o The estimated cost of change: 14,000 USD
o The benefit of the maintenance task is:
300,000 – 250,000 = 50,000 USD
o ROI = (50,000 – 14,000) / 14,000 = 2.57
• Benefit = Value of Changed System - Value of Original System
• Cost = Adjusted size / productivity x Cost driver factors
ROI = (benefit – cost) / cost
20
Net present value (NPV)
• Development phase requires n1 years with a cost of c1 at the
end of each year.
• Operation and maintenance (O&M) phase requires n2 years
with a cost of c2 at the end of each year.
• Cost of capital is at a change rate of r %
21
Management of technical debts
• Metaphor indicating possibly of significant economic
consequences in software maintenance
• Technical debts occur when making the change worked as
quickly as possible with as few resources as possible
Increased productivity, lowered development costs of the
current release
Increased maintenance costs, debt out of controls
22
Management of technical debts
• Principal = cost of paying off the debt
– Maintenance task effort estimation
• Interest benefit of paying off
– Interest probability x interest amount
• Which debts to pay off?
• Applications of technical debts
– Project budget allocation
– Prioritizing maintenance tasks
23
Agenda
o Economic aspects of software maintenance
o Economic measures of maintenance activities
o Cost models of maintenance phase
o Value driven prioritization of maintenance task
24
Focus on low-cost, high-value changes
Effort-to-change
Perceived value
Low High
High
Lowo Technical debt pay-off
o Test case triage
o Defect prioritization
o Feature reduction
o …
25
Deciding customer´s perceived value
• Approaches
– Multi criteria decision analysis (MCDA): Analytic hierarchy
process (AHP), PROMETHEE, etc
– Agile: MoSCoW, planning game, quality house, hundred-
dollar test, etc
• Expert judgment, no model based approach
26
Triage and prediction models
Post-release defect
triage
Issue resolution time
estimation
Modification
request (MR)
History of
delta
Communicatio
n data
Project
context
Regression
+ machine
learning
SIZE &
COMPLEXITY
Change proneness
Defect proneness
Auto task assignment
27
Indicators of change effort
Code metrics
o Cyclomatic complexity
o Object oriented metrics
o Entropy of code changes
o Churn metrics
o Code smell
Modification
request (MR)
History of
delta
Communicatio
n data
Project
context
Regression
+ machine
learning
SIZE &
COMPLEXITY
28
Indicators of change effort
Communication data
o No. of comments
o No. of commenters
o Communication
frequency
Project context
o No. of locations
o No. of developers
o CMMI levels
o Team experience levels
o …
Modification
request (MR)
History of
delta
Communicatio
n data
Project
context
Regression
+ machine
learning
SIZE &
COMPLEXITY
29
Indicator of change effort
Figure from Zhang et al. 2013
Figure from Nguyen-Duc et al. 2011
30
Reflection on model building
• Local vs. global prediction
• Implicit assumptions of models
• Universal indicators of software changes
• Data missing and preprocessing
• Compounding impacts
31
Summary
• Cost-benefit concern of software maintenance for
vendors and buyers
• Measuring economic value of software maintenance
activities
• Limited applicability of traditional maintenance costs
• Integration of code, process, human based metrics in
estimating and triaging maintenance tasks
32
Reference
BOOK
1. Barry Boehm, Software Engineering Economics, Prentice-Hall, 1981
2. Guide to the Software Engineering Body of Knowledge – SWEBOK, IEEE Press,
2004
3. I. Sommerville. Software Engineering, 7th edition, Pearson Education, 2004
4. Shari Lawrence Pfleeger, Joanne M. Atlee, Software Engineering: Theory and
Practice, 3rd edition, Pearson Education, 2006.
5. Stefan Biffl, Aybuke Aurum, Barry Boehm, Hakan Erdogmus, Paul Grünbacher,
Value based software engineering, Springer, 2006
33
Reference
PAPER (1)
• Basili, V., et al. (1996). Understanding and predicting the process of software maintenance release.
Proceedings of the 18th international conference on Software engineering, IEEE Computer Society.
• Boehm, B. W. and R. Valerdi (2008). "Achievements and challenges in cocomo-based software
resource estimation." Software, IEEE 25(5): 74-83.
• Chulani, S., et al. (1999). "Calibrating software cost models using bayesian analysis." IEEE
Transactions on Software Engineering: 573-583.
• Čubranić, D. (2004). Automatic bug triage using text categorization. In SEKE 2004: Proceedings of the
Sixteenth International Conference on Software Engineering & Knowledge Engineering, Citeseer.
• Curtis, B., et al. (2012). "Estimating the Principal of an Application's Technical Debt." IEEE
software(6): 34-42.
• Duc, A. N., et al. (2011). Impact of stakeholder type and collaboration on issue resolution time in
OSS Projects. Open Source Systems: Grounding Research, Springer: 1-16.
• Fioravanti, F. and P. Nesi (2001). "Estimation and prediction metrics for adaptive maintenance effort
of object-oriented systems." Software Engineering, IEEE Transactions on 27(12): 1062-1084.
34
Reference
PAPER (2)
• Granja-Alvarez, J. C. and M. J. Barranco-García (1997). "A method for estimating maintenance cost in
a software project: a case study." Journal of Software Maintenance 9(3): 161-175.
• Jorgensen, M. and M. Shepperd (2007). "A systematic review of software development cost
estimation studies." Software Engineering, IEEE Transactions on 33(1): 33-53.
• Kemerer, C. F. (1987). "An empirical validation of software cost estimation models."
Communications of the ACM 30(5): 416-429.
• Mockus, A., et al. (2003). Understanding and predicting effort in software projects. Proceedings of
the 25th International Conference on Software Engineering, IEEE Computer Society.
• Niessink, F. and H. van Vliet (1997). Predicting maintenance effort with function points. Software
Maintenance, 1997. Proceedings., International Conference on, IEEE.
• Sneed, H. M. (2004). A cost model for software maintenance & evolution. Software Maintenance,
2004. Proceedings. 20th IEEE International Conference on, IEEE.
• Vienneau, R. L. (1995). "The present value of software maintenance." Journal of Parametrics 15(1):
18-36.
• Zhang, H., et al. (2013). Predicting bug-fixing time: an empirical study of commercial software
projects. Proceedings of the 2013 International Conference on Software Engineering, IEEE Press.
•
•
•
•
•
•
35
Q&A

More Related Content

What's hot

Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
Nishant Worah
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 

What's hot (20)

Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
Network Layer,Computer Networks
Network Layer,Computer NetworksNetwork Layer,Computer Networks
Network Layer,Computer Networks
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Ch 20 UNICAST ROUTING SECTION 2
Ch 20   UNICAST ROUTING  SECTION  2Ch 20   UNICAST ROUTING  SECTION  2
Ch 20 UNICAST ROUTING SECTION 2
 
Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
Context model
Context modelContext model
Context model
 
Debugging
DebuggingDebugging
Debugging
 
Cryptography with caesar Cipher
Cryptography with caesar CipherCryptography with caesar Cipher
Cryptography with caesar Cipher
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound technique
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Electronic mail - Computer Networks
Electronic mail - Computer NetworksElectronic mail - Computer Networks
Electronic mail - Computer Networks
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software construction
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
COCOMO Model in software project management
COCOMO Model in software project managementCOCOMO Model in software project management
COCOMO Model in software project management
 

Viewers also liked (6)

Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile Maintenance
 
6 environmental influence internal and external environment
6 environmental influence   internal and external environment6 environmental influence   internal and external environment
6 environmental influence internal and external environment
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
12 software maintenance
12 software maintenance12 software maintenance
12 software maintenance
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
International Business Environment: Introduction
International Business Environment: IntroductionInternational Business Environment: Introduction
International Business Environment: Introduction
 

Similar to Application of economic model in software maintenance

Project management
Project managementProject management
Project management
Ahmed Said
 

Similar to Application of economic model in software maintenance (20)

Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
 
Metrics
MetricsMetrics
Metrics
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
PROMISE 2011: "An Analysis of Trends in Productivity and Cost Drivers over Ye...
PROMISE 2011: "An Analysis of Trends in Productivity and Cost Drivers over Ye...PROMISE 2011: "An Analysis of Trends in Productivity and Cost Drivers over Ye...
PROMISE 2011: "An Analysis of Trends in Productivity and Cost Drivers over Ye...
 
Costing ass4
Costing ass4Costing ass4
Costing ass4
 
COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED
 
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economics
 
Project management
Project managementProject management
Project management
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
 
Algorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptxAlgorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptx
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
 
ch07.ppt
ch07.pptch07.ppt
ch07.ppt
 
Lec01 inroduction to software cost estimation ver1.ppt
Lec01 inroduction to software cost estimation ver1.pptLec01 inroduction to software cost estimation ver1.ppt
Lec01 inroduction to software cost estimation ver1.ppt
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
1806 cosmic progress
1806 cosmic progress1806 cosmic progress
1806 cosmic progress
 
A METRICS -BASED MODEL FOR ESTIMATING THE MAINTENANCE EFFORT OF PYTHON SOFTWARE
A METRICS -BASED MODEL FOR ESTIMATING THE MAINTENANCE EFFORT OF PYTHON SOFTWAREA METRICS -BASED MODEL FOR ESTIMATING THE MAINTENANCE EFFORT OF PYTHON SOFTWARE
A METRICS -BASED MODEL FOR ESTIMATING THE MAINTENANCE EFFORT OF PYTHON SOFTWARE
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
 

More from Anh Nguyen Duc

Impact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic reviewImpact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic review
Anh Nguyen Duc
 
Dispersion, coordination and performance in GSD: a systematic review
Dispersion, coordination and performance in GSD: a systematic reviewDispersion, coordination and performance in GSD: a systematic review
Dispersion, coordination and performance in GSD: a systematic review
Anh Nguyen Duc
 
Supporting team coordination across organizational boundary in GSD
Supporting team coordination across organizational boundary in GSDSupporting team coordination across organizational boundary in GSD
Supporting team coordination across organizational boundary in GSD
Anh Nguyen Duc
 

More from Anh Nguyen Duc (12)

Software Startup Engineering: A Systematic Mapping Study
Software Startup Engineering: A Systematic Mapping StudySoftware Startup Engineering: A Systematic Mapping Study
Software Startup Engineering: A Systematic Mapping Study
 
A preliminary study of agility in business and production – Cases of early-s...
A preliminary study of agility in business and production –  Cases of early-s...A preliminary study of agility in business and production –  Cases of early-s...
A preliminary study of agility in business and production – Cases of early-s...
 
Achieving product market fit in startup context - The-state-of-practices and ...
Achieving product market fit in startup context - The-state-of-practices and ...Achieving product market fit in startup context - The-state-of-practices and ...
Achieving product market fit in startup context - The-state-of-practices and ...
 
Introduction to Global Software Engineering TDT4140
Introduction to Global Software Engineering TDT4140Introduction to Global Software Engineering TDT4140
Introduction to Global Software Engineering TDT4140
 
Sharing economy and Vietnam startup prospect (Kinh tế chia sẻ và cơ hội khởi ...
Sharing economy and Vietnam startup prospect (Kinh tế chia sẻ và cơ hội khởi ...Sharing economy and Vietnam startup prospect (Kinh tế chia sẻ và cơ hội khởi ...
Sharing economy and Vietnam startup prospect (Kinh tế chia sẻ và cơ hội khởi ...
 
Supporting team coordination of software development across multiple companies
Supporting team coordination of software development across multiple companiesSupporting team coordination of software development across multiple companies
Supporting team coordination of software development across multiple companies
 
On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...
 
Coordination of software development teams across organizational boundary – A...
Coordination of software development teams across organizational boundary – A...Coordination of software development teams across organizational boundary – A...
Coordination of software development teams across organizational boundary – A...
 
Forking and coordination in multi-platform development
Forking and coordination in multi-platform developmentForking and coordination in multi-platform development
Forking and coordination in multi-platform development
 
Impact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic reviewImpact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic review
 
Dispersion, coordination and performance in GSD: a systematic review
Dispersion, coordination and performance in GSD: a systematic reviewDispersion, coordination and performance in GSD: a systematic review
Dispersion, coordination and performance in GSD: a systematic review
 
Supporting team coordination across organizational boundary in GSD
Supporting team coordination across organizational boundary in GSDSupporting team coordination across organizational boundary in GSD
Supporting team coordination across organizational boundary in GSD
 

Recently uploaded

MASTERING FOREX: STRATEGIES FOR SUCCESS.pdf
MASTERING FOREX: STRATEGIES FOR SUCCESS.pdfMASTERING FOREX: STRATEGIES FOR SUCCESS.pdf
MASTERING FOREX: STRATEGIES FOR SUCCESS.pdf
Cocity Enterprises
 

Recently uploaded (20)

Kurla Capable Call Girls ,07506202331, Sion Affordable Call Girls
Kurla Capable Call Girls ,07506202331, Sion Affordable Call GirlsKurla Capable Call Girls ,07506202331, Sion Affordable Call Girls
Kurla Capable Call Girls ,07506202331, Sion Affordable Call Girls
 
MASTERING FOREX: STRATEGIES FOR SUCCESS.pdf
MASTERING FOREX: STRATEGIES FOR SUCCESS.pdfMASTERING FOREX: STRATEGIES FOR SUCCESS.pdf
MASTERING FOREX: STRATEGIES FOR SUCCESS.pdf
 
Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
Female Escorts Service in Hyderabad Starting with 5000/- for Savita Escorts S...
Female Escorts Service in Hyderabad Starting with 5000/- for Savita Escorts S...Female Escorts Service in Hyderabad Starting with 5000/- for Savita Escorts S...
Female Escorts Service in Hyderabad Starting with 5000/- for Savita Escorts S...
 
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
 
Call Girls Howrah ( 8250092165 ) Cheap rates call girls | Get low budget
Call Girls Howrah ( 8250092165 ) Cheap rates call girls | Get low budgetCall Girls Howrah ( 8250092165 ) Cheap rates call girls | Get low budget
Call Girls Howrah ( 8250092165 ) Cheap rates call girls | Get low budget
 
Bhubaneswar🌹Kalpana Mesuem ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
Bhubaneswar🌹Kalpana Mesuem  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...Bhubaneswar🌹Kalpana Mesuem  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
Bhubaneswar🌹Kalpana Mesuem ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
 
W.D. Gann Theory Complete Information.pdf
W.D. Gann Theory Complete Information.pdfW.D. Gann Theory Complete Information.pdf
W.D. Gann Theory Complete Information.pdf
 
Vip Call Girls Rasulgada😉 Bhubaneswar 9777949614 Housewife Call Girls Servic...
Vip Call Girls Rasulgada😉  Bhubaneswar 9777949614 Housewife Call Girls Servic...Vip Call Girls Rasulgada😉  Bhubaneswar 9777949614 Housewife Call Girls Servic...
Vip Call Girls Rasulgada😉 Bhubaneswar 9777949614 Housewife Call Girls Servic...
 
Virar Best Sex Call Girls Number-📞📞9833754194-Poorbi Nalasopara Housewife Cal...
Virar Best Sex Call Girls Number-📞📞9833754194-Poorbi Nalasopara Housewife Cal...Virar Best Sex Call Girls Number-📞📞9833754194-Poorbi Nalasopara Housewife Cal...
Virar Best Sex Call Girls Number-📞📞9833754194-Poorbi Nalasopara Housewife Cal...
 
Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...
Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...
Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...
 
Turbhe Fantastic Escorts📞📞9833754194 Kopar Khairane Marathi Call Girls-Kopar ...
Turbhe Fantastic Escorts📞📞9833754194 Kopar Khairane Marathi Call Girls-Kopar ...Turbhe Fantastic Escorts📞📞9833754194 Kopar Khairane Marathi Call Girls-Kopar ...
Turbhe Fantastic Escorts📞📞9833754194 Kopar Khairane Marathi Call Girls-Kopar ...
 
CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...
CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...
CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...
 
Female Russian Escorts Mumbai Call Girls-((ANdheri))9833754194-Jogeshawri Fre...
Female Russian Escorts Mumbai Call Girls-((ANdheri))9833754194-Jogeshawri Fre...Female Russian Escorts Mumbai Call Girls-((ANdheri))9833754194-Jogeshawri Fre...
Female Russian Escorts Mumbai Call Girls-((ANdheri))9833754194-Jogeshawri Fre...
 
Escorts Indore Call Girls-9155612368-Vijay Nagar Decent Fantastic Call Girls ...
Escorts Indore Call Girls-9155612368-Vijay Nagar Decent Fantastic Call Girls ...Escorts Indore Call Girls-9155612368-Vijay Nagar Decent Fantastic Call Girls ...
Escorts Indore Call Girls-9155612368-Vijay Nagar Decent Fantastic Call Girls ...
 
Fixed exchange rate and flexible exchange rate.pptx
Fixed exchange rate and flexible exchange rate.pptxFixed exchange rate and flexible exchange rate.pptx
Fixed exchange rate and flexible exchange rate.pptx
 
Technology industry / Finnish economic outlook
Technology industry / Finnish economic outlookTechnology industry / Finnish economic outlook
Technology industry / Finnish economic outlook
 
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdf
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdfSeeman_Fiintouch_LLP_Newsletter_May-2024.pdf
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdf
 
Q1 2024 Conference Call Presentation vF.pdf
Q1 2024 Conference Call Presentation vF.pdfQ1 2024 Conference Call Presentation vF.pdf
Q1 2024 Conference Call Presentation vF.pdf
 
Certified Kala Jadu, Black magic specialist in Rawalpindi and Bangali Amil ba...
Certified Kala Jadu, Black magic specialist in Rawalpindi and Bangali Amil ba...Certified Kala Jadu, Black magic specialist in Rawalpindi and Bangali Amil ba...
Certified Kala Jadu, Black magic specialist in Rawalpindi and Bangali Amil ba...
 

Application of economic model in software maintenance

  • 1. Application of economic models on software maintenance Anh Nguyen Duc Trial lecture Trondheim, Norway April 10th 2015
  • 2. 2 Agenda o Software maintenance o Cost models of the maintenance phase o Economic measures of maintenance activities o Value driven prioritization of maintenance task
  • 3. 3 Significance of software maintenance 2 to 100 times: maintenance cost vs. development cost Figure from Floris and Harald, 2010
  • 4. 4 Software maintenance types The totality of activities required to provide cost- effective support to software
  • 6. 6 Economic concerns in software maintenance Business level • Should we continue maintaining the system in the next X year or buying a new system? • How much to invest on maintenance for the greatest earned value (saved cost, increased income)? Product level • How much people need to be assigned for maintaining the module Y? • How much does maintenance cost in comparison to development cost? Project level • How long does it take to fix a post-release software defect? • Which features require the least cost but provide the greatest customer value?
  • 7. 7 Agenda o Software maintenance o Cost models of maintenance phase o Economic measures of maintenance activities o Value driven prioritization of maintenance task
  • 8. 8 History of parametric cost models SDC PRICE S Putnam SLIM COCOMO 81 ESTIMACS Checkpoint Belady and Lehman 65 72 77 79 81 83 85 SEER-SEM 97 00 COCOMO versions Tan and Mookerjee 03 05 95 • 65-85: the search for right parametric forms • 85-95: advances in size and complexity metrics • 95-05: proliferation of software development styles • 05-15: advances in prediction and classification models Ahn’s SMPEEM Albrecht FP Niesink et al.’s MFP 98 year 2015
  • 9. 9 Belady and Lehman (1972) • Effort: total maintenance effort • p: productive effort, including analysis, design, code testing • d: degree of maintenance team familiarity with the software • c: complexity caused by lack of structured design and document • K: empirical constant, depends on the environment Effort= p + K c-d
  • 10. 10  Effort (person-month) as a function of size (LOC) Effort = b x Size c • Organic: small teams develops software in known environment (b=2.4, c=1.05) • Embedded: inflexible and constrained environment (b=3.6, c=1.20) • Semidetached: varying levels of team experience working on larger projects (b=3.0, c=1.12) Effort = b x Size c x EAF • Intermediate model • b, c: calibrated factors • EAF: effort adjustment factor COCOMO (1981)
  • 11. 11 Example: o A ERP module with original size of 10,000 KLOC o Development effort is 600 PMs o Estimated 1,500 new and modified KLOC per year o ACT = 1500/ 10000 = 15% per year o Maintenance cost of a 10 year project: = 0.15 x 600 x 10 = 900 PMs Maintenance effort = ACT x Development effort • NNL: number of new LOCs • NML: number of modified LOCs • NOL: number of original LOCs Annual change traffic (ACT) = (NNL + NML)/ NOL COCOMO (1981) – Maintenance cost model
  • 12. 12 COCOMO (1997) – Post architecture level Application composition Early design Post-architecture o SF: cost drivers, i.e. development flexibility, architecture/risk resolution, team cohesion and process maturity o EM: 17 effort multipliers, i.e. the required software reliability, database size, product complexity, required reusability, documentation, etc.
  • 13. 13 Function Point based estimation • Function point (FP) as a consistent and early size metric • EFP: enhanced project function point • ADD, CHG, DEL: added, changed and deleted FPs • CFP: unadjusted function points added by conversion • VAFa and VAFb: value adjustment factors of the application after and before the project EFP = (ADD + CHG + CFP) × VAFa + (DEL × VAFb)
  • 14. 14 Figure from Boehm et al. 2008 • Repeatable estimations • Easy to modify input • Easy to customize and refine formula Advantages • Subjective inputs • Unable to deal with exceptional conditions • Mainly designed for waterfall • Needs historical data for calibration Disadvantages COCOMO suite of models (1981-2007)
  • 15. 15 Model calibration • A systematic adjustment of model parameters to get an expected output with known inputs • Proper calibration is important  COCOMO II 1997 calibration of 83 data points: accuracy within 20% of actual values in 46% of the times  COCOMO II 1998 recalibration of161 data points: accuracy within 30% of actual values in 75% of the times
  • 16. 16 Model evaluation • Modest predicting results – “… (estimating in general varies) from as much as 85 - 610 % between predicated and actual values …” (Kemerer 1993) – “…best models had MMRE (Mean Magnitude of Relative Error) of 60%, … too inaccurate to be of any use …” (Jørgensen 1997) • Combination with other estimation approaches – Expert judgments, case based reasoning, regression models, Bayesian network … • Milestone budget and schedule for project stakeholder negotiation and expectations management • Basis of software maintenance planning and control
  • 17. 17 Agenda o Economic aspects of software maintenance o Economic measures of maintenance activities o Cost models of maintenance phase o Value driven prioritization of maintenance task
  • 18. 18 Value-based software maintenance • The decision to perform maintenance at any time is based on cost benefit analysis and economic measures • Earned-value system • A set of maintenance tasks • Planned Value (PV) in money and time of the tasks • Quantification of Earn Value (EV)
  • 19. 19 Return on Investment (ROI) Example: o The benefit of the current system is 250,000 USD o The benefit of the adapted system is 300,000 USD o The estimated cost of change: 14,000 USD o The benefit of the maintenance task is: 300,000 – 250,000 = 50,000 USD o ROI = (50,000 – 14,000) / 14,000 = 2.57 • Benefit = Value of Changed System - Value of Original System • Cost = Adjusted size / productivity x Cost driver factors ROI = (benefit – cost) / cost
  • 20. 20 Net present value (NPV) • Development phase requires n1 years with a cost of c1 at the end of each year. • Operation and maintenance (O&M) phase requires n2 years with a cost of c2 at the end of each year. • Cost of capital is at a change rate of r %
  • 21. 21 Management of technical debts • Metaphor indicating possibly of significant economic consequences in software maintenance • Technical debts occur when making the change worked as quickly as possible with as few resources as possible Increased productivity, lowered development costs of the current release Increased maintenance costs, debt out of controls
  • 22. 22 Management of technical debts • Principal = cost of paying off the debt – Maintenance task effort estimation • Interest benefit of paying off – Interest probability x interest amount • Which debts to pay off? • Applications of technical debts – Project budget allocation – Prioritizing maintenance tasks
  • 23. 23 Agenda o Economic aspects of software maintenance o Economic measures of maintenance activities o Cost models of maintenance phase o Value driven prioritization of maintenance task
  • 24. 24 Focus on low-cost, high-value changes Effort-to-change Perceived value Low High High Lowo Technical debt pay-off o Test case triage o Defect prioritization o Feature reduction o …
  • 25. 25 Deciding customer´s perceived value • Approaches – Multi criteria decision analysis (MCDA): Analytic hierarchy process (AHP), PROMETHEE, etc – Agile: MoSCoW, planning game, quality house, hundred- dollar test, etc • Expert judgment, no model based approach
  • 26. 26 Triage and prediction models Post-release defect triage Issue resolution time estimation Modification request (MR) History of delta Communicatio n data Project context Regression + machine learning SIZE & COMPLEXITY Change proneness Defect proneness Auto task assignment
  • 27. 27 Indicators of change effort Code metrics o Cyclomatic complexity o Object oriented metrics o Entropy of code changes o Churn metrics o Code smell Modification request (MR) History of delta Communicatio n data Project context Regression + machine learning SIZE & COMPLEXITY
  • 28. 28 Indicators of change effort Communication data o No. of comments o No. of commenters o Communication frequency Project context o No. of locations o No. of developers o CMMI levels o Team experience levels o … Modification request (MR) History of delta Communicatio n data Project context Regression + machine learning SIZE & COMPLEXITY
  • 29. 29 Indicator of change effort Figure from Zhang et al. 2013 Figure from Nguyen-Duc et al. 2011
  • 30. 30 Reflection on model building • Local vs. global prediction • Implicit assumptions of models • Universal indicators of software changes • Data missing and preprocessing • Compounding impacts
  • 31. 31 Summary • Cost-benefit concern of software maintenance for vendors and buyers • Measuring economic value of software maintenance activities • Limited applicability of traditional maintenance costs • Integration of code, process, human based metrics in estimating and triaging maintenance tasks
  • 32. 32 Reference BOOK 1. Barry Boehm, Software Engineering Economics, Prentice-Hall, 1981 2. Guide to the Software Engineering Body of Knowledge – SWEBOK, IEEE Press, 2004 3. I. Sommerville. Software Engineering, 7th edition, Pearson Education, 2004 4. Shari Lawrence Pfleeger, Joanne M. Atlee, Software Engineering: Theory and Practice, 3rd edition, Pearson Education, 2006. 5. Stefan Biffl, Aybuke Aurum, Barry Boehm, Hakan Erdogmus, Paul Grünbacher, Value based software engineering, Springer, 2006
  • 33. 33 Reference PAPER (1) • Basili, V., et al. (1996). Understanding and predicting the process of software maintenance release. Proceedings of the 18th international conference on Software engineering, IEEE Computer Society. • Boehm, B. W. and R. Valerdi (2008). "Achievements and challenges in cocomo-based software resource estimation." Software, IEEE 25(5): 74-83. • Chulani, S., et al. (1999). "Calibrating software cost models using bayesian analysis." IEEE Transactions on Software Engineering: 573-583. • Čubranić, D. (2004). Automatic bug triage using text categorization. In SEKE 2004: Proceedings of the Sixteenth International Conference on Software Engineering & Knowledge Engineering, Citeseer. • Curtis, B., et al. (2012). "Estimating the Principal of an Application's Technical Debt." IEEE software(6): 34-42. • Duc, A. N., et al. (2011). Impact of stakeholder type and collaboration on issue resolution time in OSS Projects. Open Source Systems: Grounding Research, Springer: 1-16. • Fioravanti, F. and P. Nesi (2001). "Estimation and prediction metrics for adaptive maintenance effort of object-oriented systems." Software Engineering, IEEE Transactions on 27(12): 1062-1084.
  • 34. 34 Reference PAPER (2) • Granja-Alvarez, J. C. and M. J. Barranco-García (1997). "A method for estimating maintenance cost in a software project: a case study." Journal of Software Maintenance 9(3): 161-175. • Jorgensen, M. and M. Shepperd (2007). "A systematic review of software development cost estimation studies." Software Engineering, IEEE Transactions on 33(1): 33-53. • Kemerer, C. F. (1987). "An empirical validation of software cost estimation models." Communications of the ACM 30(5): 416-429. • Mockus, A., et al. (2003). Understanding and predicting effort in software projects. Proceedings of the 25th International Conference on Software Engineering, IEEE Computer Society. • Niessink, F. and H. van Vliet (1997). Predicting maintenance effort with function points. Software Maintenance, 1997. Proceedings., International Conference on, IEEE. • Sneed, H. M. (2004). A cost model for software maintenance & evolution. Software Maintenance, 2004. Proceedings. 20th IEEE International Conference on, IEEE. • Vienneau, R. L. (1995). "The present value of software maintenance." Journal of Parametrics 15(1): 18-36. • Zhang, H., et al. (2013). Predicting bug-fixing time: an empirical study of commercial software projects. Proceedings of the 2013 International Conference on Software Engineering, IEEE Press. • • • • • •