Forrester: 7 Steps for Effective DevOps

Posted on Sep 1, 2016

Diego Lo Guidice's Continuous Delivery Conference keynote:

"I think are 7 things you need to do to get your organization on track towards an effective DevOps process. The order might change, but the key requirements are:

1. Automate environment management

You have to automate environment management. You simply can't have development teams waiting 2-3 weeks—or even one day—to get access to a complete test environment. It should be available instantly (e.g., using cloud) and it should even be self-service. At leading organizations, DevTest team members can spin up environments whenever they need them and use them to complete the work at hand. Each test environment is destroyed as soon as it's no longer needed.

2. Integrate continuously

As I've said before, there are many advantages to integrating continuously. However, from the business perspective, I'd have to say that quality is the most important one. I believe that continuous integration is really critical for maintaining high quality and allowing you to respond to things much faster.

3. Automate testing with APIs

You have to increase automation. Tools are important, and there are plenty of them out there. However, I think the most important thing is having an architectural approach to automation. You need to go beyond the user interface, do more API testing, and be much more structured. Your automation code should be developed like your application code—it should be traceable, bug-free, and efficient.

4. Make data-driven release decisions

The SDLC produces a lot of data. All the different tools generate data and metadata. We're starting to see how advanced analytics tools can make highly-intelligent correlations, pulling out interesting data and that we can use to decide what to test next or determine if we're ready to release/deploy.


5. Reduce the size of releases

Smaller batches are much easier to manage and deploy than large releases. It simplifies a lot, enabling you to deliver faster and with less risk.

6. Eliminate hand offs and wait time

Based on my research and discussions with clients, it's clear that hand offs and wait times are the biggest wastes in the software delivery process.

7. Establish an effective feedback loop

An effective feedback loop is crucial because your best feedback comes from the end-users who have actual hands-on experience with your applications. Yes, your business analysts do a good job helping you with that, but it's your users who will give you the best feedback on what needs to change and what you should focus on."

More Continuous Delivery Keynote Excerpts

Want to learn more from Diego Lo Guidice's Continuous Delivery Conference keynote? Check out these earlier blogs and videos: