I started my career at EDS, a rigid software company founded by Ross Perot. EDS was sort of a pioneer in the software world and prided themselves on process. In a lot of ways, it felt like I had joined the military. They had their way of doing things and they wanted it done that way.
The most important process in almost any company is product development. In other words, a company has to decide how it is going to bring a product from an original idea to market. EDS had a very formal and tedious process in place that consisted of various phases: business analysis, technical analysis, development, testing, implementation, etc. I don’t remember all the phases and that is mostly on purpose. I do remember that getting software through that process took at least a year and more likely a few years. It was known as a very linear process in that each step had to be completed before the next step could start.
I lasted about four years at EDS and by the time I was leaving in the late 1990’s, EDS had woken up to the fact that the world was changing and they (to their credit), changed their process to what the software industry often refers to as iterative.
Iterative software development recognizes some truths about the world we live in. First and most importantly, it acknowledges that companies simply do not have years to get an idea to market any more. To survive in today’s business environment, you have to move very fast. So rather than taking the time to get a perfect product to market, the iterative approach says that you get a limited version of the product to market as soon as possible, test it and get people using it, and then fix the problems and add features over time.
Today, essentially every successful software company in existence uses a version of the iterative approach. It is pretty much the only legitimate way to do software development in 2016.
I gave that extended introduction because you need to know that those same two mindsets (linear and iterative) exist in small business too. And just like the linear mindset is a huge loser in product development in large companies, it is usually going to be the wrong choice for you as a small business owner. In fact, if you have a tendency to think that way (needing everything to be perfect before you can launch), your business is likely doomed from the beginning.
Let me try to get this down to a very practical level. Here are things I see all the time in budding companies:
- Spending way too much time on strategy and taking way too long to get a product on the market.
- Spending way too much money on infrastructure to support a product when there is no guarantee the product will even succeed.
- A refusal to allow an imperfect product to get to market (as if any product is ever perfect).
- The irrational belief that you have to “go big or go home.”
Guys, this thinking will kill your business. I am not saying that there are not exceptions. If you are making drugs, you need a more linear approach. I am not saying that you should not spend some time up front before launching products either. You need to do things as well as possible. However, you have to be very careful. If you are not in a hurry in the early days of a business, your competition will beat you.
I want to give you a little case study today to illustrate this. One year ago, I started my Monthly Arrangement Club. The technical needs for that club are not so simple. Ideally, it needs to keep track of when people join and when their membership expires and make sure they get the arrangements they should get. It should reach out to them before their membership expires to hopefully get them renew and ideally, there should be an option to auto-renew them until they cancel. When a new arrangement comes out, members need to be notified by email.
I did not know if it would be a success or not. I had no idea if I could even get 100 people to sign up for the club. With that in mind, I looked for a software solution that would do all the things I needed. While I found some, I did not like their pricing. I did not want to pay thousands of dollars a year for a software solution when I was not even sure that the idea would work.
What I decided to do was to hack together a solution for a while to test the club idea. I wrote a bit of code and used MailChimp for mailing. It was not a perfect solution. It was highly manual and there were a few glitches but it got me through a year while I was able to prove that the idea has merit.
Last week, it became very clear that we have outgrown that solution (that is good news). I got back on the internet and found a software solution at a price I can justify based on the success the club has had this year. By the end of the year, we will be integrated to the new system.
If the idea had failed (and many of my ideas do fail), I would not have been out much of anything except a bit of time. Because the idea succeeded, I can afford to throw more time and money at it and make it even better.
As a general rule, you want to limit your investment as much as possible before you test an idea to see if it will work. That is not to say you can do it for free and that is not to say the product does not have to be good. (My monthly club arrangements would not work if the arrangements were sub-par.) However, as much as possible, prove your ideas and then start throwing more resources at them. Ideas that show promise should get your money and the losers out of the gate usually should be discarded.
The takeaway is simply to forget perfection (an illusion anyway) and move fast. That is a big key to improving your odds as a small business