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
SN - 0038-0644
VL - 41
SP - 945
EP - 962
JO - Software - Practice and Experience
JF - Software - Practice and Experience
IS - 9
ER -