• Graham

The art of critical thinking

Updated: Jul 4



Introduction


Any team that follows an agile approach is probably cross-functional. If you’re lucky, you will work alongside developers, business analysts and UX specialists. They are specialists in their own right. The expectations of Developers are the implementation and optimisation of the code they create, if you’re very lucky, they will create unit tests alongside the implementation. A business analyst will focus on the requirements of the system to be implemented, they will act as the prime interface between the stakeholders and the team as a whole. A UX specialist is expected to be concerned about workflows, look and feel and colour palettes.


So what of the QA? One of the expectations of a QA is the ability to think; the ability to evaluate information using a systematic and deliberate approach separate from the mechanistic ritualistic thinking employed in day-to-day activities, as evidenced by group nodding in many team discussions. Critical evaluation of information can provide the team with information which allows for a greater understanding of the ‘thing’ being developed which will lead to more informed decisions on the ‘thing’ being developed. Skilled application of critical thinking doesn’t need to be overt if it is undertaken correctly, it won’t be a visible effect. It will just ‘be’.


A QA has a responsibility to identify, communicate and mitigate issues which impact quality

They can coach other specialisations in quality techniques, they can assist in ensuring that the product adheres to quality standards, they can inform the team and stakeholders of risks, they help in improving the product so that it is fit for purpose.


History


Socrates was probably the world's first QA. He created a method of questioning known as Socratic Questioning. He promoted a line of questioning that attempted to differentiate beliefs that are reasonable and logical from beliefs that are comforting, egocentric, without adequate evidence or lack a rational foundation to support them.


In 16th Century England Thomas Hobbes adopted a naturalistic view of the world in which everything was to be explained by evidence and reasoning.

The Foundation for Critical Thinking gives a brief definition here: ‘Critical thinking is the art of analyzing and evaluating thinking with a view to improving it.’


This ties in neatly with the QA’s expectation of ‘improving the product’


What it is


Critical thinking takes time and effort to apply correctly. It is distinctly different from normal, everyday thinking. In fact, it is the antithesis of normal, everyday thinking. Everyday thinking happens by default, you just aren’t aware of it, it is a product of repetition and experience. Walking employs thinking. Manoeuvring around obstacles employs thinking. Making a drink employs thinking. Driving a vehicle employs thinking. All take place without a targeted, conscious effort.


The advantages of employing critical thinking are numerous. Without employing critical thinking, decisions can be made that can cause adverse effects on your team, and by extension, your product.

Each facet of critical thinking can have a marked effect on your team mindset and the testing efforts employed throughout the development of the product. It can be employed at any time but in my experience, there is a marked effect when used in group settings such as a daily stand-up, 3 amigos or refinement. It can, and should, be used when interacting on an individual basis. Care is needed however to not isolate or otherwise distance the other individual. This in itself is a skill.



Components of critical thinking

Clarity - Can it be illustrated via examples

Accuracy - Can it be verified

Precision - Is it specific

Relevance - Is the problem in question being addressed

Depth - What makes this a question

Breadth - Are there alternative points of view

Logic - Is this supported by evidence

Significance - Is this the core idea to focus on

Fairness - Are people conscious of their own bias

Or simply, who, what, when, where, why and how





How to apply


In my experience, there are two main approaches to conducting a standup. Your experience may vary. Critical thinking can, and should, be employed in both approaches:

Standup number 1: Robotic statements; Yesterday, Today, Blockers, focused on individual contributions.

Standup number 2: Walking the board; Natural conversation flow, focused on completion of a particular story by the team as a whole.

The application of critical thinking in the first instance is inherently more difficult as the sequential format tends to inhibit natural conversational flow and questioning is directed at an individual which discourages further interaction at a team level.

The application of critical thinking in the second instance is easier as there is a constant stream of information from multiple sources in real-time, each with a particular viewpoint that can open up more possibilities for questioning and clarification. At the beginning it may seem quite daunting but the more you employ it the easier it becomes. There is a distinct and beneficial side-effect of employing critical thinking in that you can articulate your method of questioning to other members of your team.

the more you employ it the easier it becomes

For this reason, the methods will concentrate on a ‘walking the board’ scenario..

Over time they will subconsciously adopt these methods in relation to their own statements.

Real-life scenarios

Let's run through some typical group scenarios that often occur in cross-functional agile teams:

Developer Jenny states that implementation of the API is almost complete but she believes that it doesn’t require much in the way of testing:

  • Ask for reasons for that position

  • Are they logical?

  • Ask the team whether they agree.

  • Does everyone agree with this point?

  • Is there anyone who does not agree?

  • Query their approach and how they arrived at the conclusion(s) they did

  • Is the approach based on fact, supposition or confirmation bias?


Developer George is about to pick up a task to write stubs to support the automation of a particular test effort, he’s done this type of work before and he appears quite comfortable with his approach:

  • Ask whether he will undertake research?

  • Further information may enhance the implementation, even given his past success

  • Ask whether his previous efforts have been consistent with the team’s standards.

  • Is this evidenced?

  • Can he provide the rationalisation for his confidence?

  • Is it well-reasoned?

  • Is it logical?

  • Ask whether his approach could be improved

  • Can team members suggest alternatives?

  • Ask if the team can suggest abstract ideas

  • There may be underlying assumptions in play


Tester Gwen states that the vehicle selection screen story can now be considered done, BA Bob disagrees.

  • Ask Bob why he disagrees

  • Can they provide a rational reason for the disagreement?

  • Do they have information that isn’t apparent to Gwen?

  • Ask whether his disagreement is valid in the context of the story?

  • Ask if the tasks that make this story up have been verified

  • Can she solicit agreement from the team for her conclusions?

  • Does Bob suggest an offline discussion to resolve the differences?


New Developer Alana picks up a task to implement form validation she appears a little unsure on?

  • Ask if she can articulate the task within the context of the story?

  • Does her understanding reflect the team’s understanding?

  • Ask if the card is accurate in intent and accurately reflects the actual task?

  • Ask if the the card requires rewording

  • Ask the team if Alana’s understanding is correct

  • Does the team employ empathy to address any confusion on Alana’s part?

  • Articulate your understanding of the problem

  • Are there opposing views?

  • Are there questions that arise from your understanding?

  • Is there agreement from the team?

  • Is there information missing that would enhance understanding?

  • Is Alana comfortable with speaking in the stand-up

  • Is undue influence being applied


You articulate progress you made on a task you completed just before standup, the team appear unsure as to the actual status:

  • How do you know that what you’ve done is completed?

  • Can you provide alternative phrasing?

  • Can you provide an analogy?

  • Can you provide evidence?

  • Can you ask a colleague to paraphrase your explanation?


PO John queries the status of the sprint as a whole but devolves into a discussion about another sprint

  • Question the relevance of the other sprint

  • Ask them to reframe the question

  • Ask if this is the most important thing to discuss right now

Some takeaways


  • Critical thinking takes practice

  • No-one thinks critically 100% of the time

  • Critical thinking is a tool

  • Consciously practice on your own reasoning

  • Don’t attempt to inject every type of question into every situation

  • Learn to read your team

  • Make a conscious effort to observe how individuals respond to different stimuli

  • Increase your awareness and understanding of body language


These, combined with critical thinking skills will make you a far more effective quality advocate than any amount of code knowledge.

©2020 gesqa.com