Apr 01, 2020

DevOps Fundamentals for Remote Working Teams

Australia and the world have been in a bit of chaos, recently. The topic of the day is COVID-19 and, ultimately, how that affects the commercial environment and traditional working styles. IT teams and budgets all across the country are currently in disarray and the question is how these rapid changes impact the business from an Agile/DevOps perspective.

Here at Innovo, we agree that COVID-19 and new remote working will be a stress test for Agile and DevOps methodologies. There is a risk of backsliding and reverting to older ‘Command and Control’ versions of working, which is not ideal given the fluidity of the current working environment. Organisations may react out of fear and may now deem project-to-product teams too risky or unreliable. There may be even a desire to reverse such changes. Our opinion is that this is not the time for DevOps and Agile to be implemented with haste, as siloed teams perform even worse when everything is remote. The friction of work handoffs is further compounded by distance and poor internet connectivity.

So where is DevOps at today and what are some of the fundamentals companies need to review?

There is no doubt that DevOps (and its variants) are becoming ‘normalised’ within IT. Such publications as the World Quality Report (2019) are trumpeting statistics such as “all but 1% of (WQR respondents) organisations are now using DevOps practices”.

When more than 1200 respondents globally are talking about actually doing DevOps as opposed to just thinking about it, it does bear the thought “are they really doing DevOps, and what are the challenges being faced”.

Both anecdotally and based on statistics available, there are concerns being raised on several fronts, not which of least are:

  • Is there too much focus on speed, over cost, quality and consideration of remote working?
  • How has risk management kept pace with a changing dynamic and global pandemic disruption?
  • What about testing/QA?
  • What about Security? Companies have an expanded surface now with remote workers.
  • Is automation working effectively?

The answers to the above are as diverse as the clients and their ecosystems, and where we have undertaken engagements with our clients, we do see challenges around:

  • Software testing has changed, and there are challenges with how to go about it, especially now;
  • Automation, in particular, is a big issue, especially with the constant change vs maintenance dynamic;
  • Losing sight of the goals of DevOps, with it morphing into something that must be performed in its own right as opposed to focusing on goals or implementing risky reactive measures to ensure business continuity; and
  • The lust for speed over everything else.

Getting back to basics is a worthwhile exercise. Assuming for the moment that you have decided DevOps is the way to go (or alternatively review your DevOps practice to date given the circumstances), there are key fundamentals that need to be of focus:

  • Why are we doing DevOps? What are the benefits we are looking for? Will it help us ride out this global pandemic and work style change?
  • Is our organisation DevOps ready? How do we know? Have we undertaken some mechanism to verify where we are, and are not ready?
  • Do we have a strategy? For organisational change, communications, tools, automation. What about testing and security?
  • Do we have a set of principles that are front of mind? Are we starting small(ish)? Do we already have a lean and experimental mindset?
  • Is this being driven top down/do we have active executive buy-in? How much does the leadership team know about business continuity in remote working?
  • Have we adapted our testing practices to suite our velocity? Have we thought about unit tests being expanded to include I/O and/or point to point integration? Have we automated our testing (functional, performance, security)? Are we too focused on coverage of tests rather than targeted testing?
  • What’s our appetite for risk? Does our DevOps practice align with an overarching risk model?
  • Do we have the appropriate integrated toolchain? Do they support advanced communications and remote working?

There is no silver bullet when it comes down to implementing DevOps, and frankly if anyone tells you otherwise this need to be treated with an appropriate level of scepticism. There will be issues, challenges, even re-starts required on occasion, especially now. If you keep to your defined principles and goal, you will find you can get the DevOps not only that you want, but what you need.

 

Stay Tuned for our upcoming webinar on “DevOps in the Age of Disruption”.

Written by Sean Twyford