SlideShare a Scribd company logo
Software maintenance is widely accepted part of SDLC now a days. It stands for all the
modifications and updations done after the delivery of software product. There are number of
reasons, why modifications are required, some of them are briefly mentioned below:
 Market Conditions - Policies, which changes over the time, such as taxation and newly
introduced constraints like, how to maintain bookkeeping, may trigger need for
modification.
 Client Requirements - Over the time, customer may ask for new features or functions in
the software.
 Host Modifications - If any of the hardware and/or platform (such as operating system)
of the target host changes, software changes are needed to keep adaptability.
 Organization Changes - If there is any business level change at client end, such as
reduction of organization strength, acquiring another company, organization venturing
into new business, need to modify in the original software may arise.
Types of maintenance
In a software lifetime, type of maintenance may vary based on its nature. It may be just a routine
maintenance tasks as some bug discovered by some user or it may be a large event in itself based
on maintenance size or nature. Following are some types of maintenance based on their
characteristics:
 Corrective Maintenance - This includes modifications and updations done in order to
correct or fix problems, which are either discovered by user or concluded by user error
reports.
 Adaptive Maintenance - This includes modifications and updations applied to keep the
software product up-to date and tuned to the ever changing world of technology and
business environment.
 Perfective Maintenance - This includes modifications and updates done in order to keep
the software usable over long period of time. It includes new features, new user
requirements for refining the software and improve its reliability and performance.
 Preventive Maintenance - This includes modifications and updations to prevent future
problems of the software. It aims to attend problems, which are not significant at this
moment but may cause serious issues in future.
Cost of Maintenance
Reports suggest that the cost of maintenance is high. A study on estimating software
maintenance found that the cost of maintenance is as high as 67% of the cost of entire software
process cycle.
On an average, the cost of software maintenance is more than 50% of all SDLC phases. There
are various factors, which trigger maintenance cost go high, such as:
Real-world factors affecting Maintenance Cost
 The standard age of any software is considered up to 10 to 15 years.
 Older softwares, which were meant to work on slow machines with less memory and
storage capacity cannot keep themselves challenging against newly coming enhanced
softwares on modern hardware.
 As technology advances, it becomes costly to maintain old software.
 Most maintenance engineers are newbie and use trial and error method to rectify
problem.
 Often, changes made can easily hurt the original structure of the software, making it hard
for any subsequent changes.
 Changes are often left undocumented which may cause more conflicts in future.
Software-end factors affecting Maintenance Cost
 Structure of Software Program
 Programming Language
 Dependence on external environment
 Staff reliability and availability
Maintenance Activities
IEEE provides a framework for sequential maintenance process activities. It can be used in
iterative manner and can be extended so that customized items and processes can be included.
These activities go hand-in-hand with each of the following phase:
 Identification & Tracing - It involves activities pertaining to identification of
requirement of modification or maintenance. It is generated by user or system may itself
report via logs or error messages.Here, the maintenance type is classified also.
 Analysis - The modification is analyzed for its impact on the system including safety and
security implications. If probable impact is severe, alternative solution is looked for. A
set of required modifications is then materialized into requirement specifications. The
cost of modification/maintenance is analyzed and estimation is concluded.
 Design- New modules, which need to be replaced or modified, are designed against
requirement specifications set in the previous stage. Test cases are created for validation
and verification.
 Implementation - The new modules are coded with the help of structured design created
in the design step.Every programmer is expected to do unit testing in parallel.
 System Testing - Integration testing is done among newly created modules. Integration
testing is also carried out between new modules and the system. Finally the system is
tested as a whole, following regressive testing procedures.
 Acceptance Testing - After testing the system internally, it is tested for acceptance with
the help of users. If at this state, user complaints some issues they are addressed or noted
to address in next iteration.
 Delivery - After acceptance test, the system is deployed all over the organization either
by small update package or fresh installation of the system. The final testing takes place
at client end after the software is delivered.
Training facility is provided if required, in addition to the hard copy of user manual.
 Maintenance management - Configuration management is an essential part of system
maintenance. It is aided with version control tools to control versions, semi-version or
patch management.

More Related Content

PPTX
Software maintenance
PPTX
Software maintenance
PPT
Software maintenance
PPTX
Software maintenance
PPTX
Software maintenance
PPTX
Software maintenance
PPT
10 software maintenance
Software maintenance
Software maintenance
Software maintenance
Software maintenance
Software maintenance
Software maintenance
10 software maintenance

What's hot (19)

PDF
7. The Software Development Process - Maintenance
PPT
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
PPTX
Software Maintenance
PPTX
management of maintainance
PPTX
Software maintenance ppt
PDF
Software Maintenance and Evolution
PPTX
Software enginnering
PPTX
Software maintenance Unit5
PPTX
Software maintenance
PPTX
SOFTWARE MAINTENANCE -4
PPTX
DOCX
RELIABILITY CENTERED MAINTAINANCE
PPT
13 configuration management
PPT
Bse 3105 lecture 5-evolution of legacy systems
PPT
Software maintenance and configuration management, software engineering
PDF
Intro softwareeng
PPT
Ch21
PPT
Cv 1
7. The Software Development Process - Maintenance
Object Oriented Software Engineering (OOSE) presentation on SOFTWARE MAINTENANCE
Software Maintenance
management of maintainance
Software maintenance ppt
Software Maintenance and Evolution
Software enginnering
Software maintenance Unit5
Software maintenance
SOFTWARE MAINTENANCE -4
RELIABILITY CENTERED MAINTAINANCE
13 configuration management
Bse 3105 lecture 5-evolution of legacy systems
Software maintenance and configuration management, software engineering
Intro softwareeng
Ch21
Cv 1
Ad

Viewers also liked (6)

DOCX
Universities fees
PPTX
Leveraging Online Social Networking For Business
PDF
ESS Drug Testing
PPTX
Facebook For Beginners Revised
PPTX
Interpolacion de Polinomio
PPTX
Presentación final 7ma
Universities fees
Leveraging Online Social Networking For Business
ESS Drug Testing
Facebook For Beginners Revised
Interpolacion de Polinomio
Presentación final 7ma
Ad

Similar to Software maintenance service strategies (20)

PPTX
Programming Engineering Lecture 10 Alaa.ppt
PDF
SWE-401 - 11. Software maintenance overview
PPTX
Software maintaince.pptx
PPTX
lecture 7ppt.pptx knowledge engineering.
PPTX
Software maintenance real world maintenance cost
PDF
Software maintenance and Re-Engineering concepts
PPTX
UNIT 4- Program Maintenance(Programming Logic & Techniques)
PPTX
Software Engineering.pptx
PPTX
Types of Maintenance.pptx
PDF
Software maintenance
PPT
Software Maintenance with detailed description
PPT
Bse 3105 lecture 2- software change
PPT
Bse 3105 lecture 2- software change
PPT
Sw Maintenance.ppt
PPTX
Why Software Maintenance is Essential for Business?
PDF
Softweare Engieering
PDF
Se lec 3
PPTX
week-3.pptx.............................
PPTX
Programming maintenance - Programming methodology
Programming Engineering Lecture 10 Alaa.ppt
SWE-401 - 11. Software maintenance overview
Software maintaince.pptx
lecture 7ppt.pptx knowledge engineering.
Software maintenance real world maintenance cost
Software maintenance and Re-Engineering concepts
UNIT 4- Program Maintenance(Programming Logic & Techniques)
Software Engineering.pptx
Types of Maintenance.pptx
Software maintenance
Software Maintenance with detailed description
Bse 3105 lecture 2- software change
Bse 3105 lecture 2- software change
Sw Maintenance.ppt
Why Software Maintenance is Essential for Business?
Softweare Engieering
Se lec 3
week-3.pptx.............................
Programming maintenance - Programming methodology

Recently uploaded (20)

PPTX
OOP with Java - Java Introduction (Basics)
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
Digital Logic Computer Design lecture notes
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
PPT on Performance Review to get promotions
PPTX
Geodesy 1.pptx...............................................
PDF
Well-logging-methods_new................
DOCX
573137875-Attendance-Management-System-original
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Welding lecture in detail for understanding
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
additive manufacturing of ss316l using mig welding
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
composite construction of structures.pdf
OOP with Java - Java Introduction (Basics)
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Digital Logic Computer Design lecture notes
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPT on Performance Review to get promotions
Geodesy 1.pptx...............................................
Well-logging-methods_new................
573137875-Attendance-Management-System-original
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Welding lecture in detail for understanding
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
additive manufacturing of ss316l using mig welding
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
UNIT-1 - COAL BASED THERMAL POWER PLANTS
composite construction of structures.pdf

Software maintenance service strategies

  • 1. Software maintenance is widely accepted part of SDLC now a days. It stands for all the modifications and updations done after the delivery of software product. There are number of reasons, why modifications are required, some of them are briefly mentioned below:  Market Conditions - Policies, which changes over the time, such as taxation and newly introduced constraints like, how to maintain bookkeeping, may trigger need for modification.  Client Requirements - Over the time, customer may ask for new features or functions in the software.  Host Modifications - If any of the hardware and/or platform (such as operating system) of the target host changes, software changes are needed to keep adaptability.  Organization Changes - If there is any business level change at client end, such as reduction of organization strength, acquiring another company, organization venturing into new business, need to modify in the original software may arise. Types of maintenance In a software lifetime, type of maintenance may vary based on its nature. It may be just a routine maintenance tasks as some bug discovered by some user or it may be a large event in itself based on maintenance size or nature. Following are some types of maintenance based on their characteristics:  Corrective Maintenance - This includes modifications and updations done in order to correct or fix problems, which are either discovered by user or concluded by user error reports.  Adaptive Maintenance - This includes modifications and updations applied to keep the software product up-to date and tuned to the ever changing world of technology and business environment.  Perfective Maintenance - This includes modifications and updates done in order to keep the software usable over long period of time. It includes new features, new user requirements for refining the software and improve its reliability and performance.  Preventive Maintenance - This includes modifications and updations to prevent future problems of the software. It aims to attend problems, which are not significant at this moment but may cause serious issues in future. Cost of Maintenance Reports suggest that the cost of maintenance is high. A study on estimating software maintenance found that the cost of maintenance is as high as 67% of the cost of entire software process cycle.
  • 2. On an average, the cost of software maintenance is more than 50% of all SDLC phases. There are various factors, which trigger maintenance cost go high, such as: Real-world factors affecting Maintenance Cost  The standard age of any software is considered up to 10 to 15 years.  Older softwares, which were meant to work on slow machines with less memory and storage capacity cannot keep themselves challenging against newly coming enhanced softwares on modern hardware.  As technology advances, it becomes costly to maintain old software.  Most maintenance engineers are newbie and use trial and error method to rectify problem.  Often, changes made can easily hurt the original structure of the software, making it hard for any subsequent changes.  Changes are often left undocumented which may cause more conflicts in future. Software-end factors affecting Maintenance Cost  Structure of Software Program  Programming Language  Dependence on external environment  Staff reliability and availability Maintenance Activities
  • 3. IEEE provides a framework for sequential maintenance process activities. It can be used in iterative manner and can be extended so that customized items and processes can be included. These activities go hand-in-hand with each of the following phase:  Identification & Tracing - It involves activities pertaining to identification of requirement of modification or maintenance. It is generated by user or system may itself report via logs or error messages.Here, the maintenance type is classified also.  Analysis - The modification is analyzed for its impact on the system including safety and security implications. If probable impact is severe, alternative solution is looked for. A set of required modifications is then materialized into requirement specifications. The cost of modification/maintenance is analyzed and estimation is concluded.  Design- New modules, which need to be replaced or modified, are designed against requirement specifications set in the previous stage. Test cases are created for validation and verification.  Implementation - The new modules are coded with the help of structured design created in the design step.Every programmer is expected to do unit testing in parallel.  System Testing - Integration testing is done among newly created modules. Integration testing is also carried out between new modules and the system. Finally the system is tested as a whole, following regressive testing procedures.  Acceptance Testing - After testing the system internally, it is tested for acceptance with the help of users. If at this state, user complaints some issues they are addressed or noted to address in next iteration.
  • 4.  Delivery - After acceptance test, the system is deployed all over the organization either by small update package or fresh installation of the system. The final testing takes place at client end after the software is delivered. Training facility is provided if required, in addition to the hard copy of user manual.  Maintenance management - Configuration management is an essential part of system maintenance. It is aided with version control tools to control versions, semi-version or patch management.