A study of the documentation essential to software maintenance sergio cozzetti b. Predelivery maintenance is one of the processes that has not received enough attention both within the academia and industry. Msps, specifically in the area of web application maintenance, are growing. Historically, development has had a much higher profile than maintenance in most organizations. Sample pages of the template for a software maintenance plan. A study of the documentation essential to software maintenance. Apr 04, 2019 practical software maintenance by thomas m. If youve been coding for a while, you probably have heard of the importance of preparing for maintenance. Aug 25, 2016 various activities that come under maintenance include adaptive, corrective, and predictive maintenance. Software maintenance is a muchmaligned and misunderstood area of software engineering. The amount of time and expense spent debugging, customizing. Software engineering has been striving for years to improve the practice of software development and maintenance. The standard also addresses maintenance activities prior to delivery of. Software engineering department of computer engineering.
Research and practice, volume 12, number 2, marchapril 2000, pp. This is now changing as organizations strive to obtain the most out of their development investment by keeping software. Ned chapin, robert glass, carma mcclure, j cris miller, girish parikh, tom pigoski, paul c. Pdf maintenance best practices download full pdf book. This fact, coupled with the usual lack of planning and high costs of software maintenance, may invite many organizations to outsource this important process of the software life cycle. Still, it counts as one of the least visible lifecycle processes.
His practical efforts in the field of maintenance were chronicled in a 17part series published by software maintenance news. Especially if you very seldom are on the maintenance end of things. Publication date 1996 edition na physical description xvi, 384p subject computer subject headings software mainteuncategorisednce isbn 0471170011 copies 0471. Practical software metrics for project management and process improvement. Pigoski is a consultant on software maintenance, a speaker, a seminar leader, and an author. In this paper, we make it more visible by demarcating its scope within software lifecycle. The early pioneers of software maintenance this session includes glimpses of the lives and works of the following pioneers. Buy a cheap copy of practical software maintenance. Mar 27, 2009 a software maintenance maturity model s3m. Best practice for managing your software investment. Description for software evolution and maintenance version 0. Even though software maintenance is not tagged as a core field in software engineering compared to other software related activities, almost 70 % of time and resources are allotted for maintenance activities. Software engineering process te chnology sept in conjunction with the noted software maintenance expert thomas pigoski has developed this template for a software maintenance plan to aid the software engineer in implementing software maintenance requirements. April a, huffman hayes j, abran a and dumke r 2018 software maintenance maturity model smmm.
The amount of time and expense spent debugging, customizing, updating, and maintaining software far outstrips the amount spent buying it. Best practices for managing your software investment, thomas m. The process of modifying a software system or component after delivery to correct faults, improve performance or other attributes, or adapt to a changed environment. Jan 22, 2014 software maintenance and change control computer concepts december, 2004 software maintenance and change control in todays world there is very unusual to have a program developed that will not have further development after release. Software maintenance comprises every change made to computer programs after they are delivered to the customer. Eltis is concerned with software maintenance, legacy systems, software lifetime, software. Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works. Workshop on ontologies and information sharing ijcai2001 2001 pp. Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes a common perception of maintenance is that it merely involves fixing defects. Authored by one of the worlds foremost experts on software maintenance, this handy guide to software maintenance translates a great deal of theory into practical guidelines for daily operations. Practical software maintenance 1997 edition open library. Topics include nature of maintenance, need for maintenance, components of maintenance costs, and categories of maintenance, key issues in software maintenance such as technical issues relating to testing, impact analysis, and maintainability, management issues, maintenance cost estimation, and software maintenance measurement, maintenance.
Its main purpose is to modify and update software application after delivery to correct faults and to improve performance. Best practices for managing your software investment. Pigoski examines the field from the perspective of practical operations experience and continuous project management. Usually, four types of maintenance are distinguished lientz and swanson, 1980.
Software maintenance is defined in the ieee standard for software maintenance, ieee 1219 ieee 1219, as the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment. Nicolas anquetil, kathia oliveira, marcio greyck dias, marcelo ramal, ricardo meneses. In a book packed with helpful realworld examples, maintenance dos and donts, and rules of thumb, tom pigoski covers all the bases, including. Although systems have been maintained for years, relatively little is written about the topic. Recently however, agile methods started to shake this view, arguing that the goal of the game is to produce software and that documentation is only useful as long.
Managed service providers msps rely heavily on project managers to run costeffective projects that reap longterm business relationships. Demarcating the scope of a predelivery maintenance process. A software maintenance plan template can provide help for an organization and a software engineer, who may not have extensive knowledge of software maintenance to implement this process. Cheluvaraju b, pasala a, padmanabhuni s and chevireddy s 2012 a quantitative measure for preventive maintenance in software, acm sigsoft software engineering notes, 37.
Proceedings of the second international conference on software engineering. Recently however, agile methods started to shake this view, arguing that the goal of the game is to produce software. A common perception of maintenance is that it merely involves fixing defects. Practical software maintenance best practices for managing your software investment by thomas m. Studies show that software maintenance is, by far, the predominant activity in software engineering 90% of the total cost of a typical software 15,19. Outsourcing of software life cycle activities is a growing business area in many sectors influenced by information technologies. In proceedings of the seventh european conference on software maintenance and reengineering csmr03, pages 17.
Practical software maintenance best practices for managing. The pwb consisted of decs code management system, module management system, source code analyzer, performance coverage analyzer, and test manager pigoski 1991e. Software maintenance is an integral part of a software life cycle. Software configuration management support was achieved through the use of declayered software applications in conjunction with locally developed programs. Pigoski practical software maintenancebest practices for. The requirements of the time that we live are very dynamic and there is a need for constant adaptation. For example, maintainers must know what changes should do to the software, where to do those changes and how those changes can. This perception is perpetuated by users submitting problem reports that in reality are functionality enhancements to the system. This is now changing as organizations strive to obtain the most out of their development investment by keeping software operating as long as.
Software maintenance is the performance of those activities required to keep a software system operational and responsive after it is accepted and placed into production. He is the author of numerous articles on maintenance. Pigoski practical software maintenancebest practices. However, one study indicated that over 80% of maintenance effort is used for noncorrective actions.
Software maintenance is an activity that requires lots of knowledge. It is needed to keep software systems uptodate and useful. The template was developed by an international authority in software maintenance that possesses years of handson, practical experience in maintenance. Pigoski is senior software engineer at techsoft, project editor and primary author of isos proposed international standard on software maintenance, and general chair of the ieee international conference on software maintenance. Ontology for knowledge management in software maintenance.
Integrating outsourcing in the maintenance process. As much as 90% of development effort on a typical software system comes after its initial release, with twothirds being typical. It is the first book to cover software transitionthe process of moving the product from developer to maintainer. Practical software maintenance best practices for managing your software investment authors thomas m.
In international conference on software maintenance, icsm98, pages 26574. Software maintenance, in particular, is a knowledge. Software maintenance wikimili, the free encyclopedia. Template for a software maintenance plan fourth edition. This book provides a simple and straightforward introduction to software maintenance activities that work. A guide to the project management body of knowledge. Software maintenance phase is an activity in which knowledge plays an important role. Software maintenance and change control computer concepts december, 2004 software maintenance and change control in todays world there is very unusual to have a program developed that will not have further development after release.
1333 1279 374 414 208 1023 872 448 193 517 323 1071 1598 1336 1427 52 1056 1149 1239 192 860 525 1227 146 571 53 453 1000 1434 1076 466 664 1610 303 1042 353 1488 645 1106 806 344