Skip to main content

Identifying Agile Practices to Reduce Defects in Medical Device Software Development

  • Conference paper
  • First Online:
Systems, Software and Services Process Improvement (EuroSPI 2023)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Pashkov, V., Gutorova, N., Harkusha, A.: Medical device software: defining key terms. Wiadomości Lekarskie 69(6), 813–817 (2016)

    Google Scholar 

  2. IMDRF: “Software as a Medical Device”: Possible Framework for Risk Categorization and Corresponding Considerations 30 (2014)

    Google Scholar 

  3. 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

    Article  Google Scholar 

  4. Shroff, V., Reid, L., Richardson, I.: A Proposed Framework for Software Quality in the Healthcare and Medical Industry 8 (2011)

    Google Scholar 

  5. 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

    Article  Google Scholar 

  6. 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

  7. Knight, J.C., Wika, K.G.: Software safety in medical applications. Comput. Aided Surg. 1, 121–132 (2010). https://doi.org/10.3109/10929089509105686

    Article  Google Scholar 

  8. 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

  9. Lee, I., et al.: High-confidence medical device software and systems. Computer 39, 33–38 (2006). https://doi.org/10.1109/MC.2006.127

    Article  Google Scholar 

  10. 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

    Article  Google Scholar 

  11. 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

    Article  Google Scholar 

  12. FDA, C. for D. and R.: Digital Health Criteria. FDA. (2020)

    Google Scholar 

  13. Sedgwick Brand Protection: State of the Nation 2022 Recall Index Report (2022)

    Google Scholar 

  14. Sedgwick Brand Protection: EU State of the nation 2022 recall index report (2022)

    Google Scholar 

  15. 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

  16. 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

  17. Boehm, B., Basili, V.R.: Software defect reduction top 10 list. Computer 34, 135–137 (2001). https://doi.org/10.1109/2.962984

    Article  Google Scholar 

  18. Kosti, M.D.: Challenges of agile practices implementation in the medical device software development methodologies. Eur. Proj. Manage. J. 7, 9 (2017)

    Google Scholar 

  19. 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

    Article  Google Scholar 

  20. 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)

  21. 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

    Article  Google Scholar 

  22. ANSI/AAMI: ANSI/AAMI SW91: 2018 Classification of Defects in Health Software (2018)

    Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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

  25. 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

  26. 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

    Article  Google Scholar 

  27. Diebold, P.: ACAPI - Agile Capability Analysis and Process Improvement in Highly Regulated Environments. Kaiserslautern (2013)

    Google Scholar 

  28. Ibrahim, N.: An overview of agile software development methodology and its relevance to software engineering. Jurnal Sistem Informasi 2, 12 (2007)

    Google Scholar 

  29. Abrahamsson, P., Salo, O., Ronkainen, J.: Agile software development methods: review and analysis 112 (2002)

    Google Scholar 

  30. 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

    Article  Google Scholar 

  31. 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

    Chapter  Google Scholar 

  32. Myklebust, T., Stålhane, T., Hanssen, G.: Use of agile practices when developing safety-critical software. Presented at the August 9 (2016)

    Google Scholar 

  33. 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

    Chapter  Google Scholar 

  34. McHugh, M., McCaffery, F., Casey, V., Pikkarainen, M.: Integrating Agile Practices with a Medical Device Software Development Lifecycle (2012)

    Google Scholar 

  35. Ö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

    Article  Google Scholar 

  36. 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

  37. 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

  38. Digital.ai Agility: 16th Annual State of Agile Report (2022)

    Google Scholar 

  39. 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

    Article  Google Scholar 

  40. Myklebust, T., Lyngby, N., Stålhane, T.: Agile practices when developing safety systems. Los Angel. (2018)

    Google Scholar 

  41. 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

  42. Haynes, S.R., Friedenberg, M.: Best Practices in Agile Software Development (2006)

    Google Scholar 

  43. 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

    Article  Google Scholar 

  44. 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

    Article  Google Scholar 

  45. 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

  46. 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

    Chapter  Google Scholar 

  47. 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

    Article  Google Scholar 

  48. 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

  49. Ł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

  50. 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

  51. Ambler, S.W.: Agile Model Driven Development (AMDD) (2007)

    Google Scholar 

  52. 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

    Article  Google Scholar 

  53. 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

    Article  Google Scholar 

  54. 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

  55. Chong, J., Plummer, R., Leifer, L., Klemmer, S.R., Eris, O., Toye, G.: Pair programming: when and why it works. 6 (2005)

    Google Scholar 

  56. 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

    Article  Google Scholar 

  57. 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

    Article  Google Scholar 

  58. 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

    Article  Google Scholar 

  59. 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)

    Article  Google Scholar 

  60. 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

    Article  Google Scholar 

  61. Nosek, J.T.: The case for collaborative programming. Commun. ACM. 41, 105–108 (1998). https://doi.org/10.1145/272287.272333

    Article  Google Scholar 

  62. Ciolkowski, M., Schlemmer, M.: Experiences with a Case Study on Pair Programming. 7 (2002)

    Google Scholar 

  63. 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

    Article  Google Scholar 

  64. 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

  65. 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

    Chapter  Google Scholar 

  66. 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)

    Article  Google Scholar 

  67. Jensen, R.: A pair programming experience. undefined (2003)

    Google Scholar 

  68. 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

  69. 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

  70. 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

  71. 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

    Article  Google Scholar 

  72. 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

  73. 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

  74. 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

    Article  Google Scholar 

  75. 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

    Article  Google Scholar 

  76. 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

  77. Padmanabhuni, V.V.K., Tadiparthi, H.P., Yanamadala, M., Madina, S.: Effective pair programming practice- an experimental study 3, 9 (2012)

    Google Scholar 

  78. 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

  79. 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

    Chapter  Google Scholar 

  80. 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

    Article  Google Scholar 

  81. 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

    Article  Google Scholar 

  82. 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

    Article  Google Scholar 

  83. Miller, R.W., Collins, C.T.: Acceptance Testing (2002)

    Google Scholar 

  84. 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

    Chapter  Google Scholar 

  85. 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

    Article  Google Scholar 

  86. 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

  87. Duka, D.: Agile Experiences in Software Development 6 (2012)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Misheck Nyirenda .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics