You can imagine an end result without knowing about fundamental problems. If those fundamentals are core to your business or idea and they are immovable then you probably can’t pivot without fudging what pivot means.
Stay with me for a second and take this lead and gold atom.
Now if we could just remove three protons from the lead nucleus then three electrons would just float away it would turn to gold. How useful! How wonderful! Gold has many industrial applications. Lead is poisonous although it also has industrial applications. We could create a lead recycling center! My imagination is running wild with ideas even before we’ve gotten anywhere!
Hmm. So what if we had tiny tweezers? Oops, there’s our tweezers.
Oops! Our tweezers are made of atoms too!
Our tiniest breakthrough, patent winning, best mankind could produce tweezers. Imagine you haven’t gone through any class / book / information that would give you a keyword like “Alchemy” or chunked knowledge like “Alchemy is bogus”. Wouldn’t it seem tempting to try these tweezers? To build these tweezers? When the tweezers don’t work, try pliers?
Pliers aren’t the problem. We have an fundamental immovable.
Here’s a wall. You can imagine walking up it can’t you? Well, how would that work exactly? Do you put your first foot on the wall and now you feel like you are doing splits? Or can you remove your foot as easily as a handshake? See, in physics there’s something called perpendicular force (relative to gravity). If I push a car, it’s easy. If I lift a car it’s hard. So are you stepping onto the wall? How hard is it to step up on a table? What transition is there? If you don’t strain like stepping up on a table, could you fall off the wall onto the floor? If you could, wouldn’t that create energy?
We don’t know. Let’s find out together. This is why I like the TDD loop. Not just testing or test-first but actual TDD. I feel that it guides me. It allows for team discovery. How many more complicated problems like this are there? TDD is a like a science that mitigates human fallacies. More than TDD. Many things do. Science, Agile (whatever that meant before it died), feedback loops, Kanban. They are feedback systems that correct human bias.
It’s not about testing really, it’s about iterating and least-complexity. I really like this picture of shipping a minimum viable product.
I think this is also a function of diversity. If our team is made up of pliers, we’re in a tight spot. And I don’t even mean racial or gender diversity specifically. Think of this like a portfolio. Don’t put all your eggs in one basket but also make your eggs happen fast while not caring about eggs.