Veel bedrijven zijn afhankelijk van (mobiele) applicaties om hun product in de moderne economie aan te kunnen bieden. De huidige consument is veeleisend en applicaties worden daarom continu uitgebreid, verbeterd en geperfectioneerd. Vaak draaien applicaties al enkele jaren in productie en is er over deze tijd zoveel aan toegevoegd dat het eigenlijk niet meer past.
De stabiliteit neemt af - en wat ogenschijnlijk eenvoudige aanpassingen hadden moeten zijn, hebben een onvoorziene impact op het gebruiksgenot. Eindgebruikers beginnen hun vertrouwen te verliezen.
Daarnaast zijn er inmiddels veel nieuwe technologieën op de markt die de ontwikkelaars graag willen toepassen, maar lijkt dat binnen de huidige architectuur niet te passen.
Wat zijn dan als bedrijf de mogelijkheden? Blijf je bouwen op een steeds op een steeds instabielere applicatie waardoor betrouwbaarheid en gebruiksvriendelijkheid in het nauw komen? Of kies je voor een rewrite? Maar dan in één keer goed. Met een gedegen basis. Al dan niet met microservices. En geschikt voor de toekomst. “Geef ons een (half) jaar”.
Het is een bekend verhaal dat zelden goed afloopt. De ambities zijn te hoog, de complexiteit valt tegen en gebruikers worden ongeduldig.
Dat neemt niet weg dat er nieuwe inzichten en betere manieren van werken zijn die pas echt tot hun recht komen op een nieuw platform. Daarnaast is het vinden van developers die met moderne technologieën willen - en kunnen - werken een stuk makkelijker.
De sterkste strategie is een co-existentie van oude en nieuwe code. Gebruik zo snel mogelijk de functionaliteit van de rewrite, terwijl de oude versie ook nog wordt gebruikt. Dit introduceert wel veel complexiteit aan het begin van het traject, omdat beide systemen in de lucht worden gehouden en moeten beschikken over dezelfde gegevens. Het voordeel is dat de meest moeilijke en risicovolle stap; de migratie naar het nieuwe systeem, voortdurend wordt uitgevoerd, zodat er heel veel ervaring ontstaat. Practice makes perfect!
‘Mensen in de besluitvorming begrijpen vaak niet dat je beter bestaande ict-systemen beheerst kunt omvormen dan alles opnieuw bouwen.’ -- Chris Verhoef, hoogleraar informatiesystemen
Ondertussen kunnen waardevolle functionaliteiten live gezet worden voor eindgebruikers en hun feedback worden verzameld voor het maken van vervolgkeuzes. Dit heeft als groot voordeel dat projecten sneller kunnen beginnen, omdat niet alle keuzes vooraf bepaald hoeven te worden. Daarnaast blijkt het vaak ook lastig om projecten vooraf goed te definiëren en is het moeilijk om afscheid te nemen van oude features of functionaliteiten. Zo wordt een rewrite project al snel gedefinieerd als: ‘alles wat het vorige systeem kon, plus alle extra dingen’. Zonder tussentijdse feedback van gebruikers, wordt er een applicatie gebouwd op basis van theorie en niet op praktische functionaliteit. Door het vragen om feedback, verhoog je bovendien de acceptatiegraad en steun voor het project.
Een andere valkuil die je kunt ontwijken door deze aanpak is het onderschatten van de opnieuw te bouwen functionaliteit. Zijn de originele ontwikkelaars nog aanwezig, zijn er nog genoeg domeinexperts die weten hoe de processen werken? En vergeet ook niet al het bloed, zweet en tranen die het over de jaren heeft gekost om alle bugs te vinden en op te lossen. Door voortdurend kleine functionaliteiten op te leveren kom je er al snel achter of de nieuwe oplossing volledig en de juiste is.
Tot slot kan deze aanpak nooit mislukken. Want na elke feedbackronde is er een product of feature die in principe af is. Zo wordt er om de week al direct waarde toegevoegd aan het eindproduct en is een sprint dus nooit voor niets. De applicatie wordt elke ronde beter en gebruiksvriendelijker totdat er uiteindelijk een volledig nieuw product staat. Het grote voordeel is dat gebruikers al direct meeprofiteren en er altijd een product komt waar gebruikers mee uit de voeten kunnen. Win-win!
Voor meer informatie neem contact op met:
Bas van der Hoek
Partner, Trainer & Developer.
ContactZilverline gebruikt cookies om content en advertenties te personaliseren en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services.
Okee