Kwaliteit

Sinds het begin van haar bestaan heeft West een sterke focus op de kwaliteit van de door haar geleverde softwareproducten. Naast het feit dat onze medewerkers mede geselecteerd worden op hun affiniteit met dit onderwerp en er voortdurend gewerkt wordt aan bewustwording en ontwikkeling, zetten we een aantal modellen en technieken in om het door ons geleverde kwaliteitsniveau te (blijven) verbeteren. Software-ontwikkeling vraagt nu eenmaal om een bedrijfszekere aanpak.

Capability Maturity Model Integration (CMMI)

Capability Maturity Model Integration (CMMI) logoCMMI beschrijft de principes en de praktijken die aan de volwassen bedrijfsproces ten grondslag liggen. CMMI is bedoeld om organisaties te helpen hun processen te verbeteren door middel van een evolutionair pad. Dit pad vertrekt vanuit ad-hoc, chaotische processen naar volwassen, gedisciplineerde processen.

Wat is kwaliteit?
West definieert kwaliteit als "fitness for purpose", dat wil zeggen: de mate waarin het systeem voldoet aan de gestelde eisen (requirements). Deze eisen, hoewel vaak ook aan verandering onderhevig, moeten dus goed worden vastgelegd. In het verlengde hiervan ligt systeemdocumentatie, noodzakelijk om de beheerbaarheid van een softwaresysteem na oplevering te kunnen garanderen.

Het voordeel van volwassen processen is dat:

  • Activiteiten worden herhaald. Ervaringen worden gebruikt om process standaarden te verbeteren. De efficientie is hoger.
  • De beste ervaringen worden uitgewisseld tussen groepen, zelfs over projectgrenzen heen, standaardisatie wordt geboden voor de organisatie.
  • Variaties in het uitvoeren van taken worden verminderd. Het is mogelijk om voorgang te meten omdat er kwantitatieve doelstellingen worden gevestigd.

CMMI is niet alleen nuttig voor software-ontwikkeling, maar ook voor het in het algemeen beschrijven van opeenvolgende niveaus van organisaties en om het niveau van management te beschrijven dat een organisatie heeft gerealiseerd of waarnaar zij wil streven.

PRINCE2

PRINCE2 logoOm projecten beheerst, succesvol, op tijd en binnen budget te kunnen uitvoeren maakt West veelal gebruik van de PRINCE2-methode. PRINCE2 is een projectmanagement-methode gebaseerd op een procesgerichte aanpak.

Wat kost kwaliteit?
Hoge kwaliteit kost bijna altijd minder dan lage kwaliteit, zelfs tijdens de ontwerpfase. Een goed gedefinieerde verzameling van systeemeisen (requirements) kan de implementatie- en testfase van een project aanzienlijk verkorten.

De methode is geschikt voor alle type projecten en kan naar behoefte worden aangepast in schaalgrootte van de toepassing van de processen, technieken en componenten. De processen worden gedefinieerd aan de hand van de te behalen doelstelling.

De projectmanagers die West inzet voor een project waarbij PRINCE2 wordt gebruikt zijn altijd gecertificeerd.

Standaarden

Hoewel het toepassen van standaarden geen garantie biedt voor kwaliteit neemt daardoor de transparantie en volledigheid van het ontwikkelproces en de opgeleverde producten wel toe. We passen onder meer de volgende standaarden toe:

  • ECSS software standaarden, in het bijzonder ECSS-E-40 (Software Engineering) en ECSS-Q-80 (Software Product Assurance). Deze standaarden zijn in gebruik sinds respectievelijk 1999 en 1996 en afkomstig uit de ruimtevaartindustrie. Karakteristiek voor deze standaarden is dat ze veelomvattend zijn en dat ze dienen te worden aangepast ("tailoring") aan het specifieke project waarin ze worden gebruikt. Dit maakt ze bij uitstek geschikt om ook bij projecten anders dan in de ruimtevaartsector te worden gebruikt.
  • J-STD-016. Dit is een breed toegepaste IEEE-documentatiestandaard voor software-tussen- en eindproducten, zoals requirements, ontwerp (globaal en gedetailleerd), testplannen, testresultaten enz.
  • Tenslotte hebben we ervaring met standaarden die een meer specifieke indeling van de kwaliteit die afzonderlijke systeemcomponenten dienen te hebben mogelijk maakt. Een voorbeeld hiervan is de DO-178B-standaard voor de ontwikkeling van onboard software in de luchtvaartindustrie.

Audits en code reviews

Prototyping/"Proof-of-Concept"
West voert regelmatig "Proof-of-Concept"-projecten uit, waarbij de haalbaarheid van de te realiseren functionaliteit, de toe te passen techniek of het idee wordt getoetst. Het intuïtieve idee dat je hebt bij "kwaliteit" wordt hierbij vaak niet gehaald (denk bijvoorbeeld aan het ontbreken van systeemdocumentatie). Toch is dat niet het geval als je kwaliteit definieert als "fitness for purpose". West is flexibel. We denken en werken mee met onze opdrachtgevers.

Audits en code reviews vormen een belangrijk kwaliteitsinstrument. Door een onafhankelijke derde de resultaten van een (tussen)product te laten beoordelen onstaat een onafhankelijk oordeel van de kwaliteit van dat product. West ondergaat regelmatig audits op eigen initiatief, en voert desgewenst ook zelf audits en code reviews op de softwareproducten van andere organisaties uit.

Mensen

Uiteindelijk wordt kwaliteit bepaald door de mensen die het werk doen. De software engineers van West hebben een hoog opleidingsniveau (veelal universitair, vakgebied Informatica), vinden kwaliteit belangrijk en zijn trots als ze een kwalitatief-hoogwaardig eindresultaat bereiken, werken gestructureerd en consistent, en voeren "peer reviews" uit op elkaars werk. Kortom: ze zijn echte software engineers.

Omdat Java-technology aan de basis staat van Wests technische visie nemen alle software engineers bij West deel aan het Sun Certification Program in Java Technology. Dit is een door de software-industrie geaccepteerd, wereldwijd programma dat zich richt op de toepassing van Java-technologie in software-ontwikkeling en enterprise architectuur. Via de programmeur- en ontwikkelaarniveaus werken de West software engineers zich op tot het architectenniveau ("Sun Certified Enterprise Architect for the Java 2 Platform").