Sunday 5 June 2011

Testpromotie tip 18 & 19 met betrekking tot managers


Testpromotie tip 18 en 19: eigenlijk bedoeld voor managers
  • Tip 18: Leg de focus op het proces niet het product, er moet iemand op het proces letten, ook het testproces.
  • Tip 19: Elke stap in het proces zou een stuk test moeten bevatten, niet alleen op het einde.
Vaak kom ik managers tegen die écht betrokken zijn bij het product. Hij of zij is vaak de initator om een product te maken, heeft het idee gekregen om iets te gaan doen. Een zak geld en een agenda met tijd en een kudde mensen om te beginnen met niets tot er een eindproduct is.

Misschien ga ik hier buiten mijn boekje? Deze twee tips staan vaak buiten de beïnvloeding mogelijkheden van een tester. Maar het gaat zowel over business managers als testmanagers, dus blijft het wel in de goede richting.

Ach, nu ik dit toch al heb meegenomen als test tip in mijn lijst van 29 tips om testen te promoten, toch een uitwerking. En wellicht kan je dit als tester helpen om dit ook vanuit dit perspectief te bekijken en te gebruiken in discussie met je manager en leidinggevenden.

Wat ik hier vertel overigens, is niet nieuw en komt zelfs steeds meer naar voren in bijvoorbeeld agile projectmethodieken. Bij scrum bijvoorbeeld is de projectmanager niet meer iemand die volledig aan het stuur staat, maar begeleidt het team en zorgt dat problemen opgelost worden die de voortgang beletten.

Leg de focus op het proces niet het product, er moet iemand op het proces letten, ook het testproces.

Tijd, geld en flink wat zweet gebruikt om een idee uit te werken? Dan zou je wel gek zijn als je niet goed in de gaten houdt of het product nu ook uiteindelijk wordt wat het zou moeten zijn. Voldoet het product aan de wensen. Maar je hebt waarschijnlijk het werk om het product zo goed mogelijk te beschrijven, te bouwen en te testen allemaal gedelegeerd naar mensen in een project team.

Laat deze mensen hun werk doen en zorg ervoor als manager dat je zelf in de gaten houdt dat het project op de goede volgorde plaatsvindt. Dit is het belangrijkste werk van de manager. Vaak zie je dat er al gebouwd wordt, voordat een product wordt besproken met de technische mensen. Documentatie komt later wel.

Testen doen we op het einde, het liefst een dag voordat we live gaan met het product. Aan u de taak om er voor te zorgen dat mensen eerst nadenken, samen bespreken wat het wordt, terugkoppeling geven aan de eindgebruiker. En dan pas gaan bouwen en er voor zorgen dat in het gehele proces een kwaliteit controle plaatsvindt. Als een team niet op zo´n manier wordt begeleidt, dan ontstaat er al gauw een ad/hoc ontwikkelproces, waar het moeilijk wordt om de kwaliteit te bewaken. Wil je zelf mee testen met een eindproduct? Prima, maar het sturen van het project gaat over de volgorde en de communicatie, doen we de goede dingen op het juiste moment.

Elke stap in het proces zou een stuk test moeten bevatten, niet alleen op het einde.
En dan is de volgende stap: testen in elk onderdeel van het project. Projectplan gemaakt? Heeft iedere discipline mee gekeken of de planning voldoende is? Testen wordt vaak onderschat als activiteit en krijgt aan het begin van een project te weinig tijd voor het werk wat men moet doen. Ontwerpen aan het schrijven? Review sessies doen wonderen. Dit is ook een vorm van testen. (!)

Aan het programmeren? Code reviews en unit testen in deze fase helpt om de kwaliteit hoog te houden en al veel ellende uit het product te halen die anders pas later wordt gevonden. Je zou ook kunnen denken aan een soort van Test Driven Development, waar eerst de tests worden geschreven (automatische tests of handmatig) en daarna pas de code wordt geschreven voor een stuk functionaliteit.

Testen met gebruikers: Deze kunnen ook eerder worden betrokken, zodat "gebruikersfouten" straks minder gaan voorkomen en de acceptatie van de software 'op het einde' een grotere kans heeft van slagen.

Alleen testen uitvoeren is geen vangnet voor kwaliteit.

Als testen wordt ondersteund door de manager, niet alleen door geld en tijd te geven aan testers, maar tevens wordt benadrukt dat een ontwerp van goede kwaliteit moet zijn. Er zou constante terugkoppeling moeten zijn van de inhoud van ontwerpen naar de gebruiker. En als er tijdens het ontwikkelproces een gestructureerde manier van werken is (= iedereen werkt samen volgens vastgestelde afspraken en communiceert op een heldere manier en werkt op de juiste volgorde, ...). Dan wordt het testen in ieder geval meer een vangnet voor het gehele team en hoef je als manager je niet zwaar druk te maken over de kwaliteit van je net nieuwe product. Om dit voor elkaar te brengen hebben we in het ontwikkelteam de manager echt nodig.