I’ve been taking a little break from blogging, however I was inspired to start writing again after taking part in the ‘This week in testing’ session run by the Ministry of Testing. During the discussion, the topic moved to testing tools and it was mentioned that there was a t-shirt available in the Ministry of Testing Merchandise page with the statement ‘Problems before Tools‘. It supports the idea that tools are designed for a reason so before deciding the use a tool, you need a specific problem which the tool is meant to solve. Without a properly defined problem, there is a chance that the wrong tool may be chosen for the job.

This got me thinking about the Double Diamond Design model which I first encountered at a UX Design Conference several years ago. I believe this model can also be applied to software development and testing.

The double diamond model is a process for delivering a solution to a problem. The process ensures that you first Design the right thing and secondly Design the thing right.

The first diamond focuses on making sure the problem is correctly defined and the second diamond focuses on developing the correct solution for that problem. Without clearly defining a problem then developing the right solution will be a challenge.

This model involves a mix of divergent and convergent thinking. Divergent thinking encourages us to explore an issue more deeply, identifying new and diverse ideas that we didn’t know or understand before. Convergent thinking takes the ideas identified during the divergent thinking phases and encourages us to focus on a single idea.

The process takes the following format:

  1. Discover (Divergent Thinking) – make sure you understand the problem rather than assume you know the problem. Research the issue, and speak to actual people impacted by the problem.
  2. Define (Convergent Thinking) – using insights gathered during the discover phrase, create a form definition for the problem
  3. Develop (Divergent Thinking) – Identify several different answers to the clearly defined problem.
  4. Deliver (Convergent Thinking) – Test the different solutions and decide on which one will work best.

Throughout our career we may be required to make decisions on which tools to use to support a particular activity. Rather than picking a tool and deciding its the best tool for the job, we need to make sure we fully understand the what it is we actually need. Until this is defined, we cannot be certain the the tool chosen is the best solution.

Further Reading and Resources