Skip to content

Software Development Life Cycle

Jason Francis edited this page Sep 7, 2021 · 1 revision

The Kumo Team uses a Scrumban agile approach for analyzing and prioritizing work. We use Continuous Integration/Continuous Deployment (CI/CD) for automatically testing and deploying new versions of Kumo.

Analysis

Based on input from stakeholders, developers, and system administrators determine if there are any on-going or upcoming issues that require changes. If changes are needed clearly establish what the desired results are.

Plan & Design

Based on the analysis any needed changes will be evaluated by the Kumo team to determine the general approach to implement these changes. The approach will then be converted into discrete work items, “stories,” and be added to the backlog of work to be completed in upcoming sprints.

For new features stakeholders will be further consulted to ensure the planned solution addresses the issues in a way that satisfies their requirements. That said, Kumo is a stable project, and very rarely takes on new features at this stage.

Development

The stories are assigned to a sprint, and developers begin implementing them on branches in our Git version control system. Whenever possible we use Test Driven Development in unit and integration tests that evaluate if the desired behavior is occurring.

As stories are completed the team reviews the work on the story's branch, and they are merged into a release.

CI/CD

All git commits to feature and release branches are automatically built, tested, and deployed to the staging environment using Azure DevOps Pipelines. Once the staging environment has been updated the Kumo team works with stakeholders to ensure the issue has been resolved satisfactorily.

After any feedback from the stakeholders has been addressed a new release and version number will be created, and Azure DevOps Pipelines will build, test, and deploy the release to the production environment.

In the rare case of server changes that would cause the current version of the Kumo Client to stop working all stakeholders will be notified of the scheduled changes and instructed which version of the Kumo Client to download and install for uninterrupted service.

Lather, rinse, repeat.