#softwareontwikkeling

De 7 software ontwikkeling trends voor 2021

Julia van Toor

Op ontdekkingsreis in Webtech Wonderland

 - 

Vandaag pakken we onze virtuele verrekijker erbij. We gaan op ontdekkingsreis in Webtech Wonderland. Niet alleen, maar samen met een aantal ervaren dev collega’s die ons door dit -soms toch wel overweldigende- dev landschap helpen navigeren. We vragen hen: welke trends, methodes en technieken kunnen we in 2021 verwachten?

trends software ontwikkeling 2021, trends software ontwikkeling

1 Beveiliging nóg belangrijker

Tegenwoordig kan je alle mogelijk denkbare informatie verzenden en ontvangen met één klik op de knop. Maar vragen we onszelf wel voldoende af of deze informatie goed beveiligd is en of het niet naar onwenselijke plekken lekt?

We willen ons allemaal veilig voelen op straat, toch? Gelukkig hebben we daarvoor de politie. Al staan onze “heren” niet altijd erg positief in het nieuws. Het biedt het ons wel de nodige bescherming en helpt criminaliteit terug te dringen. Maar hoe zit dit met het web? Daar ziet criminaliteit er heel anders uit en vereist een andere aanpak. Dit is niet alleen een grote uitdaging voor de politie en overheid, maar ook voor bedrijven die privacygevoelige informatie moeten beveiligen. We zien dat steeds meer mensen Googelen naar de term ‘Cyber Security’. Kijk maar.

Google trends cyber security

Je ziet heel duidelijk dat er behoefte is aan meer veiligheid op het web. En dat is niet gek. Het “web wegennet” groeit vandaag de dag nog steeds als kool. We handelen en kopen online. Een groot deel van ons leven ís zelfs online. Nieuwe technologieën veranderen ons leven keer op keer. Maar juist door die steeds opduikende technologieën is het lastig om onze prive informatie goed te beveiligen [1]. We horen en lezen dat cybercriminaliteit nog altijd toeneemt.

Beveiliging loopt dus achterop bij technologische innovatie. Geen prettige gedachte. Zeker niet bij e-commerce platformen, internetbankieren app's en andere apps met privacy gevoelige data.

Niet alleen voor mensen zoals jij en ik is databeveiliging van levensbelang. Zo zagen we al dat dit thema ook bedrijven raakt. Het doet een groot beroep op de IT afdelingen. Gehackt worden betekent voor bedrijven niet alleen het lekken van vertrouwelijke info, maar ook het verliezen van klanten en een slechte reputatie in de markt. Zeker nu de meldplicht van kracht is. Zorg dus dat jouw IT afdeling voldoende kennis & mensen in huis heeft om beveiligingsissues de baas te zijn.

2 Legacy software aanpakken

We borduren nog even voort op het thema beveiliging of cyber security. We zijn het er vast en zeker samen over eens dat goede beveiliging van data begint met stevige en betrouwbare software & systemen.

Heeft jouw organisatie nog legacy software draaien? Pak dit dan aan. Door het moderniseren of updaten van legacy systemen zet je al een grote stap in de richting naar het beveiligen van je data.

Naast beveiliging is er nóg een reden om je legacy systemen aan te pakken: innovatie. Voor veel organisaties zijn legacy systemen een blok aan het been voor innovatie. Ontwikkelaars verspillen bijna 50% van hun tijd met werken aan verouderde software & systemen [2].

Heeft jouw IT afdeling nog te maken met legacy systemen? Zet de aanpak daarvan hoog op je prioriteitenlijstje.

Last van legacy software & systemen?

Download de whitepaper!

Download nu »
legacy software whitepaper

3 Webapps krijgen meer liefde

Hoe vaak installeer jij nog een applicatie op je desktop? Waarschijnlijk veel minder dan vroeger. Daar waar je vroeger een app voor installeerde, gebruik je nu als webapp. Denk maar aan tekstverwerkers, mail, kalender of presentaties. Webapps bestonden 10 jaar geleden al wel, maar waren bij lange na niet zo geavanceerd als nu. Tegenwoordig verschillen desktop apps en webapps nauwelijks. En áls er verschil is, dan is het vaak de webapp die beter is. Kijk maar naar de voorbeelden van Outlook.

Outlook webapp 2010 [3]

outlook webapp 2010

Outlook webapp 2020 [4]

outlook webapp

Outlook desktop app 2010 [5]

outlook desktop app

Outlook desktop app 2020 [6]

outlook desktop app

Naast dat de webapp van Outlook er tegenwoordig heel clean uitziet doen de functionaliteiten van de webapp helemaal niet onder die van de desktop apps. Sterker nog, de desktop app kun je vaak prima vervangen door de webapp. Wij verwachten daarom dat webapps in 2021 nóg meer op de voorgrond zullen treden, en dan vooral Progressive Web Apps (PWA's).

Het is eigenlijk niet zo vreemd dat webapps meer en meer liefde krijgen. Webapps kennen veel voordelen: je kunt er altijd bij, geen gedoe met updates, geen hardware of OS limitaties en webapps kosten minder op de lange termijn.

Welke van de twee krijgt in 2021 vooral jouw aandacht, webapps of desktop applicaties? Hopelijk geeft dit stof tot nadenken.

4 Groei in Domain Driven Design

Hoe vaak hoor je wel niet dat grote ICT-projecten gedeeltelijk of helemaal mislukken? Het mislukken van grote ICT-projecten is voor 64 procent toe te schrijven aan problemen in organisatie en communicatie [9]. De complexiteit van deze softwareprojecten gaat het organisatievermogen van mensen simpelweg te boven

Er ís een methode die je kan helpen deze chaos te voorkomen: Domain Driven Design. Al eens van gehoord?

Domain Driven Design of DDD is een software architectuur instrument met als doel het versnellen van softwareprojecten die te maken hebben met complexe domeinen [7]. Het uitgangspunt van DDD is het in kaart brengen van deze domeinen. Dit doe je nog voordat je start met het ontwikkelen van de software zelf. DDD werd het eerst beschreven door Eric Evans in zijn boek 'Domain Driven Design: Tackling Complexity in the Heart of Software' in 2004.

"Goede" software gaat niet alleen over efficiënte code en robuuste integraties [12]. De code moet een afspiegeling zijn van het domein, zodat software tijdens iedere processtap de flow faciliteert en software mee kan veranderen als er iets wijzigt in het domein. DDD geeft hier handvatten voor.

Maar wat is een domein? Een domein is een afgebakend gebied binnen een proces. Neem als voorbeeld een webwinkel. Daar heb je te maken met bijvoorbeeld het boodschappenkarretje, een wensenlijstje, gegevens voor bezorging en gegevens voor facturatie. Met DDD splits je deze onderdelen op in verschillende domeinen. Hoe je dit opgesplitst is voor iedere organisatie anders. In het plaatje hieronder zie je in een abstracte schets hoe verschillende domeinen met elkaar verbonden kunnen zijn.

domain driven development, DDD

Schets van domeinen en verbindingen [16]

Met DDD breng je dus eerst in kaart wat de software moet gaan doen. Pas later kijk je naar de technische kant. Verder heeft DDD verschillende tools en principes die ervoor zorgen dat business, IT en andere stakeholders dichter bij elkaar komen in het hele proces. Samenwerking is key.

Een heel belangrijk principe van DDD is bijvoorbeeld het gebruik van "Ubiquitous Language" of simpel: een gemeenschappelijke taal [8]. Bij een complex softwareproject komen een hoop verschillende mensen kijken, in alle soorten en maten, denk maar aan: eindgebruiker, expert, projectleider, architect, tester, analist, beheerder, ontwikkelaar, directie, noem maar op. Al deze mensen hebben ieder een "ideale" kijk op hoe de applicatie eruit moet komen te zien. Deze ideeën komen zelden met elkaar overeens. Door één taal te spreken kan iedereen zijn verwachting communiceren op een manier dat het voor allen duidelijk is.

Waarom verwachten we meer van Domain Driven Design in 2021?

DDD bestaat al sinds 2004 en het is eigenlijk al die jaren een relevante methode geweest. Maar je ziet nu wel dat bedrijven en developers microservices meer en meer weten toe te passen. Ook "containerized development" met bijvoorbeeld Docker is steeds laagdrempeliger geworden. Beiden stimuleren een software architectuur van "verticale isolatie". Dankzij deze ontwikkelingen verwachten we dat DDD meer op de voorgrond gaat treden, ook in de communicatie naar klanten.

Past jouw IT afdeling al "verticale isolatie" toe in de architectuur van softwareprojecten?

5 Sterke groei in Python based frameworks en libraries

Programmeertaal Python is voor het eerst gelanceerd in 1991 en staat bekend om de toegankelijkheid en dat je er heel veel mee kan op het gebied van applicatie ontwikkeling en data science [10]. De laatste 5 jaar is Python flink gestegen in populariteit. Kijk maar hoeveel er gegoogled is naar Python.

Google trends Python

De populariteit van Python is de laatste jaren vooral te danken aan dat er erg veel packages beschikbaar zijn om bijvoorbeeld data te transformeren of om Machine Learning voorspellingen toe te passen, met Tensorflow en Opencv. Door de toenemende populairiteit van Machine Learning zal Python van nog meer groei genieten in 2021 en de jaren daarna.

6 Lean Software Development

In trend 4 zagen we dat 64 procent van de grote, complexe softwareprojecten mislukken vanwege problemen in organisatie en communicatie. We zagen ook dat Domain Driven Design (DDD) een handig instrument is dat kan helpen om complexe domeinen inzichtelijk te maken voor alle betrokkenen bij een softwareproject.

Naast DDD kunnen de tools en principes van Lean Software Development ook helpen bij het versimpelen van complexe softwareprojecten en processen. Lean Software Development staat voor een effectieve software ontwikkeling met zo min mogelijk waste. Lean Software Development kun je ook goed combineren met Agile.

Waarom verwachten we meer van Lean Software Development in 2021?

We zien de tools en principes van Lean Software Development steeds vaker terugkomen. Zo zie je dat bedrijven met softwareproducten voor software ontwikkelaars tools van Lean Software Development implementeren. Bijvoorbeeld de Value Stream Mapping software van Lucidchart die je kan integreren met Atlassian en Jira. Deze software is in april 2020 gelanceerd.

Value Stream Mapping software Lucidchart

Value Stream Mapping software Lucidchart [15]

Value Stream Mapping is een belangrijke basis voor een Lean softwareproces. Verder heeft Lean Software Development 7 principes. Ze staan hieronder op een rijtje. Klik op de links en ontdek de betekenis achter elke principe. Of download de whitepaper over Lean Software Development.

  1. Eliminate Waste
  2. Build Quality In
  3. Create Knowledge
  4. Decide as late as possible
  5. Deliver Fast
  6. Respect People
  7. Optimize the Whole

Lean Software Development verder ontdekken?

Download de whitepaper!

Download nu »
lean software development whitepaper

7 Doorbraak in online IDE's

Met welke editor of IDE werkt jouw IT afdeling? Met een desktop variant of online in de browser? Of een combinatie van beiden? Mijn ervaren dev collega’s hebben de verwachting dat online IDE’s zullen doorbreken in 2021.

Vanwaar deze verwachting?

Online IDE's kennen veel voordelen: er staat al veel klaargezet zodat je snel aan de slag kan, je kunt je code makkelijk delen met collega’s of je kunt onderweg makkelijk iets editen. Online IDE’s hebben verder vaak goede integratiemogelijkheden met bijvoorbeeld Github of GitLab.

visual studio online

Een voorbeeld van een online IDE is Microsoft’s Visual Studio Online die vorig jaar is gelanceerd [13]. Volgens Microsoft is Visual Studio Online een aanvulling op de bestaande Visual Studio-aanbod.

Een ander heel recent voorbeeld van een online IDE is Gitpod [14]. Gitpod zit geïntegreerd in het bekende DevOps platform GitLab.

Gitpod

Naast een hoop voordelen kennen online IDE's ook drempels. Het is de vraag of de drempels van online IDE's in 2021 al compleet zijn weggenomen. Voorbeelden van drempels zijn: gebrek aan plugins, dat de performance soms nog niet on par is, of dat bedrijven hun softwareprojecten liever niet delen met de Cloud providers [12].

Daarnaast blijven mensen van nature liever bij "het oude vertrouwde". Iets als mail en kalender, of presentaties maken doen we al zonder drempels online. De stap naar online IDE's heeft misschien langer dan een jaar nodig.

Ben je aan het overwegen om een online IDE te proberen? Als je al gebruik maakt van Visual Studio Code of GitLab kan één van de eerder genoemde online IDE's een mooie eerste stap zijn. Let bij het kiezen van een online IDE er in ieder geval op dat het goed aansluit op je huidige tools en werkprocessen.

Conclusie

Zo, dat waren de 7 trends voor 2021! Als we naar de trends kijken zien we een paar rode draden: security is meer dan ooit topprioriteit, er is een duidelijke verschuiving zichtbaar van desktop applicaties naar het web (inclusief IDE's), en methodes & instrumenten om complexe softwareprojecten overzichtelijk te maken worden steeds belangrijker. Welke trend sprong er voor jou bovenuit? Denk na welke trends interessant zijn voor jouw IT afdeling en start er deze week nog mee.

Versla het "Spaghetti Monster" legacy software & systemen

Voor veel organisaties zijn legacy applicaties een blok aan het been voor innovatie. Bovendien verspillen ontwikkelaars bijna 50% van hun tijd met werken aan verouderde software & systemen.

Ontdek in de whitepaper strategieën om legacy software te vervangen met moderne technologie dat zelfs 30-50% langer meegaat. En dat, terwijl de business gewoon door draait.

Profiteren van deze voordelen? Zet de eerste stap. Download de whitepaper.

legacy software whitepaper