Thursday 1 December 2016

Strong test communities; establishing castles vs growing gardens

This article was originally published in the October 2016 edition of Testing Trapeze
At Trade Me we’ve built a strong internal testing community. I have been reflecting recently on what makes it so great, and how it’s different from what I’ve seen and heard about the test communities in organisations elsewhere.

Often strong test communities within an organisation are established, reliable, robust and fortified groups housing test experts and best practises. The testers who belong to these communities take the role of being Knights of quality within their project teams, carrying banners emblazoned with non-functional requirements, and shields depicting the values of their central castle. These castles work well in many organisations for a number of reasons.
The tester has a prominent structure to reference their testing to. The strength of that solid community means that people are able to trust and understand that the test practise is refined and established.
Castles usually come with rulers and round tables who use their knowledge and influence to build the laws and values for their community to live by. In castles, their Test Managers and Leads use their knowledge of testing to enhance the community and its practices.
There is a clear escalation structure in these communities. If the knights encounter a problem they know who to talk to. Likewise, if someone as an issue with a knight’s conduct the escalation path is clear.

At Trade Me we don’t have a castle.
But, our internal test community is really strong. It’s been openly envied by other disciplines within the company, and over the years I’ve been asked to help and advise other internal communities who want to build themselves to be like us.
One thing I stress when giving advice, is that we didn’t set out to build a castle.
In fact, the community  isn’t finished being built. It’s constantly being developed by those who work within it and anyone who values what it produces. It’s like a communal test garden.

The state of the garden is not solely due to my work or influence. Its shape is the result of the people who are, or  have been, part of  the community over time.
We’ve implemented suggestions for things like training sessions, test environment configurations, new tools, and our hiring process which came from people within the test community.
Castles on the other hand tend be to governed and directed by central figures and processes. The ideas and decisions tend to come down from the leadership teams and there is little opportunity to suggest or propose alternatives.
While we have a Test Manager as a central figurehead for the Test, we welcome ideas and input from all levels of tester to help shape our testing practise and community.
If you are accepting of people making suggestions you are more likely to discover new gardening techniques or fertilisers that you haven’t applied in the past.
Using our community’s experience, observations and product knowledge to shape the practices and guidelines we have means are more likely to have buy in to how things are done.
Having the community being influenced and nurtured by the people who benefit from it means it is dynamic, adjusting quickly to suit the needs and wants of its members.

We also don’t wall in the garden. People from outside our community are able to drop by and see what we’re doing and how. Developers, business analysts and other members of the business are welcome to attend our training sessions and meetings. We openly and actively share how and why our community does what it does, believing that transparency builds understanding.  Like learning from the people who tend our garden, we learn from our neighbours. We observe how their gardens grow, and are open to their suggestions on how to keep the weeds at bay or getting better returns for our investments. For example we’ve incorporated a number of improvements to our tools due to suggestions from developers.

We encourage our testers to better themselves and others, and provide frameworks for this to take place. Gardeners are always looking for ways to maximise their harvest, or grow the best flower and the best way to do this is by learning from people with experience or knowledge. In our test community this betterment can include things like peer led training sessions on new technologies or test techniques, or pairing with strong domain experts or SMEs.
I believe you can always learn something from anyone, and a test community is no different.  Anyone at any level of experience can teach you something new. Within our community anyone can run a training session. I’ve yet to sit through a training session where I haven’t learnt something new.
Recognising and learning from expertise and knowledge in your gardeners means your garden is stronger as a whole.
While the primary goal is upskilling and continuous improvement, it also results in strong relationships between testers. These relationships inspire the building of strong internal networks, and the community does a lot to support itself from within. People come to gather, and share. They leave more nourished than when they arrived, and are better equipped to take on their next task.

Like a castle community, our community does have central values and practise guides but in our garden they’re not carved in stone like you might find in a castle. We keep ours lightweight, flexible, and non prescriptive which leads to our gardeners employing fit for purpose techniques after judging the soil and weather conditions that they encounter
We learnt that prescriptive documentation can be dangerous when we went through a rapid growth period. I was chatting to a newish tester about his test documentation, specifically if his very thorough documentation was needed. His response was; “But you said we have to do it like this?”
And going by the wiki page he proceeded to show me , I had. Months prior I’d written a guide for our test documentation after a short training session I ran. It got referenced in our ‘new tester manual”, which this new tester diligently went through on his first day. When I’d written the wiki page I’d left out a caveat giving testers permission to be pragmatic and use their  own judgement. Now, if that tester had been at the original training session he would have had the opportunity to question me and get guidance on the effect of the missing caveat.

Likewise we value and strongly encourage face to face communication between testers whenever possible, over written emails or documentation.
Besides the time benefits you get from it, face to face gives people the opportunity to question and clarify, rather than the meaning or urgency being lost in the black and white of an email. A discussion in front of the roses which have an insect infestation at the point it’s occurring gives a faster and focussed response than waiting for a reply to an email. this leads to knowledge sharing and support within the community. Getting a situation in front of others increases the chances that you will find out which someone, or something, might be needed to diagnose the species and correct treatment, rather relying on the gardener to have previously memorised how to handle every bug they may encounter.

Of my my four and a half years as Test Manager at Trade Me, the internal test community is one of the things I’m most proud of being involved in. It has built a common sense of purpose, investment, ownership and autonomy without having to enforce rigorous structure or formality.
To me the strength it comes from what it produces and how it nourishes its members and neighbours.
A strong internal testing community has the ability to help to produce better quality products. But a strong community grown and nurtured from within has the ability to create engaged and enthusiastic testers who help to keep that community growing and nurtured in the future.

Footnote: Since writing this article I've moved on from Trade Me. I'm happy to report the garden along with the community of gardeners who tend to and benefit from it continue to thrive.
Testing Trapeze is a bi-monthly testing magazine to feature testers from Australia and New Zealand. If you haven't already, I highly recommend subscribing to Testing Trapeze, I've continually found it to be provide inspirational and insightful articles from very talented people.