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.
CMMI 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:
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.
Om 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.
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:
| 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.
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").