Blog post series
This blog post is part of a series about pair-programming games. To read about more please click see more sessions on pair-programming games. Solution Seeker is one of them.
Start programming only when you have at least three solutions.
I heard about this concept when I started being a programmer. It made some sense then, and now it has even more sense. Especially for problems when we care about: scalability, performance, speed, security, etc.
- You need to find a very good solution for a problem. But the “good” part here needs to be very well defined in advance. What do you seek for: security, speed, scalability, etc.
- The domain of the problem might be known or not to you. If it is known, you just want to expand you knowledge and find lateral solutions.
The two pairs sit down at the table and are not allowed to write any code until:
- they think about at least three possible ways of solving the problem
- they note on paper or in a text file the solutions
- every solution has a clear definition of how the goals (security, speed, etc.) are going to be measured in order to make sure the solution is right
- the solutions are prioritized: the simplest and with best estimated results will be the first one
- they start prototyping the first solution and measure its performance
- only if the first solution does not fit the criteria, the second solution is prototyped
- go on until one good solution is found.
This idea is extremely useful for finding solutions on hard problems or in areas like startups and research&development.