Monday, November 17, 2014

DevOps, solving the non-existent problem for good IT

I have been flooded with articles, case studies, and the benefits of DevOps; every newsletter that I subscribe to (over a dozen that arrive in my inbox every day) has at least one link that headlines DevOps. In the initial days I read a few of them with curiosity and forwarded some of the articles to friends and peers in the industry. The flood of discussions and seminars raised my anxiety if I had missed any salient point in my analysis and understanding. So I dug deeper to understand the subject and its relevance to good IT departments.

What is interesting is that many vendors are now offering tools and consultants providing frameworks and expertise on helping organizations create DevOps centers of excellence. It’s the new buzzword that promises to fix the issues faced by enterprises when they deploy new custom solutions. The most interesting and highly impressive manifestation appears as “a cross-disciplinary community of practice dedicated to the study of building, evolving and operating rapidly-changing resilient systems at scale”. Do you get what it says ? I don’t !

If you search for the term online, the definition on Wikipedia is as follows: “DevOps (a portmanteau of "development" and "operations") is a software development method that stresses communication, collaboration and integration between software developers and Information Technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations.” Note the keywords that stand out, communication, collaboration and integration between IT and developers !

Over the decades there were many methodologies that evolved since we needed to develop “for purpose” software. I am not discussing one over the other or their pros and cons; there are proponents and opponents to each depending on what has worked for them. The point is that whether you followed one or the other, all of them required communication to flow between the stakeholders (Business, IT teams and developers). Else how do you ensure that everyone understands the problem or the opportunity and what is needed ?

When in a group people collectively work together towards a common objective, I would safely assume that they are collaborating. There are instances when differences of opinion or point of view may result in conflict or disagreements; that does not imply that they are not collaborating. The level of integration is determined by the crisp and clear communication from the top as well as within, and a shared vision and objective of their goal. That is how I have seen almost all projects, IT or otherwise, – big or small – getting off the ground.

What changed in recent times that gave birth to this new term and the wave that is following ? The underlying assumption is that development teams and operations teams are independent (which they are in many cases though not a universal truth) and that they don’t talk to each other; that is an interesting hypothesis and rare occurrence when both teams are collocated. Companies who outsourced support operations of applications or moved them away from core teams did suffer often requiring rework and occasional disruption.

So should CIOs be bothered or worried about DevOps ? The starting point would be to diagnose if there is a gap, perceived or real. Once deployed, are applications able to scale and sustain themselves ? Or they slowly wither away into the IT Orphanage (where applications who no one wants rest until they find a benefactor). Are business users happy with the solution provided and the support rendered ? Some of these questions would probably point you into the right direction on what needs to change to the desired state.

Simplistically many solutions may endeavor to push for additional investments in tools, technology and consulting; my belief is that tools and technology do not solve a problem if the underlying process and culture don’t support it. As the CIO or for that matter the CEO, it is necessary and essential to look at the facts and data before beginning to get paranoid about competition or next door neighbor doing it. Even if you have your support teams sitting across the seas, if the development team has thought about support, you are already there !

1 comment:

  1. Absolutely agree- DevOps is not a magic potion that will suddenly turn a flailing business into a profit centre! I see it as a way of thinking and as you say, collaboration and communication between your product team (often shipping to tight deadlines) and your support team (held to tight SLAs).

    Cultivating a DevOps culture means that the knowledge centres built up in the two areas can come together and benefit everyone. Reuse processes instead of build new. Have Operations invested in agility to reduce "shadow IT" costs. DevOps should not be a flavour of the month product but a cultural shift within IT.

    As usual, researching buzzwords in the industry is the key! Great post and thankyou for sharing.

    ReplyDelete