(Technical) Debt drives (Software) economy

(Technical) Debt drives (Software) economy

Technical debt is a pervasive issue in software development, like a mortgage that accrues interest over time. In the realm of software testing, it manifests as a backlog of issues that, if left unaddressed, can lead to delays, quality issues.

  • Outdated or Legacy technologies: Can lead to increased maintenance costs, security vulnerabilities, and difficulty in finding skilled developers
  • Poor code quality: Poorly written, difficult to understand, or hard to maintain can make it challenging to add new features or fix bugs
  • Insufficient testing: Inadequate testing can lead to defects that are only discovered after the software is released, resulting in costly fixes and damage to the product's reputation
  • Lack of documentation: Insufficient documentation can make it difficult for new developers to understand the codebase and contribute effectively
  • Design flaws: Poor design decisions can limit the software's scalability, flexibility, and maintainability


However, what constitutes a technical debt can interestingly elicit different responses from various stakeholders.

What constitutes a Technical Debt across various stakeholders?

At the outset, these views might seem diverse across the roles, however there is a bit more clarity when they are grouped across 3 parameters - Cost, Quality and Time

  • Business and Product Heads prioritize technical debt related to Cost and Time
  • Developer and Tester roles focus on Quality-related technical debt
  • Product Owner is focused on Time to market & time related Tech debts

Technical Debt across Roles grouped by Cost impact

?

Technical Debt across Roles grouped by Quality impact

??

Technical Debt across Roles grouped by Time (delay) impact

In an ideal state, all stakeholders would want their technical debts to be addressed and resolved. However, a structured approach to identify the Top debts will be essential from an 80:20 perspective. A combination of Heuristic approach along with WSJF (Weighted Shortest Job First) prioritization framework helps. Its based on the idea that the most impactful tasks should be completed first, and the least impactful tasks should be left for last.

WSJF = (User-Business Value + Time Criticality + Risk Reduction + Opportunity Enablement) / Job Size or Duration

  • User-Business Value: How much impact the job will have on the business?
  • Time Criticality: How important it is to complete the job within specific time period?
  • Risk Reduction: How much risk the job will reduce?
  • Opportunity Enablement: How many new opportunities the job might create?
  • Job Size or Duration: How much time or effort is required to complete the job?

The values used in the WSJF calculation are usually estimates, and can vary based on the perspective of different stakeholders. One common approach is to assign a Fibonacci value for each parameter - for instance values 1,2,3 for Low; 5,8,13 for Medium; 21,34,55 for High

Weighted Shortest Job First values across Technical Debt

Based on the WSJF calculation, the top parameters to prioritize are:

  • Security Risks
  • Insufficient Architecture
  • Time to Market
  • Inconsistent User Experience
  • Inadequate Test Coverage

These parameters might change depending on the program or initiative


Conclusion:

Stoicism, Existentialism and Utilitarianism are 3 schools of philosophical approaches in the material world. Stoicism emphasizes on disciplined approach, acknowledging the existence of problems and building resilience around it. Existentialism offers a personalized perspective to the problem on hand and assigns responsibility. Utilitarianism analyzes the consequences of actions, often weighing the cost and benefits of our actions

Whether it is managing our personal debts or managing Technical Debt - a combination of all 3 are essential - a disciplined approach, individual responsibility and cost-benefit analysis

After all, (Technical) debt is the reason for (Software) economy to exist and thrive!



Lata Nair

Senior Client Solution Manager, Infosys

3 周

This is very good comparison sundar

Bharath Sridharan, MBA

Senior Director | Tech | Quality Engineering | Business Development | Consulting | Cloud | AI

1 个月

Very insightful Sundar! Thanks for publishing this ! ????

要查看或添加评论,请登录

社区洞察

其他会员也浏览了