Many organizations spend significant parts of their development budgets in parts of the code that are more expensive to extend and maintain than they have to be.
That’s why abehavioral code analysis toollikeCodeSceneidentifies and prioritizes technical debt based on how you, as an organization, works with the code. This is a powerful first step, but like all code analysis tools, a crucial component is missing: your context.
Context matters. What features do you plan to implement next and what parts of the system will they affect? How much can you spend on re-work and improvements? And when is a piece of code good enough? That’s why CodeScene introduces the concept of augmented code analysis that lets you specify contextual information, which is then processed as part of the analysis. This means that the analyses are aware of your goals and can measure the progress towards them. Let’s see how this technique lets us manage technical debt.
Managing Technical Debt Is About Trade-Offs
There’s always a trade-off between improving existing code versus adding new features. Improvements cost time and money, and when we refactor or even re-design a piece of code we are placing a bet that our investment will pay-off in the future. As such, larger and more significant improvements have to be balanced against the short-term goals of the product. Maybe it’s just more important to get that critical feature out than to clean-up those nestedif-statements that are so hard to understand?
Over the years I’ve seen several products canceled. Not due to lack of code quality, but due to lack of delivery. Fascinatingly enough, there’s a lot of horrendous code out there that keeps making money that funds entire organizations, sometimes for decades. That doesn’t mean we should accept code with severe quality issues. It just means that we need to prioritize what and when we invest in larger improvements, and we need to do it based on data that can assess the likely return on investment.
CodeScene provides those priorities through itshotspot analysis. A hotspot is code that the developers have to work with frequently. If that code is hard to understand and extend, your development is likely to be more expensive than it has to. Let’s look at an example from the Linux Kernel:
Don’t forget to share this Blog post
New visual identity
new product interface
CodeScene just got a new look!
The new identity revolves around our vision to “give code an intelligent
voice” and reflects our forward-looking culture. The new logo reinforces
the idea of artificial intelligence and CodeScene being there as an
extra team member, guiding you toward better software and teams.
The new website presents relevant content in a clean, minimalistic and
modern way with an aim to give visitors easy access to solutions and
We are proud to share this new identity with our community and hope that
it will inspire all of us to write better code, build happier teams and
future proof our software.