Technical debt is the enemy of fast change – and of DevOps. It sometimes hides under the covers while new features are being delivered but, much like financial debt, it will never go away unless it is addressed directly.
At some point your technical debt will reach critical mass. This is when it starts to hinder every attempt to change, while forcing you to spend more time fire-fighting and managing the debt rather than delivering new features for the customer. This growing technical debt mountain will seriously affect your business ability.
Streamline and automate
There seems to be an increasing trend of taking a radical approach to dealing with technical debt. This goes hand in hand with the key facet of DevOps – which is to streamline processes and introduce automation with the goal of minimising technical debt and reducing overheads.
Tackling technical debt
When I first read about Project Inversion, LinkedIn’s solution for tackling technical debt, I was inspired.
In 2012, LinkedIn ran a 2-month long project called Project Inversion where all new features were put on hold whilst the entire company focused on completely overhauling the LinkedIn systems. Every employee in the company was involved. Improvements included totally rebuilding the software infrastructure, introducing Continuous Integration, improving developer tools, enabling self-service, introducing principled A/B testing, removing process bottlenecks, and automating as much as possible.
While this scale of change was great, I imagine that it was probably an even bigger challenge to convince staff and shareholders that it would be a worthwhile effort! The project required a lot of courage, but in the end it payed massive dividends for LinkedIn.
Once the technical debt mountain had been addressed, LinkedIn went from releasing changes once per month to multiple times per day.
An approach like this requires vision and an understanding of what might be achieved with just a bit of time to focus on resolving issues. The entire leadership team needs to buy in to the target end state, and focus on achieving it.
Other organisations have adopted similar activities, both as one-offs and as regular events.
Some examples include the Etsy Annual Hack Week and the eBay Hack Week, as well as the regular Hack Days that some organisations run. These are initiatives that give employees the time and space to come up with creative, innovative solutions to all sorts of problems. This often leads to finding clever solutions to problems, improving efficiency, removing technical debt, and much more.
These methods are a great way to ‘press the reset button’ in your organisation, and allow staff time out to address problems. I’m sure it is also brilliant for employee satisfaction, as it helps to address issues, fix the annoying little things affecting the day-to-day work, and direct focus into areas that need improving. This is a great way to encourage innovation, as new ideas for features or improvements often come out of this type of working culture.
The concept of a Hack Week is very much in line with the DevOps culture. It is all about employees taking responsibility for their work, trying to improve things, working collaboratively to do so, and thinking outside the box to make real progress.
Time to improve
You may be one of the many organisations drowning in technical debt, where no solution seems to work for long enough or solve enough of the problem. Why not take a strong step towards improving efficiency, and introduce a dedicated time in your company where everyone works together to tackle the technical debt head on? It could be the best investment you make this year.
Want guidance on managing technical debt? Call us on 020 7680 7105 today!