This document describes the Application Development, Release, and Deployment Management Standard Operating Procedure for the National Biomedical Imaging Archive (NBIA), and includes the following sections.

Description

The NBIA Application, Releaseand Deployment Management is the process responsible for planning, scheduling, and controlling the development, build, testing, and deploying application releases. This procedure ensures that the software development team delivers new and enhanced information technologies required by NCI and its collaborators while protecting the integrity of existing services. With the risk-based approach, a project team assesses the risk of the application release to guide the testing and deployment efforts. The risk level assessment should be based on the probability and severity of the likely occurrence of security vulnerabilities, issues with regulatory compliance, the complexity level of the release, and functional and non-functional quality impact of the application.

Objectives

Actors

  1. Project Sponsor (PS) –Business owner of the project. Responsible for the requirements of the project.
  2. Technical project manager (TPM) – Project manager for the development effort
  3. Development team (DEV)
  4. Quality Assurance team (QA)
  5. Systems Team Representative (STR) – Members of the Systems Team responsible for provisioning DEV, QA, Stage, and Production tiers
  6. Security Representative (SR) – Member of the Security Team and responsible for performing security application scans

Standard Operating Procedure

  1. The project sponsor proposes a new release.
  2. The TPM works with the key project stakeholders to determine the project needs and the content of the release.
  3. The DEV team tracks all feature requests and bug fixes in an issue tracking system e.g. JIRA.
  4. The DEV team develops the release. Depending on the complexity of the release, the DEV team under the guidance of the technical lead decides to create milestone releases before creating the final release tag.
  5. The DEV team deploys the software on the DEV tier.
  6. The DEV team completes development testing on the DEV tier.
  7. The milestone and/or final release tags are sent to the QA team for verification.
  8. QA tier
  9. Stage tier deployment
  10. Production tier deployment
  11. The TPM ensures all required documentation and artifacts related to the release exist.
  12. The PS informs the stakeholders and user community of the release as needed.