July 1, 2017

DevOps wanted !

To get an insight into people's perception and understanding of something, just look at the social networks.

Linkedin DevOps

This message coming from a company looking for a lead DevOps makes me ask myself a big question about the perception and understanding of the market about DevOps.

But is DevOps really a person with that role in the organization? But first of all, what is DevOps?

According to Wikipedia, here is the definition:

“A cultural and professional movement that stresses communication, collaboration and integration between software developers and IT operations professionals while automating the process of software delivery and infrastructure changes “

Essentially, here is my understanding and interpretation of DevOps,

It is a practice that aims to bring mutual empathy to two groups, the Dev and Ops, who have goals that go against each other. Thus, the application of the DevOps practice will allow the achievement of the objectives specific to each group while respecting the responsibilities of the other.

I mention two teams when ideally, it should only make one, but unfortunately historically and even today these are two distinct groups that do not have the same goals. One is to deliver business value as quickly as possible while the other is to have the most stable infrastructure possible.

Now, to make it work it takes two things, firstly there needs to be a framework to structure the business value delivery process, for example Scrum or Kanban. The agile approach chooses, will allow the entire organization and development teams to produce value-worth each iteration even every day.

Secondly, it is necessary to have a set of automated tools allowing the Ops and the Dev to follow the delivery rate of business value of the organization while respecting the objectives and responsibilities of each group.

To maximize the chances of implementing a DevOps practice within an organization, it is imperative that the two basic criteria are present, a framework to structure the business value delivery process and a suite of tools. If the willingness to implement DevOps comes only from IT through tools, the entire organization will not be able to follow and see the initiative like an expense without real value. If the will comes from the organization and the agile delivery train and the IT team does not have the necessary knowledge and tools, implementation of the practice will put a lot of pressure on the organization, it will not have the expected successes.

So a first step is to set up a framework for structuring and guiding the value workflow, for example Scrum or Kanban. With a good application of Scrum or Kanban, the organization will be able to support the frequent or even daily deliveries of the customer's need from its realization to its delivery.

On the other hand, to be able to implement a DevOps practice, it is necessary that the business value delivery process has reached a certain level of maturity throughout the organization.

 

Scrum Development team

 

What I mean by that is that usually when an organization decides to take the agile turn with Scrum or Kanban, the application of the framework only sticks to the development team. With the team's growing maturity with Agility, the team expand the reach of Agility by including business side and IT operational.

business scrum development Ops

 

This is when the organization can more easily implement DevOps practices in its Dev and Ops teams. On the other hand, it’s possible only if they have the right tools, which leads to the second criterion.

This is why it is essential that teams have a toolbox containing all the tools to achieve these objectives. Usually, one or more tools will need to be found for each of the following categories:

  • Version control and artifact repositories
  • Continuous Integration/Continuous Delivery
  • Quality check            
  • Automated testing tools
    •  including static code analysis checkers
    • automated test frameworks
  • performance testing tools
  • Automated release/deployment tools
  • Infrastructure as Code: software-defined configuration management.
  • Virtualization and containerization technologies

 

If I go back to the beginning with the Linkedin's post of a company looking for a lead DevOps, as we see it is not possible that only one person, or even a group, is responsible for the DevOps practice. So if you want to set up a practical DevOps in your organization, make sure you have both essential criteria in place and especially empower the entire organization rather than a team or person.