Skip to content

Maintenance Model

jwildfire edited this page Oct 28, 2020 · 1 revision

Maintenance Model

Overview

Our group is committed to creating tools that are free and open-source. All work is done by volunteers and shared on GitHub. We are working to create a sustainable framework for long-term maintenance of our tools. An initial discussion of several key issues is provided below.

Software Maintenance

Community-maintained code can have much lower maintenance costs than in-house developed software. If a business is considering developing in-house software tools, they become the sole maintainers of it. But, if they can find other organizations that have the same problem, they can pool their resources to develop the code as an open source project.

Maintenance Types

The three types of maintenance – corrective, adaptive, and perfective maintenance. Adaptive maintenance is the addition of new functionalities, features, and capabilities to existing software, to take advantage of new technology, upgrades, new requirements, or new problems. The goal is to adapt the software to changing user needs, technologies, or computing environments. Corrective maintenance seeks to remove software defects that can result from design errors, logic errors, or coding errors. Perfective maintenance involves enhancing software performance without changing functionality by improving the system's efficiency, reliability, security, usability, or maintainability, often in response to user or system personnel requests.

The time taken to perform enhancive (adaptive and perfective) maintenance decreases as the degree of open responsibility increases, while the time taken for corrective maintenance decreases as the degree of delegated responsibility increases.

Validation

The initial release of the tools are not validated and are intended for exploratory use only. We are certainly willing to consider validated versions of the tools in the future, and have team members closely involved with the R Validation Hub effort that establishing a general framework for R package validation in pharma.