One of the biggest mental hurdles developers face is that of the complete system. For instance, when someone asks you, “can you help me sell something on my website?”, if you are like the average developer, you likely immediately see a mountain of complexity, including invoicing, card processing, PCI compliance, refunding, error handling, and more.
And you’d be right to consider these things.
However, the developer who understands proof versus polish would begin by asking a single question: “Is it imperative to your business that the person can pay via their computer or phone?”
The truth is, proof is often much easier to achieve with simpler, yet more effective, solutions. Perhaps this person actually simply wants higher sales via phone, and doesn’t need any payment processing online at all.
The way we understand problems is often as predetermined system feature-sets rather than goals. For us to develop with proof as our primary output, we must redefine goals as the definition of the problem rather than the definition of the solution. This will allow us to explore more solutions without constraint, and will enable us to more effectively hack impossible.
Instead of “I need an app that I can post content to on a weekly basis”, we would form our problem as “we want to reach our consumers with weekly content”. The solution then shifts from “an app” to “something that can deliver content”, which for instance may be a mailing list, a far less complex solution that provides proof.
“But I know I want an app, because of the wide distribution and native push APIs”, the visionary chimes in. And that’s a fair assertion. It’s incredibly important, though, to uncover these proof-building reasonings, and discuss the stair-step method to achieving the impossible.
If it sounds like developers have the job of saying “you should do less”, you’re missing the point. Instead, developers have the job of saying, “if we want to achieve your goals, let’s look at the most direct point to a solution.” In this way, developers adopt a role of empowerment and possibility-enabling. We deconstruct the creative goal problems in order to construct creative solutions.