This is now changing as organizations strive to obtain the most out of their development investment by keeping software operating as long as. The amount of time and expense spent debugging, customizing, updating, and maintaining software far outstrips the amount spent buying it. The template was developed by an international authority in software maintenance that possesses years of handson, practical experience in maintenance. Sample pages of the template for a software maintenance plan. Software maintenance change and control essay to understand the maintenance involved in software applications, one needs to understand the definition of software maintenance. In international conference on software maintenance, icsm98, pages 26574. In proceedings of the seventh european conference on software maintenance and reengineering csmr03, pages 17. A common perception of maintenance is that it merely involves fixing defects. Apr 04, 2019 practical software maintenance by thomas m.
April a, huffman hayes j, abran a and dumke r 2018 software maintenance maturity model smmm. If youve been coding for a while, you probably have heard of the importance of preparing for maintenance. A guide to the project management body of knowledge. This is now changing as organizations strive to obtain the most out of their development investment by keeping software. In a book packed with helpful realworld examples, maintenance dos and donts, and rules of thumb, tom pigoski covers all the bases, including. Template for a software maintenance plan fourth edition. Practical software metrics for project management and process improvement. It is the first book to cover software transitionthe process of moving the product from developer to maintainer. 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. 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. Measurement practices at maturity levels 3 and 4 alain april and alain abran a.
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. Buy a cheap copy of practical software maintenance. However, it has not historically received the same degree of attention as the other phases. Especially if you very seldom are on the maintenance end of things. In this paper, we make it more visible by demarcating its scope within software lifecycle. Pigoski practical software maintenancebest practices. Pdf maintenance best practices download full pdf book. Ontology for knowledge management in software maintenance. Software maintenance, in particular, is a knowledge.
Software engineering department of computer engineering. Workshop on ontologies and information sharing ijcai2001 2001 pp. Pigoski is the author of practical software maintenance 2. Best practices for managing your software investment, thomas m. Publication date 1996 edition na physical description xvi, 384p subject computer subject headings software mainteuncategorisednce isbn 0471170011 copies 0471. Software maintenance wikimili, the free encyclopedia. Mar 27, 2009 a software maintenance maturity model s3m. Pigoski practical software maintenancebest practices for. Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works. Nicolas anquetil, kathia oliveira, marcio greyck dias, marcelo ramal, ricardo meneses.
Integrating outsourcing in the maintenance process. The early pioneers of software maintenance this session includes glimpses of the lives and works of the following pioneers. 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. This book provides a simple and straightforward introduction to software maintenance activities that work. Ned chapin, robert glass, carma mcclure, j cris miller, girish parikh, tom pigoski, paul c. Software maintenance is traditionally defined as any modification made on a software system after its delivery. 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. 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. Software configuration management support was achieved through the use of declayered software applications in conjunction with locally developed programs.
Software engineering has been striving for years to improve the practice of software development and maintenance. 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. As much as 90% of development effort on a typical software system comes after its initial release, with twothirds being typical. Best practices for managing your software investment. Still, it counts as one of the least visible lifecycle processes.
The requirements of the time that we live are very dynamic and there is a need for constant adaptation. However, one study indicated that over 80% of maintenance effort is used for noncorrective actions. Practical software maintenance 1997 edition open library. Demarcating the scope of a predelivery maintenance process. 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. Description for software evolution and maintenance version 0. A study of the documentation essential to software maintenance sergio cozzetti b. The amount of time and expense spent debugging, customizing. Although systems have been maintained for years, relatively little is written about the topic. 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. For example, maintainers must know what changes should do to the software, where to do those changes and how those changes can.
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. Historically, development has had a much higher profile than maintenance in most organizations. 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. Recently however, agile methods started to shake this view, arguing that the goal of the game is to produce software. 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. Pigoski is a consultant on software maintenance, a speaker, a seminar leader, and an author. Research and practice, volume 12, number 2, marchapril 2000, pp. Software maintenance comprises every change made to computer programs after they are delivered to the customer.
Outsourcing of software life cycle activities is a growing business area in many sectors influenced by information technologies. 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. Leveraging lightweight analyses to aid software maintenance. Software maintenance is a part of software development life cycle. Msps, specifically in the area of web application maintenance, are growing.
Practical software maintenance best practices for managing your software investment authors thomas m. Usually, four types of maintenance are distinguished lientz and swanson, 1980. Best practice for managing your software investment. He is the author of numerous articles on maintenance. Eltis is concerned with software maintenance, legacy systems, software lifetime, software. Software maintenance is a muchmaligned and misunderstood area of software engineering. Managed service providers msps rely heavily on project managers to run costeffective projects that reap longterm business relationships. This perception is perpetuated by users submitting problem reports that in reality are functionality enhancements to the system. Software maintenance is an activity that requires lots of knowledge. Software maintenance phase is an activity in which knowledge plays an important role. 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. Cheluvaraju b, pasala a, padmanabhuni s and chevireddy s 2012 a quantitative measure for preventive maintenance in software, acm sigsoft software engineering notes, 37. Aug 25, 2016 various activities that come under maintenance include adaptive, corrective, and predictive maintenance.
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes. His practical efforts in the field of maintenance were chronicled in a 17part series published by software maintenance news. Pigoski examines the field from the perspective of practical operations experience and continuous project management. It is needed to keep software systems uptodate and useful. A study of the documentation essential to software maintenance. Practical software maintenance best practices for managing your software investment by thomas m. Its main purpose is to modify and update software application after delivery to correct faults and to improve performance. Documentation has long been prominent on the list of recommended practices to improve development and help maintenance. Predelivery maintenance is one of the processes that has not received enough attention both within the academia and industry.
527 412 1228 776 182 1123 1401 548 700 1138 1161 1174 1070 519 577 1279 1071 462 1015 67 630 26 288 794 422 554 464 1095 1086 109 1236 873 294 692 87 931 1164 518 1242 65 409 1275 1445 822