In Praise Of The Proof Of Concept

Your project doesn’t necessarily have to be a refined masterpiece to have an impact on the global hacker hivemind. Case in point: this great demo of using a 64-point time-of-flight ranging sensor. [Henrique] took three modules, plugged them into a breadboard, and wrote some very interactive Python code that let him put them all through their paces. The result? I now absolutely want to set up a similar rig and expand on it.

That’s the power of a strong proof of concept, and maybe a nice video presentation of it in action. What in particular makes [Henrique]’s POC work is that he’s written the software to give him a number of sliders, switches, and interaction that let him tweak things in real time and explore some of the possibilities. This exploratory software not only helped him map out what directions to go, but they also work in demo mode, when he’s showing us what he has learned.

But the other thing that [Henrique]’s video does nicely is to point out the limitations of his current POC. Instantly, the hacker mind goes “I could work that out”. Was it strategic incompleteness? Either way, I’ve been nerd-sniped.

So are those the features of a good POC? It’s the bare minimum to convey the idea, presented in a way that demonstrates a wide range of possibilities, and leaving that last little bit tantalizingly on the table?

11 thoughts on “In Praise Of The Proof Of Concept

  1. *”If you want to build a boat, do not instruct the men to saw wood, stitch the sails, prepare the tools and organize the work, but make them long for setting sail and travel to distant lands. *

    Antoine de Saint-Exupery

    This works very well in surprisingly diverse situations.

  2. Funny, I was watching a video about Wordle for the Commodore 64 today. Written completely in BASIC, the POC was solid but even in the bits of code they reviewed I could see how I would improve it. So now I’m heading to Github to grab their version and get to work!

  3. I do a lot of POCs. At work, people spend months and hundreds of meetings discussing ideas not knowing if they even would work. Going in circles. I tend to short circuit thar process.. by building a POC in hours (max) and show them off.. Has caused a bit of disruption.

    Except, you gotta be careful: In some companies, POC means Production On Completion… direct from Concept to Production without stabilization, testing etc.

    1. I use a different name (perhaps incorrectly) for this kind of “proof of concept” – in my application it’s usually a MVE – “Minimum Viable Example”. Can I make it work and perform the bare minimum for what would be expected here? If I can, then we can develop further and formalize.

      I’ve found it short-circuits the process as you’ve described but sometimes it just leads to clogging further down the pipe – now the boss wants to add twenty features before we even discuss a system architecture. My experiment works great in the lab, but I am definitely no expert.

      1. I get you. I’ve tried the same – even made examples using Paint.net with the “watermark” “THIS IS A MOCKUP!!!” across it. Result:
        “When can you install it?
        “Uhm, it’s a mockup! As written in bold across it… The product doesn’t exist!”
        “But I just sold 6 to be installed next week…..”

    2. At my work (clocked 20+ years this year, btw – on top of the previous 15 years “in the industry”) I am no longer invited to those meetings lest I say something (and I usually do) that destroys the reputation of those who think they know everything because they are the so-called “managers”.

      In the past we’ve discussed things of strategic importance and my input was valued, when it suddenly wasn’t – mostly for no reasons other than hiring new managers who don’t know what they are managing. My talk makes them look silly, and they actually quite are when assuming their “framework” won’t end up being Yet Another Bureaucracy Making Our Lives Miserable.

      I also have yet to see anything inflicted on me by my “managers” as proof-of-concept beta-tested on them first. Never. Managers only do it one-way – here’s your marching orders, march to the beat of the drum, ratatata, ratatata, no questions needed.

      1. Sounds like some of the same, I face at work:
        EVERYONE wants a “Yes man”.. Not a “have you considered…..” dude..

        Came to the point, where I got permission to do a major refactoring of a central piece (would take 4-6 months to run full tests according to our testers). 2 weeks into the task, I get reassigned to other tasks. 2 months later, I get SCOLDED for not finishing the refactoring. Apparently, being reassigned (by the same b*tch) doesn’t change anything. Multiple loud “word exchanges” later, she complained to management, HR and even “feared for her life, because he’s an Army Veteran and has guns at home”. Finally, she got kicked out of the company. And someone else is doing the refactoring.

        So, currently, I sit back, do my tasks and repeat “I told you so”, whenever they come across a problem, I foresaw months ago. I’ve stopped giving an F.

  4. I find myself balancing the desire to design a perfect project and finding satisfaction in creating imperfect proofs of concept. I could spend a lot of time on planning and design before getting my hands dirty. Most of the time, what I produce by diving in ends up better in the long run. And it’s more fun this way.
    My latest endeavor involves reengineering an 80’s floppy disk box. It has a mechanical element that pops up individual disks with a turn of a knob. The original patent expired long ago and its commercial usefulness has long passed, but I find the reinvention process fascinating. From reproducing the mechanism for 3d print instead of injection molding to fixing the limitations in the patented version. I’ve learned a lot.
    Is there a market for it? Not really. There might be tens of people willing to buy something like this. The thing takes up too much filament to be profitable. Nevertheless, I have vintage computer friends who probably will buy it just because. Or print it for themselves once I release the STLs.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.