The Marriage of Agile and DevOps: Sweetspot

DevOps Agile Marriage

CA sponsored study finds that Companies able to successfully implement both Agile and DevOps all across their organisation see numerous benefits according to the executives in the survey. Advanced Agile users are able to act on important decisions sooner than those new to the methodology.

As an example advanced Scrum methodologies include becoming expert in the following:

  • Project Initiation (Sprint zero)
  • Agile Enterprise Architecture
  • Staying on top of product and feature Backlogs but not going too far
  • Advanced Estimation and Measurement techniques
  • Learning from the Burndown/ Burnup Chart and Release Burndowns/ Burnup
  • How to plan Agile with Fixed Constraints (Cost, Time, Scope) especially for regulatory projects
  • Advancing the Iteration Planning Process
  • Getting Peer reviewing to work effectively
  • Advancing and educating the organisation on feature delivery versus projects
  • Moving from TDD to BDD then to ADD then to Specification by Example taking the Analysts with them.
  • Using the Retrospective as an effective metric for team learning
  • ….

More recently we’ve seen more organisations who thought they were already ‘Agile’ because they were doing this or that to a reasonable degree. It was only later in our engagement where they could see that there was a lot more depth of valuable treasures that needed extracting than from what appeared on the surface in applying or scaling some of the frameworks or methodologies they were using.

Agile has won the software delivery wars now the maturity to do it well will drive and differentiate success. By the way, this does not stop our social media being filled with a plethora of articles on Agile’s untimely death, or the need for developing more successful alternatives that are derivatives just to be able to sell a distinguishing brand. Agile is about principles and a mindset and that mindset says we will continue to discover better ways of doing things to deliver value (italics my addition). I for one, think the Agile Manifesto does not need changing and that when those principles and mindset is continually adopted value is derived and that it is still in its productive years.

For that reason and knowing the history of DevOps having come from it’s founder’s frustration with Developers and System Administrators conflicts with each other and how they needed to work together in “Agile infrastructure”. Patrick Debois recounts how DevOps got its name in an InfoQ video interview from April 2012, where he admitted that naming the movement was not as intentional as it might seem: “I picked ‘DevOpsDays’ as Dev and Ops working together because ‘Agile System Administration’ was too long,” he said. “There never was a grand plan for DevOps as a word.”

The findings of the above mentioned study show;

  • That while enterprises advanced in their use of DevOps implement ideas 42 percent faster than those companies not using DevOps.
  • That adding DevOps to an organisation already well-versed in Agile causes new business growth to increase by 63 percent compared to companies only doing Agile.
  • Operational efficiency also improves by 41 percent where Agile and DevOps are married up.

These last two conclusions from the study should be enough to convince most to combine Agile and DevOps instead of merely doing one or the other. A vast ‘maturity gap’ remains in organisations’ use of Agile and DevOps.

There are some key benefits of marrying a DevOps transformation with agile methods:

  • Delivering value early and often. In the diagram of the army knife below, if the numbers represent iterative releases to the objective of creating a valuable army knife, then at the end of each release we have a usable and valuable delivery. The user prioritises the next additional functional blade and this is then worked on and released

    Early Delivery of Value
    Early Delivery of Value
  • Defects detected earlier in the cycle. The focus on test driven development, on automated testing of needed scenarios alongside development and then at every promotion onto the next environment along up to production. It is far easier to correct issues while still in development phase then it is further along the production chain.
  • Collaboration with other end users of the system. Agile’s focus on collaborative development leads to more usable solutions that users feel has delivered useful functionality through many demonstrations of early deliveries of value.

The three ways or core principles of DevOps expressed in the book “The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win.” Are also compatible with the Agile manifesto.

Three Ways DevOps

  1. The first way is about the left-to right flow of work from Development to IT Operations.

Individuals and interactions over processes and tools

  1. The second way is about the constant flow of fast feedback from right-to-left at all stages of the value stream.

Working software over comprehensive documentation

  1. The third way is about creating a culture that fosters two things: continual experimentation, and understanding that repetition and practice is the prerequisite to mastery.

Customer collaboration over contract negotiation

Responding to change over following a plan

 

Our own experience in a few companies has been that as the technology department is embracing Scrum that very early on in that engagement there is a need for the Ops team to set up or improve quite a few supporting systems such as those mentioned below:

  • The incumbent code repository system – all but one of our engagements ended up moving to GIT
  • Improving or even setting up a continuous integration tool such as Jenkins, Bamboo or TeamCity
  • This is quickly followed with integrating the above with Cucumber, and or Selenium
  • The Dev team and the Ops find themselves having to work closer together, even more with the Agile push for early delivery of working software, requiring continuous delivery workflows etc… to be set up
  • By this time Ops has realised that the Agile teams need almost a constant engagement with their most technically advanced personnel and that they are on a fast learning curve – it’s not long before infrastructure as code is mentioned…..

The above was just a glimpse of the journey that an Agile transformation can lead to effective DevOps engagement that stems from strong needs and requirements. These changes bring about successful deliveries of value to now more engaged stakeholders which in turn drives greater openness for change and transformation in the enterprise at large.

I personally believe that the Agile manifesto, with a wider viewing angle to include systems and operations as well as working valuable software, applies well to successful DevOps implementations and to DevOps values. DevOps after all helps to bring understanding to Agile teams that a working valuable delivery is not done till it’s been successfully delivered to end users and met their expectations.

Related Posts

Leave a comment