Bombarda A, Bonfanti S, Galbiati C, Gargantini A, Pelliccione P, Riccobene E, Wada M. Guidelines for the development of a critical software under emergency.
INFORMATION AND SOFTWARE TECHNOLOGY 2022;
152:107061. [PMID:
36093290 PMCID:
PMC9439867 DOI:
10.1016/j.infsof.2022.107061]
[Citation(s) in RCA: 0] [Impact Index Per Article: 0] [Reference Citation Analysis] [Abstract] [Key Words] [Track Full Text] [Figures] [Subscribe] [Scholar Register] [Received: 04/14/2022] [Revised: 07/25/2022] [Accepted: 08/29/2022] [Indexed: 06/15/2023]
Abstract
CONTEXT
During the first wave of the COVID-19 pandemic, an international and heterogeneous team of scientists collaborated on a social project to produce a mechanical ventilator for intensive care units (MVM). MVM has been conceived to be produced and used also in poor countries: it is open-source, no patents, cheap, and can be produced with materials that are easy to retrieve.
OBJECTIVE
The objective of this work is to extract from the experience of the MVM development and software certification a set of lessons learned and then guidelines that can help developers to produce safety-critical devices in similar emergency situations.
METHOD
We conducted a case study. We had full access to source code, comments on code, change requests, test reports, every deliverable (60 in total) produced for the software certification (safety concepts, requirements specifications, architecture and design, testing activities, etc.), notes, whiteboard sketches, emails, etc. We validated both lessons learned and guidelines with experts.
FINDINGS
We contribute a set of validated lessons learned and a set of validated guidelines, together with a discussion of benefits and risks of each guideline.
CONCLUSION
In this work we share our experience in certifying software for healthcare devices produced under emergency, i.e. with strict and pressing time constraints and with the difficulty of establishing a heterogeneous development team made of volunteers. We believe that the guidelines will help engineers during the development of critical software under emergency.
Collapse