Plotting ideas

This is a technique I picked up from Kent Beck. In order to expand your understanding of a problem space and generate new ideas, it’s useful to put what you already know on a plot. It can be one, two or three dimensional and you can experiment with different axis (continuous, discrete, binary).

Here is a simple example.

Automated Tests

How many types of tests do you know? Say it’s unit, integration and end-to-end tests. Now let’s pick an axis (just one for now) – scope, from small to large.

Organizing concepts this way helps us better understand the bigger picture. But it can also suggest some new ideas. All you need to do is ask a question:

Given a point on the plot, what concept does it represent?

This forces us to think beyond the concepts we already know.

In the tests example, what would be to the right of end-to-end tests? Well, something with a larger scope than e2e. Maybe tests that involve whole data centers and networking.

How about further down to the right? Impact tests (not sure if this exists already), that measure how our change influences the business revenue or social good from our app.

We could also add another axis (feedback latency, feedback quality, cost) which will literally add another dimension to our reasoning about the problem space.

If you’d like to see more examples, check out Kent’s notes:

Related posts:

No constraints, no fun

Why side projects are hard

Hello! This text lives here to convince you to subscribe. If you are reading this, consider clicking that subscribe button for more details.

I write about programming, software design and side projects Subscribe