The 2 Rules You Need To Know When Building Software

May 4, 2016

As an event tech start-up who’ve been building software for the past four years, CrowdComms have learnt a thing or two about developing software products. And in many cases we’ve had to learn the hard way.

Churchill once said, “success consists of going from failure to failure without loss of enthusiasm.”

I think this is often true when building software products in a start-up. You have an idea of how you want the finished product to look and what it needs to do. But the process of building, testing and launching is like walking into a boxing ring with a heavy weight champion. You keep getting the proverbial knocked out of you at every corner, but the one thing you cannot do it give up.

Or to quote Churchill once again (who could be regarded as labouring the point), “never ever, ever, ever give up”.

A good idea is a good idea, even is the product has holes or needs bug fixes or the UI is not right. If you have a good idea for a product (and we have had a few) then stick with it.

That said, thumping your head against a brick wall without learning from your mistakes is just foolish. Keep trying for sure, but doing the same thing over and over and hoping it will magically just work is a waste of time and energy.

Because we’ve spent a bit of time connecting our heads with a brick wall we’ve learnt a lot and fortunately we have the smarts to apply those lessons to the business.

There are now two rules, or questions, that we apply when building any new feature or product.

1. Is the proposed feature going to enhance the user’s interaction with the product?

 2. Will other customers want to use the same feature or is it too specific for a single customer?

Seems pretty obvious, but if a feature or product request does not meet both the above questions with a “yes” then we put it in our GINB pile i.e. Great Idea but No Build.

We have built things in the past that the answer has only been a “yes” to one of the questions and it has without exception been a failure.

Building software is ultimately rewarding. But the road to launch is paved with frustration. You will doubt your abilities, but by sticking to it (and learning as you go) you’ll eventually end up with something awesome.