SimbirSoft developers shared their approach to managing technical debt while implementing new features in the Urent mobile application. The team emphasizes the concept of 'Managed Technical Debt,' which involves conscious decision-making, proper documentation, and a clear repayment plan to prevent code from becoming unmaintainable.
To integrate a promotional button without accumulating unmanaged debt, the team utilized Clean Architecture principles. They separated the code into independent layers: Domain for business logic, Data for repositories, and Core for shared components. This structure allows for isolated refactoring and easier unit testing through dependency injection.
The implementation of the promotional button includes a repository that handles data fetching via REST API and caching. The team acknowledged a known technical debt in the current cache implementation, which lacks a time-to-live mechanism. This decision was documented with a comment and a low-priority task in Jira, as marketing updates occur infrequently.
The team also addressed UI-related technical debt by standardizing components. They identified 34 inconsistent bottom sheets across the application with varying styles and navigation implementations. To resolve this, they created a unified UI component and standardized navigation for modal and non-modal bottom sheets.




