Tech Debt: We discussed what this concept is in the first installment of this series, but if you missed it, here’s a quick recap!
Technical debt is the labor and time costs of fixing poorly configured software and/or bad code after the fact. Alex Gostev, Project Portfolio Manager at QArea, likens it to monetary debt. It accumulates interest and therefore becomes harder and harder to pay off if not dealt with in a timely manner.
Even though all companies experience some level of tech debt by merely existing in the digital age, there are causes of tech debt that can be avoided with a little foresight and planning. There are many specific scenarios that lead to tech debt, as outlined below, but in general, a lack of planning, communication, and synchronization across teams and processes cause the vast amount of tech debt incurred by companies.
We’ve listed some of the pitfalls that can lead companies into unnecessary tech debt below, dividing them into four categories: planning, structure, people, and execution.
Planning
Failing to flesh out a business plan fully enough to account for technical needs
Lack of coordination between IT projects and overall business strategy and ignoring the relationship between the two
Dissonance between funding allocations and overall business strategy, i.e. putting too much money in some places and not enough in others
Inadequate tech integration
Unnecessary repetition or overcomplication of products, processes, or apps
Starting development before the design phase of a project is complete
Lack of awareness and education around technical debt
Structure
Failure to update hosting platforms for software and applications
Overly complicated and inflexible software
Unorganized and incohesive system integration approaches
Using more than one data model
Lack of testing in favor of band-aid bug fixes
Lack of code documentation
People
Scarcity of the skills necessary to deliver quality products in a timely manner
Focus of manpower on short-term goals, not reduction of tech debt
Lack of coordination and mentorship within teams
Execution
Lack of task planning and project management infrastructure
Lack of oversight and protocol regarding development and maintenance processes
IT operations that overlap, conflict, lack consistency, and handle problems poorly
Prioritizing speed of delivery over the quality of a product
Delayed refactoring, or ignoring insight gained along the way about code fixes and design flaws
Lack of leadership from lead engineers and coders
Correcting for poor work produced by outsourced labor
Rushed and undocumented last-minute changes
There can be severe consequences of tech debt in some cases: acute financial loss, legal repercussions, system outages, and lost sales opportunities, to name a few. When you work towards mitigating your technical debt, you can avoid these consequences. Instead you can focus on increasing your capital, building your client base, and improving your product. More than just getting out of serious trouble, mitigating tech debt allows your company to focus on what’s important, to work toward your business goals more effectively. Stay tuned for the final post in this series where we’ll examine specific strategies for preventing tech debt.
Comments