The pandemic put a lot of pressure on existing IT systems. The increased demand and a rapid pace of change caused many systems in the government and private sector to fail. Here are just a few examples:
Pandemic and Technical Debt Failures
- Online Retail Systems: The rapid shift to online shopping during the pandemic put a strain on e-commerce systems, leading to website crashes, long wait times, and shipping delays.
- Unemployment Benefit Systems: Many states struggled to handle the surge in demand for unemployment benefits and implement new programs quickly, leading to IT failures and widespread frustration among those seeking benefits.
- Food Assistance Programs: Some food assistance programs, such as the Supplemental Nutrition Assistance Program (SNAP), experienced IT failures that prevented eligible individuals from receiving benefits.
- Telehealth Systems: The rapid expansion of telehealth services in response to the pandemic put a strain on healthcare providers’ IT systems, leading to technical challenges and difficulties for patients trying to access virtual care.
- Remote Work Systems: As many employees transitioned to remote work, many companies struggled with the technical challenges of supporting remote teams, including issues with videoconferencing systems and network security.
- Education Technology Systems: With schools and universities closed due to the pandemic, many educators and students faced difficulties with remote learning platforms and other education technology systems.
- Healthcare Systems: Healthcare providers faced technical challenges as they rapidly expanded telehealth services and moved to electronic health records.
One of the primary causes for these failures was the large amount of “Technical Debt” accumulated in these systems. Technical debt can have a number of negative consequences for an IT system including:
Negative Consequences of Technical Debt
- Increased Maintenance Costs – As technical debt accumulates, the cost of maintaining and updating the system increases, making it more expensive to keep the system running over time.
- Decreased Reliability – An IT system with high levels of technical debt is likely to be less reliable and more prone to crashes and other technical problems.
- Reduced Flexibility – An IT system with high levels of technical debt is often difficult to update and modify, making it less flexible and less able to adapt to changing business needs.
- Slower Development – A system with high levels of technical debt can slow down the development process, as developers are forced to spend time fixing existing problems and working around outdated technologies.
The pandemic changed a lot of things but one fundamental concept is still the same, Technical Debt is real and can greatly impact your systems.
Of course why should you worry – right??? Your organization is following an agile methodology and mostly follows best practices, occasionally skipping some steps (e.g. refactoring, testing, framework updates) for short term gains. Your development team assures you that they can’t make their sprint deadline if they have to write unit tests or fix the ones that break – if they even have any unit tests. You give in hoping that the next release goes better than that last one.
You’ve heard of companies successfully releasing product updates every week, but you’re lucky to release once a quarter. Then after each release you spend weeks fixing errors you introduced into production. You’re convinced that agile will work but you’re not seeing the big return on investment other companies are claiming to get from their agile methodology. What is missing?
If the above scenario sounds like your organization, you may be the victim of too much technical debt. How can you tell if you have technical debt? What exactly is technical debt? Some technical debt is unavoidable and even necessary but how much is too much? Here are some warning signs that you may have technical debt:
Signs of Technical Debt
- Updating your base software framework is too difficult even if your security scans find critical vulnerabilities.
- Inability to adequately test your application or services before each release.
- You only have manual tests and testing takes longer after every iteration.
- You replicate your production data into your testing environment. You know it’s bad but your development team tells you it’s the only way to really be sure it works in production.
- You have to patch production frequently after each release as a new deployment is too risky and the next release is weeks away.
- Small code defects consistently create major production problems for operations.
- The blame game: Developers frequently blame others for errors and then try to resolve the problem by restricting the number of changes in the code base.
- “Brent” syndrome (from The Phoenix Project): The organization is dependent on one key (and often very helpful) individual that is a critical bottleneck. The organization cannot move faster by increasing resources as “Brent” is the only one that understands the code base.
If your organization has some of these same symptoms of technical debt you are not alone. Your organization should attend this year’s SLC DevOpsDays Conference. Come network with others that have successfully reduced their technical debt. It will be great to see everyone again after the long two year pandemic hiatus. Here are the details.
Date: March 14 – 15
Place: Gail Miller Conference Center, Sandy, UT
Registration: Sign up now!
Discount Code: LINK23 (10% off early bird prices)