Last week I was participating in in-house Certified Agile Tester training. If you’re wondering if this is right training for you, what benefits can you get from it, and if it is worth the money this post may be helpful for you.
A bit of background
When it was announced that CAT training is gonna take place I instantly assumed that it is something that should attend in sakes of building cross-functional team. I was not the only one thinking this way (I find this really nice) – number of participants exceeded our possibilities to fit all in one training session, so we have split it in two rounds. First round occurred two weeks before the second, I was attending the second round.
First round have unfortunately received poor reviews from my colleagues. Most common critique was that it is too basic, that it gives introduction to agile mindset and that’s it. I wanted to be removed from participants list, but then two good things happen:
- Our management reacted with speed of panther(bravo, good job guys)! They have been thinking about canceling the second round, but since there was a deal already made for two rounds they invited the trainer to discuss possible improvements.
- On the meeting feedback was given to the trainer and he promised to adjust the training in certain scope. Scope of changes was limited by necessity of preparing participants to certification exam.
I have to say that I am still wondering why participants of first round did not give feedback on-the-fly, this could let to smaller waste. Anyhow commotion caused by negative reviews influenced list of participants of the second round. As it turned out we had also one person from outside (I assume to fill the gap). Below I describe what I remember from the second, adjusted round of the training.
Training was led by Werner Lieblang in some parts assisted by Arjan Brands. Aside from being good trainers both of them proven themselves to be experienced, and up to date in the domain they have been teaching. What also deserves separate notice it that Werner was allowing lots of discussion during the training, but still managed to keep it up to speed and fit the schedule. That was not easy task, since we have been very diverse group (from apprentices to seniors, testers and developers).
Structure and content
Days from Monday to Thursday looked similar. Before lunch breaks there was theoretical part. After lunch breaks another, smaller part of theory (when needed) and practical training. Besides lunch breaks there have been 15 minutes breaks every 1,5-2 hours. On Friday there was a certification exam, described in separate point.
Theoretical part of CAT training is robust introduction to agile methodologies and mindset, it gives overview of tools and practices that one can meet in agile environments. It only in small parts focuses on tester as an agile team member. This can be misleading when judging training on it’s name. Theoretical part presents certain point on a way towards agility, point that is good goal for most of companies that are still struggling with problems of classical methodologies. However it is not telling you how to get there-this part you would have to figure out yourself. As I understood it, it is prepared for people who’s working environment is changing, but who are not leading this change. Theoretical part also puts proper emphasis on soft skills and include short group exercises/discussions that put them into use.
Practical part was split into two exercises. On Monday we emulated work of a software development team using Lego blocks instead of code. I really, really loved this part, definitely high point of CAT training. It was lots of fun and it really made some difficulties in the way we handled tasks to come up. We got a chance to improve our ways in next iterations.
Second part of practical training, taking place in all following training days, was about testing application with planted bugs. This was not so much to my taste. Probably that is the way most of the testers work normally, but for me such kind of manual click-thorough testing is completely boring(automation is a way of making it interesting enough 🙂 ). What I particularly did not like is that it was teaching us to perform in waterfall-like environment – software was delivered in drops, until last drop it was not finished and we have to find bugs in every drops. This did somehow not comply with theoretical part. Unlike in real world we did not have any influence on overall development process, so this was just written in stone (unfortunately like in most companies). During this exercise importance of testing from beginning of a development process was not mentioned. Since I believe that pushing for test-first(also with acceptance tests) is one of best uses of so much emphasized soft skills, it was an obvious lack of this exercise.
On the other hand this constraints gave us strong push to prioritize testing procedures, since regression tests could consume significant amount of time in later drops/iterations. Aspect that I particularly liked about both exercises of practical part was team work and focus on the process. Even in such short time frame adaptability of agile process and benefits of it were very clear.
Presentation that was used in theoretical part was fully OK, slides were prepared professionally, containing right amount of text and proper contrast level. What was exceptionally good was printout of study materials handed over to every participant. It is a thick and really extensive agile manual, nicely illustrated with diagrams and images. I think that for target audience of CAT training this resource is valuable on it’s own.
Also there is a smaller printout containing requirements for software that we’ve tested in practical part. Requirements are given in form of user stories and contain well defined acceptance criteria and lots of additional information. For participants who have problems with getting requirements documented good enough in their working environments this can be use as a pattern.
Application that we have been testing in practical part was also properly prepared. Although there have been some minor connectivity issues. Also, as one of participants remarked, bugs were planted so densely that at the beginning one might feel overwhelmed.
All day Friday was busy with certification exam. I haven’t written so much with pen since collage 🙂 First there was a practical part, pretty closely reflecting the second part of practical training, but this time we have only been testing ready features and all found defects have to be documented in a very readable way, so that they could be checked by certifying authority.
Then, after a break, came the theoretical part which consisted of 10 short-essay questions and 3 scenarios with multiple essay questions each. I have an impression that for people that did not have any or little experience with agile methods before the CAT training this part can be really, really hard. I have no idea how rigorously this will be checked (no results in yet), but scope of the questions was pretty wide. I think that difficulty of theoretical exam matches quality of curse materials, and those are pretty good materials. This means that if your goal is to get certified and you are an agile padawan you better study in the evenings.
Who is it good for?
I believe that in my work place this training it was taken from something that it was not. CAT training is very good introduction to agile thinking for people who did not have anything or little to do with it. So if your company is heading towards agile transformation or having beginner’s problems with it you can and most probably benefit from this training, even if you’re not a tester. It would be hard to implement in practice but I think that most benefits can be obtained if team would attend together with their manager(s).
Who is it not so good for?
If you have good feeling what agile thinking is about, becked up by experience this is probably not ideal use of your time and money. If your working environment is beyond certain point on agile scale you can even get irritated by for example going through agile manifesto 20th time. If these phases: “automate everything”, “always refactor”, “if it’s not tested it’s broken”, “one in a million is next Tuesday” seem familiar then don’t bother, probably you already know 90+% of content of this training.
On the other hand it is important to realize that every participant has a chance to elevate level of mostly any interactive training by asking questions matching expected level. After hearing reviews of the first round I participated in the second with this exact approach. And my time was not wasted, so I assume that in some part at least I have succeeded. Sum of all factors yielded training good enough to keep me engaged most of the time. I have sharpened my mindset by exchanging experiences.
At internal retro after the training done with 4 participants we had 3 times 8/10 and from me 6/10. Given that I am picky about this stuff this is reasonably good score :-).