Ward, quite accurately, compared it to going into debt. Every line of sloppy code or missing features would eventually cost time to rework.
"Shipping first-time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite... The danger occurs when the debt is not repaid." - Ward Cunningham, Programmer, and developer of the first Wiki
Since then, technical debt has practically buried modern IT departments. According to an industry report by Devada, 42% of a developer's workweek is dedicated to dealing with bad code and technical debt. However, IT's greatest minds have been working on solutions since the '90s and we're almost at the end-game.
Along comes Agile
In 2001, our friend Ward Cunningham gathered 16 software development experts to tackle the issue. Huddled in a ski-resort in Utah, they drafted and published the Manifesto for Agile Software Development. With the express goal of optimizing software development and minimizing technical debt, the 17 minds had devised four main values to realize their mission:
- Individuals and interactions - over processes and tools
- Working software - over comprehensive documentation
- Customer collaboration - over contract negotiation
- Responding to change - over following a plan
Accompanied by 12 supporting commandments, the team came back down the mountain ready to change software development forever. Initial adoption might have been slow but nobody could deny that it worked when implemented correctly. So well that adaptations of Agile can be found across nearly every industry.
Agile really brought the importance of effective communication and collaboration into the foreground. On top of being a powerful process optimization solution, suddenly IT had a guideline for involving itself with end-users before making decisions. Companies that implemented Agile understood their audiences better and the critical reception of their solutions/services vastly improved.
Still, there was a disconnect between Agile and traditional coding which came directly from their fourth value: Responding to change. As hand-coding is the most time-consuming element of development, making changes during development could cause severe setbacks for delivery times.
Evolution of Rapid Application Development
At this point, it's clear that the technology behind programming is a major stumbling block for project teams. Even with the business feeding in ideas, physically keeping up with deadlines had only become tougher. Luckily for developers, Rapid Application Development (RAD) tools were right around the corner.
Dedicated low-code platforms are the most widespread example in use today, using visual modeling concepts combined with hand-coding inputs to add in customizations. At first, these platforms were pretty basic and had niche uses, but over time have become versatile tools for building business applications. Using low-code, IT professionals were granted the ability to produce applications faster than they ever had.
Job done... right? Nope.
Turns out that RAD tools had set a brand new precedent for software delivery times which only raised expectations from within the business. 69% of developers reported that management expects even more productivity from their teams. However, low-code's reliance on formal coding knowledge meant that accelerating projects further would require more developers to be brought in.
With a predicted deficit of 500.000 developers in Europe alone by 2020, finding the manpower in the coming years is going to be a tough task. Unless...
Citizen Development and the no-code endgame
What if contributing to new software didn't require any programming knowledge at all? Without the technological barrier in front of them, could business users effectively support IT departments? With their support, could IT get on top of mounting backlogs?
No-code platforms are an evolution of RAD which completely removes the requirement for hand-coding. Essentially, they take the fundamental elements used in traditional development and encapsulate them into pre-built drag-and-drop modules. Armed with a no-code platform, tech-savvy business users could actively create software solutions themselves. Not only does this give IT the extra manpower it needs but there is zero coded technical debt created while building.
No-code and Citizen Development, when done right, is like Agile on steroids. On one side, you've got the business-minded guys building their own solutions, and then you've got IT behind them as a knowledge base. The ultimate goal is to enable collaboration between the two where IT doesn't need to spend time micromanaging projects and but can still guide the process to meet company guidelines if needed.
Guntis Jansons, CEO of EDGE Technologies, is a prime example of Citizen Development at work. Without time for their IT department to innovate, EDGE Technologies relied on 7 third-party applications to form their CRM system. But, using no-code, Guntis was able to completely replace the spiderweb with his own custom CRM application in just 2 months.
The beginning of the end
No-code is most effective when you're using all the resources available to you. Companies like EDGE, Univé, and the European Association of Urology have already cut time-to-market of new solutions by as much as 75%. As no-code continues to grow and becomes more widespread, developers will finally have all the tools they need to clear their technical debt for good.