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
!
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).
ReplyDeleteCultivating 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.