Een pakketje schroot met een dun laagje chroom. Zo zou je veel verouderde applicaties met een knipoog naar een bekende hit van Het Goede Doel kunnen typeren. Aan de buitenkant ziet het er soms best gelikt uit, zoals apps voor mobiel bankieren, maar aan de achterkant is er allerlei kunst- en vliegwerk nodig om dat hippe uiterlijk overeind te houden. Dat gaat vroeg of laat fout.
Nauwelijks toegang tot nieuwe functionaliteit
Naast beschikbaarheids- en beveiligingsproblemen en onevenredig hoge kosten vormen legacy-applicaties ook een rem op doorontwikkeling. Inspelen op marktontwikkelingen wordt hierdoor erg lastig, zo niet onmogelijk. Dat remmende effect zit hem allereerst in de techniek. Verouderde applicaties worden overeind gehouden door eveneens verouderde programmeertalen, libraries en frameworks. Gebruik maken van nieuwe en vaak eenvoudige out-of-the-box-functionaliteiten is hierdoor niet mogelijk. Dus moet je zelf verder bouwen, maar wie moet dat dan gaan doen?
Kennis wordt schaarser
Dat brengt ons bij het volgende knelpunt, namelijk de toenemende schaarste aan personeel en aan kennis van met name de gebruikte programmeertalen. Denk aan Cobol, AS400/RPG en VisualBasic. De kennis die er van deze talen nog bij een enkeling is, verdwijnt gaandeweg en kan zo goed als niet worden aangevuld. Developers inhuren wordt dus ook lastig en daar ga je sowieso de hoofdprijs voor betalen. Het in stand houden van verouderde systemen levert je als bedrijf bovendien geen punten op in de ‘war for talent’.  Met name jongeren willen logischerwijs het liefst werken bij een hip bedrijf met moderne applicaties.
Andere struikelblokken bij verouderde applicaties zijn onder andere:
- Delen van de applicatie zijn ondoorgrondelijk als gevolg van gebrekkige architectuur en oude ontwikkelpatronen.
- Bug fixing kost te veel tijd. In zijn algemeenheid komt de focus meer op onderhoud te liggen dan op doorontwikkeling.
- Monolitische applicaties kennen niet alleen weinig documentatie, maar bevatten in tegenstelling tot moderne microservices teveel directe aanroepen tussen applicaties. Hierdoor is nauwelijks in te schatten wat het effect is van bijvoorbeeld een database- of API-wijziging en loop je het risico dat er van alles omvalt. Daarnaast zijn applicaties te complex, waardoor nieuwe functionaliteit regelmatig leidt tot kwalitatieve verstoringen tijdens een livegang.
- In de ‘oude wereld’ waren Dev en Ops twee gescheiden werelden die langs elkaar heen werkten en niet dezelfde taal spraken. Gevolg: productiviteitsverlies en ellenlange opleverprocedures. Een schril contrast met bedrijven die elke vijf of tien minuten een (deel)oplevering doen.
Door deze problemen duurt het veel te lang voordat releases in productie komen en de kwaliteit laat te wensen over. Hierbij is het risico groot dat er iets vastloopt bij een andere, gekoppelde applicatie. In on-premise omgevingen duurt het soms zelfs jaren voordat nieuwe features de eindklanten bereiken.
Wil je meer weten over de risico's van verouderde applicaties, welke scenario's er zijn voor modernisering en wat dat je oplevert? Download dan ons whitepaper applicatie modernisering.
Wordt jouw organisatie ook geremd in doorontwikkeling en innovatie door verouderde apps? En wil je die cirkel doorbreken door deze systemen te moderniseren met een ervaren partij? Neem dan contact op met Heiko Wijtenburg via heikow@delta-n.nl of 085-487 52 21.
Dit is deel 2 van een vijfluik over de risico’s van verouderde applicaties. Lees ook ons blog over oplopende beheerskosten bij verouderde applicaties.