How ING Increased Software Deployments to Twice a Day
During a recent webinar , ING's IT Manager Andreas (A.J.) Prins, met online with Andrew Phillips, VP of DevOps Strategy at XebiaLabs to discuss the strategies ING used to build, improve, and maximize their continuous delivery pipeline.
ING was able to rebuild their continuous delivery pipeline, reducing their release times from 6 weeks to 34 minutes. Prins stressed, “Continuous delivery will never be the ‘goal,’ it is just part of delivering software”. Continuous delivery has one true purpose: delivering value, to either the business or the customer. Once your organization has decided it wants to make the most out of its continuous delivery pipeline, you need to ask yourselves, “how much time do we want to commit to improving our pipeline so that it meets organizational goals”.
“Continuous delivery will never be the ‘goal,’ it is just part of delivering software.” - A.J. Prins
Identify Bottlenecks and Release More QuicklyMap out your continuous delivery pipeline and measure how long each process takes. For example, your testing stage may require 15 minutes, while all of the other stages in your continuous delivery pipeline combined don’t even take half as long. Once you have identified your bottleneck, you should “decide to make that a focus point and explore how to cut it down,” says Prins.
Factors for Success
- Take time to improve processes; you have to be willing to invest the time. “10-20% of your backlog for improvement,” says Prins.
- Take small steps and improve;“automate everything 100%, then move to the next phase. Do it step by step,” proclaimed Prins.
- Continuous delivery is a team effort; everybody involved needs to understand how continuous delivery adds value.
- Visibility of the pipeline; allows for analysis and continued improvement. Prins and his team at ING used XL Release to orchestrate their continuous delivery pipeline.
Strong PrinciplesPrins and his team lived by the following principles in order to build their pipeline and reduce their release cycle from 6 weeks to 34 minutes:
- We Focus on customer value; where some businesses may focus on adding business value instead.
- We Work Agile; Appliance of principles described in the Agile Manifesto.
- Automate as much as possible
- We continuously improve; a necessary mindset in order to compete in IT. In today's day and age, this is "the most important because it affects everything," says Prins.
- Continuous Delivery is part of the product; CD will never be the goal, it is just part of delivering software. "Think of a car's engine. You need the engine to run the car, but it is the driver who gets the car from point A to point B".
- Have a target release date. Setting a specific yet challenging release date will push your team and bring about improvements to your software delivery process.
- Be flexible. Don’t plan on a daily basis. Target and actual release dates will sometimes change. This will help your team to adapt to different situations with greater agility.
- You can improve your pipeline simultaneously. Following DevOps practices should be a giant learning curve, but there are plenty of experiences you can learn from along the way that will help your team to grow more efficient.
What the ING Pipeline Looks Like Today
- Software (by team)
- Multiple deliveries per weeklong sprint
- Smaller increments
- Testing Software
- High quality
- Go Live
- Only one incident in 8 months
- Minutes to deploy
- Predictable results
- Security is Part of Development
- Deliver business value through this quality