There should be a proper alignment between the business and the technical concerns so that your software business can run smoothly for a long time. When you want to incur tech debt, this will lead to getting benefits in the short term but will produce slower delivery in the future. Some want to take this, and some want to pay it off at the very beginning. Therefore, you should take up a strategic approach toward tech debt accumulation and management. It should be articulated very clearly and negotiated so that there is a proper balance between the outcomes of the business both for the long and short term.
The Working Agreement
There should be a clear, viable and fruitful working agreement among the teams so that the concerns of tech debt can be discussed and managed properly. For example, you can have an agreement that the team will follow ten rules as detected by the Static Code Analysis at all times. Such an agreement will include code mentoring, pair programming and all other related activities for coding practices. All such rules and practices will help you to professionally and effectively manage, avoid, measure and also prevent any further accumulation of technical debt.
Investment Or Improvement
All your planning must be based on investment and improvement and to decide on which one you want to give more emphasis. You should consider short-term investment well and think for the long term improvements as well. When you want to make any long term planning which is beyond the specific iteration, there are some specific questions which you need to ask yourself. Such questions should relate to the long-term productivity and the ways in which you can increase it in the future. The answer to it should be making short term investments so that tech debt can be reduced and kept within manageable limit.
Static Code Analysis
Analyzing static codes is another specific practice to be followed at the release levels. In your plans, you should include things like the time that is required to run the tools to analyze any static code as your one-off effort in establishing a baseline if none is existing yet. When you have such analysis done, then you can see the existence of tech debt in a code which you will not be able to find with code reviewing. You can click here to know more about code analysis tools. Therefore, educate people outside the team also so that all knows about the value of tech debt reduction.
Experimentation And Promotion
Planning for experimentation is best practice as results of debt remediation, code reviewing, test automation may vary and may not have a direct impact on tech debt. When you find that certain experiments are fruitful, then you should promote those as well. Some teams encapsulates such practices as debt epics that should be achieved during release. This helps in the simplification of the planning efforts, dedicating one or more iterations for addressing it and will be valuable for a new team who will have to work with codes built by an earlier team.