We selected 29 medical imaging projects from 48 candidates, assessed 10
software qualities by answering 108 questions for each software project, and
interviewed 8 of the 29 development teams. Based on the quantitative data, we
ranked the MI software with the Analytic Hierarchy Process (AHP). The four
top-ranked software products are 3D Slicer, ImageJ, Fiji, and OHIF Viewer.
Generally, MI software is in a healthy state as shown by the following: we
observed 88% of the documentation artifacts recommended by research software
development guidelines, 100% of MI projects use version control tools, and
developers appear to use the common quasi-agile research software development
process. However, the current state of the practice deviates from the existing
guidelines because of the rarity of some recommended artifacts, low usage of
continuous integration (17% of the projects), low use of unit testing (about
50% of projects), and room for improvement with documentation (six of nine
developers felt their documentation was not clear enough). From interviewing
the developers, we identified five pain points and two qualities of potential
concern: lack of development time, lack of funding, technology hurdles,
ensuring correctness, usability, maintainability, and reproducibility. The
interviewees proposed strategies to improve the state of the practice, to
address the identified pain points, and to improve software quality. Combining
their ideas with ours, we have the following list of recommendations: increase
documentation, increase testing by enriching datasets, increase continuous
integration usage, move to web applications, employ linters, use peer reviews,
design for change, add assurance cases, and incorporate a "Generate All Things"
approach.