Abstract
Medical Device Software (MDS) defects have caused death of patients and continue to be the major cause of recalls of medical devices in the US and Europe. Despite various approaches proposed to address defects, dealing with defects in MDS is an increasingly difficult task as MDS has become more complex to support a growing number of functions. To increase quality in any software development project, it is essential that defects are identified and addressed quickly in the early stages of the software development life cycle. Agile methods have been advocated to increase software quality by minimising defects through their agile practices. However, agile methods on their own are deficient in satisfying the regulatory requirements for the MDS domain. Instead, the common approach is to integrate agile practices into the plan driven methods. Consequently, frameworks have been developed to help developers in the MDS domain to accrue the benefits of agile development while fulfilling regulatory requirements. Despite the adoption of agile practices in MDS development, it is still unclear as to which agile practice(s) is effective and how it is applied to address MDS defects. The purpose of this research is to identify agile practices that can assist in addressing defects in MDS development. This will help MDS developers to select the appropriate agile practice(s) to address defects.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Pashkov, V., Gutorova, N., Harkusha, A.: Medical device software: defining key terms. Wiadomości Lekarskie 69(6), 813–817 (2016)
IMDRF: “Software as a Medical Device”: Possible Framework for Risk Categorization and Corresponding Considerations 30 (2014)
Ronquillo, J.G., Zuckerman, D.M.: Software-related recalls of health information technology and other medical devices: implications for FDA regulation of digital health. Milbank Q. 95, 535–553 (2017). https://doi.org/10.1111/1468-0009.12278
Shroff, V., Reid, L., Richardson, I.: A Proposed Framework for Software Quality in the Healthcare and Medical Industry 8 (2011)
Alemzadeh, H., Iyer, R.K., Kalbarczyk, Z., Raman, J.: Analysis of safety-critical computer failures in medical devices. IEEE Secur. Priv. 11, 14–26 (2013). https://doi.org/10.1109/MSP.2013.49
Mili, A., Cukic, B., Xia, T., Ben Ayed, R.: Combining fault avoidance, fault removal and fault tolerance: an integrated model. In: 14th IEEE International Conference on Automated Software Engineering, pp. 137–146. IEEE Comput. Soc, Cocoa Beach, FL, USA (1999). https://doi.org/10.1109/ASE.1999.802168
Knight, J.C., Wika, K.G.: Software safety in medical applications. Comput. Aided Surg. 1, 121–132 (2010). https://doi.org/10.3109/10929089509105686
Wallace, D., Kuhn, D.: Failure modes in medical device software: an analysis of 15 years of recall data. Int. J. Reliab. Qual. Saf. Eng. 8, (2002). https://doi.org/10.1142/S021853930100058X
Lee, I., et al.: High-confidence medical device software and systems. Computer 39, 33–38 (2006). https://doi.org/10.1109/MC.2006.127
Pashkov, V., Harkusha, A.: Stand-alone software as a medical device: qualification and liability issues. Wiad. Lek. Wars. Pol. 1960 73, 2282 (2020). https://doi.org/10.36740/WLek202010134
Gordon, W., Stern, A.D.: Challenges and opportunities in software-driven medical devices. Nat. Biomed. Eng. 3, 493–497 (2019). https://doi.org/10.1038/s41551-019-0426-z
FDA, C. for D. and R.: Digital Health Criteria. FDA. (2020)
Sedgwick Brand Protection: State of the Nation 2022 Recall Index Report (2022)
Sedgwick Brand Protection: EU State of the nation 2022 recall index report (2022)
Fu, Z., Guo, C., Zhang, Z., Ren, S., Jiang, Y., Sha, L.: Study of software-related causes in the FDA medical device recalls. In: 2017 22nd International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 60–69 (2017). https://doi.org/10.1109/ICECCS.2017.20
Bliznakov, Z., Stavrianou, K., Pallikarakis, N.: Medical devices recalls analysis focusing on software failures during the last decade. In: Roa Romero, L.M. (ed.) XIII Mediterranean Conference on Medical and Biological Engineering and Computing 2013. pp. 1174–1177. Springer International Publishing, Cham (2014). https://doi.org/10.1007/978-3-319-00846-2_291
Boehm, B., Basili, V.R.: Software defect reduction top 10 list. Computer 34, 135–137 (2001). https://doi.org/10.1109/2.962984
Kosti, M.D.: Challenges of agile practices implementation in the medical device software development methodologies. Eur. Proj. Manage. J. 7, 9 (2017)
McHugh, M., McCaffery, F., Coady, G.: Adopting agile practices when developing medical device software. Comput. Eng. Inf. Technol. 04, 14 (2015). https://doi.org/10.4172/2324-9307.1000131
ISO: IEC 62304:2006(en), Medical device software — Software life cycle processes, https://www.iso.org/obp/ui/#iso:std:iec:62304:ed-1:v1:en (2006)
Rajaram, H.K., Loane, J., MacMahon, S.T., Mc Caffery, F.: Taxonomy-based testing and validation of a new defect classification for health software. J. Softw. Evol. Process. 31, e1985 (2019). https://doi.org/10.1002/smr.1985
ANSI/AAMI: ANSI/AAMI SW91: 2018 Classification of Defects in Health Software (2018)
Noor, R., Fahad Khan, M.: Defect management in agile software development. Int. J. Mod. Educ. Comput. Sci. 6, 55–60 (2014). https://doi.org/10.5815/ijmecs.2014.03.07
Abdelaziz, A.A., El-Tahir, Y., Osman, R.: Adaptive software development for developing safety critical software. In: 2015 International Conference on Computing, Control, Networking, Electronics and Embedded Systems Engineering (ICCNEEE), pp. 41–46. IEEE, Khartoum, Sudan (2015). https://doi.org/10.1109/ICCNEEE.2015.7381425
Beecham, S., Noll, J., Richardson, I.: Using agile practices to solve global software development problems -- a case study. In: 2014 IEEE International Conference on Global Software Engineeering Workshops, pp. 5–10. IEEE, Shanghai, China (2014). https://doi.org/10.1109/ICGSEW.2014.7
Turk, D., Robert, F., Rumpe, B.: Assumptions underlying agile software-development processes. J. Database Manag. 16, 62–87 (2005). https://doi.org/10.4018/jdm.2005100104
Diebold, P.: ACAPI - Agile Capability Analysis and Process Improvement in Highly Regulated Environments. Kaiserslautern (2013)
Ibrahim, N.: An overview of agile software development methodology and its relevance to software engineering. Jurnal Sistem Informasi 2, 12 (2007)
Abrahamsson, P., Salo, O., Ronkainen, J.: Agile software development methods: review and analysis 112 (2002)
Tripp, J.F., Armstrong, D.J.: Agile methodologies: organizational adoption motives, tailoring, and performance. J. Comput. Inf. Syst. 58, 170–179 (2018). https://doi.org/10.1080/08874417.2016.1220240
McHugh, M., McCaffery, F., Fitzgerald, B., Stol, K.-J., Casey, V., Coady, G.: Balancing agility and discipline in a medical device software organisation. In: Woronowicz, T., Rout, T., O’Connor, R.V., Dorling, A. (eds.) SPICE 2013. CCIS, vol. 349, pp. 199–210. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38833-0_18
Myklebust, T., Stålhane, T., Hanssen, G.: Use of agile practices when developing safety-critical software. Presented at the August 9 (2016)
McHugh, M., McCaffery, F., Casey, V.: Barriers to adopting agile practices when developing medical device software. In: Mas, A., Mesquida, A., Rout, T., O’Connor, R.V., Dorling, A. (eds.) SPICE 2012. CCIS, vol. 290, pp. 141–147. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-30439-2_13
McHugh, M., McCaffery, F., Casey, V., Pikkarainen, M.: Integrating Agile Practices with a Medical Device Software Development Lifecycle (2012)
Özcan-Top, Ö., McCaffery, F.: A hybrid assessment approach for medical device software development companies. J. Softw. Evol. Process. 30, e1929 (2018). https://doi.org/10.1002/smr.1929
McHugh, M., Cawley, O., McCaffcry, F., Richardson, I., Wang, X.: An agile V-model for medical device software development to overcome the challenges with plan-driven software development lifecycles. In: 2013 5th International Workshop on Software Engineering in Health Care (SEHC), pp. 12–19 (2013). https://doi.org/10.1109/SEHC.2013.6602471
Rasmussen, R., Hughes, T., Jenks, J.R., Skach, J.: Adopting agile in an FDA regulated environment. In: 2009 Agile Conference, pp. 151–155 (2009). https://doi.org/10.1109/AGILE.2009.50
Digital.ai Agility: 16th Annual State of Agile Report (2022)
de Azevedo Santos, M., de Souza Bermejo, P.H., de Oliveira, M.S., Tonelli, A.O., Seidel, E.J.: Improving the management of cost and scope in software projects using agile practices. Int. J. Comput. Sci. Inf. Technol. 5, 47–64 (2013). https://doi.org/10.5121/ijcsit.2013.5104
Myklebust, T., Lyngby, N., Stålhane, T.: Agile practices when developing safety systems. Los Angel. (2018)
Diebold, P., Dahlem, M.: Agile practices in practice: a mapping study. In: Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, pp. 1–10. ACM, London England United Kingdom (2014). https://doi.org/10.1145/2601248.2601254
Haynes, S.R., Friedenberg, M.: Best Practices in Agile Software Development (2006)
Jain, R., Suman, U.: Effectiveness of agile practices in global software development. Int. J. Grid Distrib. Comput. 9, 231–248 (2016). https://doi.org/10.14257/ijgdc.2016.9.10.21
Kannan, V., et al.: User stories as lightweight requirements for agile clinical decision support development. J. Am. Med. Inform. Assoc. 26, 1344–1354 (2019). https://doi.org/10.1093/jamia/ocz123
AAMI: AAMI TIR45: 2012; Guidance on the use of agile practices in the development of medical device software, (2012). https://webstore.ansi.org/standards/aami/aamitir452012r2018
McHugh, M., McCaffery, F., Coady, G.: An agile implementation within a medical device software organisation. In: Mitasiunas, A., Rout, T., O’Connor, R.V., Dorling, A. (eds.) SPICE 2014. CCIS, vol. 477, pp. 190–201. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-13036-1_17
Heeager, L.T., Nielsen, P.A.: Meshing agile and plan-driven development in safety-critical software: a case study. Empir. Softw. Eng. 25(2), 1035–1062 (2020). https://doi.org/10.1007/s10664-020-09804-z
Badanahatti, A., Pillutla, S.: Interleaving software craftsmanship practices in medical device agile development. In: Proceedings of the 13th Innovations in Software Engineering Conference on Formerly known as India Software Engineering Conference, pp. 1–5. Association for Computing Machinery, New York, NY, USA (2020). https://doi.org/10.1145/3385032.3385047
Łukasiewicz, K., Górski, J.: Introducing agile practices into development processes of safety critical software. In: Proceedings of the 19th International Conference on Agile Software Development: Companion, pp. 1–8. ACM, Porto Portugal (2018). https://doi.org/10.1145/3234152.3234174
Fitzgerald, B., Stol, K.-J., O’Sullivan, R., O’Brien, D.: Scaling agile methods to regulated environments: an industry case study. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 863–872. IEEE, San Francisco, CA, USA (2013). https://doi.org/10.1109/ICSE.2013.6606635
Ambler, S.W.: Agile Model Driven Development (AMDD) (2007)
Alshazly, A.A., Elfatatry, A.M., Abougabal, M.S.: Detecting defects in software requirements specification. Alex. Eng. J. 53, 513–527 (2014). https://doi.org/10.1016/j.aej.2014.06.001
Bryant, S., Romero, P., du Boulay, B.: Pair programming and the mysterious role of the navigator. Int. J. Hum.-Comput. Stud. 66, 519–529 (2008). https://doi.org/10.1016/j.ijhcs.2007.03.005
Hulkko, H., Abrahamsson, P.: A multiple case study on the impact of pair programming on product quality. In: Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005, pp. 495–504 (2005). https://doi.org/10.1109/ICSE.2005.1553595
Chong, J., Plummer, R., Leifer, L., Klemmer, S.R., Eris, O., Toye, G.: Pair programming: when and why it works. 6 (2005)
Vanhanen, J., Mäntylä, M.V.: A systematic mapping study of empirical studies on the use of pair programming in industry. Int. J. Softw. Eng. Knowl. Eng. 23, 1221–1267 (2013). https://doi.org/10.1142/S0218194013500381
Sobral, S.R.: Is pair programing in higher education a good strategy? Int. J. Inf. Educ. Technol. 10, 911–916 (2020). https://doi.org/10.18178/ijiet.2020.10.12.1478
Williams, L., Kessler, R.R., Cunningham, W., Jeffries, R.: Strengthening the case for pair programming. IEEE Softw. 17, 19–25 (2000). https://doi.org/10.1109/52.854064
Williams, L.A., Kessler, R.R.: Experiments with industry’s “Pair-Programming” model in the computer science classroom. Comput. Sci. Educ. 11(1), 7–20 (2001)
Arisholm, E., Gallis, H., Dyba, T., Sjoberg, D.I.K.: Evaluating pair programming with respect to system complexity and programmer expertise. IEEE Trans. Softw. Eng. 33, 65–86 (2007). https://doi.org/10.1109/TSE.2007.17
Nosek, J.T.: The case for collaborative programming. Commun. ACM. 41, 105–108 (1998). https://doi.org/10.1145/272287.272333
Ciolkowski, M., Schlemmer, M.: Experiences with a Case Study on Pair Programming. 7 (2002)
Dongo, T.A., Reed, A.H., O’Hara, M.T.: Exploring pair programming benefits for MIS majors. J. Inf. Technol. Educ.: Innovations Pract. 15, 223–239 (2016). https://doi.org/10.28945/3625
Vanhanen, J., Lassenius, C., Mantyla, M.V.: Issues and tactics when adopting pair programming: a longitudinal case study. In: International Conference on Software Engineering Advances (ICSEA 2007), p. 70. IEEE, Cap Esterel, France (2007). https://doi.org/10.1109/ICSEA.2007.48
Phaphoom, N., Sillitti, A., Succi, G.: Pair programming and software defects – an industrial case study. In: Sillitti, A., Hazzan, O., Bache, E., Albaladejo, X. (eds.) XP 2011. LNBIP, vol. 77, pp. 208–222. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-20677-1_15
di Bella, E., Fronza, I., Phaphoom, N., Sillitti, A., Succi, G., Vlasenko, J.: Pair programming and software defects–a large, industrial case study. IEEE Trans. Softw. Eng. 39, 24 (2013)
Jensen, R.: A pair programming experience. undefined (2003)
Vanhanen, J., Lassenius, C.: Perceived effects of pair programming in an industrial context. In: 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007), pp. 211–218. IEEE, Lubeck, Germany (2007). https://doi.org/10.1109/EUROMICRO.2007.47
Vanhanen, J., Korpi, H.: Experiences of using pair programming in an agile project. In: 2007 40th Annual Hawaii International Conference on System Sciences (HICSS’07). pp. 274b–274b (2007). https://doi.org/10.1109/HICSS.2007.218
Phongpaibul, M., Boehm, B.: A replicate empirical comparison between pair development and software development with inspection. In: First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007), pp. 265–274 (2007). https://doi.org/10.1109/ESEM.2007.33
Fagan, M.E.: Advances in software inspections. IEEE Trans. Softw. Eng. SE-12(7), 744–751 (1986). https://doi.org/10.1109/TSE.1986.6312976
Vanhanen, J., Lassenius, C.: Effects of pair programming at the development team level: an experiment. In: 2005 International Symposium on Empirical Software Engineering, 2005. p. 10 (2005). https://doi.org/10.1109/ISESE.2005.1541842
Sison, R.: Investigating the effect of pair programming and software size on software quality and programmer productivity. In: 2009 16th Asia-Pacific Software Engineering Conference, pp. 187–193. IEEE, Batu Ferringhi, Penang, Malaysia (2009). https://doi.org/10.1109/APSEC.2009.71
Tomayko, J.E.: A comparison of pair programming to inspections for software defect reduction. Comput. Sci. Educ. 12, 213–222 (2002). https://doi.org/10.1076/csed.12.3.213.8614
Balijepally, V., Mahapatra, R., Nerur, S., Price, K.H.: Are two heads better than one for software development? The productivity paradox of pair programming. MIS Q. 33, 91 (2009). https://doi.org/10.2307/20650280
Sison, R.: Investigating pair programming in a software engineering course in an asian setting. In: 2008 15th Asia-Pacific Software Engineering Conference, pp. 325–331. IEEE, Beijing, China (2008). https://doi.org/10.1109/APSEC.2008.61
Padmanabhuni, V.V.K., Tadiparthi, H.P., Yanamadala, M., Madina, S.: Effective pair programming practice- an experimental study 3, 9 (2012)
Phongpaibul, M., Boehm, B.: An empirical comparison between pair development and software inspection in Thailand. In: Proceedings of the 2006 ACM/IEEE international symposium on International symposium on empirical software engineering - ISESE ’06, p. 85. ACM Press, Rio de Janeiro, Brazil (2006). https://doi.org/10.1145/1159733.1159749
Winkler, D., Kitzler, M., Steindl, C., Biffl, S.: Investigating the impact of experience and solo/pair programming on coding efficiency: results and experiences from coding contests. In: Baumeister, H., Weber, B. (eds.) Agile Processes in Software Engineering and Extreme Programming: 14th International Conference, XP 2013, Vienna, Austria, June 3–7, 2013. Proceedings, pp. 106–120. Springer Berlin Heidelberg, Berlin, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38314-4_8
Madeyski, L.: Impact of pair programming on thoroughness and fault detection effectiveness of unit test suites. Softw. Process Improv. Pract. 13, 281–295 (2008). https://doi.org/10.1002/spip.382
Arcos-Medina, G., Mauricio, D.: The influence of the application of agile practices in software quality based on ISO/IEC 25010 standard. Int. J. Inf. Technol. Syst. Approach. 13, 27–53 (2020). https://doi.org/10.4018/IJITSA.2020070102
Pandit, P., Tahiliani, S.: AgileUAT: a framework for user acceptance testing based on user stories and acceptance criteria. Int. J. Comput. Appl. 120, 16–21 (2015). https://doi.org/10.5120/21262-3533
Miller, R.W., Collins, C.T.: Acceptance Testing (2002)
Scott, E., Tõemets, T., Pfahl, D.: An empirical study of user story quality and its impact on open source project performance. In: Winkler, D., Biffl, S., Mendez, D., Wimmer, M., Bergsmann, J. (eds.) SWQD 2021. LNBIP, vol. 404, pp. 119–138. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-65854-0_10
Lucassen, G., Dalpiaz, F., van der Werf, J.M.E.M., Brinkkemper, S.: Improving agile requirements: the quality user story framework and tool. Requirements Eng. 21(3), 383–403 (2016). https://doi.org/10.1007/s00766-016-0250-x
Jeeva Padmini, K.V., Perera, I., Dilum Bandara, H.M.N.: Applying agile practices to avoid chaos in user acceptance testing: a case study. In: 2016 Moratuwa Engineering Research Conference (MERCon), pp. 96–101. IEEE, Moratuwa, Sri Lanka (2016). https://doi.org/10.1109/MERCon.2016.7480122
Duka, D.: Agile Experiences in Software Development 6 (2012)
Acknowledgement
This research is funded through the HEA Landscape and Technological University Transformation Fund, co-funded by Dundalk Institute of Technology.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Nyirenda, M., Loughran, R., McHugh, M., Nugent, C., McCaffery, F. (2023). Identifying Agile Practices to Reduce Defects in Medical Device Software Development. In: Yilmaz, M., Clarke, P., Riel, A., Messnarz, R. (eds) Systems, Software and Services Process Improvement. EuroSPI 2023. Communications in Computer and Information Science, vol 1891. Springer, Cham. https://doi.org/10.1007/978-3-031-42310-9_5
Download citation
DOI: https://doi.org/10.1007/978-3-031-42310-9_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-42309-3
Online ISBN: 978-3-031-42310-9
eBook Packages: Computer ScienceComputer Science (R0)