Door slim gebruik van regressietesten kunnen organisaties zonder veel financiële risico's applicaties aanpassen en testen. 'Eenmaal opgezet is de herhaalbaarheid groot en zijn de uitvoeringskosten laag', legt testmanager André Weber van Capgemini uit. Het is één van de vele tips die Computable verzamelde onder leden van zijn expertpanel over development. De top-3 adviezen staan vermeld in de ICT Services Guide 2009.
In de ICT Services Guide 2009 staat per topic een selectie van de belangrijkste expertadviezen. Ook worden per topic rapportcijfers gegeven voor dienstverleners die actief zijn in dat ict-deelgebied. Hiervoor liet Computable onderzoek verrichten onder bijna tweeduizend ict-managers en ambitieuze ict-professionals. Ook werden de respondenten algemene vragen en stellingen voorgelegd. Het onderzoek werd verricht door TNS Nipo.
Gebruik regressie tegen de recessie
Investeren in deze tijd van recessie is niet de meest voor de hand liggende keuze. Hand op de knip en bezuinigen op testen? Nee! Niet als bezuinigen het verhogen van risico's inhoudt. Informatiesystemen zijn inmiddels zo complex dat het risico groot is dat, door aanpassingen elders, fouten ontstaan. De financiële schade is dan enorm. Dat is het laatste waar de business in deze tijd op zit te wachten. De oplossing ligt in een slimme manier van regressietesten. Gebruik testtools om een regressietest op te zetten. Hanteer testtechnieken om een brede dekking over het applicatielandschap te bereiken. Eenmaal opgezet is de herhaalbaarheid groot en zijn de uitvoeringskosten laag. Met een verantwoorde investering houd je de risico's onder controle.
André Weber, manager teststraat, Capgemini BAS
Zorg dat de flexibiliteit is gewaarborgd
Door het huidige economische klimaat staat in 2009 efficiëntieverhoging en kostenbesparingen hoog op de agenda. Bij organisaties ontstaat de noodzaak om hun systemen aan te passen om deze doelen te halen. Flexibiliteit bij softwareontwikkeling zal daarbij een belangrijke rol spelen. Lopende en nieuwe ontwikkelprojecten zullen in staat moeten zijn om in te spelen op dynamische marktomstandigheden veroorzaakt door bijvoorbeeld overheidsmaatregelen, reorganisaties en marktspecifieke veranderingen. Mijn advies voor ontwikkelaars: zorg ervoor dat bij ieder ontwikkelproject de flexibiliteit wordt gewaarborgd welke nodig is om accuraat en snel te kunnen reageren op interne en externe veranderingen. Alleen zo zal het eindproduct de toegevoegde waarde bieden waar vanuit de business behoeft aan is en die nodig is om de gestelde bedrijfsdoelstellingen te verwezenlijken.
Tony van Büüren van Heijst, senior presales manager, OutSystems
Goed is goed genoeg
Een van de belangrijkste succesfactoren voor het slagen van een project is om focus te houden op wat echt belangrijk is. Wat wordt er gevraagd en welke features leveren businessvalue? Professionals zijn niet vlug tevreden. Ze proberen de perfecte oplossing te bouwen en zijn daarom soms veel tijd kwijt met het perfectioneren van de oplossing. Goed is echter goed genoeg. Gebruikers kijken naar de buitenkant en of de oplossing doet wat ze ervan verwachten. De juiste balans vinden tussen kwaliteit, kwantiteit en inspanning is de uitdaging voor iedere projectmedewerker in alle disciplines binnen software ontwikkeling. Ga de diepte in waar nodig, blijf bij de basis waar mogelijk en doe vooral geen dingen die niet nodig zijn.
Remco Brosky, adjunct business unit manager, TMS Valid
‘I Know It When I See It’
1. Denk meer na vooraf. 2. Verwacht daar minder van. 3. Controleer en regisseer. Punt 1: zorg voor een heldere lijst (business) requirements. Een open deur, maar ik zie nog steeds miljoenenprojecten met requirements die de ruwe brainstorm output niet ontstijgen. Dat moet je ontdubbelen, op volledigheid checken, enzovoort. Gebeurt niet, wat een valse start! Punt 2: remember IKIWISI 'I Know It When I See It'. Wij mensen overzien nooit alles vooraf, al doende worden we wijzer. Dus niet bevriezen, maar onderhouden die lijst! En punt 3: Controleer en regisseer met feitelijke stuurinformatie over kwaliteit en voortgang. Waar haal je die? Uit onafhankelijk testen (meer daarover op www.smartest.nl) op basis van de actuele requirementslijst. Organisaties die dit voor elkaar hebben, zijn de winnaars!
Egbert Bouman, product manager testing and acceptance, Valori
Enterprise Modernization
Enterprise Modernization is een platformoverschrijdende oplossing om inzicht en controle te krijgen over softwarecomponenten, infrastructuur, architectuur en lifecyclemanagement. De basis voor modernisatie is de inzet van moderne geïntegreerde tooling voor zowel softwareontwikkeling (IDE) als het bijbehorende softwareontwikkelproces (o.a. versie- en configuratiebeheer en deployment). Door beter inzicht in en controle op het gehele applicatielandschap zijn organisaties beter en sneller in staat bedrijfsprocessen te vertalen naar geautomatiseerde oplossingen. Door diepgaande kennis van het gehele landschap kan bovendien met minder risico worden overgestapt op een soa-architectuuur, maar kunnen ook (delen van) applicaties worden verwijderd. Het gebruik van dezelfde moderne IDE voor alle ontwikkelomgevingen wordt de productiviteit van ontwikkelaars verhoogd en de onderlinge samenwerking bevorderd. Kostenreductie is een belangrijk neveneffect van Enterprise Modernization, maar kan ook een drijfveer zijn!
Christiaan Heidema, senior technologie specialist, Sogeti
Los alleen het probleem met de hoogste urgentie op
Maak eerst de noodzaak om een project te starten helder. Is er wel een echt probleem? Wat is de schade als het probleem niet wordt opgelost? De belangrijkste stakeholders van een project moeten hier een eenduidig beeld van hebben. Je een zeer goed begrip van het probleem hebben dat opgelost moet worden, voordat je over oplossingen kunt gaan nadenken. Als de noodzaak helder, dan ontstaat bij de organisatie vanzelf urgentie: het probleem moet voor een bepaalde datum opgelost zijn. Bepaal die einddatum en redeneer van daaruit terug. Denk eraan: (1) Geen oplossing zonder een probleem (2) Als het niet belangrijk is wanneer het afkomt, dan komt het ook niet af!
Alexander Vermeulen, systeemanalist, Caesar Groep
100 procent moet je niet altijd willen
Een bekende regel in de ict is de 80/20 regel. Het regelen van 80 procent van de zaken kost slechts 20 procent van de tijd. Bij developmentprojecten kan dit des te sterker gelden. Het ontwikkelen van goede en robuuste software is lastiger naarmate zaken zeldzamer zijn. Voor gevallen die slechts weinig voorkomen, zijn de procedures vaak onduidelijker, is de aanwezige expertise lager en is het testen navenant complexer. Implementatie maakt de kosten vaak onevenredig hoger en de ontwikkeltijd belangrijk langer. Het is het overwegen waard, zeker in de eerste versie, om de 'laatste 5 procent' simpelweg als speciaal geval te definiëren. In de software is dan weinig geregeld voor deze uitzonderingen, maar de kosten en ontwikkeltijden worden hierdoor mogelijk significant gereduceerd.
Eric Roosendaal, trainer en productspecialist programmeertalen, Compu'Train
Pak deze kans aan door je overschot aan FTE’s in te zetten om uiteindelijk beter en effici?nter te werken. Wat eerst niet kon vanwege de extra investering kan nu wel omdat er al een investering is, je overschot aan FTE’s. De kans is nu om de Business en de ICT afdeling eens te leren eenzelfde taal te gaan spreken en een eenduidige werkwijze op te stellen voor het verkrijgen van wensen en eisen. Het grote gat is nog steeds dat beide partijen elkaar onvoldoende begrijpen en elkaar onvoldoende helpen om te begrijpen. Je kunt je mensen hierin helpen door ze te trainen!! Dan maak je die ongrijpbare “duidelijke requirements” grijpbaar en dus werkbaar. Zodra verbetering plaatsvindt in je communicatie omtrent eisen en wensen is je winst voor de toekomst gegarandeerd. Dus train ze met een taal en werkwijze en implementeer deze. Nu is er ruimte!
In de praktijk zijn regressietests vaak gebrekkig opgezet. Een goede methode voor het opbouwen, gebruiken en beheren van regressietests kent een aantal principes waarmee het mogelijk wordt om:
? testgevallen te specificeren en uit te voeren op basis van prioritering (welk testgeval is belangrijk of welk testgeval dekt belangrijke functionaliteit / risico);
? snel en adequaat te rapporteren over de voortgang van testspecificatie en/of testuitvoering;
? testtrajecten nauwkeurig te plannen en te begroten;
? snel en variabel regressietests samen te stellen;
? wijzigingen in het testobject eenvoudig te verwerken in de test.
Een goede regressietest is van onschatbare waarde. Zeker in de beheersituatie biedt de test het vertrouwen dat de nieuwe versie van het systeem of pakket als geheel nog goed werkt.
Gestructureerde testmethodes bieden heel veel hulpmiddelen en handvatten om een goede regressietestset op te zetten. En tools ondersteunen bij het (grotendeels) geautomatiseerd uitvoeren daarvan. Zie ook http://www.tmap.net voor meer informatie.
Hoe meer ik de topics van de experts bij elkaar optel, des te dichter ik bij de principes van Agile testen kom. De principes zijn terug te vinden in het boek “Testen2.0” van Anko Tijman en Eric Jimmink.
Zij spreken in hun principes ook over
* het gebruik van regressietesten,
* het zorgen voor flexibiliteit,
* het snel laten zien van producten waardoor men snel kan inspringen op de situatie (het ‘I Know It When I See It’-principe)
* goed is goed genoeg (80/20 regel)
* los de problemen met de hoogste urgentie als eerste op.