Getting things right straight off the bat is no simple task. It’s the reason writers write drafts. It’s the reason athletes practice and train. It’s why a photographer will take a whole memory card of shots just to get the one magic image. And in business it’s the reason we plan.
Before you start a business, you will inevitably (and rightly) produce a business plan about your product, the market, financial estimates, projections of sales and lots of other speculation on the future. Planning forces you to think through a lot of your assumptions about what’s going to happen after you invest your money and time. It ensures you’re not walking blindly into a storm.
But the truth is, no matter how much you plan, there are still many ways you can find you’ve totally misjudged things. Perhaps you price a product wrong incorrectly guessing what people are willing to pay, maybe there are competitors you didn’t know you had, or perhaps you find that people use the product or service in a totally and unexpected way. Like life, business is unpredictable.
Software Development
Another field where it’s very difficult to get things right in one shot is software development. Software projects tend to be large and complex and at the outset it’s very hard to see a clear path to building a completely successful product. Nonetheless for a long time the most popular methods of software development tended to be highly sequential in nature.
That is to say they involved a big planning phase before locking everything in and moving into development. A sort of “measure twice; cut once” mentality that is not dissimilar to the idea that you might create a totally complete and perfect business plan and then execute it exactly.
The reality of software is that there are a lot of unknowns at the planning phase that only become clear later in development. For example it may be that only once the team is deep into the build that they find some aspect of the plan is very difficult to implement in its current shape requiring a rework. Or often a client might see the build half way and start changing the project requirements undermining the planning phase that went before.
Iteration
It turns out that a much better way to build a software project is to use at least some iteration. That is you build something (preferably something that works in some form) and then take feedback and improve. You reflect on the implementation, user and client feedback and generally how the first something is faring. Then you iterate and improve and build on the project.
Iterating doesn’t mean you don’t plan, it means that you aren’t so reliant on a plan being perfect. Instead you are expecting to have misjudged some things and are ready to react and counter them.
Iteration as you can imagine works well not just in software, but in startups too. In particular it works well when you’re starting in a line of business for which you have little experience and in which you are consequently likely to get more things wrong.
To a certain extent people use this methodology just out of common sense. I believe strongly however that by consciously acknowledging this strategy you will get more out of it. Here are the four essential aspects of iteration for a startup:
- Don’t Invest Everything in the First Round
The first rule of iteration is to plan for several iterations of the business or product to get it successful. In particular if you invest all your capital on a big product release and then it doesn’t gel right off the bat, there’s a good chance you’ll never make it to the improvement stage.Instead you want to get a cheaper, slimmer version of your product or service out in less time so you can see what happens. You still need the core aspects of your business up and running, however you do it in what I call the quick’n'dirty way.
This might mean not offering some of your value-add services on a service startup. It might mean outsourcing some aspects of the project to off-the-shelf or open source products for a complex site build. It might mean leaving out features on a web app.
It can be difficult not to go for a perfect release, especially if you’ve been planning and dreaming your new business for a while. If you’re feeling particularly hesitant about going public with anything but perfection, in time-honored web tradition, you can always slap a “beta” tag on and let people know that you’re still improving.
Launching something sooner means you save both money and time, the two most important tools you have at your disposal.
There is one caveat to the quick’n'dirty approach. Whenever taking shortcuts, ensure that they won’t prohibit your future plans. An example of a shortcut to avoid would be using a service that locks your users or data into someone else’s system so that later on you have to start from scratch or invest extra time and energy to retrieve them. Consider your shortcuts carefully before committing.
- Get Feedback
A key part of iteration is to get feedback on each iteration. Much of this will come from your users. What are they using your product for? It may not always be what you were expecting and you may find you adapt the business to meet a different need than the one you set out to. How do they feel about the product? Is it a satisfactory experience?How do they respond to the pricing model? Monetization can be one of the trickiest and more important parts of a business. It’s difficult to forecast what people will pay for until they actually part with the cash. Having an iteration model for your business means evaluating price points and adjusting expectations on what you can achieve.
Feedback can come from many different sources: polls and surveys, suggestion forms, forums, comments, searching the blogosphere or twitter to see what people are saying, or from simply analyzing statistics for traffic trends, purchasing, drop-off percentages on signups and sales and so on. There is a wealth of feedback tools available, and it’s important to have your finger on the pulse of how your market is responding.
- Take Reflection Seriously
In the hectic life of a startup, it’s all too easy to find yourself only working on the day to day tasks, putting out fires and just getting by. It’s essential that you take time out specifically to reflect. Look at every aspect of the business from marketing to support, user comments to traffic statistics, and of course the bottom line.Reflection is the key to iterating successfully. Without taking the time to do it properly you may as well have just gone the old one big plan route, because reflection is how you sort through all the feedback and change it from noise to solid direction that you can act on.
- Respond
At this point all that’s left to do is carry out the results of your reflection. To take the ideas you now have and iterate! This may mean changing the way the site works, adjusting pricing, amending the direction of content you’re producing or any other of a host of changes. The important thing to do is to act on what you’ve learnt so that the next iteration is an improvement.
Keep Rolling With The Punches
The great thing about taking an iteration model to building your startup is that it takes some of the pressure off. If you get some things wrong, it’s OK, you’ll fix them and have a better business. If things don’t turn out quite how you were expecting, you’ll roll with the punches and adjust. Iteration means that the most important thing you need to do is just keep at it. If you have a good idea at the heart of the business, you work hard and make smart decisions, then you have a really good shot at succeeding.
Enjoy this topic? Check out Paul Graham’s essay – The Hardest Lessons for Startups

Excellent points. We were true believers of this approach for some time, but only after we successfully launched a product with this in mind did we truly see the light.
You’ll always be surprised to see the path on which your app travels based on feedback, rather than you defining the path blindly. It’ll also help you hone your prediction skills for your next app.
Nick
Great post, thanks for the advices collis
Very true. Having built some of my own software {more like a plugin} I can attest that the only way you can make it better is my getting it out in the wild. There’s no other way to do it.
Taking time to just sit back and look at the bigger picture of things and how you imagine it to play out in the long run is also an important part.
Thanks Collis for great advice –
I think that building on your users’ feedback is crucial, and from the user’s perspective, it’s great to see a site you love improve in the direction you want it to go.
If you aim for the stars, you will at least land on the moon!
If you have the perfect plan to earn a million dollars, you might end up with 500 thousand.
What I have learnt so far in life is that plans Never go as you would think, you will face all the problems that can happen, we just dont take them into account as we are too scared to face them.
Even though plans dont work, they help you move forward by giving you direction. Even though the road is longer than you think, you know which road to travel on.
Keep planning, Keep innovating!
Great article! While planning is so important you are definitely right that businesses should plan to not get things right at the very beginning. This could definitely save a lot of headache and help some stubborn business-people. Stay flexible – good call!
I’ve always found this to be true — great post Collis.
Btw, Collis knows what he’s talking about here — he’s amazing with startups.
Great article.
Can’t help comment that this is a great example of applied Design Thinking — the way IDEO has defined it, and to some extent AIGA’s “12 steps.”
This is great advice for my startup. I’ve identified so many problems within my niche, and I just want to fix them all… and all at once!
But a friend of mine recently passed along this advice to me: “I’d take incremental progress over postponed perfection any day.” Look at Microsoft— how many years are they into it, and have they reached perfection yet? Hmm… better not wait for that day
Excellent post. Iteration makes me think of simple and clean companies such as basecamp and twitter. Love it.
Great article !
Never think that what you see as the best feature is what people need is for sure the best advice: listen to your users and be ready to change your mind.
This makes building a startup a very exiting thing: you learn everyday by being in constant contact with your users. By taking every feedback in a positive way, you can move forward toward the best service.
Very nice post. Well written. One of the things that helps in iterations is having a person (or a team of people) who really knows how to work this approach both technologically and product management wise.
If technology is not aligned around iterations, the process may end up being too expensive (as I have noticed in my experience). At the same time it is critical to also understand what pieces will drive a release forward and improve the percieved value of the product. Too many PM’s waste time iterating on features and tools that make few or little advancements in the product. That’s where your concept of “get Feedback” rocks. I’ve noticed that having one “customer” as an advisor on the board helps as well.
Great post. keep ‘em coming.
This is what makes so many businesses successful. Taking things slowly will be easier because if you have a gigantic website or a software it could have leaks/faults from all over the place. If you release features slowly, you can fix them much faster.
Thanks Collis. You truly are one of my inspiration. You and your wife! Have a great life.