Government digital strategies have consistently called attention to capability and staff retention. They've also repeatedly highlighted technical debt and the need to ‘catch up’ with the private sector. With each iteration of the strategy, these two obstacles remain.
Both challenges are incredibly closely coupled. High pressure to tackle technical debt creates low-quality of code, meaning lower productivity, which impacts technical debt. It’s an ill-fated feedback loop.
There are no simple fixes and it’s a challenge that’s in no way particular to the public sector. The public sector is not a homogenous blob. Monolithic architectures and ‘bygone’ processes doggedly persist on both sides of the public-private divide. Yet, disharmony across the public technology landscape creates unique integration challenges and disjointed user experiences.
I don’t necessarily expect a restaurant to offer me the same digital experience as my mobile network provider. With government services, there is an underlying expectation that your experience across the breadth of the sector should be seamless. It should also be generally on par with your last experience. Not only that, most people expect it to be of equal quality if not better than that with commercial companies.
Unique funding pressures and time-sensitive policy changes are hurdles to strategic modernisation. Attempts to mitigate these through the adoption of agile practices and emerging methodologies such as Test-Driven-Development (TDD) are longstanding. Adoption of these practices and cultures is however unevenly distributed both within and across organisations.
Despite our very best intentions, short-term digital transformation always risks increasing tech debt. Software craftsperson James Manson sums it up well in his recent ‘Refactor before you rewrite’ blog.
“.. there is a problem, and this problem is also the reason for the company’s success, the product has been quickly iterated on, over the past 10 years, technical debt has been accrued without any intention of paying it back. New members of the team have come and gone, the rapid growth has meant feature after feature has been added without any concern for future maintainability.
It's starting to show, performance problems are rife, features are taking longer and longer to add, broken window theory has crept in and the quality of the product is deteriorating with each iteration.
Now the company's management is not blind to this. They recognise these issues. New members of staff have been brought on board to help fight the fires, time is being made for quick wins and most importantly of all a rewrite of the entire system has been pencilled in for some time in the future.”
Future-proofing development cultures and supercharging digital skills should be front and centre to ensure these scenarios are rare and that the right modernisation strategies are employed.
Cross-government communities of practice are already organically emerging to help, not only share, but evolve agile approaches and XP practices. This is a big part of the Software Craftsmanship mindset. It's an approach to software that is more than individual practice and methods. It's a commitment to self-improvement and to adding value through the lifting up of colleagues.
Such mindsets are key if the government truly wishes to conquer technical debt and retain talent. It needs to not only support the underlying methodologies but also nurture a space for empowered cultures to develop.
Codurance has been evolving and championing this mindset for over a decade. We understand that methodologies are part of the journey but not the entire journey. Future-proofed software development requires a craftsmanship culture.
Mindset/Philosophy/Culture
It might be a clichéd statement but things change and they often change quickly. You don’t have to sift through every blog introduction to fully understand that our world is 'fast-paced.' That's a given, but it's not unimportant.
Practices fall out of fashion and methodologies suit their respective contexts. As times change we have to learn when to detatch ourselves from the fixed understanding of good practice. That’s no easy task when they’ve guided our work to successful outcomes for so long.
All the software developers and solutions architects I know are immensely curious people. They are driven by an insatiable desire to get under the hood of things. And when it comes to understanding the secrets of success, this is no different.
As a disclaimer, I'm not a software developer. I've been fortunate however to have met some of the brightest in the UK. Most of them possess impressive bookshelves. Amongst the coding cookbooks and best practice manuals, you'll find the works of Socrates as well as titles on psychology and behavioural economics.
Software Craftsmanship is a community, and this inquisitive community has a philosophical and behavioural approach to software design and practice.
Being at the centre of the Software Craftsmanship movement, Codurance has been able to both express and live this mindset. We live this through our own communities of practice, we evolve it through learning and development, and we share it through our partnerships.
I believe that by embracing a software craftsmanship mindset colleagues across the public sector can move closer to conquering technical debt, retaining talent, and achieving wider policy ambitions.
If you'd like to speak with our team about how software craftsmanship might tackle your technical debt challenges, send me an email by clicking below: