Vergeet mobile-first en multi-channel; de toekomst van development heet cognitive-first. De opmars van de cognitieve benadering van softwareontwikkeling wordt gestimuleerd door de enorme toename van de hoeveelheid beschikbare data en de ontwikkelingen op het gebied van kunstmatige intelligentie en internet of things (IoT). Wat moet je als developer weten over deze manier van ontwikkelen? En bij wat voor applicaties kun je een cognitive-first benadering het beste toepassen?
De toepassing van cognitieve applicaties is natuurlijk al lang geen science fiction meer. Cognitive computing-technologieën zoals data mining, patroonherkenning en natural language processing helpen developers om applicaties te ontwikkelen die steeds beter de werking van het menselijke brein benaderen.
Om cognitive computing te kunnen toepassen in de ontwikkeling van applicaties zul je als developer gebruik moeten maken van de nieuwste technologieën, soorten interfaces en databronnen. En dat begint bij de basis: het aanpassen van de it-infrastructuur aan de eisen van cognitive computing.
Basis
Organisaties die cognitive computing toepassen kiezen over het algemeen voor een cloud-native benadering en een hybride it-infrastructuur. Dankzij de combinatie van ‘lokale ofwel eigen’ besturingssystemen en databronnen in de cloud, is het vrij eenvoudig om gebruik te maken van grote hoeveelheden data zonder dat bestaande systemen per sé overgeheveld hoeven te worden naar de cloud. Recente cijfers van analistenbureau IDG onderstrepen het belang van een hybride infrastructuur; in 2020 zal nog maar 50 procent van de markt bestaan uit (fysieke) datacenters. Public cloud zal dan verantwoordelijk zijn voor iets minder dan een derde van de markt en het aandeel private cloud zal zo’n 20 procent beslaan.
Een andere ontwikkeling die de komende jaren belangrijk zal zijn voor developers is dat bedrijven strategisch zwaarder in gaan zetten op het centraal stellen van de klant. Een belangrijk gevolg daarvan is dat de interactie van gebruikers met apps verspreid plaatsvindt op verschillende devices. Terwijl de gebruikerservaring altijd geoptimaliseerd moet zijn. En het wordt nog ingewikkelder; de interactie moet ook worden geoptimaliseerd op basis van de persoonlijke voorkeuren en de fase van een klant in de digitale klantreis.
Dat dit verder gaat dan een ‘mobile first’ of ‘multi-channel’ benadering, dat spreekt voor zich. Een cognitive-first benadering kan op verschillende manieren bijdragen aan deze geoptimaliseerde gebruikerservaring. Grofweg zijn er vier soorten applicaties die baat hebben bij een cognitive-first benadering.
Applicaties zonder gui. Of het nu gaat om spraakgestuurde interactie, chatbots of augmented reality; steeds meer apps maken geen gebruik meer van een graphical user interface (gui). Voor een optimale gebruikerservaring van dit soort apps is het belangrijk om ze zo adaptive mogelijk te ontwikkelen. In sommige gevallen zal een applicatie acteren namens een gebruiker, andere apps zullen interactie met de gebruiker mogelijk maken op verschillende devices. Een goed voorbeeld hiervan is augmented reality, waarbij (met behulp van cognitive computing) een digitale informatielaag over de werkelijkheid heen kan worden geprojecteerd via smartphones, tablets of smart glasses.
Intelligente applicaties. De hoeveelheid data die wordt gegenereerd is zo groot geworden dat het inmiddels onmogelijk is voor mensen om deze te beheren of te analyseren zonder hulp van machines. Alleen intelligente applicaties zijn in staat om dat nog te doen. De strategische bedrijfsapplicatie van de toekomst zal dan ook gebruik maken van machine learning om op basis van data relevante voorspellingen te doen voor de business. Het automatiseren van de data science-cyclus maakt het mogelijk om hele accurate analysemodellen te ontwikkelen die zichzelf voortdurend verbeteren – zonder tussenkomst van een data scientist.
Verbonden applicaties. De toepassing van internet of things (IoT) maakt het noodzakelijk om grote hoeveelheden data te integreren, die worden gegenereerd door verschillende bronnen – onder meer in cloud-omgevingen, lokaal in eigen bedrif en in meerdere datacenters, datalakes en IoT-devices. Dankzij cognitive computing kunnen deze data centraal worden beheerd en verwerkt, met als doel om de gebruikerservaring te optimaliseren en waardevolle inzichten uit de data te halen.
Web-scale applicaties. Veel bedrijven staan voor de uitdaging om het volume van hun data en transacties schaalbaar te maken. Dankzij de opmars van flexibele it-infrastructuren en cloud computing komt deze schaalbaarheid steeds meer binnen handbereik. De combinatie van het beheer van infrastructuren op basis van code (de ondersteuning van verschillende typen applicaties en ux-workloads), agile development en de flexibele inzet van microservices zorgt vaak voor resultaten die verder gaan dan ‘infrastructure as code’ of ‘infrastructure as microservices’.
Het is de toekomst
En dan te bedenken dat we pas aan het begin staan. Waar strategische bedrijfsapplicaties tot voor kort vooral veilig, betrouwbaar en compliant moesten zijn, is het nu belangrijker dan ooit dat deze applicaties flexibel en agile genoeg zijn om cognitieve elementen te integreren zonder dat daarmee andere kwaliteiten verloren gaan. Met de ontwikkelingen die elkaar in hoog tempo opvolgen is het voor bedrijven noodzakelijk om hun bedrijfskritische data aan te passen en de stap te zetten naar cognitive first. Alleen zo kunnen zij zichzelf blijven onderscheiden van de massa.
Mark Troester, vice president of strategy bij Progress