Test Retreat

Welcome to the homepage of Kris Corbus

Archive for the category “trainer notes”

Agile Testing For The Whole Team: An Interview

I am one of Agile Testing Fellows. The books on Agile Testing are well known, but the training developed by the authors are still unknown. We get many questions about it, so we decided to run an interview with most asked questions. Originally this article was posted on trendig.com English & Deutsch

None

Hi Kristine, since April 2018 you are a trainer for a course called “Agile Testing for the Whole Team”. What’s the course about?

It is about how we – as a team, in a structured way – can approach the topic “software quality” in an agile context.

I have already conducted the training “Agile Testing for the Whole Team” (ATF) many times. The interesting thing is that my participants say the same thing I did when I first got to know the course: you can immediately see that someone with hands-on experience has designed this course, someone who comes from the real world, someone who brings a breitband of project and consulting experience.

Everything that we learn in this training is immediately applied in group exercises. The training is accompanied by many practical examples, many stories and illustrations, which illustrate the whole thing. There are several small tasks where teams of 3, 4, 5 or 6 people are formed. The other thing that makes this course so specific is a task that runs and grows throughout the course.

 

Can you briefly compare it to a classic course from ISTQB?

Short answer: you cannot really compare those two very different trainings. A slightly longer answer: ISTQB is a pretty dry theory training where the focus is on methods and procedures that we use for testing: white-box, black-box and experience-based. It is very important for getting started with software testing and quality, but that is not enough. The “Agile Testing for the Whole Team” training focuses on quality as an integral part of software development. How do we get the best possible result for the team and the customer with what we have.

 

Source: Janet Gregory and Lisa Crispin from their ATF course

 

Why is the course called “…for the Whole Team”? Who is meant by that, not just the testers on the team I suppose?

The training is really meant for the whole team. All the people involved in the success of the project, not just testers and developers, but also sales, support, operations, maybe a software architect, in other words, everyone who has an influence on the project. I use a surgery team as an example: surgeons, nurses, anesthesiologists – they all have to work together. It’s not enough if just one of them does a good job, the whole team must collaborate in the best interests of the patient.

We know from the past that software development has not so many challenges when developers work together with developers or testers with testers. Problems typically arise where one team passes work results to the other team, e.g. developer to tester or tester to operations. This is an important part of agility, not to go back to the original professional teams and continue to practice mine and yours, but understand: that is all of us who are in this boat. What is the fastest way to move forward? It is about teams, team decisions and team cooperation. The whole team is responsible for software quality. That is why in agile we build cross-functional teams and train them to work seamlessly together. Collaboration means more than just sitting together in a room or working on the same project.

We all want to create useful software for our customers, we want to deliver quickly and we want to add value. We can only do this if we have a common understanding of the individual parts as well as the overall result.

 

Source: Janet Gregory and Lisa Crispin from their ATF course

 

Is it an advantage if the whole team attends the course or is it not enough if only one person attends the training?

Saving costs is a very important factor. I always ask: how much does success cost? How much is it worth that this team is successful? What does team responsibility mean to you and how important is software quality in this project/company? How does communication and knowledge transfer work in the team/company? Are these individual experts or teams with equal members and built in knowledge sharing? Answer those questions and you will have an answer to your question who should attend the training.

After almost every training I gave for a whole team, the participants almost always said, yes, now we see testing and software quality with different eyes and also understand team cooperation much better. I also gave training where only a part of a team or only one team member was present. Typical feedback in those groups is: it’s a pity that the whole team wasn’t there. It’s not uncommon that these companies book a training session for the whole team afterwards.

In the training the focus is on testing and quality. But by doing that we have to address unpleasant, maybe even painful topics in the teams experience as well: Why didn’t it work out so far? If this is structured, moderated and targeted, we can also see it as a team-building activity.

 

At the end of the course there is an online assessment. I’ve heard that you “can’t fail” this. How does that work?

The assessment is another good example how much thought the creators put in this training. It is not punishment oriented, you cannot fail!

The assessment is built as a summary of what we have learned during the training. For example, my training looks different from the one that my colleagues give. We have different training styles and different experiences in software projects. So it is logical that I share different stories and we have a different atmosphere in the room. But what is important is that the core information reaches everyone, every participant, and is the same in every training. This is what we is checked during the assessment. Janet and Lisa have no interest to make you fail, but to make sure that you got most out of the training. That is why after the assessment participants have the opportunity to see the right answers for their wrong answers. To learn from it and to recognize the potential for improvement.

 

Source: Janet Gregory and Lisa Crispin from their ATF course

 

What is the agile testing fellowship that I will be accepted into once I have completed the course? What is in it for me?

After the assessment, each participant receives an invitation to join the Agile Testing Fellowship. This is a slack channel, with different rooms for different topics. You have the possibility to talk directly to Lisa or Janet or other participants who did the training from all over the world. Of course I am there as well and will be glad to help you even after the training. Quite often people in very different companies and domains experience the same tricky situations. On Agile Testing Fellowship we come together and support each other. Sometimes it is simply compassion, sometimes an experience story or a link to a blog article or a book title. It is a community where you can address your questions and get answers.

 

P.S. It is few weeks since we did this interview. Time has change, we have Corona now. We are about to start trainings on-line. No video recordings, real-time training in a small group. I will give them as always In German and English. Let me know if you are interested in.

Shortcuts Do Not Work

People are lazy. They are. We put a lot of energy, money and time to save energy, money and time. Don’t get me wrong – I am for reducing waste, but I have a different understanding what the waste in a process is. Let’s say our process is software development. We talk a lot about best and good practises in software development. It is cool to offer a blueprint as a service. We treat agile as a promise – do this and everything will be great! In those cases I see that by trying to save time and money we eliminated learning out of the process. For me learning is a mindset and making failures has a huge part in that mindset. 

When I started to give workshops and teach my colleagues and clients what I knew, I made several mistakes. One of them was my wish to highlight all pitfalls that I have made and by doing so to save others from falling into them. I thought I was doing a good job, but I was not. If you take learning out of the process, the result will be different and not sustainable. Parenting was and still is an area where I learn this daily – rushing things lead to nothing good. Let them learn and figure it out themselves!

Since I work as a trainer and coach, I face many situations where exactly this is what is expected from me: to save their time and to give fit-to-all solution. In those situations I have to hold on my soft skills to deliver the message and to gently guide into learning path. Not always it works out. Sometimes people get angry and disappointed. They want answers and they want them NOW! This is mainly the reason why I started to introduce my students with Cynefin. This is my way to deal with stubborn people and at the same time give them confidence that I believe they can deal with it, what they want me to solve for them.

People are lazy. I am. Sometimes I still fall for angry requests and sometimes I long for somebody who could whisper the right answers in difficult situations I face.

 

Cynefin Framework for a Training

In the trainings students quite often want to hear the only right answer to the question, even if I said earlier that there are multiple solutions. I am very cautious with examples as well because they are threatened often as only possible ways how to use/adapt. To overcome this, I give diverse examples, but my favorite way is to give example in some area of life and to ask my students to transform it in they software or system. In many cases it is real challenge! But that is exactly what you need! Class who just sits and listen, is not a class which is learning.

Lately, to prepare people better for this kind of learning, at the beginning of training I explain simple version of cynefin framework – to categorize problems and to decide how we will deal with them.

If you are not familiar with Cynefin Framework read about it here. Or watch how Liz Keogh explains it:

Celebrate Success

I come from a country with many remembrance days – time when we remember those who fought for freedom, but in many cases it results with remembering everything bad what happened to us. It is very important to remember, but even more important is not to get depressed. I guess because of my origin one of my life motos are “celebrate success!” My favourite way of celebration is to jump or to do a little dance. In our family we celebrate even little things like good grades or perfectly baked cake.

Trying to be authentic me in professional setting, I work hard with me to celebrate successes at job situations as well. Since I work as a trainer it roles out easier and easier and not think about how others will react to it. My kids are used to my silly dance, but what attendees will say about it?

One of the trainings I give is Agile Testing for the Whole Team. In this training it is particularly easy to talk about it because one whole module is about it. Last week I was giving the training and asking people to share how they celebrate success. The answer was – they don’t because they don’t have a budget for that. I asked if celebration has to be material. So we talked about it and had very interesting ideas, but some members reminded oppositional: we don’t need this nonsense!

Soon after that, the training was over and we went through acceptance tests what I collected at the beginning of training. We passed every single test and the group shared their learnings on each topic. Suddenly everyone started to applaud and cherish. They were celebrating their success! All of them! While they still were applauding one of previous sceptics smiling said that now she agrees – it is important to celebrate.

I was so moved by them that I forgot to celebrate my moment of success…

Learning: Human Factor

Every week I repeat: sitting still and listening to me is NOT a learning.

For me learning means to change behaviour.

If I understood how important for my well being are physical activities and implemented them into my daily routine, I can say I learned it. If I continue to practice movementless lifestyle, I didn’t learn a thing and there is no improvement to expect.

It does not matter how many trainings you take/ conferences you visit/ books you read, if you don’t implement topics your experienced in your daily activities. No trainer, speaker, book writer can do it for you.

You have to do it by yourself.

Give Confidence

“I used to think I was the strangest person in the world but then I thought there are so many people in the world, there must be someone just like me who feels bizarre and flawed in the same ways I do. I would imagine her, and imagine that she must be out there thinking of me, too. Well, I hope that if you are out there and read this and know that, yes, it’s true I’m here, and I’m just as strange as you.”
― Frida Kahlo
You will not find it in syllabus or trainer notes, but sometimes it is the most important part of the trainers job. To give confidence that you can do it on your own.

I Know Everything

– Hey, listen to me! I am the trainer/big name/white middle-aged man – I know everything!
– emm… no, you don’t. And neither do I.

I have arrived in phase where I know nothing, but I have enough confidence to teach others that little knowledge I have.

Since I was little I was very good middle man. I was reading a lot and used to observe things from different perspectives. Later at university my speciality was to explain something my study mates knew much better than I did, but struggled to understand some aspects of it. How can I do that? Very simple – I listen. Not just words what people say, but words which they do not say as well.

I work as a trainer not because I know everything, but because I like to help people. Training and coaching for me, in first place is about empathy.  I need to be able to connect with trainee and to understand her/his journey, to understand their challenges and problems. Only then I will be able to guide them to their next step. Not to my next step in that situation, but their next step.

My trainer moto is:

docendo discimus,

which means: by teaching, we learn.

I really learn while teaching. Listening to people and empathising with them I learn to know their stories. Based on my trainees questions, I start to explore new topics or dig deeper in domains I knew superficially. In my last training I learned a lot about Ireland – did not expect that, but wow – it was so interesting!

Lisa Crispin is excellent role model for learning attitude. She is three book author, has 20+ years of experience in agile teams, international speaker and, and, and… But I never heard another person then Lisa to say so many times phrases like: “I learned today…”, “that’s interesting!”, “I learned it from …”. Lisa helped me to understand that learning is not something what we do. Open mind to people, situations and new ideas is a mindset.

To know Lisa also showed me that it is easy to ask Lisa for a help. Because you know she will not judge you that you don’t know something. I try to use it in trainings I give. I talk about my mistakes, I say that I do not know everything, but I know material very well and I will do my best to help them to find their answers.

 

 

Greediness, Ignorance and Incompetence – Are You In?

Current topic: lawsuit between Accenture and Hertz. In the same time, you know, this is not about those two companies. This is about business world meeting software development world and not understanding each other. …and about profit, interest and presumption. Soon after initial news came out, inside information surfaced:  CIO was making money for own pocket by “saving” companies money on project.

If you work in IT projects, sooner or later you will experience something similar. I have stories myself. Customers PM (no IT background) gave us (working Kanban team) introduction into Kanban (20 step waterfall). Customers Purchasing Manager (no IT background) making decision about agile or not agile and our Sales Manager (no agile understanding) kicking me under the table when I tried to explain differences (the customer was big company and they wanted publicity that it is possible for them to do agile). Last one: customer wanted performance tests without paying money for a server. Greediness, ignorance and incompetence – software development projects trinity. On both sides in management level. Yes, management level. In 20 years I have not met developer who would want to code bad software. But I have seen so many people going silent, because nobody listens and nobody wants to know. Of course there are exceptions! In my experience working on own product was the one.

As a trainer I keep seeing people, who lost their hope to do a good job. Sarcasm on: World is not driven by good job, world keeps spinning because of profit. Sarcasm off. Forget about business and software development, look into climate change. This is about society which knows, but does not react.

I love software development, I really do! That is why I became a trainer. I don’t want to be part of trinity movement. I want to explain customers and what is software requirement and why it is a key element in whole project. I want to train software people to question requirements. I want to coach people not to blindly believe that software development method will guarantee project success. Agile works for me, because for me Agile Manifesto and its 12 principles is common sense. Why should I force you to accept it as your common sense?

Choose the one which fits you the best!

    

    

   

Words Has Meanings: Learning

This is conversation between two friends

Kris: I have to tell you a secret… I have big problem with “learning” if we talk about ET (exploratory testing).

Lisa: Hmm… It’s always been taught to me as “learning about our product”. But I am not an ET expert by any means.

Kris: For me “learning” means “to change behaviour”

Lisa: oh, interesting! for me it’s just gathering knowledge

Kris: Gathering information doesn’t include using it. You use information by changing your behaviour (huge excursion in my experience as mother and trainer). But only thing what we want to change is the software. So no real learning on human side.

Lisa: We might learn about features we are missing?

Kris: That is functional or contractual acceptance testing. No learning.

Lisa: So if I do exploratory testing on some feature, and then I realize, before customers can use this feature, they need another capability that we haven’t even thought of before – I didn’t learn something? Or if I find something is really hard to use – I didn’t learn something?

Kris: How do you know that they need something else? Hard to use – do you mean usability? Testing usability?

Lisa: How do I know? Because I’m exploring as a particular persona or role or job, I have a scenario of what I want to accomplish with the app, and I run into a roadblock. The persona is blocked, Lisa has learned that we didn’t provide a necessary capability.

We might be splitting hairs on words and semantics, but exploratory testing is called a process of learning, and it has seems correct to me.

Kris: For me it is very important to clarify what we mean by words. I always liked language (in Latvian we have more then 30 words how we call a mother), but as older I get as more aware I am about layers of language, coded messages and communication in general. People, who name things, make mistakes (just like everybody else). I am not looking for fight… It just feels wrong to call it “learning” if we only gather information.

Lisa: OK

Kris: The way how I understand whole team approach is that if we have situation as you described it, the tester in the team should be able to identify and categorise the problem. Is it functionality, usability or performance? then to decide what following tests should the team run to gather missing information.

Am I aiming too high?

Lisa: IME it works best if the tester collaborates with the team to do all that. We don’t want to be the safety net so that everyone relies on us to point out issues. We want to help teammates prevent the issues from happening in the first place by building shared understanding of features, using good tech practices for code correctness, fast feedback loops with automation, exploratory testing before committing changes…

More a consultant role than doing all the testing for the team.

You know, you have some interesting ideas here, it would be nice to discuss this on the AgileTestingFellow slack.

Kris: Maybe… but I don’t feel there yet. And I didn’t mean that tester is a safety net. What I meant is that tester has this knowledge about testing techniques and approaches and she/he guides the team. This is what I understand with tester as testing coach for the team.

Lisa: Sure but we have to be continually helping everyone else ramp up those skills. If we make all decisions ourselves, we take autonomy about testing away from the rest of the team. Guides, yes, that’s the ticket

Kris: Yes, helping others. But tester should be able to recognise it her-/himself first. Only then she/he can guide others.

Lisa: I like what you say there about recognizing it in ourselves.

 

Post Scriptum

I really, really LIKE how James Lyndsay phrased it:
“Systems are weird. Are you looking for trouble? Exploratory testing can help you to find unexpected truth, about what you really got.”

Exploratory testing is technique to find out, gather information. As a team we will decide later what we want to do with information with gathered. Maybe we will ignore it, because risk is too low, maybe we will use it and make decision based on it. And maybe we will learn out of it, adapt our behaviour and leave the issue in the past. If it will not reappear, then we really can tell: “we learned something!”

Learning Zone, Performance Zone

Time to time I discuss with people in industry about how to find a good software testers/developers. And my answer is always the same – do not look for a tester/developer, look for a person who likes to learn. If you can teach a bear to ride a bicycle, then a person, who wants to learn, have no limits.

How long do you work as a software tester/developer? How many years of software testing/development experience do you have? Looks like similar questions, but they are not. For example, you are paid as a software developer for 7 years. You can have one time 7 years of experience OR you could have 7 times 1-year experience.

Since I work as a trainer I see that being in a room and listening is not enough. Students have to apply learnings in everyday life and this is the hardest part of learning. I agree to educators who say learning means change of behaviour. Very simple example: child and candle. A child is attracted to a flame and wants to touch it. Parents can say 100 times, do not touch it! A child will hear it, but not learn and will keep trying to touch a flame. Only after touching a flame, lesson will be learned and behaviour changed. In Germany is used to say Lernen Durch Schmerzen which translated means Learning Through Pain. Pain as trigger to change a pattern of behaviour.

I really love Eduardo Briceño TED talk where he introduces us with his concept of Learning Zone and Performance Zone. Learning zone is where we build our skills, important part in this stage is to make mistakes and lern from them, and performance zone, where we apply skills we master. Since I work in IT , I had little chance for learning, my work life was pure performance zone. Companies want to hire only experienced professionals. If you are not one of them, it does not mean that you get time to learn, it means you work with others and have to deliver high quality, the only difference is your pay.

In Agile projects we talk a lot about learning… We talk about learning domain, learning about customers needs, learning about software we are building, but do we really learn? Is it place where mistakes are allowed? Where you are allowed to say: “I don’t know.” In many cases it looks to me like masked performance zone.

Post Navigation