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 rightamount of ceremony; therefore if safety-critical systems require greater emphasis on activities like 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 they are not suitable for safety-critical systems almost a decade ago, we present our experiences as a case study for renewing the discussion.
authors.affiliation: Department of Engineering, Arizona State University, Mesa, Arizona, 85212, USA.
authors.forename: Kevin
authors.initials: K
authors.lastname: Gary
authors.forename: Andinet
authors.initials: A
authors.lastname: Enquobahrie
authors.forename: Luis
authors.initials: L
authors.lastname: Ibanez
authors.forename: Patrick
authors.initials: P
authors.lastname: Cheng
authors.forename: Ziv
authors.initials: Z
authors.lastname: Yaniv
authors.forename: Kevin
authors.initials: K
authors.lastname: Cleary
authors.forename: Shylaja
authors.initials: S
authors.lastname: Kokoori
authors.forename: Benjamin
authors.initials: B
authors.lastname: Muffih
authors.forename: John
authors.initials: J
authors.lastname: Heidenreich