When operational requirements are ignored, using agile can easily bring on technical debt. A recent blog post on Codovation from Bastian Buch describes that even though it might be impossible to avoid technical debt altogether, there are 5 effective steps to help reduce and control it:
1. Involve the Product Owner: Some product owners tend to not fully understand the needs and benefits of paying down technical debt, so it is important to be able to raise awareness of the impact of technical debt on the project and team. The easiest way to go about this is to emphasize on the importance of continual growth of the product (keeping performance on the short-term and health on the long-term).
2. Visualize and structure your technical debt: This is simply putting together an inventory of all the applications/modules owned and mapping the to-dos to each of them. This will help give an understanding of what the technical debt structure looks like for each application.
3. Estimation and prioritization of workload: This might be the most difficult part as a lot of the prioritization of the work will be based on the gut feeling on how big your team thinks the technical debt workload is for each to-do item that has been identified.
4. Putting together a strategy: Understanding the effort required to pay back this technical debt will help your team put together a repayment plan for technical debt. Bastian has put up an great graph that shows how he did this.
5. Integration into existing process: Now you can start reducing your technical debt. As Bastian points out in this blog post, this requires discipline and the ability to achieve consensus among the team and product owner.
Read the full blog post here.