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 minimized 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 Builder Ispent months perfecting it and making 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 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.
So how do you know when your software is ready to release?
When you have done the minimum required to achieve your goals.