Skip to main content

Sometimes you know how but you can't say how.....


I was once asked to create a ‘Sprint Diary’ for how to be an ‘agile tester.’ That’s right, on the first day do this, on day two say this, on day three create that. Now, I can understand why they (vagueness to protect the guilty/innocent) wanted this ‘guide.’ I meet many testers who feel discomfort in the agile world who want to know which way to turn. 

They didn’t like my answer. I said:



‘I might be able to show you but I can’t tell you.’

Why ever not they said. I said:



‘The skill and understanding is in the moment, when decisions are made.’

When is this moment they asked. I replied:



‘To be honest I don’t know. And I might not know at the time.’

Honesty does cause a great deal of consternation. Much grumbling ensued.


So after pondering on this exchange, my reflections led me to these (personal) principles:


  • Strive for optionality. In a world where factors that cannot be finalised or nailed down are constantly hounded for a state they are incapable of, be the person who retains their options. Leave doors open for people, systems, tools and techniques. Who knows when you might need an extra option in a squeeze?
  • My old buddy context. Often neglected, but always waiting to be found. Ask just the right question, dig a little deeper, and ask someone you might not usually ask. When someone on the team asks ‘what is the context of this issue?’ it always brings a little smile to my face, as it usually leads to an epiphany.
  • Timing is crucial. You always hear phrases like ‘just enough, just in time’ and ‘last responsible moment’ in agile discourse. Can you honestly think of a teaching strategy to find the ‘last responsible moment’ to make a decision? It is ethereal, one moment you can taste it, the next it’s gone. And there’s a very good chance you’ll get it wrong. A lot.

I’ve been on agile training courses but I have never proceeded thinking that it would teach me to be ‘more agile.’ To approach without recognising the fallibility of such endeavours is understating the importance of the tacit knowledge required.
 

Of the three principles above how many do you think can be taught and to what extent? I don’t have the right answer. As an industry we chase tacit knowledge tirelessly, trying to encapsulate in training courses and the like, I chose to go back to (my) first principles.

Comments

Popular posts from this blog

Wheel of Testing Part 2 - Content

Thank you Reddit, while attempting to find pictures of the earths core, you surpass yourself.
Turns out Steve Buscemi is the centre of the world.

Anyway. Lets start with something I hold to be true. My testing career is mine to shape, it has many influences but only one driver. No one will do it for me. Organisations that offer a career (or even a vocation) are offering something that is not theirs to give. Too much of their own needs get in the way, plus morphing into a badass question-asker, assumption-challenger, claim-demolisher and illusion-breaker is a bit terrifying for most organisations. Therefore, I hope the wheel is a tool for possibilities not definitive answers, otherwise it would just be another tool trying to provide a path which is yours to define.


In part one, I discussed why I had thought about the wheel of testing in terms of my own motivations for creating it, plus applying the reasoning of a career in testing to it. As in, coming up with a sensible reflection of real…

Getting started with testability

At TestBash Netherlands, I said that, in my experience, a lot of testers don't really get testability. I would feel bad if I didn't follow that up with a starting point for expanding your mindset and explicitly thinking about testability day to day, and making your testing lives better! 

In large scale, high transaction systems testability really is critical, as compared to the vastness and variability of the world, testing done within organisations, before deployment, is limited by comparison. We need ways to see and learn from the systems we test where it matters, in Production.
Being able to observe, control and understand is central to testing effectively, and there are loads of resources and experience reports out there to help. I was/am inspired by James Bach, Seth Eliot, Matt Skelton, Sally Goble, Martin Fowler and a little bit of PerfBytes/Logchat, so lets see if it works for you! 

Overall Model:

Heuristics of Software Testability by James Bach

http://www.satisfice.com/tool…

The Team Test for Testability

You know what I see quite a lot. Really long-winded test maturity models. 

You know what I love to see? Really fast, meaningful ways to build a picture of your teams current state and provoke a conversation about improvement. The excellent test improvement card game by Huib Schoots and Joep Schuurkes is a great example. I also really like 'The Joel Test' by Joel Spolsky, a number of questions you can answer yes or no to to gain insight into their effectiveness as a software development team.

I thought something like this for testability might an interesting experiment, so here goes:

If you ask the team to change their codebase do they react positively?Does each member of the team have access to the system source control?Does the team know which parts of the codebase are subject to the most change?Does the team collaborate regularly with teams that maintain their dependencies?Does the team have regular contact with the users of the system?Can you set your system into a given state…