Agile en software kwaliteit

Deze drie zaken worden geëist van moderne organisaties. Organisaties zijn afhankelijk van ICT systemen, die ook snel, kosteneffectief en betrouwbaar dienen te zijn. Dit stelt eisen aan de ontwikkeling en het beheer van ICT systemen. Software ontwikkelen systemen voor gebruikers, die bepalen aan welke functionaliteit en gebruikerseisen systemen moeten voldoen. In vele gevallen opereren de software engineers in complexe systeemomgevingen, bestaande uit meerdere systemen, die in verschillende tijdsperiodes zijn ontwikkeld. De engineer wordt geacht snel te werken, liefst foutloos en binnen budget.

De beheerders dienen een portfolio in de lucht te houden (correctief, inspectief onderhoud) of aan te passen aan nieuwe ontwikkelingen (adaptief, functioneel onderhoud). Vaak verschilt de kwaliteit van de portfolio sterk t.a.v. aanpasbaarheid, onderhouderbaarheid of overdraagbaarheid.

De praktijk: ict-ers gaan tot het uiterste!

Onze ervaring is dat technisch ingestelde mensen vaak tot het uiterste gaan om de vele en soms tegengestelde eisen te honoreren. Ze proberen de gebruiker te geven wat hij/zij wil, het is hun eer te na om minder te doen! Ze proberen de methoden en standaarden te volgen als dat van hen gevraagd wordt. Ze proberen binnen tijd en budget te blijven, soms door heel lang door te werken. Wij van Boncode hebben dit bijzondere gedrag in de afgelopen 20 jaar bij klanten en eigen technisch medewerkers vaak gezien. En dat heeft tot een houding van respect geleid jegens mensen die software maken of onderhouden!

Eisen van klanten, gebruikers of technologieën nemen toe.

Hoe faciliteer je een CIO, software engineer of beheerder op respectvolle wijze? Niet door:

  • Nog meer procedures.
  • Nog meer standaarden.
  • Nog meer eisen.

We zijn fundamenteel gaan kijken naar wat Software Kwaliteit inhoudt. Want daar hebben we het over: hoe maak je kwalitatief goede software, passend bij de tijd. Kwalitatief goede software wordt gekenmerkt door:

  • Functionele geschiktheid (‘Functional suitability’)
  • Betrouwbaarheid (‘reliability’)
  • Efficiëntie (‘performance’)
  • Operationele inzetbaarheid (‘operability’)
  • Bescherming gegevens (‘security’’)
  • Compatibiliteit (‘compatibility’)
  • Onderhoudbaarheid (‘maintainability’)
  • Overdraagbaarheid (‘portability’)

Product- en proceskwaliteit: agile

Agile procesmethoden zijn een antwoord op de veranderende tijd waarin alles sneller lijkt te gaan. Ons spreekt dat aan: klantgericht, je deels baseren op vertrouwen, overzichtelijk en samen werken. Dit zijn aspecten van proceskwaliteit: hoe je software ontwikkelt of beheert. Door die ‘’behendigheid’ (Agile) te combineren met ‘meten is weten’ open je nieuwe mogelijkheden. Mogelijkheden om sneller, kosten-effectiever en betrouwbaarder systemen te ontwikkelen en te beheren. Door ook de productkwaliteit te betrekken. Op objectieve wijze: snel en zakelijk. Een paar voorbeelden:

  • Door niet alleen de functionaliteit te demonsteren aan de klant, maar ook de testdekking en complexiteit te meten en te rapporteren, wordt kwaliteit ook al zichtbaar gemaakt tijdens het proces.
  • Door de omvang van een systeem regelmatig te rapporteren, blijven opdrachtgevers ook betrokken bij het ontwikkelen van back-end functionaliteit die niet meteen voor de klant zichtbaar is.
  • Door complexiteitsmetingen zichtbaar in een teamruimte te presenteren, neemt het kwaliteitsbewustzijn van het team (en daardoor ook de kwaliteit van het product) als vanzelf toe.
  • Door complexiteitsmetingen in te zetten kunnen junior ontwikkelaars actief gecoached worden in het schrijven van onderhoudbare broncode.
share
Back to top

GDPR Consent

This website makes use of cookies to ensure that the website works properly. Settings

Privacy policy | Close
Settings