Developers worry all the time about things going wrong as they deploy new software. As a result, it’s easy for them to get fogged by apprehension and become a victim of the Cycle of Fear.
Yes, it can be scary, but the Cycle of Fear isn’t insurmountable. In fact, there are three good ways to prevent software deployments getting unnecessarily large or time-consuming.
The first is the simplest – just release the software. Fears are often unfounded. If a development team is quick at patching software, the risk is reduced.
If just releasing software doesn’t work and you need greater certainty about the effect of changes prior to release, then put a stop on development and redirect the team to prepping the release.
The downside of these approaches is how they only mitigate the effect of the Cycle, rather than dealing with the cause. They’re useful if the team’s in a rut, but they’re not long-term solutions. If you want to deal with the cause, the answer lies in developing smarter tools and processes.
Every software update means testing. That means lots of manual processes that come with a high risk of human error – and lots of repeat tests. Automation is a great way to avoid having to repeat tests.
Software can be written to enter data and compare outcomes. This frees time for other work and developers can be certain that each time they test, the outcome will be reliable.
Of course, building automated tests takes time. However, this investment and a small bit of upfront cost will be worthwhile as the new system will drive value for the lifetime of the software it’s testing and help remove those concerns that drag developers back into the Cycle of Fear.
Using Toggle Features
Picture the scene: you’re halfway through redeveloping a feature, but the rest of the team have finished theirs and want to deploy to gather vital user feedback. If you hadn’t been smart, it might have caused an issue; but you’ve left the old code in place and added a secret switch.
This is a toggle feature. It means your colleagues can deploy and, when you’re ready to do likewise, you flick the switch to tell the system to look at new code.
You can even leave the switch in the code in case there is a problem and you need to revert to old code while the issue is resolved. It’s even possible to use a toggle feature to AB test new elements with users.
Toggle features are great. They help remove those concerns about working properly and do away with the delays that go along with all that extra coding and testing.
Applying a Value Mapping process
One of the biggest challenges developers face is knowing when they’ve become caught up in the Cycle of Fear. How do they recognise the symptoms?
Value stream mapping can be a complicated business, but at its heart is an approach centred around examining process and looking for ways to save time and deliver more effectively.
Problems rarely just appear overnight, they develop slowly. Things like wavering attentiveness and diminishing returns on testing, these things bubble up gradually. As a result, a team can end up suffering without realising what’s wrong.
Perhaps the first rule of combatting the Cycle of Fear, is knowing how to recognise it. Once you know it’s happening, you can do something about it.
It’s impossible to completely guard against everything but implementing these suggestions should help offset fears and enable deployment in a more timely and efficient manner.
If you’d like to know more about using technology to overcome your pain points please call, email, or sign up here for a demo of our industry-leading content publishing and management system.