Skip to main content

How the Golden Circle can help you become a Great Tester

I was recently watching a TED Talk by Simon Sinek: How great leaders inspire action... It's a truly inspiring video, and one that I highly recommend you watching it. Like any great video/speech it got me thinking and trying to apply it to my life/world. As you know a lot of my life/world is around testing and so naturally I started asking myself the following questions:

- What helps makes great testers?
- What makes people really appreciate the value of testers?

Now in the video Simon mentions what he calls "The Golden Circle" which you can find a neat little diagram of below:

Using this he helps explain what makes leaders/businesses great, it's not the What of what they are doing? Nor is it necessarily the How? It is in fact the Why of what you are doing. If people can connect and resonate with the Why of what you are doing they are going to follow you, they are doing to buy into your product and appreciate the value you bring even you more so.

This made me think, what helps makes a Tester Great? Is it the What? Is it what they do? Is it testing software/requirements? Is it finding bugs in software?  This is all fine, it's an end to a means, but the question isn't, What makes a fine Testers? It's what makes a Tester great? To me, this will not make you a great tester, nor will it really demonstrate the true value in which you will bring to a team of engineers in developing quality software.

What about the How? Some testers know and are extremely confident in how they are going to test something, so they go ahead and test it, some testers however might not know the How's completely, and require on help from others in figuring this out, again this is okay, team work is about helping others be better. Does the How make you a great Tester? No, it probably helps makes you a good Tester, but this isn't what will make you a great tester, nor will it make others truly appreciate the value in what you are bringing.

Finally, we are on to the Why? Very few testers that I work with, truly understand the Why of testing... Why are we testing something in a certain way? Why aren't we testing this? I feel that this is what will help make you a great tester. Find out the Whys of Testing... Why we are performance testing something in this way, or Why we are testing something this way, if we can figure out Why we are testing something, then we can define How and What we are testing so much easier. If we can define this instead of relying on people to tell us what to test, and why we are testing it then we are helping them understand the true value of Testing. This I truly believe will demonstrate to the team and others the true value of great testing. 

You could look at it at the bigger picture, if we understand why we are doing our jobs, then we understand the value we bring, and this will rub off on others, and help others truly appreciate what we bring to the table.

So I suppose another question is, how can we get to the point where we truly understand why we are testing something. One route is to fully understand the architectural aspects of a solution, or to understand how it is being developed and understand the code behind the application, this will help us understand why we are testing. We can also ask lots of questions, not just about development, but about requirements, about why we are doing something? Truly understand the end user, and then we can shape how we test something and what we want to test and in doing so, hopefully help everyone understand Why we test, and the value that we can all bring by working closely with others in the team and not off in silo.

Finally, and a bit of a disclaimer obviously, knowing the Why of Testing is not going to make you a Great Tester, it will help, and it will help people appreciate the value you bring, but there are many aspects that I will cover in another post that help make Great Testers, so stay tuned!

Comments

  1. “He who has a why to live for can bear almost any how.” ― Friedrich Nietzsche

    ReplyDelete
  2. " If we can define this(why?) instead of relying on people to tell us what to test, and why we are testing it then we are helping them understand the true value of Testing" very true

    ReplyDelete

Post a Comment

Popular posts from this blog

Considerations when creating automated tests

We recently released to a number of teams our automated regression pack that has been worked on over the past few months. This regression pack tests legacy code, but contains a large number of tests.  As a bit of background, a number of teams are working on new solutions whilst some are still working on legacy code. With this in mind we constructed an email with a list of guidelines when creating new tests that need to be added to this regression pack.  I figured that these can be quite broad so should apply for any organisation, so thought it would make an interesting blog post...  So here goes,  when creating automated tests, it's important to consider and adhere to the following: - Think about data . The tests need to retrieve or set the data they need without any manual intervention - This should help them be more robust and easier to run without manual intervention. - The tests need to be idempotent - By making it so that each test is standalone and does...

Coding something simple.... or not! Taking a screenshot on error using Selenium WebDriver

I recently wrote a little function that takes a screenshot at the end of a test if it has errored. What sounded very simple at the start turned out to be quite a bit of work, and quite a few lines of code to handle certain scenarios! It's now over 50 lines of code! I'll start with what I had at the beginning, this was to simply take a screenshot in the working directory, we are using SpecFlow and Selenium to run the tests, so we are going to check if the ScenarioContext.Current.TestError isn't null, if it is, then using Selenium, take a screenshot (note the below code is a simplified version of what I had at the beginning). [AfterScenario]         public static void TakeScreenShotOnError()         {             if (ScenarioContext.Current.TestError == null) return;             var screenshotDriver = Driver as ITakesScreenshot;             if (screenshotD...

How to manage resources within new teams?

Working where I work we are constantly spinning up new teams to take on new workloads as business come up with new demands and new features they want developed and tested. The problem with this is how do we ensure the work of the newly spun up team is of sufficient quality. One method is by taking people from other established teams and placing them on the new team. This works great for the new team, but unfortunately it will oftenl eave the established team lacking in a resource whilst they try and fill the gap left by the person who has left. We are seeing this often with our offshore teams, it can be damaging to the team structure and the teams velocity, but try as I might, I can't think of another way around it. It's far easier to take 1 person from a team that is established than it is to build a whole new team from scratch. At least by leaving the core of a team in place, you should be guaranteeing that the new team are aware of any coding standards or any QA standard...