The pandemic accelerated many large scale digital transformations. Accelerated application growth often leads to increased technical debt. Technical debt makes it difficult for leaders to innovate and create new and improved customer experiences from their technologies. This stifled innovation means lower long term revenue.
Eventually, technical debt will sink you.
What is technical debt and how can you control it?
Today on Modern Digital Business.
Useful Links
Lee Atchison is a software architect, author, public speaker, and recognized thought leader on cloud computing and application modernization. His most recent book, Architecting for Scale (O’Reilly Media), is an essential resource for technical teams looking to maintain high availability and manage risk in their cloud environments. Lee has been widely quoted in multiple technology publications, including InfoWorld, Diginomica, IT Brief, Programmable Web, CIO Review, and DZone, and has been a featured speaker at events across the globe.
Take a look at Lee's many books, courses, and articles by going to leeatchison.com.
Check out Architecting for Scale. Currently in it's second edition, this book, written by Lee Atchison, and published by O'Reilly Media, will help you build high scale, highly available web applications, or modernize your existing applications. Check it out! Available in paperback or on Kindle from Amazon.com or other retailers.
Subscribe here to catch each new episode as it becomes available.
Want more from Lee? Click here to sign up for our newsletter. You'll receive information about new episodes, new articles, new books and courses from Lee. Don't worry, we won't send you spam and you can unsubscribe at any time.
Mentioned in this episode:
LinkedIn Learning Courses
Are you looking to become an architect? Or perhaps are you looking to learn how to drive your organization towards better utilization of the cloud? Are you you looking for ways to help you utilize a Cloud Center of Excellence in your organization? I have a whole series of cloud and architecture courses available on LinkedIn Learning. For more information, please go to leeatchison.com/courses or mdb.fm/courses.
The pandemic accelerated many large scale transformations. Accelerated application growth often leads to increased technical debt. Technical debt makes it difficult for leaders to innovate and create new and improved customer experiences from their technology. This stifled innovation means lower long-term revenue. Eventually technical debt will sink you. What is technical debt and how can you control it? Well, let's talk about it. Are you ready? Let's go. The pandemic accelerated many large scale digital transformations. Whether it was B2B work at home solutions or B2C e-commerce solutions, such as digital solutions for food delivery. Many companies were forced to accelerate their digital transformations during the pandemic. Take a look at zoom. Zoom's revenue grew by 169% during the early days of the pandemic with a 354% increase in the number of companies that relied on Zoom for business operations. This growth came at a cost. It was unexpected and brought much attention to the company, leading to numerous attacks, including the infamous zoom bombings- people, attaching themselves to other people's zoom meetings and presenting pornography or other inappropriate messaging. Technical debt increases total cost of ownership for digital applications. Total cost of ownership (TCO) is the cost of developing an application, plus the ongoing maintenance upgrade and support. When you incur technical debt in an application that debt has to be paid at some point in time. This debt is paid either by fixing or upgrading the application to remove the technical debt, or it's paid over time by increased customer support, lost opportunity costs or both. Technical debt makes it difficult for leaders to innovate and create new and improved customer experiences from their technologies. This stifled innovation means lower long-term revenue. But what is technical debt? Technical debt is an increase impending work required as a result of choosing an easier solution now, instead of a better solution that is more difficult or more expensive to implement. We often are faced with two types of options for getting a job done: do a complete job or doing a limited partial job that accomplishes the short term need, but might require rework later on. When we choose the latter, we increase technical debt because of the additional later rework is added to our backlog. When we start a project, we start with an existing backlog of technical debt. When we finish a full job at the end, we end up with a completed project with a backlog that is reduced in size. The overall technical debt of our application has been reduced by some amount. It's been reduced because the project was completed and some of the technical debt was resolved during the execution of that project. The net result, the overall technical debt is now less than it was before. But when we don't invest in doing a project completely, when we take shortcuts to save time or energy, we end up with a partial project execution. Starting with the same system we did previously, when we implement a partial project, we end up not completing all necessary work and we end up increasing our backlog and hence increasing our technical debt. The quicker, easier, simpler project that we just finished ends up putting our application overall in a worst state than it was before. Technical debt is not just needed code changes and refactoring. It can also mean infrastructure rearchitecting, such as moving to a cloud native architecture or moving an application to a container-based infrastructure architecture. Technical debt can be in the form of impact to the processes involved with people and equipment. This includes customer support, processes and systems, manufacturing processes, order fulfillment and shipping. Shortcuts in these processes can also have the same impact as more traditional code-based technical debt. Increased technical debt impacts the company in many ways. Technical debt can decrease your ability to innovate and execute a new ideas. It's hard to try something new when you are investing in fixing something old. Technical debt can make it harder to respond to competitor threats, your tactical debt limits your ability to adjust and shift to meet competitive needs. Technical debt can make staffing projects more difficult. It can be hard to find developers willing to work on older technologies when they can work on cutting edge technologies with your competitors. Outdated process and systems can increase your total cost of ownership. It can increase costs in fulfillment and manufacturing resulting in decreased profits on products. It can increase employee frustration and ultimately staffing shortages. It can increase investor and shareholder dissatisfaction and worst of all, it can create customer dissatisfaction, which decreases customer retention. Many things can cause technical debt to increase, but some common causes include: Financial and staffing restrictions that prevent or limit the ability of an organization to make quality decisions. When financial costs drive technical decisions often increased technical debt is the outcome. Unreasonable time demands or require projects that take shortcuts, which results in increased technical debt. Shifting and changing product requirements and shifting environmental requirements, projects that change often midstream will result in substandard designs and potentially increased technical debt. Poor quality or substandard developer decisions caused by underqualified development teams such as less expensive or more junior teams can increase technical debt. Senior experienced development expertise is critical to avoid long-term tactical debt issues. Outsourcing critical development and decisions to non stakeholders, such as contractors and contracting firms. Non stakeholders have less invested in their project, and as such are willing to accept greater technical debt to meet their requirements. Top-down management resulting in less ownership and less empowerment of the rank and file organization. A less empowered organization is more likely to accept shortcuts and trade-offs leading to higher technical debt. These trade-offs are always happening, but they happened even more significantly during the pandemic. COVID-19 drove significant changes in most industries. Companies like Zoom and Amazon had a huge increase in business that required them to adjust their processes. Quickly. Companies in the travel and entertainment industries had a huge negative hit to their business and they had to find alternative ways of making money. Take a look at the changes to the movie industry where movie theaters closed, but movie streaming flourished. Many industries had to adapt their business processes quickly in order to survive. When companies are forced to make quick decisions to handle these changing requirements, many had to make significant structural changes to their backend applications, systems, and processes. They did not take time, they did not have time to perform longer-term planning and evaluation. They took necessary shortcuts in order to meet tight schedules and changing demands. This generated a significant amount of technical debt in a short period of time. When the pandemic went on longer than anticipated technical debt grew and stagnated making the situation worse. These companies will be paying off this technical debt for many years to come. Increased technical debt is one of the hidden long-term costs of the prolonged worldwide pandemic.