- Start with an ambitious, high-potential idea, but challenging and full of ambiguities — the rough shape of a nascent great idea. It typically isn’t new, but solves many problems in a simpler, more intuitive way. It ignites people’s curiosity and self-motivation. At the end, it should seem “obvious” so that others want to copy, because there aren’t any more obvious, better paths given similar constraints.
- Build a team of believers great at what they do. Role, experience, titles don’t matter. The right skills, open mindset, vision, curiosity, and candidness in collaboration matter. Avoid players who don’t care enough, who don’t want to take on challenges, who don’t take in feedback. They slow down progress and add noise, and create a mess to be cleaned up later.
- Do not narrow down on problems before you’ve dug in & seen enough. Make connections between the problems and what you have in the system so far. Find more related problems. Ignore artificial bounds like team boundaries or short-term mindset. “Focusing” on few problems early or trying to solve them piecemeal completely eliminates the possibility to get to the best solution, because the search space where best solution is in has been eliminated.
- Do not spin in circles in meetings or stakeholder alignment or crafting the best story. Move by feeling and building. Not just the leaders’ feelings — you and every human’s feelings. Code and pixels are our canvas. No need to be precious about drawing pictures, writing code, or trying things out. Shorten the feedback loops as much as you can, so you move and get stuck less.
- Do not “rush to validate” to kill nascent ideas. If you are unsure about an idea, it’s simply telling you that you aren’t there yet, not that the idea is bad. If you decide to “validate” it before you have enough conviction and have put in enough work, you are essentially killing the idea with your own hands.
- Making an idea great all comes down to execution with quality and agility. Agility isn’t just speed of execution, but also how you adapt to change and don’t get stuck on one path. If need to pick, pick quality. Cut solution into valuable chunks that ladder up together in the end, rather than optimizing for speed and only do a thin slice and call it done. A thin slice isn’t great until made whole, and usually is crap.