How to prepare for the future of software testing?

startrek-01_360

Imagine when you go to your first Agile Testing conference. It’s the opening keynote. What do you see?

I saw Spock. On stage. With “Welcome to the future!” written behind him. And unicorns…

Yes, the main theme for this year’s Agile Testing Days’ 2014 was all about what’s on the horizon in software testing and some of the speakers took it quite seriously. The suggestions of how tomorrow’s world of software testing will look sneaked in to almost every talk. The conference started with Lisa Crispin and Janet Gregory, dressed up in Star Trek costumes, speaking on how we should ready ourselves.

 



The opening keynote inspired me to gather together everything that I thought would prepare me for my agile testing journey. So through the whole conference I was looking for ideas, that would give me clues on how to prepare for my own future adventure.

Here’s a list that I came up with:

1. Experiment and be creative!
The only thing that you can surely say about the future is that it brings change. There is no point in being stuck with only one correct style of testing (I don’t even believe that such a thing exists). To embrace everything that the future brings, You have to be creative and sometimes do the unexpected.
The need to experiment was first highlighted by Lisa Crispin and Janet Gregory who, during the opening keynote, showed that it is the best way to face complex problems and new unexpected things is to try fresh techniques.
The talk that inspired me the most in terms of creativity was Jan Jaap Cannegieters “Flexible testing and using different sides of your brain to optimize testing”. He proved that one way of testing is not good for all projects. Sometimes you have to follow your intuition, try new things with a goal in mind, question everything you do or just play with your work. To continue this path I went to „Growing into Exploratory Testing” by Peter Walen, where I learned that sometimes the best way of testing is by not creating a big plan, but by just letting your next move be determined by the previous one.

2. Communicate
There could be a whole book written on how communication helps an agile tester. Seriously. During the conference I realised, how much value our every-day conversations add to the work that we are doing together. Even when we don’t talk about code or features and just chat about our feelings, daily experience or problems, our conversations are fruitful, because we share and reflect our needs. This is what I got from Bob Marshalls keynote “The Antimatter Principle”. He assumes that the purpose of creating software is to “meet peoples’ needs”. And by people he not only means users and customers, but also programmers, managers, testers and everyone involved in the environment where “making software” takes place. And why would we need to know ours or others needs to create good software? Because people are able to self motivate and the thing you have to do to trigger intrinsic motivation is create the space where people’s needs are met and discussed.

3. Develop Your skillslego
“Testing is learning”. These are the words from Alessandra Moreiras presentation “The mindset of an agile tester.” You have to study the application you are working with all the time. You also have to know a lot about testing techniques to choose the one that fits the most, not the one that you feel the most comfortable working with.
During this year’s ATD there were many opportunities to develop testing skills. One of my favourites was Huib Schoots‘ workshop “Practical Agile Test Strategy with Heuristics” . It was really well driven. Explanation, theory and exercises were balanced and effective. It inspired me a lot (and I’m currently using heuristics that I’ve learned there).
Another great workshop was “LEGO TDD and refactoring” by Bryan Beecham and Mike Bowler. Who would have thought that playing with lego will explain to me the idea of refactoring, TDD and (what is the most important) words written in the Agile Manifesto. I still have in mind the moment of having an idea of an awesome giant lego sculpture and realising that there is not enough blocks left to prepare a shipping container to deliver it to the destination point. And sometimes I still get myself caught up in thinking about applications as being a lego structure :)

4. Fight against what limits you, embrace your talents
I couldn’t write about this years ATD2014 without mentioning Antony Marcanos keynote “Don’t put me inside the box”, which was a true enlightenment to me. It made me aware that calling people a “human resource” is always harmful. Each of us is a unique personality and has multiple talents, but we often forget about it and don’t use what’s best in us. We allow ourselves to feel limited by our job title, desk, workspace, mindset. But, guess what? We are not the machines, we have our special features and strengths, that always add value to the work we are doing. That’s why, just like for Antony, my favourite job title is my own name and my skills are as an equal part of my everyday work as my personality. Knowing whats the best in us, fighting against things that limit us makes us a better… whoever we need to be.

5. Don’t be afraid to… fail
Sometimes we have this awesome idea that would change everything. Our mini revolution. We force it to work, we try to share it with others and … it appears that the idea wasn’t that good at all. We get frustrated and forget about it. No one shares the stories of failure, nobody publishes research that finished without a clear result. Wrong!
On the second day keynote Alexander Schwartz and Fanny Pittack shared their stories of failure. Why? Because failure is not always the end, it can be the beginning of creating something better. During their presentation they showed that frustration (ours or our team members) is always important feedback and that we learn a lot from the ideas that didn’t work out.

Another important factor is creating a failure tolerant environment, which was mentioned in Roman Pichlers “Strategy testing” keynote. Life is too short for delivering things nobody needs. Examining and analyzing ideas at an early stage is very important. Accepting the fact that some of them might fail, can help you focus on really important problems.

agiletdMy list is ready, when does the journey start?

“Your future is created by what you do today, not tomorrow.” said Richard Seidl in “5 habits to survive as a tester”. There is no starting point for the journey. My list will grow with each and every experience. There was a slide in Lisa Crispin and Janet Gregory presentation that said:

“As we continue to go where no man has gone before, can we really predict what will happen?”

I don’t know what the future will be like, but I can surely say – I’m ready for it!