Having a software based start up is really popular. Mainly because the costs of starting one are so miniscule. You can literally have an idea and if you’re a coder, get something up and running. If you’re not a coder then you can usually cajole someone you know into building something for you or spend a few thousand on something kind of rubbish or spend around ten thousand on something really quite good.
But what is software actually good for and what should you build? I think there is a really simple and easy way to think about what it is you should initially build, or not build and why. All you have to do is think about what software is actually good at, because if you don’t think of it in this way then why are you creating software in the first place? I’ve noticed that a lot of people create or build something and then realise that actually, they didn’t even need to build anything and perhaps they could have created a viable business with absolutely no software involved at all!
So let’s talk about the two reasons why software is awesome. If you think of these two things carefully then I think it’ll really help you get to the crux of what you need to build (if anything!).
1) Software Automates Stuff
That’s all it does. It takes out the middle man. Instead of going to a travel agent, software can replace the travel agent and automate their job. Uber replaces local taxi services. Even what most people consider “AI” is basically automation (at this current time). For example Eric Schmidt often talks about how in healthcare he is working on technology which can detect diabetic retinopathy (damage to your eye as a result of diabetes) more accurately than a doctor. He says that it’s better than a doctor because their software has “seen more eyes”. In other words they’ve automated the process of looking at the eye with software.
This is a really important concept. Think about what it is that you’re tryng to build. Do you need to create software to automate a process you are doing? Have you tested that you need to automate the process you are thinking of? Perhaps there is a manual way of just doing what your software will do. Once you have validated your idea, you may then want to go out and actually build some software which will do everything automatically.
A good example of the above is Stripe who are basically an online payment system for businesses. When they first started out they got some sign ups for their business. But behind the scene the founders were doing a load of manual paper work and filling in all the documents by hand. To the user it was a seemless experience and seemed automatic. However, it wasn’t. Once they had enough traction, they obviously had to automate the whole paper work thing to meet demand. They basically tested their idea and automated the whole process when they really had to.
It’s really important to think about what it is you want to automate as well. You may find that automating everything is not such a great idea. As a doctor I see this in healthcare all the time. “Let’s use software to automate this”. However, if a patient is suicidal a piece of software with automated responses is probably not as a good as a caring human being. A hyperbolic example, I know, but an important one.
A good example of this would be the battle between drugstore.com and Walgreens in 90s America. Drugstore.com was a dot com disaster, which promised people that they could automate the process of dispensing prescription medications. When drugstore.com was announced the stock price of Walgreens plummeted and they lost several billion off of their valuation. However, it obviously all went wrong. Drugstore.com didn’t know what to automate and how to execute their idea. Walgreens, because they have incredible people working there, didn’t panic and executed their own website. They created something which is as good as Amazon.com for medications and they obviously massively succeeded.
The moral of the story is that you should really think about what you want to automate and why. And really figure out if you need to automate it at this point in time.
2) Software is Scalable
The second question you should be asking yourself during the ideation phase is: Is it scalable?
If it’s not, then why are you building it? If you can’t implement it in many different places then it won’t be a big business.
An example of this is a company that I had heard about recently. They created a piece of software that was aimed at the catering industry. They noticed that they would often get really bad service in some restaurants and not others. They thought that software could automate the process of good customer service. They created a system where waiters and waitresses would get prompted to clear tables, offer drinks, prompt them to ask whether a customer wanted any cocktails etc. In their pilot restaurant they managed to increase the sale of cocktails by 133% and made the whole service much more efficient. Business success was clearly imminent!
However, they soon realised that they couldn’t scale their concept. No big chain would accept their idea. Also, no big chain agreed that their pilot restaurant was in any way similar to their work flow and that as a result their software was in no way applicable to their chain.
The first thing I would say is that they didn’t even need to create software in the first instance as they could’ve automated their process with a simple paper based check list. Once they proved the concept they could have automated it with software. The second thing they messed up on was that they didn’t think about scaling early enough.
This particular company mentioned that after they ran out of money and failed, they realised that their scaling process was too difficult. If they had thought about this beforehand and had created software that could easily be tweaked and adjusted then the big chains may have accepted their concept and idea.
So remember! Automation and scalability are the two most important things you should consider when you’re creating your app. Ignore this at your peril!