The Five Tenets of Software Delivery Assurance
Aug 23, 2018
Delivery Assurance isn’t a new concept for companies developing and delivering software. The overarching goal - ensuring that new software is delivered on time and on quality, whilst maintaining the integrity of applications in production - has not changed. However due to increases in IT complexity, alongside higher expectations of agility and quality, the need for a more holistic approach to delivery assurance has never been greater.
Why Delivery Assurance
The goal of delivery assurance should be to identify quality related risks to a project and provide insight and recommendations for corrective action so that projects can respond in time without impacting delivery timeframes or compromising the integrity of production.
Delivery assurance tools provide delivery managers with a real-time, holistic view of delivery cadence, quality, and potential risk both across the software delivery process and also across the whole portfolio of initiatives being delivered. This visibility helps mitigate delivery risks for projects and across the portfolio as a whole.
The key to this visibility is to enforce a delivery pipeline with associated quality gates at each step of the delivery process. As the delivery assurance tool tracks gate completion, delivery assurance managers can see a real-time stream of project statuses that are informed by reliable input from integrated tools, developers, testers and managers at each stage of the IT delivery process.
Five tenets to drive Software Delivery Assurance
Are five tenets that create delivery assurance—the release plan, governance gates, the environment plan, quality assurance, and deployment management.
1. The Release Plan
Before any developer starts coding or creating builds, the Release Manager creates a plan for the course of the project.
The Release Manager bridges the gap between what business stakeholders need and what delivery teams are going to produce. The module compiles data for initial requests and release plans to help delivery assurance managers view all business requirement changes, see all impacted systems, and prepare to track the wide range of releases across the delivery portfolio.
The release plan includes the following capabilities:
Release Schedule
Release Scope
Release Phases
Impacted Application Matrix
2. Governance Gates
When delivery and DevOps teams aren’t disciplined, they can speed through continuous delivery and continuous integration processes by stepping over quality requirements. This might help meet deadlines, but eliminates any chance at delivery assurance. Governance gates help to protect the integrity of the production estate by ensuring that the correct path to production has been followed and that quality criteria have been met at each phase of the release.
3. The Environment Plan
As explained above, delivery managers with manual approaches often falter when it comes to understanding the availability and utilization of finite test environment resources. The Test Environment Manager module helps delivery teams to keep track of the quality, availability, and efficiency of pre-production environments across the entire portfolio of releases.
The Test Environment Manager module introduces capabilities that dictate environment.
Booking and Reserving Test Environments
Tracking Environment Change Requests
Managing Test Environment Contention
Environment Scheduling
Test Environment Configuration Tracking
4. Quality Assurance
This is where a single system of record is able to overcome the disorganization and confusion inherent to manual spreadsheet management of releases. Regardless of the test management tools and defect tracking solutions in use, have a tool that can soak up the information to inform the real-time view of project statuses.
Once coded and built, artifacts must pass certain quality gates before moving across delivery phases. For example, prior to user acceptance testing, artifacts must run through 100% of test cases and exhibit zero outstanding severity 1 and 2 defects.
5. Deployment Management
Deployment management encompasses deployment planning and coordination and provides the last stage of governance for delivery assurance.
In enterprise environments, deployments are much broader and more involved than simply installing and configuring software on a set of servers. Typically a deployment includes many prerequisite steps that may include documentation, training, planning as well as many executions and post validation actions that include both automated and manual steps that need to be coordinated.Deployment management helps ensure that every step of the deployment is planned and executed according to a defined schedule, resources, and dependencies.
By providing this level of rigor and by providing collaboration and real-time visibility during deployment, delivery assurance is provided across the whole delivery pipeline
Learn how to achieve Software Delivery Assurance reading our free white paper: “Achieving IT Delivery Assurance Through Effective Enterprise Release Management”. Get it now.
Download our free eBook
Mastering Software Delivery with Value Stream Management
Discover how to optimize your software delivery with our comprehensive eBook on Value Stream Management (VSM). Learn how top organizations streamline pipelines, enhance quality, and accelerate delivery.