Software maintenance is the modification of a software product after delivery.
Software maintenance is often considered lower skilled and less rewarding than new development. As such, it is a common target for outsourcing or offshoring. Usually, the team developing the software is different from those who will be maintaining it. The developers lack an incentive to write the code to be easily maintained. Software is often delivered incomplete and almost always contains some bugs that the maintenance team must fix. Software maintenance often initially includes the development of new functionality, but as the product nears the end of its lifespan, maintenance is reduced to the bare minimum and then cut off entirely before the product is withdrawn.
Each maintenance cycle begins with a change request typically originating from a customer. That request is evaluated and if it is decided to implement it, the programmer studies the existing code to understand how it works before implementing the change. Testing to make sure the existing functionality is retained and the desired new functionality is added often comprises the majority of the maintenance cost.
Software maintenance is not as well studied as other phases of the software life cycle, despite comprising the majority of costs. Understanding has not changed significantly since the 1980s. Software maintenance can be categorized into several types depending on whether it is preventative or reactive and whether it is seeking to add functionality or preserve existing functionality.
and 26 Related for: Software maintenance information
Softwaremaintenance is the modification of a software product after delivery. Softwaremaintenance is often considered lower skilled and less rewarding...
by security vulnerabilities, and maintenance cost. Maintenance typically consumes 75 percent or more of the software's lifetime engineering budget. Source...
workload. A software engineer applies a software development process, which involves the definition, implementation, testing, management and maintenance of software...
needed] Softwaremaintenance addresses bug fixes and minor enhancements, while software evolution focuses on adaptation and migration. Software technologies...
code and make softwaremaintenance easier. Coding conventions are only applicable to the human maintainers and peer reviewers of a software project. Conventions...
specification, test results, end-user documentation, maintenance records, etc. The use of the term software system is at times related to the application of...
Turnover-Induced Knowledge Loss in Software Projects". 2017 IEEE International Conference on SoftwareMaintenance and Evolution (ICSME). pp. 261–272....
the field of software engineering: Software requirements Software design Software construction Software testing SoftwaremaintenanceSoftware configuration...
The meaning of maintenance mode depends on the context. In the world of software development, it refers to a point in a computer program's life when it...
software development, softwaremaintenance, and software re-engineering in the sense of a business intelligence approach specific to software systems. It is...
Software rot (bit rot, code rot, software erosion, software decay, or software entropy) is the deterioration of software quality or performance over time...
does not add new features or content. For instance, in computer software, maintenance releases are typically intended to solve minor problems, typically...
A software bug is a bug in computer software. A computer program with many or serious bugs may be described as buggy. The effects of a software bug range...
computerized maintenance management system (CMMS) is any software package that maintains a computer database of information about an organization's maintenance operations...
enable users to maximize the software's potential. Maintenance and support: After the software is deployed, ongoing maintenance and support become crucial...
require regular updates to correct software bugs and to address security weaknesses. Software updates in computer maintenance are essential for maintaining...
estimation for projects in development, and the ongoing cost of softwaremaintenance after release. Source code is also used to communicate algorithms...
software engineering process and softwaremaintenance. Software maps are applied in the context of software engineering: Complex, long-term software development...
benefits of centralization are hardware resource optimization, reduced softwaremaintenance, and improved security. Example of hardware resource optimization:...
The software industry includes businesses for development, maintenance and publication of software that are using different business models, mainly either...
Software integration and integration testing Software system testing Software release Establish softwaremaintenance plan Problem and modification analysis...
Software testing is the act of checking whether software satisfies expectations. Software testing can provide objective, independent information about...
part of software maintenance. Software archaeology, named by analogy with archaeology, includes the reverse engineering of software modules, and the application...