Het antwoord op technical debt

Abonneer je gratis op Techzine!

Technical wat? Technical debt, een metafoor waarbij problemen in de code of in het ontwerp gelijk wordt gesteld aan financiële schulden. Problemen die zijn ontstaan omdat software te vroeg is vrijgegeven, omdat er niet goed is getest of omdat er te weinig tijd is genomen voor een goed ontwerp van de architectuur. Waardoor je de schuld uiteindelijk moet afbetalen door het refactoren van de software. Inclusief rente.

Technical debt is dus al het extra werk dat later ontstaat doordat op de korte termijn wordt gekozen voor een oplossing die makkelijker te implementeren is, maar die op de langere termijn moeilijker te onderhouden zal zijn. En hoewel ontwikkelaars weten dat die schuld bestaat, zorgen de dagelijkse werkzaamheden ervoor dat ze er niet mee aan de slag kunnen. En hoe meer het zich ophoopt, hoe moeilijker het is om de schuld terug te betalen en hoe meer het in de weg gaat zitten van verbetering en vernieuwing. De ontwikkelaars zijn ontevreden omdat er minder tijd gestopt kan worden in het ontwikkelen van nieuwe functies en producten. De business is ontevreden omdat er minder tijd wordt besteed aan innovatie en productontwikkeling. CIO’s zijn ontevreden, want van hen wordt verwacht dat ze meer bereiken met dezelfde of minder middelen. En de CEO is ontevreden, want uiteindelijk heeft dit alles zijn weerslag op de bedrijfsresultaten. Uiteindelijk zorgen bovenstaande uitdagingen ervoor dat steeds meer bedrijven low-code omarmen, zodat ze sneller kunnen ontwikkelen zonder in te boeten aan kwaliteit.

Snelheid

Laten we eerlijk zijn. Niet elke regel code vandaag de dag is handgeschreven, en hoeft dat ook niet te zijn. Ontwikkelaars integreren al meer open-source frameworks en commerciële software in hun applicaties dan ooit tevoren, want waarom zou je het wiel opnieuw uitvinden? Bovendien heeft het vanuit een kosten-batenperspectief meer zin om te focussen op differentiatie: zet alleen maatwerk in om echte waarde te leveren, om een product of service uniek te maken. Gebruik voor het overige standaard software.

Organisaties die low-code gebruiken, kunnen nog sneller waarde leveren aan hun klanten. De productiviteitswinst stelt ontwikkelaars in staat om sneller functies en applicaties te ontwikkelen. De backlog kan worden weggewerkt en er is meer tijd om bestaande technical debt af te lossen. Zo kan men zich richten op het allerleukste: innoveren. Met behulp van low-code bouwen ontwikkelaars sneller dan ooit tevoren applicaties, prototypes en minimum viable products (MVP’s). Zodra low-code het nieuwe normaal wordt, verandert ook het werkklimaat. Er ontstaat een cultuur waarin geëxperimenteerd kan worden, waarin snel feedback verzameld wordt, waarin snel bijgestuurd kan worden. Resulterend in producten en diensten die beter zijn afgestemd op wat gebruikers echt willen. En dat zorgt uiteindelijk voor een tevreden CEO.

Kwaliteit

Maar zorgt low-code dan niet voor nieuwe technical debt? Staat low-code sowieso niet gelijk aan kleine apps en lage complexiteit? Kan low-code zorgen voor versnelling zonder shortcuts te nemen die ontwikkelaars later zullen achtervolgen als technical debt? Wordt low-code niet vooral gebruikt door citizen developers, gebruikers uit de business zonder specialistische kennis van coderen? Hoe gaat dit technical debt dan voorkomen?

Kies een platform dat snelheid van ontwikkelen koppelt aan kwaliteit: OutSystems. Met OutSystems wordt voorkomen dat technical debt ontstaat. Ten eerste zijn allerhande best practices in het platform ingebouwd. Best practices op het gebied van security, performance en architectuur. Daarnaast is integratie van externe bronnen eenvoudig te realiseren, waardoor infrastructurele debt wordt vermeden.

Bovendien is OutSystems technologie-agnostisch; hoewel ontwikkeltalen en infrastructuur paradigma’s in de loop van de tijd veranderen, is het met OutSystems niet nodig om die applicaties te herschrijven. Dat wordt door het platform afgehandeld. Je applicaties zijn direct klaar voor de toekomst, waardoor technical debt als gevolg van verouderde technologie wordt vermeden. Bijkomend voordeel is dat ontwikkelaars zich niet iedere drie maanden een nieuw, hip framework eigen moeten maken, maar dat ze zich kunnen focussen op functionaliteit voor de business, voor de klanten of voor de klant van de klant.

Tenslotte biedt OutSystems sinds kort het zogenaamde Architecture Dashboard, een tool om technical debt te beheersen en – idealiter –  te voorkomen. Het dashboard bevat een interactief, visueel overzicht van de totale debt van het applicatieportfolio, zodat je in één oogopslag kunt zien waar de problemen zitten.

Of je nu werkt met de meest ervaren ontwikkelaars, met junior ontwikkelaars of met citizen developers, het Architecture Dashboard bespaart tijd en ongemak door technical debt te visualiseren, developers in staat te stellen te toetsen of ze best practices juist toepassen en door architecten en teamleiders in staat te stellen hun team te toetsen op kwaliteit en toekomstbestendigheid. Kwaliteit en controle dus.

Resumé

De beste manier om technical debt aan te pakken, is door het te voorkomen. Maar mocht je – net als de meeste andere organisaties – toch met technical debt te maken hebben en/of zie je het zelfs groeien, dan is low-code in het algemeen en OutSystems in het bijzonder een goede oplossing. Met OutSystems kunnen organisaties alle vormen van ontwikkeling gelijktijdig versnellen, van het alledaagse werk tot het meest innovatieve en opwindende. Enerzijds kan technical debt sneller ingelost worden, anderzijds kan worden voorkomen dat deze überhaupt ontstaat. Dat betekent dat er minder tijd wordt besteed aan het coderen via de achteruitkijkspiegel en meer tijd aan het bouwen aan de toekomst.

Dit is een ingezonden bijdrage van Wouter Baeten, Manager Solution Architecture bij OutSystems. Via deze link vind je meer informatie over de mogelijkheden van het bedrijf.