26
Estimating Software Estimating Software Maintenance Maintenance Arun Mukhija Arun Mukhija

Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

Embed Size (px)

Citation preview

Page 1: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

Estimating SoftwareEstimating SoftwareMaintenanceMaintenance

Arun MukhijaArun Mukhija

Page 2: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 22

ContentsContents

ÿÿWhat is Software Maintenance?What is Software Maintenance?

ÿÿ Facts and FiguresFacts and Figures

ÿÿMaintenance Activities and CostsMaintenance Activities and Costs

ÿÿMaintenance Estimation ModelsMaintenance Estimation Models

ÿÿ Conclusion and DiscussionConclusion and Discussion

Page 3: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

What is SoftwareWhat is SoftwareMaintenance?Maintenance?

Page 4: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 44

ÿÿ ““Changes that have to be made toChanges that have to be made tocomputer programs after they have beencomputer programs after they have beendelivered to the customer or user.delivered to the customer or user.”” * *

ÿÿ Software maintenance includes:Software maintenance includes:ll Corrective maintenanceCorrective maintenancell Adaptive maintenanceAdaptive maintenancell Perfective maintenancePerfective maintenancell Enhancements (Enhancements (Although technically they are not aAlthough technically they are not a

part of software maintenance but, being a post-releasepart of software maintenance but, being a post-releaseactivity, are often considered a part of it)activity, are often considered a part of it)

* Martin J. and McClure G. * Martin J. and McClure G. ““Software Maintenance: The Problem and itsSoftware Maintenance: The Problem and itsSolutionsSolutions””,, Prentice Hall (1983). Prentice Hall (1983).

Page 5: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

Facts and FiguresFacts and Figures

Page 6: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 66

ÿÿ Software maintenance costs around 50%Software maintenance costs around 50%of total software life-cycle cost.of total software life-cycle cost.

ÿÿ But relatively little is known about theBut relatively little is known about thesoftware maintenance process and thesoftware maintenance process and thefactors that influence its cost.factors that influence its cost.

Page 7: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 77

Software Development and MaintenanceSoftware Development and MaintenanceCosts in Large Organizations Costs in Large Organizations [Boehm81][Boehm81]

0

20

40

60

80

100

Pre

se

nt

of

10

-ye

ar

life

-cycle

co

sts

update and maintenance development

Gereral Telephone and Electronics

USAFCommand andcontrol No.1

USAFcommand and control No.2

GeneralMotors

Page 8: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 88

Software Development and MaintenanceSoftware Development and MaintenanceCosts in 487 Organizations Costs in 487 Organizations [Boehm81][Boehm81]

8

43

49

0

10

20

30

40

50

60

Maintenance Development Other

Pe

rce

nt

of

tota

l so

ftw

are

eff

ort

Page 9: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 99

Software Maintenance Production FunctionSoftware Maintenance Production Function[Boehm81][Boehm81]

Page 10: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 1010

Distribution of Software Maintenance EffortDistribution of Software Maintenance Effort[Boehm81][Boehm81]

12.49.3

17.4

6.2

41.8

5.54 3.4

0

10

20

30

40

50

Emer

genc

y pro

gram

fixes

Rout

ine de

bugin

g

Acco

mmon

date

chan

gings

to in

put d

ata,

files

Acco

mmon

date

chan

gings

to ha

rdwa

re,O

S

Enha

ncem

ents

fro us

ers

Impr

ove d

ocum

entat

ion

Impr

ove c

ode e

fficie

ncy

Othe

r

Perc

ent o

f sof

twar

e main

tenan

ce ef

fort

Page 11: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 1111

Distribution of User Enhancement EffortDistribution of User Enhancement Effort[Boehm81][Boehm81]

40.8

27.1

105.6 6.4

10.1

0

5

10

15

20

25

30

35

40

45

New

repo

rts

Adde

d da

ta fo

r exis

ting

repo

rts

Refo

rmat

ting

exist

ing

repo

rts

Cond

ensin

g exis

ting r

epor

ts

Cons

olid

atin

g ex

stin

g re

ports

Othe

r

perc

ent o

f use

r enh

ance

men

t effo

rt

Page 12: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

Maintenance ActivitiesMaintenance Activitiesand Costsand Costs

Page 13: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 1313

ÿÿ Defect repairsDefect repairsll keep software in operational conditionkeep software in operational condition

ll costs absorbed by software suppliercosts absorbed by software supplier

ll low pre-release defect removal efficiency (~85%)low pre-release defect removal efficiency (~85%)

ll productivity = 8 defect repairs per monthproductivity = 8 defect repairs per month(can be higher with experienced personnel and defect-tracking tools etc.)(can be higher with experienced personnel and defect-tracking tools etc.)

Factors influencing defect repairs:Factors influencing defect repairs:ll Abeyant defects (10%) - Abeyant defects (10%) - based on unique combination ofbased on unique combination of

eventsevents

ll Invalid defects (15%) - Invalid defects (15%) - misdiagnosed errorsmisdiagnosed errors

ll Bad fix injection (7%) - Bad fix injection (7%) - derivative errorsderivative errors

ll Duplicate defects - Duplicate defects - multiple complaints about the same errormultiple complaints about the same error

Page 14: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 1414

ÿÿ Error-prone module removalError-prone module removalll concentration of errors in particular modulesconcentration of errors in particular modules

ll common among large poorly-structured systemscommon among large poorly-structured systems

ll expensive to maintain, due to high bad fix injection rateexpensive to maintain, due to high bad fix injection rate

ll 500% more expensive than normal modules500% more expensive than normal modules

ÿÿ Customer supportCustomer supportll interface between clients and defect repair teamsinterface between clients and defect repair teams

ll effort depends on number of userseffort depends on number of users•• with phone contact, 1 customer support person for 150 userswith phone contact, 1 customer support person for 150 users

•• with electronic contact, 1 customer support person for 1000with electronic contact, 1 customer support person for 1000usersusers

Page 15: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 1515

ÿÿ Code restructuringCode restructuringll done by automated tools to lower complexity levelsdone by automated tools to lower complexity levels

ll lowering complexity eases maintenancelowering complexity eases maintenance

ll precursor to other maintenance activitiesprecursor to other maintenance activities

ÿÿMigration across platformsMigration across platformsll from one OS or hardware to anotherfrom one OS or hardware to another

ll with well-documented specifications,with well-documented specifications,

migration speed = 50 FP per month migration speed = 50 FP per month

ll with missing or obsolete specifications,with missing or obsolete specifications,

migration speed = 5 FP per month migration speed = 5 FP per month

Page 16: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 1616

ÿÿ Conversion to new architecturesConversion to new architecturesll changes to interface or file structure of apps.changes to interface or file structure of apps.

ll quality of specifications affects productivityquality of specifications affects productivity

ll reverse engineering may need to be performed toreverse engineering may need to be performed toextract missing design info.extract missing design info.

ÿÿMandatory changesMandatory changesll in response to changes in law or policyin response to changes in law or policy

ll involve high costs and tight schedulesinvolve high costs and tight schedules

ll difficult to predict in advancedifficult to predict in advance

Page 17: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 1717

ÿÿ Performance optimizationPerformance optimizationll to minimize delays in transactionsto minimize delays in transactions

ll improving performance at trouble spotsimproving performance at trouble spots

ÿÿ EnhancementsEnhancementsll adding new features as per user requestadding new features as per user request

ll funded by userfunded by user

ll annual rate = 7% increase in FP total of an app.annual rate = 7% increase in FP total of an app.

ll high integration and testing costs for poorly structuredhigh integration and testing costs for poorly structuredapps.apps.

Page 18: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

MaintenanceMaintenanceEstimation ModelsEstimation Models

Page 19: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 1919

ÿÿ COCOMO Maintenance ModelCOCOMO Maintenance Modelfor software maintenance effort estimationfor software maintenance effort estimation

(MM)(MM)AMAM = (ACT)(MM) = (ACT)(MM)DEVDEV

(MM)(MM)AMAM : annual maintenance effort in man-month : annual maintenance effort in man-month(MM)(MM)DEVDEV : development effort in man-month : development effort in man-monthACT : annual change traffic (fraction of software thatACT : annual change traffic (fraction of software that

undergoes change during a year)undergoes change during a year)

For intermediate and detailed COCOMO,For intermediate and detailed COCOMO,

(MM)(MM)AMAM = (EAF) = (EAF)MM(ACT)(MM)(ACT)(MM)NOMNOM

(EAF)(EAF)MM : maintenance effort adjustment factor : maintenance effort adjustment factor

Page 20: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 2020

ÿÿMaintenance/Development Cost RatioMaintenance/Development Cost Ratio

(MM)(MM)MM = (M/D)(MM) = (M/D)(MM)DEVDEV

(MM)(MM)MM : overall life-cycle maintenance effort in man-month : overall life-cycle maintenance effort in man-month

(MM)(MM)DEVDEV : development effort in man-month : development effort in man-monthM/D : maintenance/development cost ratioM/D : maintenance/development cost ratioValue of M/D ranges from 0.67 to 4.5, depending onValue of M/D ranges from 0.67 to 4.5, depending on

application type.application type.

Page 21: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 2121

ÿÿ Cards-per-person ratioCards-per-person ratio

origin: number of cards each software person can maintainorigin: number of cards each software person can maintain(KDSI/FSP)(KDSI/FSP)MM : KDSI maintained per full-time software person : KDSI maintained per full-time software person

(KDSI) (KDSI)DEVDEV

(FSP)(FSP)MM = ------------------ = ------------------ (KDSI/FSP) (KDSI/FSP)MM

(FSP)(FSP)MM : number of software maintenance personnel required : number of software maintenance personnel required(KDSI)(KDSI)DEVDEV : size of software in KDSI : size of software in KDSIValue of (KDSI/FSP)Value of (KDSI/FSP)MM ranges from 3 to 132, depending on ranges from 3 to 132, depending on

application type.application type.

The annual maintenance effort (MM)The annual maintenance effort (MM)AMAM is then simply is then simply(MM)(MM)AMAM = 12 (FSP) = 12 (FSP)MM

Page 22: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 2222

ÿÿMaintenance Productivity RatioMaintenance Productivity Ratio

(DSI)(DSI)MOD/YRMOD/YR = (ACT)(DSI) = (ACT)(DSI)DEVDEV

(DSI)(DSI)MOD/YRMOD/YR

(MM)(MM)AMAM = ------------------ = ------------------ (DSI/MM) (DSI/MM)MODMOD

(DSI(DSI)MOD/YR)MOD/YR : number of source instructions modified per year : number of source instructions modified per year(DSI)(DSI)DEVDEV : size of software in source instructions : size of software in source instructions(MM)(MM)AMAM : annual maintenance effort in man-month : annual maintenance effort in man-monthACT : annual change trafficACT : annual change traffic(DSI/MM)(DSI/MM)MODMOD : maintenance productivity ratio (number of source : maintenance productivity ratio (number of source

instructions modified per man-month of maintenance effort)instructions modified per man-month of maintenance effort)

Average value of ACT is 0.092 and of (DSI/MM)Average value of ACT is 0.092 and of (DSI/MM)MODMOD is 241, is 241,based on a survey.based on a survey.

Page 23: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

Conclusion andConclusion andDiscussionDiscussion

Page 24: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 2424

ÿÿ ““Software processes must produce software thatSoftware processes must produce software thatcan be gracefully evolved at reasonable costs.can be gracefully evolved at reasonable costs.The choice of software architecture significantlyThe choice of software architecture significantlyinfluences modifiability and hence maintainability.influences modifiability and hence maintainability.”” * *

ÿÿ Estimating maintenance is complex because ofEstimating maintenance is complex because ofthe relationship between base application andthe relationship between base application andchanges being made. Moreover predictingchanges being made. Moreover predictingadaptive maintenance and enhancements inadaptive maintenance and enhancements inadvance is very difficult.advance is very difficult.

* Richard D. Stutzke. * Richard D. Stutzke. ““Software Estimating Technology: A SurveySoftware Estimating Technology: A Survey””,,CrossTalk (1996).CrossTalk (1996).

Page 25: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance

21.01.200221.01.2002 Estimating Software MaintenanceEstimating Software Maintenance 2525

ReferencesReferences

ÿÿ [Jones98] Jones T.C. [Jones98] Jones T.C. ““Estimating SoftwareEstimating SoftwareCostsCosts””,, McGraw Hill (1998). McGraw Hill (1998).

ÿÿ [Boehm81] Boehm B. [Boehm81] Boehm B. ““Software EngineeringSoftware EngineeringEconomicsEconomics””,, Prentice Hall (1981). Prentice Hall (1981).

Page 26: Estimating Software Maintenance - UZH · PDF fileÿCOCOMO Maintenance Model ... (FSP)M: number of software maintenance personnel required ... 21.01.2002 Estimating Software Maintenance