Thursday, 13 May 2010

The Importance of Being Independent

Think for yourself, question authority...

It is popular, has become common and is considered highly of for a tester to become an active participant within testing communities, to join testing groups and even to eventually become a speaker on testing practices. As heretical as the notion may seem but I believe this to be a poor idea to utilise when one desires the development and progression of the tester and represents potential risks when developing ones skill set as it can blind-sight someone to other perspectives or other ideas.

Whilst there are benefits to be found from participating in testing communities and user groups the potential influences within such groups represent a destructive force for a tester who is still developing their skill set. Why? Because they lack the experience, the perspective and the background to objectively assess whether an idea has value or is appropriate for their own practices / their own roles.

A naive or newer tester is more inclined to embrace an idea off the cuff and more likely to follow such an idea without the appropriate level of critical thinking that should be applied before taking on a new idea.

This represents a potential risk.

Much like various other crafts testing skills often come from having solid foundations from which we draw upon and that help to facilitate making educated decisions within our roles. These foundations are built upon some of the following things:
  1. Intimacy:
    Having a genuine interest in the technologies a tester is working with and putting in the time to become intimately familiar with such technology. A tester cannot approach an application or content from the same way a developer has, based upon a mindset of how a product should work rather than how it can work.

    The tester does not merely follow the documented guidelines for what was intended but looks for what is possible. This is not possible unless one can think of as many variations of possible of attempting the same process, a perspective that can be developed from spending a real amount of time with a technology as a user.

    One of the side affects of this is when a tester then encounters a similar technology it requires far less time and effort to become familiar with it and they can apply similar lessons learnt when working with alternatives.

  2. Trial and Error:
    The process of trial and error is a never ending one for a tester. As we are only human it would only be an illusion to ever consider we will always get something right, never miss things or ever know all there is to know on a subject. But it is the collection of these experiences where mistakes made become valuable opportunities in developing and advancing a testers skill set. Much like the subject of having intimacy (with the technology) these skills are ones developed from having direct hands on experience with such things.

    For a junior tester these opportunities are present on the job where in the company of more senior testers they are able to learn from their own mistakes (as they make these mistakes themselves on the job itself) and the outcome of any potential significant impact is minimised due to such supervision. Importantly these decisions made are within the contexts of a real-life product due to ship, with the implications of the choices made being of greater significance compared to that of a theoretical exercise where mistakes only cost time spent and will not affect users experiences with the product.

    One could contend that more recent developments in testing communities (via the increasingly popular Weekend Tester group) are a valuable means of assisting a tester developing this aspect of their skill set but I would suggest that the collective learning experiences of a group is never quite as significant and does not have the same level of influence as the personal decision of an individual tester and having to learn from the implications of their decisions and actions. This is not to suggest weekend testing groups hold no value (as they do form an additional means of learning), but I would hesitate to see it as a replacement for the learning process of the individual in the development of their skill set.

  3. Self Development:
    Anyone can attend a testing course, visit a testers user group or even cite rhetoric in an on-line testers forum but none of these things are likely to have the same level of influence that personal development can bring. Some aspects of self development come from the two areas mentioned above but another important aspect comes from taking the time to research topics related to testing yourself, read studies and perspectives and learn about developments related to the work you do.

    The benefit of taking the time to read as many relevant and interesting items as one has the time or ability to do provides the tester with a variety of perspectives, this helps to avoid just regurgitation of the status-quo as even though typically a significant proportion of articles only exist to reinforce existing mind sets/views it is the exceptions that help to offer new ideas, these new ideas are what allow a tester to gain a broader perspective and have a better idea for what may be possible.

    As a tester one of the most important skills which helps to define ones skill set is their ability to discover, learn and utilise relevant tools. Once again this is a direct hands on experience, some of this will be gained through roles taken where an opportunity is afforded to work with some of these technologies, others tools though can be learnt through the research performed that frequently enough highlights particular tools that a tester can pick up from which they can then see for themselves what value it can provide for them.

    In addition to these things there is self development a tester can achieve by observing and learning from other testers they work with, picking up new ideas and methods they can attempt themselves. One could easily cite this particular example as one of the virtues of a community or user group and this would be correct but the value gained from studying our co-workers in a real life situation is likely to be more beneficial than where people are just exercising a theoretical exercise.
The Independent Thinker:
One of the key skills of a tester is their ability to think critically and their ability to do so independently, free of any influence that might detract from their impartiality.

Developing this skill does not come from becoming actively ingrained within a group or community and such activities are likely to have people follow others rules rather than find their own way. Further to that point a tester within such a group stands an increasing chance of fostering more of a 'me too' attitude within it in addition to being affected by social influences (including peer pressure and the influence of more popular/well known individuals within the group over others).

The development of an individual and their mind set requires an appropriate environment in which they can develop perspectives and ideas based around their own experiences thus allowing people to develop, refine/mature and further develop their own ideas of what works and what doesn't. This process includes being involved with and utilising existing methodologies and practices used within work places and observing the results.

Whilst companies often have existing practices in place and methodologies they take preference to this does not mean that a tester should not still continue to evaluate these practices, observing the application of that methodology in relation to the particular project(s) they are working on. After all, experience will almost always show there is never really a one size fits all approach that is ever truly effective or appropriate.

The independent thinker is the one most likely to take an idea and spin it side ways and offer a perspective that a different tester who simply followed would be less likely to think of and helps to really put the exploration in exploratory testing. They are also more likely to be able to take a situation when they do have the benefit of experience behind them to know in which situations to apply the rules, to throw them out the door or embrace some ideas and discard others.

So user groups and testing communities are useless then?
No, not at all. The collective nature of a group can allow people to further ideas, but the keyword here is further.

The exchange of ideas within groups, presentations and practical exercises are all additional avenues for a tester to explore in refining their skill. They also represent an opportunity for like minded people to come together in a space, virtual or real, and share a common space that relates to a topic of importance to them.

A group or community also provides a space where people gain the opportunity to see and hear on subjects or from people outside the space of which they might normally operate within and potentially gain value from this experience.

This however does not make a group an effective unit though. Where it consists of a collective of those yet to develop a proper foundation and appropriate level of critical thinking it would detract from the potential value a group could achieve compared to testers who have already acquired their skill but seek additional avenues in which to see where they can take it. If their desire is not just to develop but to evolve ideas then this is something a community or group can only be likely to achieve when it is built upon a collective of those who have solid foundations to draw upon.

What's it all mean?
It is through a combination of the areas mentioned above that a tester can build solid foundations upon from which to develop their skill without ever having had the need to join a testing community or users group.

The benefits of the independent thinker helps to create a professional tester better equipped to serve the community as a whole by adopting a less textbook and a more individual approach that can translate to assisting with the ability to demonstrate the value of testing within the development environment and help to improve the perception of the testers role and the differences they can make.


  1. I appreciate the dimension you have added to the topic of a tester being independent versus being biased towards a community or group through this post.

    I am curious to know what experiences in your life drove you to think this way. If you could add those experiences in relevant places of this post, it would be a much more interesting read for people I know.

    Here is my question: I didn't know you existed till there was twitter and there was a testing community I followed. Had I not discovered you through the testing community I follow on twitter, I wouldn't have known about this blog or probably might not have paid this much attention. Assuming your blog contains some key information for me to grow to be an independent thinker, how would I have found it?

  2. Interesting post. Whether you choose to be a pack animal or a free spirit, the key to improving skills as a tester is to take "time to research topics related to testing yourself, read studies and perspectives and learn about developments related to the work you do." - Spot on.

  3. Pradeep, you raise two interesting points within your comment I wish to respond to.

    Life Experiences..

    It was not a single experience that allowed me to form such a perspective more the collection of experiences and observations over time.

    Having spent over 15 years in on-line communities I am acutely aware of the social structures that mostly form within such spaces, I have also spent time participating in user groups as well to see how these often operate.

    There are also just the principles of social hierarchy that applies to groups regardless of context that are just a product of the nature of human behaviour.


    Your example was an excellent one here that could quite fairly be used to question the validity of this argument.

    I would make the distinction that due to the comparably abstracted nature of interactions within Twitter and the limited social infrastructure that is more likely to exist (refer to my previous blog piece for additional thoughts of mine on the subject) that it still represents a different medium to communities / groups.

    Twitter represents though a great resource, of a similar nature to StumbleUpon, Digg or the likes which exists to share / pool the knowledge and experiences of the collective but Twitter holds the advantage of making it far easier to just network with others who hold common interests so one is better able to focus just on subjects of interest.

    Similar to an on-line community one can also share with their network too, but to refer to my point above, one is able to do so with far less social interference that could artificially impact the outcome of such actions.

  4. I agree and disagree. Testers should always be independent thinkers. That's what makes most things work for us.

    But I always learn a lot from others. That can be in groups, via twitter, collegues, blogs, etc. The most value of being with others, especially if they're (in a way) smarter then you, is learning of them. Learn from their mistakes so you don't make them.

    So learn from others, but make your own choices!

  5. Hi,

    Interesting post. I'm not entirely sure I agree with you on some of the points but it's a challenging post and no doubt I will think of something more thought provoking after I hit post.

    I try to take a more simplistic view to this. If you aren't part of the testing commnunity and joining in then what are you doing? Certification? Nothing? If you are self learning that is fine, but even then you need people to challenge your ideas and thinking and there is no better place than a community of testers.

    If you find the right community you can learn a huge amount very quickly, you can also find like minded thinkers, people who wil challenge you and somewhere to call home. You can engage in communication.

    I learn everyday from the community around me. It's fantastic.

    I worry that too many new testers are simply signing up for bland, standardised training courses and not exploring the information that is out there. As soon as you start to explore, you start to engage with the community. And that, in my mind, is an incredibly valuable thing.