Technical debt is at the top of developers pain points, and according to some this is due to a flurry of new development styles that have come into vogue. The software industry's focus on rapid application development, as necessary for business agility, has furthered the problem of technical debt. Fast implementation of containers and microservices lead to DevOps teams facing serious tech debt management issues.
Technical debt always comes from leveraging speed against software quality, so it's no surprise that the premium placed rapid development has led to an increase in technical debt. It is a byproduct of agile and iterative development used in microservice and container projects. Iteration deadlines are constant and this leaves little time for developers to refactor and pay back the debt that they incurred in the previous iteration.
Software quality is diminished by excessive speed, but it is also important to mention that exhausted engineers working on fast deadlines make mistakes that in turn further downgrade their software's quality. A clear sign that developers are overworked and exhausted is the staff turn-over at a firm. This is something that we've spoken about in a post on the "human side" of technical debt. Developers won't want to work at a firm that doesn't value quality software projects, but are instead constantly pushing to avoid technical failure, not to push out innovative projects.
While slowing down, as this post suggests, may be unappealing to organizations that want to be first-to-market with their offering, there needs to be a discussion on what to do to manage technical debt and make quality software. Balancing speed and quality must be considered an imperative - or technical debt will spiral out of control.
To read the full post visit here.