Te snelle softwareontwikkeling: waar moet je op letten?

9 augustus, 2019

‘Haastige spoed is zelden goed’ en ‘het zekere voor het onzekere nemen’: deze spreekwoorden adviseren ons om voor zekerheid te kiezen. Spoed heeft namelijk vaak negatieve gevolgen. Dit geldt ook bij softwareontwikkeling. Snel willen opleveren leidt vaak tot minder veiligheid, stabiliteit en gebruiksvriendelijkheid. Kiezen voor zekerheid en dus een wat langer traject lijkt dan voor de hand te liggen.

Toch is dat niet altijd makkelijk. Bij een project heb je te maken met deadlines, budgetten en concurrentie. Allemaal factoren die juist gunstiger uitpakken als je kiest voor snelheid. Je zult dus een balans moeten vinden tussen snelheid en zekerheid.

Waar moet je bij het ontwikkelen van software in elk geval op letten, om problemen met stabiliteit, veiligheid en gebruiksvriendelijkheid te voorkomen? In deze blogpost bespreken we drie essentiële factoren waarmee je rekening moet houden om een goed product op te leveren. Of je nu haast hebt of niet.

Gebruiksvriendelijkheid

Als een applicatie niet gebruiksvriendelijk is, zal hij niet of met tegenzin worden gebruikt. Hoe snel hij dan ook is ontwikkeld, je hebt er waarschijnlijk weinig aan. Dit wil je koste wat het kost voorkomen in een ontwikkeltraject waar je geld en moeite in stopt.

Gebruiksvriendelijkheid is meer dan alleen een logische interface. De applicatie moet passen bij de processen van jouw organisatie en alle functies bevatten die gebruikers nodig hebben. Er zijn een aantal zaken waar je op kunt letten tijdens het project:

  • Past de applicatie bij de eisen en wensen van de organisatie?
  • Ontzorgt de applicatie de gebruiker voldoende?
  • Zijn de gebruikers enthousiast over de applicatie en kunnen ze hem snel leren gebruiken?
  • Wat is de kans dat de applicatie verkeerd wordt gebruikt, met fouten tot gevolg?

Het probleem is vaak dat ontwikkelaars de neiging hebben om deze vragen minder aandacht te geven. Dit komt doordat zij zelf snappen wat ze aan het ontwikkelen zijn. Het is de kunst om in te spelen op de verwachting van de gebruiker. Maar hoe krijg je deze scherp?

De oplossing is om de gebruiksvriendelijkheid te testen met de eindgebruikers zelf. Op deze manier kun je snel schakelen en eventuele fouten die ze tegenkomen direct oppakken. Goede gebruiksvriendelijkheid maakt de implementatie van een nieuw systeem eenvoudiger en voorkomt fouten en frustratie bij gebruikers. Zo bespaar je vaak zelfs tijd door de gebruiksvriendelijkheid direct serieus te nemen.

Beveiliging

Applicaties bevatten data die bereikbaar moet zijn voor medewerkers, andere applicaties en soms zelfs voor externen. Je moet goed inrichten wie welke data mag zien en zorgen dat er geen gaten zitten in de beveiliging. Met de komst van de AVG (GDPR) en de hoge boetes op datalekken is het nog belangrijker geworden om data goed te beschermen en af te schermen. Dit is een ingewikkeld proces waarin snel fouten worden gemaakt als er sprake is van haast.

Er zijn een aantal dingen waar je op moet letten als het gaat om de veiligheid van gegevens:

  • Zijn er klantgegevens die gevoelig kunnen zijn?
  • Staan er cruciale bedrijfsgegevens in?
  • Staan er belangrijke wachtwoorden of toegangscodes in die kunnen leiden tot nog een inbreuk?

Het is belangrijk dat de organisatie scherp heeft wie verantwoordelijk is voor welke taken en wie toegang heeft tot bepaalde data. Als dit duidelijk is, kan de organisatie de security daarop afstemmen en de juiste rechten toekennen.

Het is hierin ook belangrijk om een data-verantwoordelijke aan te stellen. Hij of zij kan meedenken over de vertrouwelijkheid van de data en toezien op de juiste inrichting. Als het voor de ontwikkelaars onduidelijk is hoe de security eruit moet komen te zien, wordt het lastig de juiste rechten toe te kennen en de security goed te testen.

Stabiliteit

Een applicatie die snel is ontwikkeld, kan snel worden opgeleverd. Maar de keerzijde is dan wel dat er minder tijd is om de stabiliteit van de applicatie goed te testen. En dat terwijl het testen misschien wel het belangrijkste onderdeel is van het proces. Als je niet goed test, kan je een lage stabiliteit van de applicatie over het hoofd zien.

Een lage stabiliteit kan betekenen dat de applicatie op bepaalde momenten stopt met werken. Dit kan grote gevolgen hebben, omdat het hele bedrijfsprocessen kan verstoren. Denk bijvoorbeeld aan het administratiesysteem van een ziekenhuis. Welke gevolgen heeft het als medewerkers hier een uur niet in kunnen? Of als de lopende band van een fabriek het tijdelijk niet doet? De impact kan enorm zijn en leiden tot grote verliezen.

Als het gaat om stabiliteit is het belangrijk om te testen op de volgende punten:

  • Kan het systeem de maximaal verwachte datastromen aan?
  • Verschijnen er foutmeldingen bij het doorlopen van de processen?
  • Hoe reageert de applicatie als er onverwachte data wordt ingevoerd?
  • Als het systeem uitvalt, werkt de back-up dan nog?

Het belang van testen

Uitvoerig en continu testen is belangrijk om de gebruiksvriendelijkheid, security en stability goed af te stellen. Hier zit een verantwoordelijkheid voor beide partijen, want ontwikkelaars kunnen niet alles zelf testen.

Eindgebruikers en security-experts moeten uitvoerig kunnen testen. Dit verhoogt de kans dat alle wensen en eisen ook opgeleverd worden zoals verwacht. Hun feedback haal je binnen door interne testers aan te wijzen en hen goed voor te bereiden om hun taken. Begin hiermee vroeg aan het project, want dan wordt dit in de kern van de applicatie meegenomen.

Toch is hier in de beginfase vaak te weinig aandacht voor. Dit zorgt ervoor dat je laat in het traject opeens veel werk moet verzetten om dit goed te maken. Maar het probleem is dat geld en tijd aan het eind van het project juist schaars zijn. Bovendien kost het vaak meer werk om fouten aan het einde recht te breien, omdat een aanpassing dan meer impact heeft op andere al bestaande elementen van het product.

Zo leidt het niet regelmatig testen van de app ertoe dat de druk aan het eind van het project ineens hoog oploopt. Dit wordt ook wel de zone of chaos genoemd. In deze fase komen veel mankementen naar boven die de ontwikkelaars niet hebben voorzien. Het is daarom belangrijk dat je de applicatie al vanaf het begin regelmatig test, geautomatiseerd en handmatig. Zo kun je de meeste fouten snel opsporen.

En kom je toch nog een fout tegen wanneer de applicatie al in gebruik is? Zorg er dan voor dat je goede onderhoudsafspraken hebt, zodat deze snel kan worden opgelost.

Conclusie

Softwareontwikkeling is duur, dat valt niet te ontkennen. Het liefst zijn projecten goedkoop en snel klaar. Toch is het belangrijk om tijdens de ontwikkeling van een applicatie kritische vragen te stellen en de app regelmatig te controleren op fouten of tekortkomingen. Het is daarin vooral de moeite waard om de applicatie samen met de eindgebruikers te testen. Zij zijn de belangrijkste bron van feedback, want zij gaan de applicatie straks gebruiken. Kortom: door tijdens het ontwikkelproces kritisch naar de app te blijven kijken vergroot je de kans dat eindgebruikers deze accepteren, en dus dat je een snel en succesvol project draait!

outsourcing

Bekijk ook eens

Deze verhalen over Digitalisering

Ontvang de nieuwsbrief

Reacties (1)

Ben jij al bekend met ITIL 4?

Kom vrijdag 19 april naar de ITIL 4 kennissessie en laat je meenemen op een tour langs alle verandering en mogelijkheden van ITIL 4.

> Meld je nu aan!