Learning Software Maintenance Organizations

Developing and maintaining software systems is a knowledge intensive task. One needs knowledge of the application domain of the software, the problem the system solves, the requirements for this problem, the architecture of the system and how the different parts fit together, how the system interacts with its environment, etc. More often than not, this knowledge is not documented and lives only in the head of the software engineers. It is, therefore, volatile and an organization may repeatedly pay professionals to rediscover a knowledge it previously acquired and lost. In recognition of this fact, knowledge management techniques such as Postmortem Analysis are being used to help salvage this knowledge. Traditionally, Postmortem Analysis has been applied at the end of software development projects with a focus on organizational aspects such as how to improve the execution of a process. In this paper, we present the application of Postmortem Analysis in a new context: for software maintenance projects. We also apply it, not only for process improvement, but to discover knowledge on the software maintained itself.

[1]  Linda Rising,et al.  Patterns in postmortems , 1999, Proceedings. Twenty-Third Annual International Computer Software and Applications Conference (Cat. No.99CB37032).

[2]  Magne Jørgensen,et al.  Impact of experience on maintenance skills , 2002, J. Softw. Maintenance Res. Pract..

[3]  Dirk Deridder Facilitating Software Maintenance and Reuse Activities with a Concept-oriented Approach , 2002 .

[4]  Nicolas Anquetil,et al.  Organizing the Knowledge Used in Software Maintenance , 2003, J. Univers. Comput. Sci..

[5]  Tom DeMarco,et al.  A defined process for project post mortem review , 1996, IEEE Software.

[6]  Stuart Anderson,et al.  Requirements Evolution from Process to Product Oriented Management , 2001, PROFES.

[7]  Torgeir Dingsøyr,et al.  Augmenting Experience Reports with Lightweight Postmortem Reviews , 2001, PROFES.

[8]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[9]  Carolyn Seaman,et al.  Practical Software Maintenance , 2000, J. Softw. Maintenance Res. Pract..

[10]  Watts S. Humphrey,et al.  Introduction to the Team Software Process , 1999 .

[11]  Meir M. Lehman Programs, life cycles, and laws of software evolution , 1980 .

[12]  Shari Lawrence Pfleeger What Software Engineering Can Learn from Soccer , 2002, IEEE Softw..

[13]  Torgeir Dingsøyr,et al.  Postmortem: Never Leave a Project without It , 2002, IEEE Softw..

[14]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[15]  Carolyn B. Seaman,et al.  Practical Software Maintenance , 2000, J. Softw. Maintenance Res. Pract..