home.gif (977 bytes)contact.gif (995 bytes)search.gif (987 bytes)whatsnew.gif (1021 bytes)sitemap.gif (1004 bytes)

Warmoes & Associates - Knowledge Solutions

Nederlands On Knowledge Education Consultancy Client Stories Steven Warmoes Networks

 

Simpele software

Ook bij bet ontwerpen van expertsystemen blijft bet een gulden regel: hou bet simpel. De aanpak van Warmoes & Associates.

Door Christine Huyge - Kwaliteitskrant, november 1997

"Eigenlijk zijn wij gespecialiseerd in het verbeteren van het breinwerk in bedrijven," zegt Steven Warmoes, vennoot van het Gentse kennistechnologiebedrijf Warmoes Knowledge Solutions. "Wij ondersteunen via informaticasystemen, die we ontwerpen en implementeren, ingewikkelde planning-, diagnose- of adviestaken in ondernemingen."

Een eerste vaststelling daarbij is: de technologie, hoe gevorderd ook, werkt niet als je niet tegelijk aan de organisatie en aan de processen van een bedrijf kan sleutelen. Een voorbeeld hiervan is het project Customer Service Center dat Warmoes & Associates voor de designafdeling van Volvo uitvoerde.

Opdracht was het ontwerpen van een computermodel dat moest toelaten een kosten-batenanalyse te maken telkens klanten een nieuw submodel van een bestaand type vrachtwagen wilden bestellen. "We merkten dat we die opdracht niet perfect konden uitvoeren indien we niet eerst ervaringsuitwisseling binnen het bedrijf op gang brachten," zegt Steven Warmoes.

"Er is dan een kenniskwaliteitskring opgezet om uit te vissen of de kosten op dat moment wel perfect werden ingeschat en om de knowhow rond het proces en de nacalculatie op te voeren. We hebben met andere woorden veel tijd gestopt in het organiseren van het proces, wat uiteindelijk beeft geleid tot een veel simpeler simulatiemodel dan dat waaraan we aanvankelijk hadden gedacht."

Meetbare doelstellingen

Uit dit verhaal kan je afleiden dat een allereerste voorwaarde voor een goede afloop van een softwareproject is: weten wat je klant wil. In Iso 9000-termen zou je dit proces een inkomende kwaliteitscontrole kunnen noemen. "Wij zien het als een deel van onze dienstverlening om dat samen met de klant uit te vissen."

De klant kent zijn business het best.

Zonder een concreet objectief voor ogen is het voor ons niet mogelijk om het te ontwerpen systeem toegevoegde waarde te geven. "Die toegevoegde waarde houdt voor ons ook heel duidelijk in dat we ervoor zorgen dat het effect van wat we doen, meetbaar is," zegt Peter Van Damme van Warmoes. "Die meetbare verandering moet bovendien relevant zijn voor het bedrijf. Het heeft bijvoorbeeld geen zin om de responstijd van een adressendatabank met 400% te verbeteren als daar geen kat van wakker ligt."

Een mooi voorbeeld van een meetbare, relevante doelstelling zit in het elektronische helpdesksysteem dat Warmoes voor de onderhoudsafdeling van de Brusselse metro ontwierp. "Na afloop van het project was het aantal metrostellen dat onnodig op de herstelafdeling verscheen, gereduceerd van 40 % naar 6 %."

"Eens je de meetbare doelstellingen voor ogen hebt, is het onze taak die te vertalen naar functies en eigenschappen die het systeem moet bezitten. Om te weten welke eigenschappen nuttig zijn, gebruiken we een uitbreiding van Quality Function Deployment. De kernvraag is: wat zijn essentiële onderdelen en wat niet, welke toeters en bellen moet het systeem wel of niet hebben om aan de doelstellingen te beantwoorden? Onze vuistregel is: hou het simpel. Hoe eenvoudiger een systeem, hoe minder kwaliteitsproblemen er kunnen ontstaan en hoe kleiner de kans dat projecten uitlopen of te duur worden."

In softwareontwikkeling bestaat er een handig instrument om de timing en de kosten onder controle te houden : time boxing. Je gaat uit van een maximaal budget en een vaste deadline en van daaruit ga je de functies prioritair invullen. Je stopt in je systeem dus eerst die zaken die de meeste toegevoegde waarde bieden. Is er nog tijd en geld over, dan kan je een aantal bijkomende eigenschappen ¾ opnieuw volgens prioriteit ¾ inbouwen.

Codegeneratie

Een belangrijk en vaak kostenopslorpend onderdeel van een software-project is het testen. Er bestaat een aantal methoden om te vermijden dat je alle elementen van een programma moet testen. Codegeneratie is er één van. Het betekent dat je uit de beschrijving van een systeem de computer zelf het programma laat genereren. Voordeel daarvan is: het is altijd goed of altijd fout. Als een computer fouten maakt, doet hij dat namelijk systematisch. Het gevolg is dat een steekproefsgewijze test kan volstaan. Is er een fout gemaakt, dan hoef je enkel de generator aan te passen en die is altijd compacter dan wat gegenereerd is.

Een andere methode heeft te maken met het componentengebruik, namelijk het gebruik van standaardmodules die hun deugdelijkheid hebben bewezen. "Dit principe van herbruikbaarheid wordt vaak gezien als een besparing in ontwikkelingskosten, maar wij geloven dat het vooral een kostenbesparing in het testen oplevert," aldus nog Steven Warmoes.

Betrek de klant

Als al deze technische maatregelen genomen zijn, blijft er het kernpunt de menselijke samenwerking. Zelfs de beste techniek vermag weinig indien projectmedewerkers elkaar niet openlijk hun mening durven zeggen. "In een project besteden we dan ook de nodige aandacht aan teamvorming," stelt Peter Van Damme. "We werken met zogenaamde A-teams (Architectenteams) met medewerkers van de klant. Deze aanpak is een aanpassing van de methode van de kwaliteitsverbeteringsteams."

"Soms wordt de gebruiker nog op een vrij primitieve manier betrokken bij het software-ontwikkelingsproces. Hij krijgt bijvoorbeeld enkel inspraak bij de opbouw van zijn scherm. Je moet er blijven van uitgaan dat de klant zijn business het beste kent. Wij brengen knowhow en een bepaalde visie in, maar al bij al moet de klant het systeem als het zijne kunnen beschouwen. Dat betekent niet dat je je als softwareontwikkelaar moet plooien als je weet dat je gelijk hebt. De klant is wel koning inzake toegevoegde waarde die hij zoekt en geld dat hij ter beschikking wil stellen. Maar hij is geen despoot. Als hij ons in de aanpak iets oplegt wat tegen zijn hoger belang indruist, dan volgen we niet."

Vijf tips voor softwareprojecten

bulletWeet wat je wil bereiken; zonder een concreet doel voor ogen zal de computer de processen stroever in plaats van vlotter laten verlopen.
bulletNiet willen achterblijven op de laatste trends is de slechtst denkbare reden om je een computersysteem aan te schaffen.
bulletLiever passende tech dan high-tech.
bulletNeem niet te veel hooi op je vork: de dingen doordacht doen, is te verkiezen boven veel doen.
bulletInvesteren in denkwerk betaalt zich veelvuldig terug onder de vorm van meer opbrengst en minder kosten.
 
Copyright © Warmoes & Associates BVBA
Webmaster  -  webmaster@warmoes.com
Last modified: oktober 06, 2008