Towards a lessons learned system for critical software

Failure can be a major driver for the advance of any engineering discipline and Software Engineering is no exception. But failures are useful only if lessons are learned from them. In this article we aim to make a strong defence of, and set the requirements for, lessons learned systems for safety-critical software. We also present a prototype lessons learned system that includes many of the features discussed here. We emphasize that, apart from individual organizations, lessons learned systems should target industrial sectors and even the Software Engineering community. We would like to encourage the Software Engineering community to use this kind of systems as another tool in the toolbox, which complements or enhances other approaches like, for example, standards and checklists.

[1]  Peter G. Neumann,et al.  Computer-related risks , 1994 .

[2]  Mauro Pezzè,et al.  The Road to Maturity: Navigating Between Craft and Science , 1997, IEEE Softw..

[3]  Robert A. Martin Managing Vulnerabilities in Networked Systems , 2001, Computer.

[4]  Gregory Craig,et al.  The NRC Bell 412 ASRA safety system: a human factors perspective on lessons learned from an airborne incident , 2002, Reliab. Eng. Syst. Saf..

[5]  L. Emmet Learning from incidents involving E/E/PE systems , 2003 .

[6]  Neil R. Storey,et al.  Safety-critical computer systems , 1996 .

[7]  K. Wiig Knowledge Management Foundations: Thinking About Thinking - How People and Organizations Represent, Create and Use Knowledge , 1994 .

[8]  Jay Liebowitz,et al.  Knowledge Management Handbook , 1999 .

[9]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[10]  Chris W. Johnson,et al.  PII: S0951-8320(99)00066-6 , 1999 .

[11]  Amrit Tiwana,et al.  The Knowledge Management Toolkit: Practical Techniques for Building a Knowledge Management System with Cdrom , 1999 .

[12]  David W. Aha,et al.  Intelligent delivery of military lessons learned , 2003, Decis. Support Syst..

[13]  Floor Koornneef,et al.  Safety, reliability and security of industrial computer systems , 2002 .

[14]  Charles Johnson,et al.  Software tools to support incident reporting in safety-critical systems , 2002 .

[15]  Mary Shaw,et al.  The coming-of-age of software architecture research , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[16]  Robert de Hoog,et al.  Supporting knowledge management: A selection of methods and techniques , 1997 .

[17]  Sigmund Freud,et al.  The Freud Reader , 1989 .

[18]  Lauren Ruth Wiener Digital woes - why we should not depend on software , 1993 .

[19]  Debra S. Herrmann,et al.  Software safety and reliability - techniques, approaches, and standards of key industrial sectors , 2000 .

[20]  M. Lindvall,et al.  Knowledge management in software engineering , 2002, IEEE Software.

[21]  Rosina O. Weber,et al.  Intelligent lessons learned systems , 2001, Expert Syst. Appl..

[22]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[23]  Joseph H. M. Tah,et al.  Towards a framework for project risk knowledge management in the construction supply chain , 2001 .

[24]  Ivars Peterson,et al.  Fatal Defect: Chasing Killer Computer Bugs , 1995 .

[25]  Robert L. Glass,et al.  Science and substance: a challenge to software engineers , 1994, IEEE Software.

[26]  Peter Neumann,et al.  Fatal Defect: Chasing Killer Computer Bugs , 1995, SOEN.

[27]  Kyle Eischen Software Development: An Outsider's View , 2002, Computer.

[28]  Gertjan van Heijst,et al.  Corporate memories as a tool for knowledge management , 1997 .

[29]  D. Oxley Design Paradigms: Case Histories of Error and Judgment in Engineering , 1997 .

[30]  L. Slobodkin,et al.  The Third Culture: Beyond the Scientific Revolution , 1996 .

[31]  Alfonso Rodríguez-Patón,et al.  MEGICO: An Intelligent Knowledge Management Methodology , 2002, EKAW.