More and more enterprises are realizing that a streamlined Continuous Delivery pipeline is an integral part of extracting maximum business value from the DevOps movement. The potential benefits of rolling out more frequent software deployments are enormous, but speed, agility and innovation must be balanced with stability and quality. Refocusing everything on delivering customer value quickly is much easier said than done.
How do you overcome the challenges of implementing such a massive change in a large enterprise? How do you shift mindsets and find an effective strategy? Every business is different, but here are some practical tips to keep in mind that worked for ING Bank.
1. Simplify and streamline. Complexity is your enemy if you really want to be agile. If you can standardize products and build simple services, then it’s much easier to deliver quickly. Develop shared services that will work across different countries and portals. Always look for ways to simplify what you’re doing and streamline processes, starting with your IT landscape.
2. Start small. Don’t try to implement a full Continuous Delivery pipeline on day one. Start small and create the feedback loop you need in order to learn and improve. What is the minimal viable product for the business? What is the minimal viable product for IT? What needs to be in place for you to get started? It’s only by beginning with these small steps and getting feedback that you can work out the right direction to take.
3. Focus on adding value. Remove obstacles so that your engineers can work on developing software that really adds value for the end customer. Figure out where you can automate repetitive operations activities and testing. Keep compliance in mind from the outset. When changes are tested automatically, you can get really fast feedback that shows you the way to improve, keeping the focus firmly on adding value. Your Continuous Delivery pipeline is a means to an end, which is to deliver great software to the customer: Never lose sight of that end.
4. Build and maintain your pipeline. It’s important to remember that your Continuous Delivery pipeline is also software. You have to maintain it carefully. You need to upgrade swiftly, but be aware of compatibility challenges between tools. As you start with an automated build process and stir automated testing into the mix (followed by the QA process and automated deployment), the management becomes complex. You are building a system that should evolve and improve, not something that’s set in stone.
5. Orchestration and the big picture. You need a big picture view that allows you to orchestrate, identify issues in advance, and mitigate risks. If you can’t accurately analyze what’s going on inside your Continuous Delivery pipeline, then it’s hard to improve the development process. Release orchestration can give you the insight and control you need. Senior Analyst Amy DeMartine of Forrester Research recommends that companies automate the delivery pipeline to improve speed, flexibility, visibility and control. “Creating a standard delivery pipeline as a service removes variability from the delivery process, creating checkpoints where you can apply visibility and control. Visibility across the entire pipeline gives an easy and instant view of release health,” she said.
The same principle that prizes fast end-user feedback in agile methodology also applies here.
6. Continuous improvement. When you have all this data, you can use it to identify bottlenecks in your process and work out how to remove them. Visibility is also good for cohesion, encouraging the whole team to pull together around a shared goal. Where can you speed things up? What can be tweaked to reduce the cycle time without impacting software quality? You should always be looking for ways to streamline the release process, but understand that it takes an investment of time and effort to improve.
7. Prove and challenge. Compile evidence as you work to improve your software delivery process. It should be clear that each step you take provides some business benefit. Transparency makes it easier to audit and ensure compliance, but it also helps to secure a wider buy-in across your enterprise. Armed with evidence, you can challenge other departments or existing processes, such as manual reviews and approval steps, that may set barriers to even greater speed and efficiency.
These attitudes and principles will help you to focus on delivering the best software possible quickly, regardless of the apparatus you use. If you can propagate the right mindset within your enterprise, you’re firmly on the path to accelerated software delivery.
Click here for an SD Times webinar on how ING increased their deployments to twice per day.