Technical Debt #4: Eliminating it at the source

by Andrea Maioli on 02/05/2013

In the last few weeks we’ve seen that software development necessarily creates a Technical Debt that has to be paid back with interest. To avoid being crushed by this debt, you have to estimate it from the very beginning and draw up a “repayment plan” to deal with it.

But this isn’t a solution; it’s merely a way to mop up after the problem. The trillion dollars in technical debt that Gartner estimates will still have to be repaid. That’s why the Relational Programming in Instant Developer becomes so crucial in creating software systems.

Relational programming is an innovative technique for generating code thanks to which the Instant Developer IDE saves the entire software project and the entire codebase in graph of relationships and dependencies rather than in tons of text files. This way, all the software elements remain interconnected, and a change made at any given point triggers an automatic adaptation throughout the rest of the system.

But how does Relational Programming reduce Technical Debt? Let’s look back at the list of its causes from two weeks ago and see how things change when you use Instant Developer.

  1. Debt due to lack of analysis. Analysis is often incomplete because it’s not possible to let users work on concrete examples. With Instant Developer it’s all easier because prototypes can be created almost instantaneously, and this allows us to observe processes directly through examples.
  2. Debt due to lack of best practices. The Visual Code is independent of the technologies and operating environments. The internal compilers in Instant Developer generate source code that is compliant with the best practices of the producers of the technologies.
  3. Debt due to lack of integration with the existing codebase. This is where Relational Programming really shines! Every change made at any point in the software project triggers an automatic and immediate reengineering of all the rest of the IT system.
  4. Debt due to lack of a suite of tests. Relational Programming guarantees that all code remains consistent, thereby eliminating the need for unit tests. What’s more, thanks to Instant Developer’s tracing module, you can use user sessions as functional test sessions, which also reduces the debt created by ignoring or delaying these sessions.
  5. Debt due to lack of technical documentation. The Instant Developer IDE features static and dynamic tools for analyzing code and dependencies that make it possible to implement changes while keeping tabs on the existing code, without wasting time writing and reading long technical documents.

These aren’t theoretical results. They’re the result of the practical experiences of Instant Developer users, and especially of those developing Enterprise-class code.

Would you like to develop without going into debt? Learn more about how relational programming works by downloading this free white paper, or get started now by downloading the Express version of Instant Developer.

In this series:

Leave a Comment

Previous post:

Next post: