“The definition of genius is taking the complex and making it simple.”
- Albert Einstein
In today’s world the most valuable employees are the ones who can tackle complex problems. And the best of those are the ones who can make the complex problems look simple.
But how can someone actually do that? Below are some tactics I’ve used which can make a big difference.
These tactics are designed to get me thinking about the problem space in different ways. The different perspectives often yield insights that help separate the core components into smaller, more manageable units (and of course this list is always a work in progress)
Questions are at the heart of discovery. Every step here requires asking questions and striving to find the answers. One question you should be asking yourself is “What assumptions can I challenge?”
Remember: Challenging assumptions includes challenging your own assumptions. The mere act of trying to discover what assumptions you and others are making can give you a new perspective on your project.
What is the core problem(s) your boss (or whoever gave you this task) is trying to solve? What are your customer’s burning pains? Note: Your customer is whoever will use the thing you’re making. It could be your boss, your IT department, or your company’s customers.
Go beyond the mere features being asked for and get to the heart of the problem. This is the difference between “I need a SQL database” and “I need a reliable was to access and modify my business critical data”. Perhaps you can think of a better way to solve the problem.
Ask questions like: Who cares about this problem? Why is it important to them? If there are no good answers to these questions, is the problem even worth working on? Maybe this is an opportunity to quit early
Understanding the burning pains often involves talking to stakeholders and customers. It’s hard to understate how valuable the insights you’ll get with this step can be
You should have some idea for a solution at this point. If you don’t, take some time to come up with one.
Take a close look at that solution. Which pieces could be split into separate modules or components? Can any of those components provide value independently? If not, can any be tweaked so that they do provide independent value?
Think about what would make a good MVP (Minimum Viable Product) for your product. Remember, the goal of the MVP is to learn information that will affect the design of the final product. Try to Identify at least three different questions you want answered and what MVPs you could create to answer them (hint: the same MVP is unlikely to answer all your question)
Get creative in what you consider an MVP. Maybe showing random strangers at Starbucks a napkin drawing of your app’s layout would be good enough.
If you follow steps 1–4 then you will most likely develop a much better understanding of your problem and already developed a bunch of insights.
Great, go work on them!
Now that you’ve spent so much time researching the problem you’ll probably find yourself also thinking about it in your spare time, when you’re in the shower, driving, etc. This is when all the different pieces you’ve been studying for so long can suddenly click together in a new way, giving you a fresh insight.
This eureka moment might happen a week or two (or more) after you’ve started implementing your previous ideas. Don’t be afraid to throw those old ones away in favor one something you now know is better!
The common theme here is to develop a deep understanding of the problem you’re working on, which can lead to fresh insights others may not have. The above tactics give you that understanding by forcing you to look at the issue from different angles.
But there's always more than one way to skin a cat. If you use different tactics to achieve this understanding shout them out in the comments!