Build software in the open

For many years I had this re-curing fantasy, it is the one where I have this brilliant idea I do not tell anyone about, I build it in the middle of the night when everyone is sleeping and then one day I reveal it to the world and everyone is amazed and awed by this genius of a product. I, like every super developer before me would have created that product that no one else thought about but after they saw my work they had that sickening feeling in their stomach we have all felt at some point, that one where you say to yourself "This is so simple, why didn't I think of that?”

A variation of this fantasy with client work, is the situation where a client gives you a job, you talk extensively with the client about what they want and then you disappear for a month or two and then you show up and your are like "Tada!!!" in hopes that the client will fall from their seat and to their knees, worshipping you for the magnificence you have presented.

I don't know about you guys but I have failed more than I have succeeded following this path.

This idea of building things in the dark brings along with it a bunch of bad habits, some of them are being secretive, being bad at communicating, lack of idea vetting and so on and so forth. If history is any indication, a lot of startups in "stealth mode" in Silicon Valley usually have some of the biggest failures... but I digress.

Abandoning this fantasy in recent years has been one of the best things I have done for my development career. Constant communication with the client and showing other developers I respect my half-baked cake for feedback has ALWAYS led to a better product. Allowing other people's perspectives to influence my ideas has opened me up to new things that has made me a better developer and designer.

After realizing this is the right way to go there are two main fears that I had to overcome.

  1. The fear of criticism
  2. The fear that my ideas will be stolen.

Don't worry about people stealing an idea. If it's original, you will have to ram it down their throats. ~ Howard Aiken

Once I overcame these worries there was a significant improvement in my development process and results. I now give a link to my clients during the development stage of a project where they can watch the progress on their apps as it is worked on and this has increased the satisfaction rate to virtually a 100% by the end of the contract. This is because they feel they are part of the process and they can quickly give feedback if they feel something is wrong.

With products, sharing early screenshots, blog posts about how the team made decisions and even early versions of the app for people to get their hands on, is a quick and easy way to build software in the open and find out what your potential customers resonate with and what is just meh.