Agile methods for open source safety-critical software

Kevin Gary, Andinet Enquobahrie, Luis Ibanez, Patrick Cheng, Ziv Yaniv, Kevin Cleary, Shylaja Kokoori, Benjamin Muffih, John Heidenreich

Research output: Contribution to journalArticle

28 Citations (Scopus)

Abstract

The introduction of software technology in a life-dependent environment requires the development team to execute a process that ensures a high level of software reliability and correctness. Despite their popularity, agile methods are generally assumed to be inappropriate as a process family in these environments due to their lack of emphasis on documentation, traceability, and other formal techniques. Agile methods, notably Scrum, favor empirical process control, or small constant adjustments in a tight feedback loop. This paper challenges the assumption that agile methods are inappropriate for safety-critical software development. Agile methods are flexible enough to encourage the right amount of ceremony; therefore if safety-critical systems require greater emphasis on activities, such as formal specification and requirements management, then an agile process will include these as necessary activities. Furthermore, agile methods focus more on continuous process management and code-level quality than classic software engineering process models. We present our experiences on the image-guided surgical toolkit (IGSTK) project as a backdrop. IGSTK is an open source software project employing agile practices since 2004. We started with the assumption that a lighter process is better, focused on evolving code, and only adding process elements as the need arose. IGSTK has been adopted by teaching hospitals and research labs, and used for clinical trials. Agile methods have matured since the academic community suggested almost a decade ago that they were not suitable for safety-critical systems; we present our experiences as a case study for renewing the discussion.

Original languageEnglish (US)
Pages (from-to)945-962
Number of pages18
JournalSoftware - Practice and Experience
Volume41
Issue number9
DOIs
StatePublished - Aug 2011

Fingerprint

Software engineering
Software reliability
Process control
Teaching
Feedback
Open source software
Formal specification

Keywords

  • agile methods
  • open source
  • safety
  • software process

ASJC Scopus subject areas

  • Software

Cite this

Gary, K., Enquobahrie, A., Ibanez, L., Cheng, P., Yaniv, Z., Cleary, K., ... Heidenreich, J. (2011). Agile methods for open source safety-critical software. Software - Practice and Experience, 41(9), 945-962. https://doi.org/10.1002/spe.1075

Agile methods for open source safety-critical software. / Gary, Kevin; Enquobahrie, Andinet; Ibanez, Luis; Cheng, Patrick; Yaniv, Ziv; Cleary, Kevin; Kokoori, Shylaja; Muffih, Benjamin; Heidenreich, John.

In: Software - Practice and Experience, Vol. 41, No. 9, 08.2011, p. 945-962.

Research output: Contribution to journalArticle

Gary, K, Enquobahrie, A, Ibanez, L, Cheng, P, Yaniv, Z, Cleary, K, Kokoori, S, Muffih, B & Heidenreich, J 2011, 'Agile methods for open source safety-critical software', Software - Practice and Experience, vol. 41, no. 9, pp. 945-962. https://doi.org/10.1002/spe.1075
Gary K, Enquobahrie A, Ibanez L, Cheng P, Yaniv Z, Cleary K et al. Agile methods for open source safety-critical software. Software - Practice and Experience. 2011 Aug;41(9):945-962. https://doi.org/10.1002/spe.1075
Gary, Kevin ; Enquobahrie, Andinet ; Ibanez, Luis ; Cheng, Patrick ; Yaniv, Ziv ; Cleary, Kevin ; Kokoori, Shylaja ; Muffih, Benjamin ; Heidenreich, John. / Agile methods for open source safety-critical software. In: Software - Practice and Experience. 2011 ; Vol. 41, No. 9. pp. 945-962.
@article{c126a0c13b32492cb937aed74e4cb4a2,
title = "Agile methods for open source safety-critical software",
abstract = "The introduction of software technology in a life-dependent environment requires the development team to execute a process that ensures a high level of software reliability and correctness. Despite their popularity, agile methods are generally assumed to be inappropriate as a process family in these environments due to their lack of emphasis on documentation, traceability, and other formal techniques. Agile methods, notably Scrum, favor empirical process control, or small constant adjustments in a tight feedback loop. This paper challenges the assumption that agile methods are inappropriate for safety-critical software development. Agile methods are flexible enough to encourage the right amount of ceremony; therefore if safety-critical systems require greater emphasis on activities, such as formal specification and requirements management, then an agile process will include these as necessary activities. Furthermore, agile methods focus more on continuous process management and code-level quality than classic software engineering process models. We present our experiences on the image-guided surgical toolkit (IGSTK) project as a backdrop. IGSTK is an open source software project employing agile practices since 2004. We started with the assumption that a lighter process is better, focused on evolving code, and only adding process elements as the need arose. IGSTK has been adopted by teaching hospitals and research labs, and used for clinical trials. Agile methods have matured since the academic community suggested almost a decade ago that they were not suitable for safety-critical systems; we present our experiences as a case study for renewing the discussion.",
keywords = "agile methods, open source, safety, software process",
author = "Kevin Gary and Andinet Enquobahrie and Luis Ibanez and Patrick Cheng and Ziv Yaniv and Kevin Cleary and Shylaja Kokoori and Benjamin Muffih and John Heidenreich",
year = "2011",
month = "8",
doi = "10.1002/spe.1075",
language = "English (US)",
volume = "41",
pages = "945--962",
journal = "Software - Practice and Experience",
issn = "0038-0644",
publisher = "John Wiley and Sons Ltd",
number = "9",

}

TY - JOUR

T1 - Agile methods for open source safety-critical software

AU - Gary, Kevin

AU - Enquobahrie, Andinet

AU - Ibanez, Luis

AU - Cheng, Patrick

AU - Yaniv, Ziv

AU - Cleary, Kevin

AU - Kokoori, Shylaja

AU - Muffih, Benjamin

AU - Heidenreich, John

PY - 2011/8

Y1 - 2011/8

N2 - The introduction of software technology in a life-dependent environment requires the development team to execute a process that ensures a high level of software reliability and correctness. Despite their popularity, agile methods are generally assumed to be inappropriate as a process family in these environments due to their lack of emphasis on documentation, traceability, and other formal techniques. Agile methods, notably Scrum, favor empirical process control, or small constant adjustments in a tight feedback loop. This paper challenges the assumption that agile methods are inappropriate for safety-critical software development. Agile methods are flexible enough to encourage the right amount of ceremony; therefore if safety-critical systems require greater emphasis on activities, such as formal specification and requirements management, then an agile process will include these as necessary activities. Furthermore, agile methods focus more on continuous process management and code-level quality than classic software engineering process models. We present our experiences on the image-guided surgical toolkit (IGSTK) project as a backdrop. IGSTK is an open source software project employing agile practices since 2004. We started with the assumption that a lighter process is better, focused on evolving code, and only adding process elements as the need arose. IGSTK has been adopted by teaching hospitals and research labs, and used for clinical trials. Agile methods have matured since the academic community suggested almost a decade ago that they were not suitable for safety-critical systems; we present our experiences as a case study for renewing the discussion.

AB - The introduction of software technology in a life-dependent environment requires the development team to execute a process that ensures a high level of software reliability and correctness. Despite their popularity, agile methods are generally assumed to be inappropriate as a process family in these environments due to their lack of emphasis on documentation, traceability, and other formal techniques. Agile methods, notably Scrum, favor empirical process control, or small constant adjustments in a tight feedback loop. This paper challenges the assumption that agile methods are inappropriate for safety-critical software development. Agile methods are flexible enough to encourage the right amount of ceremony; therefore if safety-critical systems require greater emphasis on activities, such as formal specification and requirements management, then an agile process will include these as necessary activities. Furthermore, agile methods focus more on continuous process management and code-level quality than classic software engineering process models. We present our experiences on the image-guided surgical toolkit (IGSTK) project as a backdrop. IGSTK is an open source software project employing agile practices since 2004. We started with the assumption that a lighter process is better, focused on evolving code, and only adding process elements as the need arose. IGSTK has been adopted by teaching hospitals and research labs, and used for clinical trials. Agile methods have matured since the academic community suggested almost a decade ago that they were not suitable for safety-critical systems; we present our experiences as a case study for renewing the discussion.

KW - agile methods

KW - open source

KW - safety

KW - software process

UR - http://www.scopus.com/inward/record.url?scp=79960129411&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=79960129411&partnerID=8YFLogxK

U2 - 10.1002/spe.1075

DO - 10.1002/spe.1075

M3 - Article

AN - SCOPUS:79960129411

VL - 41

SP - 945

EP - 962

JO - Software - Practice and Experience

JF - Software - Practice and Experience

SN - 0038-0644

IS - 9

ER -