There are three major types of value delivered by automated deployment.
-
Productivity improves as work that was done through slow manual processes is replaced with automation, and test
labs suffer fewer outages.
-
Reducing errors eliminates rework, wait times and the business impact of failures in production.
-
An automation system should record and broadcast what it does improving visibility and auditability.
Collapse your Cycle Time
Automated deployment may favorably affect development metrics during the development process. Production
errors may be captured as Defects. Test productivity is encouraged by the reduction of in
process (work) time during testing, and quicker updates avoid letting the application sit idle, which will
improve the queue (wait) time (see Queues in Time/Value Stream Metrics). The Test Execution Status will become robust by having more attempted
tests. Feature lead time will improve from a more reliable and efficient time to delivery.
Reduce risk of production outages
By using the same deployment process in lower environments that is used in production, the team effectively tests not
only their application, but also the deployment process. A deployment process may be executed dozens or hundreds of
times in test environments between production releases offering ample opportunity to catch occasional problems and
build robustness.
Greater test environment availability
Scenario: As changes arrive for test, new versions of the software must be deployed into the test environments. While
sluggish manual processes contribute to long outages during the deployment, the real trouble is when an error is made
leaving the application down. The environment becomes unavailable for testing until the deployment team is available
again to diagnose the error and correct it. Tester productivity is hampered significantly.
Introducing automated deployment of code, configuration and data into an environment reduces errors and frees the
deployment team to respond to incidents more quickly.
-
Automatically deploy and configure an application
-
Execute automated smoke tests to ensure that the application is basically healthy
-
Notify the testing team of the updated application
Deployments may be run in off-hours to further minimize impact. When these off-hours deployments are coupled with
automated regression testing and rollbacks, the testers can be confident that they will start the day with an
environment to test in and a very of the application to test that is not so broken as to block testing.
Faster Feedback through Self-Service
Scenario: Developers and testers may be blocked waiting for deployments to test environments slowing time to feedback
and increasing lost productivity from context switching and rework.
Once automated deployments have been configured, allow developers and testers access to deploy their applications into
lower environments. Developers will be able to see their changes running in a real environment more quickly. Testers
meanwhile will be able to respond to a bad build, but quickly rolling back to an earlier version. Both groups will be
able to stay on task more productively.
Together, these core benefits enable companies to deliver to market faster, improving business agility. Common release
bottlenecks are eliminated, while the cost and risk associated with production releases are dramatically reduced.
For more information, see ROI: The Value of Deployment Automation.
|