Applicatieontwikkeling op zijn kop: klein is het nieuwe groot

 
1 oktober 2016

Tekst Simon Zwetsloot

Ontwikkelaars zijn een slag apart: lastig te doorgronden, een gevalletje haat of liefde, en er is eigenlijk niet mee te communiceren. Je voelt je als een Engelsman op een vlot met een Fransman. Aan deze roestige relatie komt nu een einde, want de nieuwe ontwikkelaar zit niet meer in de kelder, maar tegenover je. Daar komt nog bij dat zijn gereedschapskist er heel anders uitziet dan vroeger en dat hij steeds vaker op jou zit te wachten in plaats van andersom.

Het maakt niet uit wie je tegenwoordig over applicatieontwikkeling spreekt: het draait allemaal om snelheid. Die snelheid is natuurlijk relatief. We willen altijd sneller dan de ander. Daar ontstaat direct een lastige kwestie. Niemand weet namelijk precies hoe snel de competitie beweegt, met als resultaat een oncomfortabel gevoel over de toereikendheid van de eigen inspanningen. Om het gevoel van urgentie wat aan te wakkeren worden grootse voorbeelden genoemd zoals: “Amazon ontwikkelt en installeert iedere vijf minuten nieuwe functies, wij doen er zes maanden over”. (Je vraagt je overigens af wat knapper is: iedere vijf minuten iets installeren of iedere vijf minuten iets nieuws bedenken). Voorbeelden als Amazon, Netflix, Google of andere ‘Digital Native Companies’ zijn interessant en inspirerend, maar de gemiddelde organisatie kan er niet zo veel mee. De overtreffende trap staat te ver af van wat praktisch haalbaar én nodig is. Laat je dus niet gek maken. In dit artikel zoomen we in op de trends in applicatieontwikkeling waar je wel rekening mee kunt houden: versnelling, verkleining, nieuwe ontwikkelmethoden en een sterkere focus op user experience.

Kleiner is veel wendbaarder dan groot

Klein, kleiner, kleinst

In de wereld van applicatieontwikkeling is tegenwoordig alles erop gericht om de dingen kleiner te maken. Want kleiner is immers veel wendbaarder dan groot. Volgens Clemens Reijnen (consultant en softwareontwikkelaar bij Sogeti) zie je dit terug in zowel techniek en organisatievormen als de methoden Agile en DevOps. Cloud-IT is hierin dé enabler. Technieken als Micro Services en containers, maar ook werkwijzen zoals Agile en DevOps, ondersteunen de versnelling in IT. Micro Services Architectuur en serverless technologie zoals Amazon Lambda, Google Functions en Azure Functions dwingen tot een geheel andere kijk op applicatieontwikkeling en -management. Applicaties worden teruggebracht tot wat ze eigenlijk altijd al waren: een combinatie van losse functionele componenten. Waar in een klassieke architectuur (de monolith) alle functies worden samengebracht in een systeem, trekt een Micro Services Architectuur alle functies juist uit elkaar en zorgt ervoor dat deze afzonderlijk autonoom kunnen functioneren. Dit maakt het mogelijk dat je componenten eenvoudig kunt hergebruiken, maar ook een enkele instantie kunt delen tussen meerdere applicaties of zelfs klanten. De uitwisselbaarheid en herbruikbaarheid van de individuele functies levert een enorme winst in productiviteit op; ten opzichte van een monolith is de complexiteit vele malen lager en dus ook de leercurve voor ontwikkelaars korter. De combinatie van hergebruik van bestaande, kleine applicatiecomponenten, het automatiseren van test tot deployment, en iteratief ontwikkelen levert DevOps-teams een gemiddelde reductie op van 75 procent op de ontwikkeltijd. Ook neemt door het gebruik van cloud en micro-services de stabiliteit van systemen enorm toe. Zo wordt de capaciteit binnen IT steeds minder gericht op secundaire processen; in plaats daarvan kan deze (bijna) volledig gericht worden op echte verbetering en innovatie.

Impact op outsourcingpraktijk

Deze trend van verkleinen, vereenvoudigen en versnellen heeft verschillende gevolgen voor outsourcing van applicatieontwikkeling en -beheer. Allereerst zullen serviceproviders er rekening mee moeten houden dat grote contracten nagenoeg van het toneel zullen verdwijnen. Niemand zit meer te wachten op een leverancier die alleen op de winkel past; dergelijke services parkeer je beter in de cloud. De investeringsbereidheid van klanten beweegt weg van de kernsystemen, naar de ontwikkeling van nieuwe functionaliteit rondom deze systemen. Dit business-georiënteerde maatwerk is gericht op het verbeteren van de gebruikerservaring, het verhogen van de productiviteit en het optimaliseren van bedrijfsprocessen. Providers zullen er steeds minder in slagen om grote volumes aan uren en generieke oplossingen te verkopen. Ze zullen eerst moeten laten zien dat ze de nieuwe concepten goed begrijpen en over voldoende executiekracht beschikken (bijvoorbeeld door een Proof of Concept, POC, te leveren) alvorens ze grotere klussen gegund krijgen.

Het nieuwe ‘make or buy’

Make or BuyWanneer er vroeger iets in de informatiehuishouding moest worden gedigitaliseerd of geautomatiseerd, dan had je zo’n beetje twee keuzes: zelf software maken of een pakket kopen. Tegenwoordig is deze scheiding niet meer zo duidelijk te maken. Het pakket van weleer maakt nu plaats voor cloudgebaseerde platformen die een complete marktplaats aan verschillende point-solutions bieden. Kant-en-klaar, alvast geïntegreerd en schaalbaar. Alle grotere IT-serviceproviders bieden omgevingen met daarin core applicaties (ERP, CRM, HR), gecombineerd met een ontwikkelomgeving (PaaS) en een marketplace voor derde partijen. Naast de generieke of horizontale, one size fits all platformen zoals Force.com, ServiceNow of Workday, is de verticale Software-as-a-Service in opkomst, gericht op specialismen en sectoren zoals Fleetmatics (logistiek) of Veeva (klinisch onderzoek).

Op deze manier verandert Make or Buy in Make & Buy. De keuze voor een van de twee hoeft niet meer gemaakt te worden omdat (1) in deze platformen product en maatwerk samenkomen en (2) er in de cloud andere regels gelden. Openheid en interoperabiliteit zijn daar verankerd in de ontwerpprincipes. Bij het selecteren van applicaties richt je de aandacht niet langer op losstaande oplossingen, maar kies je het best passende ecosysteem: van mensen, bedrijven en technologie.

Uitdagingen voor Dev en Ops

De nieuwe focus op kleine herbruikbare onderdelen bij applicatieontwikkeling heeft ook gevolgen voor de werkwijze van teams. Wat gebeurt er met het servicemanagement als de monolith applicatiearchitectuur wordt opgeknipt in losse services? Er ontstaat in ieder geval een berg aan nieuwe operationele afhankelijkheden, zo valt af te leiden uit de ervaringen van front-runners zoals Zalando, Netflix, Uber en Groupon. Uber draait tegenwoordig op meer dan 500 services, deels afkomstig van Twitter, Google en verschillende banksystemen. Hierdoor ontstaan allerlei nieuwe afhankelijkheden die slim moeten worden gemanaged. Ontwikkelaars programmeren daarom bijvoorbeeld routines voor automatische fail-over of re-configuratie (self-healing); of ze zetten functies tijdelijk uit wanneer de business hierom vraagt. Het kunnen omgaan met een uitdijend ecosysteem van functies vereist andere competenties. Ops-teams zullen de aandacht moeten verleggen van klassiek servicemanagement naar de regie op individuele applicatieservices. Leden van DevOps-teams moeten de samenhang en wisselwerking van alle services kennen en samen leren beheersen. Traditionele leveranciers van ITSM-tooling zijn dan ook volop bezig met nieuwe producten om DevOps-teams te ondersteunen. Deze nieuwe toolmarkt is volop in ontwikkeling; de Ops-kant loopt echter nog achter op de Dev-kant. Betrouwbaarheid borgen zonder de creativiteit te blokkeren, dat is de grootste uitdaging bij het ontwerp van de nieuwe IT-organisatie.

Gebruikerservaring voorop

De gebruikerservaring (of User eXperience, UX) van enterprise software was in het verleden vaak problematisch. Functionaliteit ging altijd voor de vorm, maar ook hier lijkt het tij te keren. Zo won SAP in 2015 een prestigieuze Red Dot Award voor Fiori, het op UX gerichte front-end ontwikkelplatform voor apps waarmee je SAPapplicaties kunt versimpelen en personaliseren voor specifieke doelgroepen. Bij Fiori staat de rol die een gebruiker vervult, voorop. Een moderne, simpele en intuïtieve ERP-interface op je mobiele device, wie had dat gedacht? Veel meer aandacht voor de gebruiker, dat is de nieuwe koers voor bedrijven met een grote installed base in ERP, CRM, SCM of andere enterprise software.

Niemand zit meer te wachten op een leverancier die alleen op de winkel past

Twee snelheden is (nog eventjes) realiteit

KameleonBij zowel de IT-serviceproviders als in de interne IT-organisaties begint de IT-delivery te piepen en te kraken. Leon Bedaux (innovatiemanager bij KPN Digital) legt uit dat het binnen KPN onmogelijk was om te versnellen zonder een autonome organisatie naast de bestaande op te zetten. Wanneer je wilt vernieuwen, stuit je op duizenden ‘corporate problemen’ en die moet je zelf kunnen oplossen, zo vertelt Bedaux. Als je afhankelijk bent van een trage bestaande organisatie, remt de versnelling vanzelf af tot het tempo van de rest. Bedaux zocht naar een uitweg en ging de strijd aan. Hij won vertrouwen met een goed plan en organiseerde een budget. Hij haalde traditionele ontwikkelcapaciteit terug uit India en nam zijn eigen ontwikkelaars aan, waarmee hij nieuwe, gedreven en snelwerkende teams opzette. Deze hebben inmiddels alle monolieten getransformeerd naar een nieuw, op open-source software gebaseerd ecosysteem. Door de versnelling van ontwikkeling en beheer (DevOps) is er een enorme kostenbesparing gerealiseerd, ook zijn de licentiekosten verdampt door het gebruik van opensource software.

Ook Mark Wiermans (managing director Accenture Technology Services) onderschrijft het beeld dat IT-organisaties vaak niet meer kunnen meekomen. De grotere bedrijven versnellen bijna allemaal in een two-speed constructie waarbij er in een nauwe samenwerking met externe partijen aan innovatie wordt gewerkt. Het marktaandeel van de oude IT wordt zo langzaam maar zeker opgegeten. Over het model van twee snelheden is al veel gezegd en geschreven en het klinkt aantrekkelijk, omdat het een oplossing lijkt te zijn voor de stagnatie in IT. Maar het is geen wenselijk eindstation. De keerzijde van bimodal IT kan zijn dat je een luxueuze compound midden in een probleemwijk creëert, en daarmee de IT-organisatie met nieuwe vraagstukken opzadelt.

Maak je borst maar nat

Voor veel bedrijven is cloud nu vooral nog een alternatief voor ‘on premise’. In het streven de kosten te verlagen en te flexibiliseren (van capex naar opex) kiezen bedrijven steeds minder vaak voor het zelf investeren in hardware. Cloudplatformen – met een rijk aanbod aan applicaties, API’s, functions en micro services – zullen het gemakkelijker maken om allerlei nieuwe toepassingen sneller en geïntegreerd uit te rollen. De cloudprovider wil hierbij graag een rol spelen: in het koppelen van allerlei bouwstenen aan de bestaande (kern)systemen en in het beheer van die nieuwe complexiteit. De komende jaren zal de vraag ‘cloud of on premise?’ steeds meer naar de achtergrond verschuiven en plaats maken voor het cloudplatform als enabler van versnelling. Two-speed IT, spelen op drie schaakborden, of innovatie aan de rand? Linksom of rechtsom geldt dat CIO’s en hun teams hun borst kunnen natmaken.