0% found this document useful (0 votes)
6 views10 pages

Key Software Maintenance Metrics Guide

The document discusses maintenance metrics, which are quantitative measures used to evaluate the effectiveness and efficiency of software maintenance activities, aiding in performance assessment and resource allocation. It emphasizes the importance of maintenance cost estimation for budgeting and strategic decision-making, highlighting factors that influence these costs. Additionally, it addresses both quantitative and qualitative aspects of maintenance, underscoring the need for a balanced approach that considers human and organizational factors alongside numerical data.

Uploaded by

felmiketfikadu
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views10 pages

Key Software Maintenance Metrics Guide

The document discusses maintenance metrics, which are quantitative measures used to evaluate the effectiveness and efficiency of software maintenance activities, aiding in performance assessment and resource allocation. It emphasizes the importance of maintenance cost estimation for budgeting and strategic decision-making, highlighting factors that influence these costs. Additionally, it addresses both quantitative and qualitative aspects of maintenance, underscoring the need for a balanced approach that considers human and organizational factors alongside numerical data.

Uploaded by

felmiketfikadu
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

SOFTWARE

EVOLUTION
AND
• MAINTENANCE
Chapter Three: Maintenance Measurement

Prepared By:
[Link]
3.1 MAINTENANCE METRICS
 Definition
 Maintenance metrics are quantitative measures used to assess and monitor
the effectiveness, efficiency, and quality of software maintenance activities.
 They help software engineers understand how maintenance affects cost, effort,
productivity, and system quality.
 Purpose of Maintenance Metrics
 Evaluate maintenance performance.
 Identify problem areas or inefficiencies.
 Support management in planning and budgeting.
 Predict future maintenance effort or cost.
 Ensure software quality and reliability.
Key Maintenance Metrics
Metric Name Description Example / Formula
Mean Time to Repair Average time required to MTTR = Total repair time /
(MTTR) fix a fault. Number of repairs
Mean Time Between Average operational time MTBF = Operating time /
Failures (MTBF) between system failures. Number of failures
Frequency of change e.g., 10 change requests
Change Request Rate
requests per period. per month
Total person-hours spent Measured in staff-hours or
Maintenance Effort
on maintenance. staff-days
Number of defects per unit Defects/KLOC (thousand
Defect Density
of code. lines of code)
Portion of effort used for
Rework Effort Ratio Rework Effort / Total Effort
rework vs. total effort.
Customer Satisfaction Feedback score from end
Qualitative (1–5 rating)
Index users after maintenance.
Amount of code changed Lines added + modified +
Code Churn Rate
during maintenance. deleted
 Types of Maintenance Metrics
 Product Metrics: Measure properties of the software product (e.g., defect
density, code complexity).
 Process Metrics: Measure maintenance activities and workflows (e.g., effort,
time, response rate).
 Resource Metrics: Measure human or financial resources used (e.g., cost,
productivity).
 Quality Metrics: Measure reliability, maintainability, and user satisfaction.
3.2 MAINTENANCE COST
ESTIMATION
 Definition
 Maintenance cost estimation is the process of predicting the resources, time, and
money required to maintain a software system throughout its lifecycle.
 Importance
 Helps in budgeting and resource allocation.
 Supports project planning and control.
 Allows management to compare maintenance vs. redevelopment costs.
 Helps in making strategic decisions such as system replacement or migration.
 Factors Influencing Maintenance Cost
 System Complexity: Complex code requires more effort to understand and modify.
 Documentation Quality: Poor documentation increases analysis time.
 Staff Experience: Skilled staff can reduce effort and cost.
 Software Age: Older systems (legacy systems) are costlier to maintain.
 Technology Used: Outdated tools and platforms raise maintenance costs.
 Change Frequency: Frequent change requests increase cost.
 Testing Requirements: Extensive regression testing raises maintenance effort.

 Common Cost Estimation Models


1. COCOMO II (Constructive Cost Model):
 Extended version of Boehm’s model.
 Estimates effort (in person-months) for both development and maintenance.
 Effort = a × (Size)^b × EAF
 a, b: model constants
 Size: measured in KLOC
 EAF: Effort Adjustment Factor based on project attributes.
2. Function Point Analysis (FPA):
 Measures system size in terms of functionality delivered to the user, not code size.
 Used to estimate effort, productivity, and cost of maintenance.

3. Empirical Models:
 Based on historical data and experience from similar projects.

 Rule of Thumb
 Maintenance cost often accounts for 60–80% of the total software lifecycle cost.
 Cost increases significantly with poor design and documentation.
3.3 QUANTITATIVE AND QUALITATIVE ASPECTS OF
SOFTWARE MAINTENANCE
Quantitative Aspects
 These are measurable, numeric indicators that can be tracked and analyzed statistically.
 Purpose: Quantitative measures help in performance evaluation, forecasting, and decision-making.
Aspect Examples Measurement Method
Effort Person-hours, staff-months Time tracking systems
Budget utilization, labor
Cost Financial reports
cost
Reliability MTBF, number of failures System logs
Changes implemented per
Productivity Performance metrics
month
Defect rate, test success
Quality Testing tools
ratio
Code complexity,
Maintainability Code analysis tools
reusability
Qualitative Aspects
 These are non-measurable but important characteristics related to human and organizational factors.
 Purpose: Qualitative aspects influence the efficiency, morale, and success rate of maintenance activities.

Aspect Description
End users’ perception of software
User Satisfaction
performance after maintenance.
How effectively maintenance teams share
Team Communication
information and coordinate tasks.
Clarity, completeness, and accuracy of
Documentation Quality
system and maintenance documents.
Knowledge and familiarity with system
Developer Experience
architecture and tools.
How easily the source code can be
Code Readability
understood and modified.
Management support, maintenance
Organizational Policy
standards, and workflow discipline.
SUMMARY
 Maintenance metrics help quantify performance, cost, and quality.
 Cost estimation allows for effective planning and budgeting of
maintenance activities.
 Both quantitative and qualitative aspects must be considered for
balanced software maintenance management.
 A good maintenance strategy focuses not only on numbers but also on
human and organizational factors.

You might also like