[Importance and benefits of delivering small increments of value:
We learned about Automation in DevOps in our previous tutorial. Here, we will see more about Small increments of deliveries in DevOps.
It is already known that small deliveries are always easy to develop, build, deploy and monitor. Small deliveries are quite faster and take very less time to deploy and poses a lower risk of failure in the live environment. Even rollbacks and debugging are quite faster in case of any failures.
Also Read => DevOps Complete Training
Small deliveries of value to customers in DevOps is the key element which focuses on providing constant value to customers and hence increases customer satisfaction and keeps them cool and away from any surprises.
VIDEO Part 2 Block 4: Small Increments of Deliveries – 8 minutes
In this tutorial, we will understand the importance and benefits of delivering small increments of value.
Delivering small increments of value FREQUENTLY to customers is the key for agile and DevOps. This is what enables frequent deliveries so that the customer knows what’s being done on a daily basis and he enjoys the benefits of the effort spent for the day.
Let it be a single line of code that is changed in the entire system, this change needs to have the updates due to the impact of this change, everywhere i.e., automation scripts, deployment scripts, configurations in the infrastructure or any other module.
So, this small change of code and the resulting changes make a small incremental release in DevOps.
The benefit of delivering such a small change of single line of code or a small feature is that being it small in effort, making those changes, testing them in small chunks through an automated delivery pipeline makes it simple, easy and less error-prone and hence makes the entire delivery quite simpler, easier, faster and valuable.
Because it is easy to make a small change than building lots of code and making it complex as it is easy to build small changes, easy to test, easy to deploy and easy to debug.
Also, with the small deliveries, the team will have a better control on the changes and less possibility of errors or at least major errors will be avoided and hence the risk of failure in the production will be minimized.
‘Small changes will have less risk of failure in the upcoming tutorial.
Being smaller in size, it is easy to ship and takes very less time to deploy.
Also, being smaller in size, it is quite faster to ship and the effort required to push these small changes to the pipeline is also less. So the time taken to deploy is very less because of its less complexity.
Because the updates run through an automated pipeline, where coding, testing, deploying are completely automated. So, small deliveries are quicker and faster to deliver.
It is also quicker to get the feedback on the delivery, be it success or failure because the change runs through the entire testing and delivery cycle quite fast. As I said earlier, the time required to deliver these small increments are quite less in the order of a few minutes.
So, it is quite easy and quick to go back in case of failure and hence debugging the problem becomes easy and faster due to a smaller area of change, where there is a better control on the changes made and where the changes are made and by whom. So, small increments of delivery are quite faster to deliver and feedback is quite fast.
Another benefit of smaller delivery is that the team can have a feel of how this small change behaves in production, not just on dev, but even while deploying it on to production, because even if it is not working on live, it is quite easy to rollback, without any downtime or much impact.
You know that both dev and production environments are never the same and hence we can expect any kind of issues from production, which we don’t see in dev environment.
So, by deploying this small change on to the production, we will have a feel of software behavior in the live well in advance and the team will be more confident that it will work in production. This aspect definitely reduces the risk of software failure in the production.
This also boosts the confidence and motivates the team that they can deliver to the expectation of the customer.
Hope this tutorial was a much informative one!