by Chris Durand, CTO
Are you looking for new way to solve pressing technical problems? Well, I’ve found one, and I recommend it for anyone looking for a fast way to start a problem-solving process. I call it the “straw man” technique, and it’s pretty straightforward:
- Think of the simplest possible solution or partial solution for a problem. This is the “straw man.”
- Discuss with your team reasons why you think the solution will work or not. My favorite question to ask is, “Why won’t this work?”
- Modify the straw man accordingly and repeat until you have a useful solution.
That’s it! I find myself using the straw man technique often; you can, too. Imagine you and your team are looking for answers on how to solve a challenging problem or implement what appears to be a complex feature. Think of a super simple solution that addresses at least 50-60% of the problem and ask the team why it won’t work. Then iterate from there until you reveal an acceptable solution.
The straw man technique is useful for several reasons:
- It’s difficult to solve a problem from scratch. Having a straw man solution to work from makes the task less daunting.
- Starting with a straw man solution enables you to quickly learn about the problem and iterate until you have a workable solution. It’s similar to performing a thought experiment with a team.
- It encourages simple solutions and not doing more work than necessary to solve the problem (reminiscent of Test Driven Development, or TDD, techniques). Technical teams often over-engineer solutions, so starting with a straw man and having the team articulate why that solution won’t work forces the team to distinguish between real problems and perceived problems that don’t matter. Complexity is often the result of engineering teams solving parts of the problem that don’t exist or are unimportant.
- Often times the initial straw man solution is actually workable! In that case, congratulations, and job well done!
A key point to this technique: don’t make the straw man solution complicated. Does your problem have some difficult edge cases to consider? Ignore them! Are there many parts to your problem? Pick a straw man solution that only attempts to solve the most important parts. Keep it simple!
A technical example to a broad audience with no history on the issue would be difficult for anyone to follow; so I’ll offer this non-technical example, instead.
Let’s say you are trying to plan a family vacation with your spouse and kids, and you need to coordinate it with your sister and her family. You could start by getting a big list of what everyone wants to do with preferred destinations, and try to negotiate every little detail and assumption.
A straw man approach, on the other hand, would be to take what knowledge you have of what is most important and come up with a simple plan. For this example, you know everyone likes the beach, a few folks want to visit grandma, and your son and your nephew didn’t get along on the last family trip. Your straw man might be to have your family will meet your sister’s family on September 1 at the beach in Pensacola, Florida for a week. Then, drive to grandma’s house in Atlanta to spend a few days before heading home.
Family members can then critique the plan. Your spouse says, “I’ve been to Pensacola before and want to try somewhere different!” Your sister adds, “September interferes with the kids’ soccer camp, can we go two weeks earlier?” And, it turns out, your son and nephew are now both huge “Transformer” fans and can’t wait to get together and play. Good thing we didn’t worry too much about this up front! Now, you can make a few adjustments and quickly settle on your trip!
The key to straw man technique success is to get something you can start with quickly, question assumptions about the problem, and iterate on the solution. Think of it as an agile software implementation you do in a single short meeting, without writing any code.
The straw man technique won’t work in every situation, but it’s quick and easy to use, and it works on a surprising number of problems. Give it a try today, and please share your results in the comments section.