Architecture Dashboard is a dream come true for technical debt diagnosis and management. It’s been in the works for quite some time. You’ve probably read about it in Paulo Sebastião’s blog post released during the early access to Architecture Dashboard, about the diagnosis and treatment of technical debt. We’re excited to announce that it’s now available for everyone! Architecture Dashboard is an SaaS tool that enables developers, team leads, and architects to view and manage technical debt – by providing insights on code quality and performance so they can keep improving their apps. It offers a visual and interactive representation of the technical debt across your entire infrastructure.
What is Technical Debt?
To quote Paulo Sebastião
“Technical debt is a measure of the cost of reworking a solution, and it's caused by choosing an easy, yet limited solution.”
It’s one of those things that’s hard to identify and to manage, and it’s also one that’s hard to avoid. When developing, you can anticipate many things. You can spend much of your time planning your project or perfecting your code. But you can’t always plan for:
- Changes to requirements, interfaces, or functionality.
- Time-to-market pressures may cause developers to choose the fastest, easiest approach.
- Inherited legacy systems, such as when a company is bought or merged with another.
Change can make things a little messy, a little smelly too. While developing, technical debt will always find a way to sneak in, and you may introduce code smells too. You may not have seen code smells and low-code in the same sentence – and I’ll get back to that in a minute.
Finding the Balance For the Future
Software quality and performance is paramount to a good user experience - and speed is essential for reaching business goals on time. Managing technical debt requires a balance between quality and speed. Quick workarounds might mean you meet your deadlines, but make sure you are aware of the cost. Technical debt may look harmless, but if left unchecked, you’ll find that at some point speed and agility are no longer an option.
Junior developers may lack experience and may be tempted to ignore the debt till it’s piled sky-high. Or they may find it hard to identify and fix. As organizations focus on expediting time-to-market and empower non-professional developers (citizen developers) to create business apps themselves, the risk of technical debt increases. Citizen developers may have little knowledge of development best practices compared to professional developers. Whatever the case, Architecture Dashboard is going to make life a lot easier and save you a lot of time and discomfort. So without ado, here are the main benefits you can enjoy.
Visualize Technical Debt
The dashboard includes a visual overview of your entire infrastructure’s debt. A heatmap chart maps out the debt, so at a glance, you can tell what’s hot (high levels of debt) and what’s not (low levels of debt). The heatmap is interactive, to drill down simply select and object to open its detailed representation or open the report.
Check Reports For Guidance
The streamlined interface is intuitive and easy to use. When you've found debt that caught your eye, you can drill down by opening the report. The tailored report identifies the best-practice patterns that aren't followed and also how to fix them.
“You guys don’t give us too much time to stew on our peeve points, do you? I just took a look at the latest release, and it pretty much addresses all of the concerns we had. I like the new layout, also.”
- Computershare Technology Services
Increase Development Proficiency
Developers can ensure their work follows best practices. You can filter the debt you added, so that you can improve the quality of your work. Fixing debt is an excellent opportunity to learn more about avoiding it in the future. After fixing your own mistakes, use your debt-fighting skills to cool down the technical debt heatmap, one step at a time.
Team leads can validate their team’s work, ensuring they deliver quality, future-proof code. Architects can oversee the entire portfolio of apps, ensuring technical debt levels are under control.
What Are Code Smells?
We’re always looking for ways to improve, innovate, and bring you tools that make your work better, faster, and more enjoyable. Like with anything we develop, a lot of thought has gone into building Architecture Dashboard. We conducted hours of research, gathered and analyzed mountains of data, and talked with dozens of customers. During this time, we collaborated with Orla Dijkink.
Orla is an OutSystems consultant at LINKIT, and recently presented her master thesis ‘Occurrence of code smells in low-code.’ You may wonder, ‘what is a code smell?’
Code smells are hard to define and depend on the developers’ experience to be identified. Code smells are hints or warning signs that there is an underlying problem with the code. With experience, developers can sniff them out, even by scanning the code, without analyzing each and every line. Smells help developers detect areas of improvement and are an invaluable tool in increasing the quality of the code. Sniffing out smells makes for better developers.
In traditional code, there is some consensus as to what are the most common code smells developers have to deal with. But what about code smells in low-code? That’s what Orla set out to discover. First, she identified a list of code smells. Next, Orla surveyed low-code developers, to learn what smells they consider to hamper the code’s maintainability. Then she correlated the code smells with bad patterns identified by Architecture Dashboard. Orla’s analysis confirmed that the bad patterns identified by Architecture Dashboard are useful for addressing the quality and maintainability of the code.
Start Fixing Your Debt Today
Experience tells us that changes become harder with time, and the impact of those changes increases. Architecture Dashboard supports you as you develop, by pointing out technical debt, so you can manage swiftly. Go straight to Architecture Dashboard and login with your OutSystems account to get started. You can also check the documentation for guidance.