Artikelen door Identify

Kwaliteitszorg in ICT: wie pakt de regie?


Kwaliteitszorg in ICT: wie pakt de regie?

Testmanager: welke testprofessional was dit niet een aantal jaar geleden? Zelfs uitvoerend testers werden testmanager genoemd in die dagen. Logisch, want de functie testmanager was hot. Maar wat is er de afgelopen jaren gebeurd? De vraag naar testmanagers is ingekakt. Sporadisch zie ik nog wel eens een aanvraag of een vacature voor een testmanager langskomen, maar over het algemeen lijkt de functie uitgestorven.

Zit de testmanager zonder werk?

De meeste testmanagers van toen worden nu Agile tester genoemd. Want dat is nu hot. Dat is niet erg, want echt managen deden de meesten toch al niet. Óf ze hebben zich gespecialiseerd, op gebieden als performance of security, óf zijn projectmanager geworden. Er valt ook niet meer heel veel aan de testuitvoering te managen nu dat is belegd in multifunctionele scrumteams. Een mooie ontwikkeling overigens. Toch is naar mijn mening de rol van de testmanager nog niet uitgespeeld. In deze blog leg ik uit waarom.

Vaak was ik als testmanager de spin in het web. De centrale figuur die wist wat er qua kwaliteit van het team werd verwacht, die wist hoe we ervoor stonden, die wist waar de issues zaten en die het overzicht behield. Die positie kreeg ik zelden bij de start van een project maar ontstond gedurende de tijd. Niet omdat ik nou zozeer aan het ¨testmanagen¨ was, maar omdat ik, vanuit mijn verantwoordelijkheid om de productkwaliteit te waarborgen, continue op zoek was naar een antwoord op de vraag ¨Wat is die kwaliteit?¨ en ¨Wanneer wordt daar aan voldaan? Wanneer is het goed?¨. Het begrip kwaliteit laat zich namelijk niet zo gemakkelijk definiëren. Iedereen heeft daar zo zijn eigen interpretatie van en die kan ook nog eens wijzigen naarmate de tijd vordert of de omstandigheden wijzigen. Kortom: zoveel belanghebbenden, zoveel meningen over kwaliteit. Dus daar waar kwaliteit geleverd moet worden, is het van belang om daarover consensus te bereiken.

Dat spel, van consensus bereiken over kwaliteit, is een ingewikkelde. Zijn de belanghebbenden in staat om goed aan te geven wat voor hen kwaliteit is? En als er keuzes moeten worden gemaakt, wiens idee van kwaliteit is dan het meest belangrijk? En hoe realiseerbaar zijn de kwaliteitseisen van de belanghebbenden in termen van tijd, middelen en stand van de techniek? En, nog zoiets, hoe veranderen de ideeën en eisen over kwaliteit door de tijd heen? Wat vandaag belangrijk is, hoeft dat morgen niet meer te zijn.

Dit vraagt om samenwerking. Samenwerking in key. Samenwerking tussen de opdrachtgever en de opdrachtnemer, tussen de leverancier en de klant, tussen de business analist en de ontwikkelaar. Hoe vanzelfsprekend samenwerking hier ook is, toch gaat dit vaak niet vanzelf. Té vaak heb ik opdrachtgevers horen zeggen dat ze álles even belangrijk vinden. En dat begrijp ik dan ook wel weer, want die hebben de ervaring dat wat niet belangrijk is ook niet geleverd gaat worden. En ze kregen vaak nog minder ook….. en later…en duurder….

In dit spel van samenwerking, om grip te krijgen en te houden op kwaliteit, kun je als voormalig testmanager het verschil maken. Dit was al zo in traditionele omgevingen maar geldt nu nog steeds. In de huidige gangbare agile ontwikkelingen, waarbij de ontwikkeling is verdeeld over meerdere scrumteams naast elkaar of over meerdere sprints, brengen nog een complexiteit met zich mee: hoe hou je grip op de overall kwaliteit? De kwaliteit van het eindproduct? Als in elk team of in elke sprint maar een heel klein beetje van de vereiste kwaliteit wordt afgeweken, kan dat een groot effect hebben op de kwaliteit van het eindproduct. Áls we al een goed beeld zouden hebben van de vereiste kwaliteit.

Het inventariseren van al die verschillende belangen, het afwegen hiervan tegen mogelijkheden in tijd en geld, spiegelen aan verwachtingen en bewaken van de realisatie van de gemaakte kwaliteitsafspraken vraagt regie. En voor deze regie zijn competenties nodig die heel toevallig overeenkomen met de competenties die voorheen maakten dat iemand testmanager was.

Tip voor de testmanagers van toen: Pak de regie over de kwaliteitszorg in ICT en houd niet teveel vast aan het label testmanager. Focus op je competenties en er gaat een wereld voor je open. Toch behoefte aan een functietitel? Probeer eens Kwaliteitsregisseur. Dat past nu veel beter.

Zie jij nog toegevoegde waarde voor de testmanager van toen? En zo ja welke competenties denk je dat daar voor nodig zijn? Deel jouw visie in een reactie.

Dit blog is de 2e in de serie over Samenwerking, uitgebracht onder regie van het schrijverscollectief van de boeken ¨Kracht zonder macht¨ en ¨Regie van kwaliteit¨ . Bart Watertor is gespecialiseerd in Kwaliteitsregie en is mede-eigenaar van Identify, ¨The quality driver¨.

Interesse? We praten graag met je verder!

Heb je een vraag of wil je met ons sparren? Neem gerust contact op met Marleen Kleijn.

Estimation of test automation in an Agile environment


Kennis

Estimation of test automation in an Agile environment

Insight into effort, impact, and investment

One way to ensure the quality of software, is by testing it. Running tests can be done both manually and automatically. Test automation, with its ups and downs, has been the centre of attention for many years. It is usually underestimated what implementing test automation entails and the impact it has on an organization. Especially the estimation of the required effort. Adding test automation within the entire range of testing measures requires extra human capacity, both for the initial set up and the maintenance of the automatized tests apart from test implementation. The question is how much human capacity is needed in order to test automatize the functionality which has to be tested automatically? This article describes several methods to estimate the required effort for test automation and the approach to collect the required data.

Keywords-Estimation; Test Automation; Agile; Testing; Return on Investment and Future proof.


I. Introduction

One way to ensure the quality of software, is by testing it [1]. What we mean by testing software is the following [2]:

“The process consisting of all lifecycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they fit for purpose and to detect defects.”

Running tests can be done both manually and automatically. Test automation, with its ups and downs, has been the centre of attention for many years. It is usually underestimated what implementing test automation entails and the impact it has on an organization [3] [18]. Because of the rising popularity of Agile [4] [20] and the implementation of continuous deployment and development [22], it seems that test automation is taking on a fixed position. The most important reason for this is that the amount of work is no longer manageable to be done manually [5].

Adding test automation within the entire range of testing measures requires extra human capacity, both for the initial set up and the maintenance of the automatized tests apart from test implementation. The question is how much human capacity is needed in order to test automatize the functionality which has to be tested automatically?

Test budgeting has been a problem since the beginning [6]. Several methods have been developed [7] [8] [9], but they don’t always produce the correct results. Paragraph 2 will expand on this topic. Practice shows that significantly more time is needed than was budgeted at the start of the project.

The question is how to get a grip on this in order to make reliable predictions concerning the necessary capacity. Based on previous methods [7] [8] [9], which are the utilized ways of budgeting within the Agile methodology [10], three ways of thinking have been developed to budget automatized test capacity. These three ways of thinking are described in this article. However, they still have to be tested in practice.

The fundamental principle in this article is a structural, future proof design of test automation within the Agile developed methodology. That means the following: designing test automation in such a way that developed automatized tests cannot only be executed, reused, and easily transferred to others today, but also in the future, and done in such a way that maintenance effort is minimal.

The paper has the following structure. Section II describes the causes of poor test budgets on behalf of test automation. Section III describes the general elements that affect the required test capacity. Sector IV will give insight into budgeting future proof elements on behalf of test automation. Sector V discusses the three ways of budgeting. A detailed example has been included in Section VI. Section VII describes the collection of the data and the approach to classify into the described estimation methods. Return on investment is dealt with in section VIII. Lastly, section IX describes the conclusions and future work.

II. Causes of poor test automation budgeting

As indicated in the introduction, budgeting within ICT is a common problem [6]. Which causes are at the core of this? A couple of reasons can be found.

Using new development and or programming techniques of which there is not enough knowledge. Not questioning the desired functionality enough which causes new problems to arise during the implementation and test phase. Unfamiliarity with the quality of the software in the beginning is another reason. Furthermore, the quality of the persons involved, such as the tester or developer, plays a role. Is someone sufficiently skilled to make a solid budget? [9][8][7].

What we see in practice is that experience numbers are hardly recorded, if recorded at all. This is especially the case for budgeting test automation. A short research in the ISBSG database [11] shows that only three projects have been recorded in which Agile development technique is combined with automatized testing. Of only 1 project out of these three, the delivered test effort has been registered. See table 1.

Table 1: Analysis ISBSG-database for the attention of test projects

#projects Way of testing Agile development methodology Test effort known
  Manual Automatized Y N Y N
95 29 66 3 63 1 2

It becomes clear from this analysis that there is no useful data available to draw conclusions.

In order to try to answer the question: “How is budgeting done in an Agile development environment concerning test automation,” a survey has been conducted in which 100 people participated. The results are recorded in table 2.

Table 2: Results survey way of budgeting test automation

Way of budgeting Number
Not budgeted 2
Percentage available time 1
Pokering of the effort 3
Experience based 5
No response 89
Total 100

As table 2 shows, no reliable results can be extracted from the survey. Despite a reminder, response was very low. Both the results of the survey and the analysis of the ISBSG database, which show comparable results, were a trigger to keep on thinking of ways how to budget test automation reliably and predictably.

A first draft was made during the Valid2016 conference where the first ideas were drafted during the presentation: “Estimation of test automation in an Agile Environment” in which the following question was discussed: “How to estimate the required effort in an Agile environment regarding test automation” [12].

During this presentation three ways of thinking were sketched how test automation can be budgeted in an Agile development environment in order to set up test automation in a structured and future proof manner. This article elaborates on the presentation whereby received input has been included in further working out the ways of thinking. Besides the manner of budgeting, each approach has a number of general elements which influence the eventual budget for test automation. These general elements will be elaborated on first.

III. General elements influencing budgeting of test automation

Apart from the required budget to automatize the test scripts, there are several preconditional elements which influence the required budget for test automation. No matter at which level in the organization (project, division or company level) [21] you wish to implement test automation, you will have to deal with these elements. Dependent on the level at which you would like to implement test automation, the impact on the organization will be bigger. If you focus test automation on company level instead of a project or individual sprint, the involved elements will have a wider impact. The elements can be separated in the so called initial costs and continuity costs. The initial costs are those which you have when setting up and developing test automation for the first time in an organization.

Continuity costs are costs which have to be made after the introduction of test automation in order to maintain and expand (if necessary) test automation. In table 3 the relevant elements are mentioned with an indication how these elements can be measured and a short explanation.

Table 3: Initial and continuity elements test automation

Component Element Unit of measure Explanation

Initial

costs

People

#people

Costs per day

Number of people that are going to work on test automation
  Test tools

#tools

Price per license

Type and number of test tools to purchase aligned with various development platforms
  Installation costs

#days

Costs per day

Installation of test tools in the ICT- landscape
  Test data

#days

Costs per day

Choosing a working method: formulate test data requirements, making synthetic test data, scrambling production data to use as test data. Taking privacy into account [14]
  Education # days Number of required educations/courses
  Frequency of usage #runs How often is test automation used?
  Virtualization   Is virtualization used?
  Number of integrations with surrounding systems

#integrations

costs per integration

Which integrations are relevant and how are they mutually dependent?
  Support which company objectives n/a (not applicable) Which strategic objectives have to be supported?
       
Continuity License costs test tools Price per license Annual costs on behalf of the test tools
  Maintenance test scripts Modification frequency Percentage time reserved for maintenance of the test scripts
  Additional training

#days

#days

upgrade

Required training for new employees and new versions of test tools
  Test tool upgrade #licenses times updates Costs linked to purchasing and installing test tool upgrades
  Integrations

#integrations

costs per integration

Expansion and maintenance of integrations surrounding systems

IV. Budgeting future proof elements

This information is partly delivered by the overarching test procedure on company level. You can think of frameworks for reusability, tooling, test data generation for repeatability and a wiki for setting up the transferability aspect.

The question is which percentage of the required test capacity for test automation has to be reserved for developing future proof automated test scripts?

The following rules of thumb can be applied as shown in table 4.

Table 4: rules of thumb on determining future proof factor

Aspect Priority Factor
Reusability H (= High) 1,2
  M (= Medium) 1
  L (= Low) 0,8
Repeatability H (= High) 1,2
  M (= Medium) 1
  L (= Low) 0,8
Transferability H (= High) 1,2
  M (= Medium) 1
  L (= Low) 0,8

An example: 100 hours have been calculated for test automation. In order to set up future proof test automation, the following values have been agreed upon (see below). Determining these values is done in accordance with the principal and is linked to a company’s objectives.

Aspect Factor
Reusability H
Repeatability M
Transferability M

The number of hours required to set up this part future proof will be: (100 x 1,2) x1 x 1 = 120 hours.

Another aspect to take into consideration is the scope of test automation. For which test type [2] are the test automation scrips developed? A sprint, an integration test (IT) or a chain test (CT)? The bigger the scope, the more synchronization with all parties becomes necessary. Think of which test data to use, which test scripts, availability of test environments for example and analysis of the results [15] [16].

You can introduce another factor namely the test type with the following parameters:

Testtype Factor
Sprint 1
IT 1,2
CT 1,5

Say you would like to do for example a chain test automation. The necessary effort, based on the table above would be:(120 x 1,5) = 180 hours.
As stated, these are rules of thumb, which will have to be tested and adjusted by collecting data from yet to be executed case studies.

V. Budgeting test automation

In previous paragraphs it has been discussed both which general elements influence the test automation budget and that making test automation future proof also impacts the budget.

So how do you really budget test automation?

The following methods of budgeting will be elaborated on:

  1. Percentage of the available time;
  2. Pokering the required effort;
  3. Pokering the required effort in combination with being 1 sprint behind.

A.   Percentage of the available time

This method uses reserving a percentage of the total available test time for test automation as a starting point. A frequently used percentage, distilled from various projects, is 20% of the available test time. Suppose that for 100 hours of testing time 20 hours are used to do test automation. A part of these 20 hours is then used to make the test automation future proof.

By monitoring the actually needed capacity during each sprint, a realistic percentage can be established eventually. The velocity [13] becomes more and more accurate. The question is how reliable such a number is? Does a fixed number allow you to automatize everything that has to be automatized?

The risk is that in for example a sprint, not everything can be tested automatically, since the amount of work requires more time than can be realized in the time that is available. A debt is build up which either has to be removed during a next sprint, or in order to finish the amount of work scaling up is done. One of Agile’s features is a shared team effort. Developers can support in test automation but this will be at the expense of other work which puts pressure on the velocity and leads to not being able to realize all the selected product backlog items.

The way of budgeting, as described here, is a very basic way of budgeting which begs the question of how much functionality can be tested automatically given the framework conditions. The advantage is that you always know how much time is available for test automation.

B.   Pokering the required effort

Another way of budgeting is applying poker planning [17] specific for test automation. Perhaps initially this might seem like reserving a percentage of time. Initially. Pokering the effort uses the brain power of the entire team to reach an actual estimation of the required time.

By placing the items which qualify for test automation on the product backlog, insight will be given into the amount of test work which has to be automatized. Pokering items also provides insight into whether the amount of work fits the current sprint. If the necessary effort is large one can decide to develop less functionality so that developers can assist in developing the necessary test automation.

This way of budgeting has some caveats to take into consideration. Is the to be test automatized item on the backlog of sufficient depth to determine the scope properly? The second observation has to do with the stability of the features for which test automaton has to applied. Is the team only capable of automatizing the test on unit level or also all the features itself?

C.   Pokering the required effort in combination with being 1 sprint behind

To obtain a larger predictability of the work that has to be done, you can choose to start the test automation in the next sprint using the version of software which was produced in the previous sprint.

This approach has a number of advantages. The software which qualifies for test automation has reached a level of stability which makes it suitable for test automation. Another major benefit is that more detailed information is available with regard to functionality. After all, software has already been produced, which makes it easier to determine which effort is necessary to automatize the tests. Counting the number of functions goes back to the method of budgeting as applied within the TestFrame methodology [15].

This way of budgeting overlooks an important Agile principle namely the fact that working software has to be produced at all times. As a team you cannot guarantee that all software from for example a sprint works, simply because you can no longer test everything manually.

VI. a developed example

To give an idea of the various elements influence on the needed capacity, a fictive example has been developed.

Basic requirements:

Activity Required capacity in hours Calculating  factor
Testing 1000  
Way of budgeting: 1 (fixed percentage) 200  

Future proof:

Reusable:          H

Repeatable:       H

Transferrable:   L

 

1.2

1,2

0,8

Scope test automation: chain test   1,5

Relevant general elements

Additional training:

License costs

 

4 persons 1 day €1000, — per day

4 licenses €1000, — per year

Hourly fee   €75

Total amount:

Activity Calculation Amount
Required capacity 200 x 1,2 x 1,2 x 0,8) x 1,5 x €75 €25.920
Training costs ((4 x 8) x €75) + 1000 €3.400
License costs 4 x €1000 €4000
Total costs:   €33.320

VII. Collection of the data

In the previous chapters a few methods are described to estimate test automation in an Agile context. Till now there is no real evidence which method is the best. A first attempt was made as described in section II. To verify the described estimation method a new survey will be set up tot collect the data based on table 5.

Table 5: collection of the data

Project Type of Initial cost Prio Continuity costs SDLC Estimation method Estimated hours Actual hours
               
               
               

The major problem with the first survey was the timeframe. It was to short to collect data from different customers and projects. The new survey will take place during a period of two years to collect the required data as a base for a proper analysis. At least the data of 100 projects will be collected.

VIII. Return on investment

Initially, test automation costs money. As indicated, various elements have to be put in place before test automation can really be applied. The question is when the required investment will be recouped. Tied to this question is the question: what you will earn exactly? Soon thoughts will go to quantitative aspects. However, when it comes to return on investment (ROI) qualitative aspects also play a part. Table 6 describes a number of aspects that show how you can recoup the investment.

Table 6; aspects relevant for the ROI

Aspect Description
Shortening test execution time [19] Manual execution has been replaced by test tools by means of which test automation can be executed in so called off-peak hours. Besides this, a test tool is many times faster than a human being.
Prevention of regression Because of the acceleration in test execution it has become easier to execute all automatized test scripts. Insight into possible regression can be gotten quickly.
Impact analysis in case of modifications By executing automatized test scripts in the first sprint, insight into the suggested modifications can be gotten quickly. This can be especially beneficial in a Devops environment.
Time to market By raising the test execution power, the company can enter the market much faster than its competitors.
Independence By automatizing the functionality, a company becomes less dependent on a few functional experts. This expertise can be used in other parts or parts of which automation is not useful.
Reliability in the execution The execution of the automatized test always happens in the exact same way. This provided insight into the stability of the software.
Uniform way of reporting The test tool generates reports. These describe in detail what happened during the test execution. This makes it easier to track faults and takes less time.
Quality to market The accuracy of tests gives a good insight into the quality and stability of the information system.

IX. Conclusions and future work

This article describes three ways of thinking on how to budget future proof test automation in an Agile environment. These ways of thinking came into being because the existing methodology did not support a reliable budget sufficiently. They will have to be tried and tested in practice by means of a case study. Data has to be collected in order to eventually develop a balanced way of budgeting. Lastly, the article describes the benefits of applying test automation in an organization.

Acknowledgment

I would like to thank Marcel Mersie and Danny Greehorst for their contribution and giving me some of their precious time. Furthermore, I would like to thank the companies where I could set up test automation and develop the in this article mentioned three ways of thinking.

References

  1. van Veenendaal, ”The Testing Practitioner, hoofdstuk 1,” UTN, 2002.
  2. van Veenendaal, M. Posthuma ”Testwoordenboek, blz. 112,” UTN, mei 2010.
  3. Fewster, “Common mistakes in Test Automation, “ www.cm.techwell.com, 2001.
  4. Hoogendoorn, “Dit is Agile,” Pearson, 2012.
  5. Blazemater, “The advantages of Manual vs Automated Testing,” blazemater.com, 2015.
  6. vd Burgt, I. Pinkster, “Succesvol testmanagement, een integrale aanpak, blz 110-111,” tenHagenStam, 2003.
  7. Greefhorst, M. Mersie, J. van Rooyen, “Principes van testautomatisering,” Computable, 2015.
  8. DJ de Groot, “Testgoal,” SDU, 2008.
  9. vd Laar, “Technieken voor plannen en begroten van test projecten,” Testnet voorjaarsevent, 2009.
  10. Karlesky, M vd Voord, “Agile projectmanagement,” Embedded systems conference Boston, 2008.
  11. ISBSG, “ISBSG database,”.
  12. van Rooyen, “effort estimation test automation in an Agile environment,” Valid2016, 2016.
  13. improvement-services.nl, “term velocity”.
  14. European Union, “GDPR, ” 2016.
  15. Schotanus et al, “Testframe, hoofdstuk 6,7,8,” Academic Service, 2008.
  16. Siteur, “Automate your testing, sleep while you are working, blz 143-144,” Academic Service, 2005.
  17. improvement-services.nl, “term pokerplanning”.
  18. Beck et all, “Agile manifesto,” www.agilemanifesto.org, 2001.
  19. Bach, “Test Automation Snake Oil,” www.satisfice.com, 1999.
  20. Huijgens, “Agile werkt,” Academic Service, 2012.
  21. Guru99, “Automation Testing for Agile methodology,” guru99.com, 2017.
  22. M. Fowler, “Continuous Integration,”  2006.


Let’s talk

Klaar om te sparren?

Met een unieke aanpak op basis van co-creatie en onze expertise in Agile, Business Analyse en IT-Testen helpen we organisaties door heel Nederland écht vooruit. Heb jij een uitdaging? We denken graag met je mee!


Identify Consultancy Amersfoort voor Agile, Business Analyse en Scrum is NEN 4400-1 gecertificeerd

Identify Consultancy Amersfoort Great Place To Work 2025

Contact

Ik wil up to date blijven

Blijf op de hoogte met onze gratis nieuwsbrief.




Weerstand


Weerstand

In een serie blogs wil ik een aantal situaties met betrekking tot ketenregie en/of kwaliteitsmonitoring de revue laten passeren. Deels zijn deze gebaseerd op ervaringen opgedaan in projecten. Voor een ander deel zal het een bespiegeling zijn op actuele situaties die je in het dagelijkse nieuws ziet langskomen.

Is het volgende beeld voor jou herkenbaar?

Je werkt met zijn allen aan een project om bijvoorbeeld business processen die binnen een unit worden uitgevoerd te analyseren en daar waar nodig te optimaliseren. Je pakt dit op een Agile manier aan met multidisciplinaire teams en iedereen die een rol heeft in het businessproces heb je betrokken.

Tijdens het werk merk je continu dat er geen sfeer van openheid aanwezig is. Informatie wordt niet volledig gebracht, mensen maken zaken niet concreet, er wordt om de materie heen gedraaid of op het allerlaatste moment wordt er informatie gedeeld die het maakt dat een groot deel van het gedane werk teniet wordt gedaan.
De consequentie van dit alles kan zijn dat er onnodig veel tijd en energie verloren gaat en dat een deel van de deelnemers zal gaan afhaken. Ik kom dat helaas (regelmatig) tegen.

Het is een vorm van weerstand die mensen uiten omdat er kennelijk (ergens) een gevoel van bedreiging is. Mensen worden uit de comfort zone gehaald. Zien hun werkwijze veranderen of wellicht het werk verdwijnen. Worden uitgedaagd om daadwerkelijk hun kennis en kunde te etaleren waaruit mogelijk kan blijken dat de kennis niet echt op orde is.
Constateren is een maar wat kun je daar aan doen? Een paar ideeën.

Zorg voor een sfeer van geborgdheid. Een veilige haven waar alles op tafel gelegd kan worden. Check of de juiste mensen aan boord zijn. Vraag aan de deelnemers op welke plaats in het proces zij de werkzaamheden uitvoeren. Neem zaken niet te snel voor waar aan. Controleer iedere stap in het proces met controle vragen of het beeld / plaatje compleet is. Voer een simulatiesessie uit om daadwerkelijk het proces na te spelen en vast te stellen of er nog witte vlekken in het proces zitten.

Een aantal suggesties om met boven geschetste situatie om te gaan. Mochten er aanvullingen zijn of herkennen mensen zich in bovengenoemde situatie dan hou ik me aanbevolen voor extra ideeën.

Interesse? We praten graag met je verder!

Heb je een vraag of wil je met ons sparren? Neem gerust contact op met Marleen Kleijn.

Grip op projecten middels ketenregie


Grip op projecten middels ketenregie

Dat we binnen de ict en ook de business moeite hebben om grote projecten te beheersen en deze projecten tot een goed einde weten te brengen is wel gebleken uit de resultaten van de commissie Elias met betrekking tot het onderzoek naar grote ict-projecten binnen de overheid.

Het rapport benoemt onder andere een aantal zaken, te weten:

  • De rijksoverheid heeft de ict-projecten niet onder controle.
  • De politiek beseft het niet, maar ict is overal.
  • De rijksoverheid heeft onvoldoende zicht in de kosten en baten van de ict.
  • Ict-kennis schiet te kort.
  • Het ict-projectmanagement is zwak.
  • Ict-aanbestedingstrajecten bevatten perverse prikkels.
  • Het contractmanagement bij ict-projecten is onprofessioneel.
  • Het ontbreekt de rijksoverheid aan lerend vermogen op ict-gebied.

Is dit uniek? Nee, dit komt helaas in verschillende branches voor en is zeker niet beperkt tot de overheid.

Een van de maatregelen die de commissie voorstelde was de oprichting van het bureau ict-toetsing (BIT).  Het bureau BIT heet een leidende rol in de toetsing van ict-projecten van groter dan vijf miljoen euro. Ieder voorstel wordt getoetst aan de hand van een vooraf opgesteld kader en het advies gaat via de minister naar de Tweede Kamer. Het bureau BIT is in 2015 van start gegaan en de eerste resultaten komen beschikbaar.

Grip op ict-projecten

De vraag is of deze maatregelen voldoende zijn om echt grip op ict-projecten te krijgen en falen te voorkomen. Wil je ict-projecten echt succesvol laten zijn dan is ict een belangrijke component maar slechts een van de vier basiscomponenten voor het realiseren van succesvolle projecten. Bewust noem ik projecten omdat er meerdere componenten van belang zijn voor het behalen van een goed resultaat. Naast ict moet ook aandacht worden geschonken aan de betrokken organisaties, de betrokken mensen en het bedrijfsproces (de keten) waarin de ict moet functioneren. Al deze stukjes moeten precies in de puzzel passen om uiteindelijk tot het gewenste c.q. noodzakelijke resultaat te komen waarbij voldaan wordt aan de benodigde kwaliteit.

Daarnaast heeft het bureau BIT beperkte bevoegdheden in de uitvoering. De angel zit ‘m vaak niet in het opschrijven van het plan, maar veel meer in het goed uit voeren. Het goed opzetten en uitvoeren van grote projecten is een veel bredere professie dan alleen maar een goed plan opstellen. Het laten toetsen van het plan verbetert het proces en het gedrag van de organisatie niet.

Regievoering en ketenregisseur

Een duidelijke regievoering is daarbij noodzakelijk. Regievoering die verder gaat dan traditioneel projectmanagement. Regievoering over de totale keten heen waarbij de kwaliteit voorop staat om alle puzzelstukjes in elkaar te laten vallen. De commissie Elias benoemt regie wel, maar is niet duidelijk in de invulling van regie. Het bureau BIT sluit daarbij aan. Het gaat dan ook verder dan toetsen, je moet echt de regie in handen nemen om projecten integraal succesvol te maken. Hoe pak je dit dan aan? Hoe kun je echt regievoeren?

Een belangrijke rol hiervoor is weggelegd voor de ketenregisseur. Maar wat is dat voor iemand? Enerzijds moet hij druk kunnen leveren, enthousiasmeren en aanzetten tot actie. Anderzijds moet hij respect kunnen opbrengen voor de tempoverschillen, maar ook het respect genieten van alle betrokken partijen. Hij moet enerzijds analytisch en scherp zijn om de ketens goed te kunnen doorgronden, anderzijds empathisch, mensgericht en met gevoel voor politieke verhoudingen. Zonder directe hiërarchische invloed instaat zijn om de keten te beïnvloeden.

Kracht zonder macht

Kracht zonder macht legt een verbinding tussen de vakgebieden ketenregie, kwaliteitszorg en verandermanagement waarmee managers en professionals in staat worden gesteld een optimale ketenregie in te richten en zo succesvoller te worden dan de concurrentie.

Ketenregie aangevuld met de doelstellingen van het bureau BIT kunnen leiden tot (meer) succesvolle ict-projecten die werkelijk bijdragen aan de doelstellingen van de overheid of het bedrijfsleven. Dan moet er echter wel over een drempel worden heengestapt en worden doorgepakt om nog meer verspillingen te voorkomen.

Interesse? We praten graag met je verder!

Heb je een vraag of wil je met ons sparren? Neem gerust contact op met Marleen Kleijn.

Principes voor testautomatisering


Principes voor testautomatisering

Organisaties moeten steeds sneller veranderen om aan de veranderende vraag van klanten te blijven voldoen. Dit stelt hoge eisen aan de ontwikkeling van applicaties. Klanten eisen niet alleen snelheid maar ook extreme gebruikersvriendelijkheid. Werkt bijvoorbeeld een webwinkel niet naar behoren dan is er snel een alternatief voorhanden. Agile softwareontwikkeling sluit goed aan op deze veranderbehoefte en is inmiddels in een groot deel van de organisaties doorgedrongen. Om aan de groeiende hoeveelheid (test)werk te blijven voldoen neemt het aandeel en het belang van testautomatisering toe. Echter, wil testautomatisering daadwerkelijk ondersteunend zijn aan de veranderende organisatie dan stelt dat andere eisen aan mensen en (test)processen. Het goed begrijpen van de impact van testautomatisering is daarom belangrijk. Architectuur kan mede helpen doordat het op een gestructureerde manier inzicht kan geven. Het maakt het mogelijk om een gestructureerd plan te maken waarbij alle belangrijke onderdelen worden meegenomen.

Het startpunt van architectuur is een set van principes; richtinggevende uitspraken die aangeven wat belangrijk is. Omdat deze principes voor een belangrijk deel hetzelfde zijn voor elke organisatie hebben wij een generieke set van principes voor testautomatisering geïdentificeerd. Vanuit onze kennis en ervaring van testen, testautomatisering en architectuur hebben we beschreven wat wij denken dat belangrijk is. Deze principes zijn voor ons tevens een startpunt voor een boek dat we schrijven over testautomatisering, waarin de principes en de architectuur verder uitwerkt worden en tegelijkertijd dienen als ‘paraplu’ voor de rest van het boek. De volgende principes belichten respectievelijk het organisatie- en het informatievoorzieningsperspectief.

Organisatieprincipes

Principe 1: Testautomatisering past bij de doelstellingen en volwassenheid van de organisatie

Testautomatisering is geen doel op zich; het is een manier om organisatiedoelstellingen te ondersteunen. De mate waarin het bijdraagt verschilt per organisatie. Het vraagt een investering, die moet worden gerechtvaardigd, en het vraagt vooral een organisatieverandering. Zo leidt het bijvoorbeeld tot een verschuiving van de taken van de testengineer, die meer software-ontwikkeltaken krijgt. Testautomatisering veronderstelt ook een minimum volwassenheidsniveau, met name op het gebied van software-ontwikkeling. Een goede analyse van de organisatiecontext en de kosten en baten van testautomatisering (business case) is daarom noodzakelijk. Volwassenheidsmodellen helpen reële ambitieniveaus te definiëren en geven meer zicht op de noodzakelijke inspanning.

Principe 2: Testautomatisering is gebaseerd op een heldere visie, beleid en architectuur

De implementatie van testautomatisering moet niet lichtzinnig worden opgevat. Het is een relatief complex onderwerp dat vraagt om het maken van allerlei keuzes. Denk hierbij aan positionering van testautomatisering in de organisatie of de opzet van testautomatisering. Het maken van weloverwogen keuzes helpt om testautomatisering toekomstvast in te richten. Er moet ook voorkomen worden dat testautomatisering een ‘one-size-fits-all’ aanpak wordt; je kunt er ook in doorschieten. Door het opstellen van een testvisie wordt duidelijk welke doelstellingen testautomatisering vooral dient en welke risico’s het vooral adresseert. Testbeleid legt de belangrijkste uitgangspunten vast over hoe er met testen wordt omgegaan en wat de rol van testautomatisering daar in is. Testarchitectuur beschrijft de inrichting van testen op hoofdlijnen zoals het te hanteren proces en de te gebruiken tools.

Principe 3: Testautomatisering houdt rekening met de menselijke maat

De mens is de allesbepalende factor en dat is ook zo bij testautomatisering. De term ‘automatisering’ lijkt er wellicht op dat de mensen minder belangrijk worden, maar niets is minder waar. De activiteiten verschuiven en stellen juist hogere eisen aan mensen. Iedereen die een betrokkenheid heeft bij testen moet begrijpen waarom testautomatisering belangrijk is en wat hun betrokkenheid inhoudt. Er zal dus goed moeten worden gekeken naar de impact op de rollen die benodigd zijn bij de testprocessen en bijbehorende competenties. Enerzijds verdwijnt repeterend werk en zal de nadruk komen te liggen op de analyse van de testresultaten. Anderzijds zal het belang van de rol van testengineer toenemen. Een veranderkundig perspectief op testautomatisering is daarom erg belangrijk.

Principe 4: Testautomatisering vraagt een weloverwogen afweging tussen risico en inspanning

Testen en het automatiseren van tests kost tijd en alles doortesten kost in veel gevallen teveel tijd. Het is daarom belangrijk de testinspanning te richten op de zaken die de meeste aandacht vragen, of op die delen die de grootste risico’s lopen. In het verleden werd er niet altijd doorgerekend of testen voldoende toegevoegde waarde bood. Testautomatisering kost echter meer inspanning, waardoor het belangrijker is om de waarde vooraf goed te bepalen. Het is daarom belangrijk om een rekenmodel te gebruiken waarin alle factoren die risico en inspanning bepalen zijn benoemd. Dit rekenmodel zal intelligent moeten zijn zodat de onderdelen die waarvoor automatisering waardevol is onderscheiden worden van onderdelen waarvoor dat het niet geval is. Een globalere versie van het rekenmodel moet ook worden gebruikt bij het opstellen van de business case voor testautomatisering.

Informatievoorzieningsprincipes

Principe 5: Testautomatisering is modelgebaseerd

Er worden in het testproces allerlei modellen en gegevens gebruikt die betrekking hebben op de applicatie die wordt getest. Deze modellen kunnen direct in het testproces worden toegepast, ondermeer voor het automatisch genereren van testscripts en de verwachte testresultaten. Dit zorgt ervoor dat de ontwikkel- en beheerinspanning wordt geminimaliseerd, dat inconsistenties zoveel mogelijk worden voorkomen en dat aanpassingen in de applicatie zo min mogelijk vragen om aanpassingen in de testscripts. Deze kunnen dan opnieuw worden gegenereerd. Het in gestructureerde, modelgebaseerde vorm vastleggen van functionaliteit stelt hogere eisen aan het analyse- en ontwerpproces. Functionaliteit wordt bij voorkeur in pseudocode beschreven.

Principe 6: Gegevens voor testautomatisering worden expliciet beheerd

Gegevens spelen een belangrijke rol in testautomatisering. Omdat de kwaliteit van processen in sterke mate afhankelijk is van de kwaliteit van de gegevens vragen deze laatste expliciete aandacht, en dat geldt dus ook voor de gegevens die worden gebruikt bij testautomatisering. Aandacht voor gegevensbeheer (ook wel: data governance) betekent onder meer het expliciet maken van taken en verantwoordelijkheden. Wie is bijvoorbeeld verantwoordelijk voor de testware na het afronden van het project? Als er geen goede afspraken zijn dan is er een reële kans dat de testware niet consistent is en daarmee onbruikbaar. Versie- en configuratiebeheer op de betrokken gegevens is daarom essentieel.

Principe 7: Testautomatisering houdt expliciet rekening met informatiebeveiliging

Klanten verwachten dat organisaties op een zorgvuldige manier met hun gegevens omgaan en dat deze niet in handen komen van onbevoegden. Wet- en regelgeving zoals de ‘Wet Bescherming Persoonsgegevens’ stelt hieraan ook expliciete grenzen. Testautomatisering dient daarom ook specifieke aandacht te hebben voor informatiebeveiliging. Gegevens die gebruikt worden bij het testen mogen niet herleidbaar zijn naar individuen (zoals klanten). Gegevens bevinden zich ook bij voorkeur binnen Europa en niet onder invloed van specifieke overheden, bijvoorbeeld in het kader van de ‘Patriot Act’. In meer algemene zin dient aandacht te zijn voor informatiebeveiligingsrisico’s en maatregelen, en het daarvoor noodzakelijke beleid.

Principe 8: Testautomatiseringstools zijn noodzakelijk maar niet leidend

Testautomatisering vraagt ondersteuning door tools; deze dienen de automatisering mogelijk te maken en uit te voeren. Het is echter belangrijk om te beseffen dat tools slechts ondersteunend zijn; de echte uitdagingen zijn met name organisatorisch van aard. De tools dienen vooral de doelstellingen en de risico’s goed te ondersteunen, wanneer ze meer dan dat doen dan sluiten ze niet goed aan. Voor sommige organisaties en applicaties kan een set van eenvoudige tools voldoende zijn, terwijl in andere situaties een meer uitgebreide toolset noodzakelijk is. De keuze voor testtools zou daarom gebaseerd moeten zijn op de testvisie en -beleid. Dure tools zijn niet per definitie beter.

We hebben in dit artikel een aanzet gegeven voor de zaken waarvan wij denken dat ze belangrijk zijn bij het inrichten van testautomatisering. Een architectuurbenadering draagt volgens ons bij aan een beter begrip en inzicht. Testarchitectuur is dan ook een belangrijke competentie in het kader van testautomatisering. Wij zijn benieuwd of anderen de door ons geschetste principes herkennen zodat we ze kunnen aanscherpen.

Auteurs:
Jos van Rooyen
M.m.v. Danny Greefhorst
M.m.v. Marcel Mersie

Interesse? We praten graag met je verder!

Heb je een vraag of wil je met ons sparren? Neem gerust contact op met Marleen Kleijn.

De kwaliteitsmonitor versus de testmanager


De kwaliteitsmonitor versus de testmanager

In november 2011 is het concept Project de Baas gelanceerd. Met dit concept is een integrale manier van kijken geïntroduceerd, ofwel dat vanuit het proces, de middelen en de organisatie de implementatie van het nieuwe c.q. gewijzigde informatiesysteem wordt gerealiseerd. Na de launch kwam regelmatig de vraag naar voren wat is nu het verschil tussen een kwaliteitsmonitor een testmanager? Dit artikel gaat op de verschillen in.

Allereerst wil ik eerst de definities geven van de kwaliteitsmonitor en de testmanager. De testmanager is de persoon die verantwoordelijk is voor het projectmanagement van testactiviteiten en testmiddelen, evenals het evalueren van een testobject. De persoon die de evaluatie van een testobject stuurt, beheerst, administreert, plant en reguleert. De kwaliteitsmonitor is verantwoordelijk om de inpasbaarheid van het nieuwe c.q. gewijzigde informatiesysteem in de lopende organisatie vast te stellen, ten aanzien van het proces, de middelen en de organisatie.

Wat zijn nu de verschillen? Laten we daar eens verder op ingaan.

De verschillen

Het verschil tussen de kwaliteitsmonitor en de testmanager is op verschillende manieren te duiden. Vanuit de positionering, vanuit het proces en vanuit de scope.De testmanager zoals we die tot op heden kennen maakt onderdeel uit van de voortbrengingsketen en is in het algemeen verantwoordelijk voor een testsoort of een testvorm. Daarbij zijn ze veelal gepositioneerd aan de aanbodzijde. Een aantal organisaties maakt gebruik van de rol van programmamanager test waarbij de span of control groter en omvangrijker is dan een bepaalde testsoort of testvorm. De kwaliteitsmonitor kijkt niet naar een specifieke testsoort of testvorm maar kijkt over het gehele traject, waarbij vooral de interactie tussen de diverse onderdelen onderwerp van aandacht is. De kwaliteitsmonitor is gepositioneerd aan de vraagzijde. Juist om vast te stellen of het nieuwe/gewijzigde informatiesysteem goed aansluit bij de organisatie en de bedrijfsprocessen. De kwaliteitsmonitor is op programmaniveau of op C-level gepositioneerd.

Een ander kenmerkend verschil is de scope. De testmanager is (vaak) verantwoordelijk voor het testen van het informatiesysteem zelf. Een uitzondering daarop is de testmanager die verantwoordelijk is voor de gebruikers acceptatietest (=GAT). Afhankelijk van de organisatie inrichting kan bijvoorbeeld de werkinstructie ook getest worden. De kwaliteitsmonitor test het informatiesysteem over het algemeen niet zelf maar krijgt de informatie aangereikt vanuit de voortbrengingsketen, gepresenteerd via het zogenaamde dashboard. Dit betreft alleen de middelen! Voor de procesverificatie en/of het vaststellen van de organisatiegereedheid organiseert de kwaliteitsmonitor vaak zelf validatiesessies.Een ander opmerkelijk verschil is in de transitie gelegen. De kwaliteitsmonitor kijkt ook nadrukkelijk naar de wijze waarop de organisatie de transitie naar de nieuwe situatie vorm geeft. In het bijzonder ligt hier de nadruk op de organisatiegereedheid. Weten de diverse partijen wat er van hun verwacht wordt en op welk moment? Denk bijvoorbeeld aan productiedraaiboeken. De testmanager kijkt daar over het algemeen niet naar. De focus ligt wellicht op een bepaalde testvorm (bijvoorbeeld de conversie) maar verder zal de betrokkenheid niet reiken.

Al eerder is de span of control genoemd. Ik wil daar nog even verder op ingaan. De testmanager is, zoals al aangegeven, verantwoordelijk voor een deelactiviteit. Denk daarbij aan een testsoort en/of testvorm. Op basis van acceptatiecriteria wordt voor het betreffende deel, testen voorbereid en uitgevoerd. De resultaten worden gerapporteerd. De span of control beperkt zich dan tot de betreffende testsoort en/of testvorm. Voor de kwaliteitsmonitor is een testsoort of een testvorm slechts een schakel in de gehele keten. Alle gedefinieerde testsoorten en/of testvormen vormen onderdeel van de span of control. De resultaten worden door de kwaliteitsmonitor geanalyseerd en vertaald naar de impact voor de organisatie of de bedrijfsprocessen.Tot zover een kort overzicht van de meest kenmerkende verschillen tussen de testmanager en kwaliteitsmonitor. Mochten er in de toekomst nog meer opmerkelijke verschillen ontstaan dan zal ik een update verzorgen van dit artikel.

Het schrijverscollectief

Project de Baas is ontwikkeld door een schrijverscollectief. Het schrijverscollectief is een interdisciplinair collectief van praktijkmensen die elkaar gaande weg hun professionele loopbaan één of meerdere malen zijn tegengekomen tijdens diverse projecten in diverse contexten en altijd met oog voor het resultaat. In de loop van de jaren heeft het woord ‘integraliteit’ hen gebonden en is daardoor de basis van het boek gaan vormen.

Het schrijverscollectief bestaat uit Jos van Rooyen, Jan Fokke Mulder, Hanneke Kroon – van der Linde, Hans Somers en Jurgen van Amerongen.Voor meer achtergrond informatie kan onderstaande literatuur geraadpleegd worden.

[Lit. 1] ‘www.projectdebaas.nl – 2011
[Lit. 2] ‘Project de Baas’-J. van Rooyen et all – 2011
[Lit. 3] ‘De kwaliteitsregisseur’ – Werkgroep Testregie, TestNet – 2011
[Lit. 4] ‘Testwoordenboek’ – E van Veenendaal, M. Posthuma – 2010

Interesse? We praten graag met je verder!

Heb je een vraag of wil je met ons sparren? Neem gerust contact op met Marleen Kleijn.

Het vakidioom


Het vakidioom

Testers en mensen van de business begrijpen elkaar vaak niet. Stel de volgende situatie voor: een testmanager staat aan het begin van zijn project en wil gestructureerd zijn project gaan uitvoeren. Een van de zaken die de testmanager nodig heeft is een teststrategie. Om de strategie te kunnen bepalen belegt hij een workshop met zijn stakeholders. Om goed beslagen ten ijs te komen heeft de testmanager zich tot in detail voorbereid. Vragenlijsten zijn opgesteld, beschikbare documentatie is grondig doorgelezen, met een aantal applicatiebeheerders is uitgebreid gesproken. Kortom het kan gewoon niet mis gaan!

Vol goede moed begint hij met de workshop. De eerste vraag wordt aan de opdrachtgever gesteld: Wat moet er van het kwaliteitsattribuut leerbaarheid getest worden voor module A? “Zullen we de rekenmodule syntactisch testen?” is een vraag die de accountant gesteld krijgt.

De stakeholders kijken elkaar niet begrijpend aan en zijn direct het spoor volledig bijster. Ze proberen zich een beeld te vormen van de vragen en geven zo goed en kwaad als het kan een antwoord. De testmanager is verbaasd over het antwoord en snapt op zijn beurt het antwoord niet. De vragen zijn toch duidelijk? Waarom een dergelijk vaag of ontwijkend antwoord? Zo sleept de workshop zich voort. Na twee uur beëindigt de testmanager de workshop. De stakeholders gaan weg met een slecht gevoel. Wat was nu het doel van deze exercitie? Wat voor soort systeem krijg ik dadelijk? Dit slechte gevoel zal weinig vertrouwen geven. De testmanager zit met hetzelfde gevoel. De input van de stakeholders is onduidelijk, waardoor de testdoelen onduidelijk zijn, of gebleven. Kortom een en al onduidelijkheid. Wordt hier een uitzonderlijke situatie geschetst? Helaas niet. In mijn rol als testadviseur kom ik het regelmatig tegen. Wat is de oorzaak van deze problematiek?

Ieder beroep heeft zijn eigen taal. De timmerman praat over: “We zagen er even een plankje in”. Hij bedoelt dan: we hangen de schappen van de kast even op! Zo ook wij als testers. Iedereen weet dat ons vak de laatste jaren zich enorm heeft ontwikkeld. Daarbij is ook het aantal begrippen en termen toegenomen. Bij ieder seminar worden er nieuwe begrippen geïntroduceerd door de geachte sprekers. Bovendien kan de betekenis van een bestaand begrip verschuiven. Daar ligt de oorzaak van het probleem van onze testmanager. We zijn met zijn allen zo bezig om te laten zien dat we ons vak beheersen dat we de klanten, waarvoor we het allemaal doen, vergeten. Onze stakeholders begrijpen kreten als ‘leerbaarheid’ en ‘het syntactisch testen van een rekenmodule’ niet. De stakeholders denken in termen als debet en credit. Als testers moeten we in staat zijn om de taal van onze gesprekspartner te begrijpen en te leren spreken. De informatie die aldus verkregen wordt kan dan door ons vertaald worden naar ons eigen vakjargon. Dit vertalen van jargon naar de taal van de klant en omgekeerd geldt niet alleen voor onze ongelukkige testmanager maar voor iedere rol die in het vakgebied wordt onderscheiden.

Op het moment dat je in staat bent te denken in de wereld van de stakeholder zal de hiervoor genoemde workshop veel meer resultaat opleveren. De doelen die bereikt moeten worden zijn helder en scherp uitgekristalliseerd.

Bereik je dit zomaar? Het antwoord is nee. Als tester moet je er aan werken om je deze vaardigheden eigen te maken en daardoor je (test)bagage nog verder te vergroten. De vraag is natuurlijk hoe je leert denken in de taal van de stakeholder. Het staat buiten kijf dat je in een aantal gevallen nooit het gedetailleerde niveau van de stakeholder kunt en moet willen bereiken. Maar wat dan? Hier volgen een aantal handvaten.

Het klinkt als een open deur, maar verdiep je bijvoorbeeld voor het opstellen van de teststrategie in de bedrijfstak, klant en project. Probeer te achterhalen wat de bedrijfsdoelstellingen zijn. Waarom moet het project worden uitgevoerd? Wat draagt het project bij aan de bedrijfsdoelstellingen. Je krijgt dan een idee van wat er getest zou moeten worden. In het voorbeeld werd leerbaarheid genoemd. Indien je de indruk krijgt dat leerbaarheid een testonderwerp is, moet je voor jezelf vragen definiëren. Hierdoor kun je er voor jezelf achter komen of leerbaarheid echt wel zo belangrijk is dat er aandacht aan moet worden besteed. Voorbeelden van vragen zijn: welk type gebruiker gaat het systeem gebruiken? Is het een nieuw systeem? Wat zijn de specifieke kenmerken van het systeem? Dit zijn voorbeelden van vragen waarmee achterhaald kan worden of leerbaarheid een testonderwerp is. Inmiddels zijn er verschillende tools en checklists beschikbaar die de testmanager kunnen ondersteunen bij het proces van bepalen wat nu wel en wat niet van belang is.

Een andere mogelijkheid is het uitbreiden van de aanwezige basiskennis door het volgen van specifieke branchecursussen. Voor verschillende branches zijn cursussen beschikbaar waarmee in redelijke korte tijd een goed inzicht verkregen kan worden in de bedrijfstakspecifieke materie. Met behulp van deze kennis kan de testmanager dan een complete en efficiënte teststrategie ontwikkelen.
Compleet in de zin van met kennis van zaken in de bedrijfstak en efficiënt in termen van kort, krachtig en de juiste focus in testen aangebracht.

Zo blijkt dat de testmanager kennis nodig heeft van verschillende gebieden. Niet alleen testkennis, maar ook van sociale vaardigheden, ict-kennis en materiekennis. Op het moment dat de testmanager in staat is te schakelen tussen de materie en de vakinhoudelijke testkennis, dan functioneert de testmanager echt als een bruggenbouwer tussen de business en het testteam en zullen de resultaten van het testproject verbeteren en beter geaccepteerd worden.

Interesse? We praten graag met je verder!

Heb je een vraag of wil je met ons sparren? Neem gerust contact op met Marleen Kleijn.

Grip op de onbekende


Grip op de onbekende

Als testers moeten we steeds vaker op basis van minder concrete input gaan testen. De klant neemt besluiten/risico’s om zo snel mogelijk naar de markt te kunnen. Men weet vaak zelf ook niet concreet hoe een traject gaat lopen, men begint zonder exact duidelijk te hebben waar het zal eindigen. Laat staan dat de requirements duidelijk zijn. Het wordt dan incrementeel managen, stapje voor stapje. Van de leverancier verwacht men dan geen vragen over 100 procent volledige documentatie, etc., want die is er domweg niet. Men verwacht een partner die bereid is risico’s te nemen en deze samen te managen. Zo slim mogelijk met de tijd om gaan. Als je dan naar testen gaat, wordt creativiteit steeds belangrijker. Hoe maak je een planning/kostenbegroting, een teststrategie of testcases als je bij wijze van spreken niet eens een FO hebt? Daar ligt een uitdaging!

Ook dit lijkt dan op wat je kunt noemen incrementeel testen: globaal beginnen en in de tijd fijnslijpen, stapje voor stapje duidelijkheid creëren. Niet tegen de stroom in roeien maar meeroeien en langzaam bijsturen. Laag voor laag de ui afpellen. Kort gezegd: de uitdaging zit in een klant die zo snel mogelijk naar de markt wil, daarom projecten start zonder exact helder te hebben hoe zaken zullen gaan en de testpartner vragen dit te bewaken, inzicht in kwaliteit te verschaffen en dit uiteraard tegen vooraf redelijk inzicht in kosten/tijdsbesteding. Uitgangspunt is dat het beschikbare materiaal wordt gebruikt, aangevuld met eventuele wetgeving, vereiste standaarden, etc.

Net als bij een ui zul je de vraag moeten afpellen in een aantal slagen waardoor de requirements duidelijk worden. Dan loop je gelijk tegen een van de bekende valkuilen aan, namelijk hoe vertellen we elkaar wat we nodig hebben? Het probleem nummer 1 in ict-land! De huidige technieken schieten daarbij tekort! Kijk maar naar de grote hoeveelheid applicaties die geleverd wordt welke niet voldoen aan de wensen/eisen van de gebruikers.

Dit probleem constateren is een, maar hoe los je het op? Uiteraard moeten technieken als reviews en inspecties toegepast worden, maar die zijn toepasbaar op datgene dat concreet aanwezig is. De hiervoor geschetste problematiek gaat verder. Hoe stel je vast wat er exact aan functionaliteit nodig is?

In mijn ogen zijn er nog geen concrete (bewezen) oplossingen die hieraan invulling geven. Om het probleem op te lossen zullen we mijn inziens, voor een deel, buiten de ict moeten kijken. Een deel van de oplossing ligt in de sociale wetenschappen, maar dan niet alleen de toepassing van interviewtechnieken. Dat is te voor de hand liggend. Die gebruiken we al en lossen het probleem niet 100 procent op. Nee, technieken die een andere manier van denken stimuleren. Denken vanuit het waarnemen, vanuit het bedenken, vanuit de beleving of bijvoorbeeld het willen. Gecombineerd met een aantal waarheidsperspectieven, zoals monadisme, idealisme, etc.

Door deze technieken te combineren met het multidisciplinaire karakter van Agile kan er een basis ontstaan van datgene wat gewenst is. Deze basis zal ook getoetst moeten worden. Dat kan op de traditionele wijze, maar ook hier denk ik een stap verder. De laatste jaren wordt ‘model based testing’ voor een breder publiek toegankelijk. De definitie volgens Wikipedia is ‘Model based testing is software testing in which test cases are derived in whole or in part from a model that describes some aspects of the system under test’.

De definitie zegt het al. Requirements worden vertaald naar modellen. Door deze slag te maken komen onduidelijkheden, open einden, etc. boven tafel. Door model based testing te combineren met de eerste stap krijg je in een aantal iteraties de gewenste functionaliteit boven tafel. De output van de modellen vormt de input voor de volgende iteratie. Tijdens de testuitvoer kan gekozen worden voor handmatige uitvoering of geautomatiseerde testuitvoering.

Is dit idee fictie of werkelijkheid? Beide nog net niet! Momenteel wordt met verschillende partners een onderzoek gedefinieerd om stap voor stap te onderzoeken of het geschetste idee realistisch en haalbaar is. Het onderzoek moet antwoord geven op vragen als: is de geschetste oplossing realiseerbaar? Welke testskills zijn nodig binnen deze aanpak, op welke punten moet bijvoorbeeld Agile uitgebreid worden en welke bagage hebben de toekomstige testers nodig?

Wat betekent dit voor je testskills? Hoe ga je het aanpakken? Voor het testvak komt er een extra dimensie bij. Om met het nieuwe werken om te kunnen gaan zijn er nieuwe skills noodzakelijk. Exact welke is nog niet bekend. Dat is een van de resultaten uit het onderzoek. Als de fictie werkelijkheid wordt, krijgen we als testcommunity de ideale testbasis op een presenteerblaadje aangereikt!

Interesse? We praten graag met je verder!

Heb je een vraag of wil je met ons sparren? Neem gerust contact op met Marleen Kleijn.

Het V-model, Back to the future


Het V-model, Back to the future

Samen met Egbert Bouman en Jan Jaap Cannegieter heb ik een thema avond voor Testnet verzorgd met betrekking tot het V-model.  Ieder presenteerde zijn eigen variant op het V-model. De centrale vraag was of het V-model nog wel van toepassing kan zijn in deze moderne, snel wijzigende markt. Mijn conclusie is dat het V-model nog steeds springlevend is en met wat creatief denkvermogen in veel situaties nog goed van toepassing kan zijn.

Zelf heb ik een variant gepresenteerd op het V-model om het moment van de aanwezigheid van documentatie en resources inzichtelijk te maken. Deze variant is niet nieuw. Zo’n 15 jaar geleden heb ik deze variant bedacht om problemen in een project op te lossen. In dit project liepen de emoties nogal hoog op. Een deel van het project had de eis neergelegd dat alle documenten vanaf de start van het project beschikbaar moesten zijn. Natuurlijk is dat niet reëel te noemen maar overtuig de mensen maar dat het ook anders kan!  Ik heb lang nagedacht hoe je de betrokkenen duidelijk kon maken dat dit niet nodig was. Aan de hand van het double V-model van Paul Gerrard kreeg ik het idee van een tripple V. Wat houdt deze tripple V nu eigenlijk in? Het double V-model zet naast iedere ontwikkelstap een mogelijke teststap. Dat kan een review zijn maar ook bijv. een systeemtest. De derde V die ik er naast had geplaatst was, wanneer je bepaalde documenten nodig had in het project.  Op deze wijze werd al snel duidelijk dat je bijv. geen werkinstructies nodig hebt op het moment dat je nog aan het nadenken bent over de requirements.

Op dezelfde wijze kun je snel aangeven wanneer je bepaalde resources nodig hebt. Daarbij blijkt dat  je in de opstartfase van een project  juist heel veel verschillende type resources nodig hebt.  De aard van de betrokkenheid verandert in de loop van het project.

Onderstaande figuur geeft een overzicht van de tripple V-variant:

Door op deze wijze de benodigde zaken inzichtelijk te maken kon ik de discussie indertijd snel en effectief beëindigen.  De vraag is natuurlijk, is een dergelijke toepassing in de hedendaagse ontwikkelmethodieken nog toepasbaar. Ik kan daar een volmondig” JA” op geven. In een agile omgeving zet je de juiste mensen bij elkaar en bepaal je gezamenlijk welke documentatie noodzakelijk is om de release/project tot een succesvol einde te brengen. 15 jaar geleden heb ik dat gedaan met het V-model als kapstok.  Je kunt je afvragen wat er daadwerkelijk nieuw is onder de zon? Dat brengt voor mij mee dat het V-model nog steeds springlevend is en goed toepasbaar in diverse situaties. Kortom, back to the future!

Interesse? We praten graag met je verder!

Heb je een vraag of wil je met ons sparren? Neem gerust contact op met Marleen Kleijn.