If you haven’t heard this advice before then you aren’t reading enough.
Release early, release often!
But this doesn’t tell give you the real picture…
When I first started out creating software I was scared.
I was scared that something would break, data would be lost and that my reputation would be ruined.
My first software job was in a company who provided software to big retail companies. If our software went wrong they would lose a lot of money.
So quite rightly we had lots of procedures, testing environments and careful planning to make sure we minimised that risk.
After I left that job I took that attitude with me and kept it as a default.
I started creating websites for small businesses and I was using testing environments, version control and very careful planning.
But the amount I got paid wasn’t worth that effort.
When I created Fresh Store I spent months perfecting it and making it ready to release to the public.
I hesitated and kept telling myself that it needed “one more feature”.. and eventually a good friend of mine convinced me to just release it.
It was an overnight success and I made more sales than I could have imagined.
So what does early mean to your project?
You should be aiming for the minimum amount of development to achieve your goal.
This is different for every piece of software.
Is this a brand new idea that nobody else is really doing? Get it out ASAP and don’t worry if there are a few minor bugs. People will use it and you need to get yourself established.
Are you competing with an established solution? Get 2 or 3 features in it that your competitor isn’t doing, make it reliable and get it out there.
Every single day that your software is not on the market you are losing potential sales.
BUT if you release buggy and poorly created software you will start with a bad reputation that is hard to fix.
AND if you spend too much time and money developing, you run the risk of releasing a very polished product that nobody wants.
So how do you know when your software is ready to release?
Think long and hard about the minimum goals you need to succeed, following these 3 principles:
- Add enough features to be a hit with the customers
- Test and make reliable enough to not be frustrating
- Release as early as possible so you can test the market