The first in a series of posts about how to run a startup and develop a product, written by guest author Matt Rogers of Aroxo - a person-to-person trading exchange for consumer electronics, computer gear, whitegoods, and more.
The aim of many entrepreneurs is to take a business idea and convert it into a professional and functioning business on a low budget. This is typically called “bootstrapping” and it is fraught with potential pitfalls and dangers. But when done well it can really help get a company going fast, professionally and without the founders having to give up much (if any) equity - or bankrupting themselves.
Over the next 5-6 posts IÄôll outline the process which IÄôve now followed at several corporates and which IÄôve honed to work with my own startup, Aroxo. IÄôll discuss what skills youÄôll need, how to write your requirements, how to source developers and designers, how much to budget, how to agree a development contract, how to manage your vendors, how to plan your release, all the documentation you'll need, and much more.
What is bootstrapping?
So, what does it mean to bootstrap a company? Bootstrapping involves launching a business on a low budget. Practically this means that youÄôll outsource (most likely off-shore) your design and development, youÄôll rent your servers, you wonÄôt have an office and youÄôll have no salary. Prior to launch, the only expensive professional services which youÄôll buy will be your legal advice and accountancy services. Everything else, youÄôll have to pick up yourself and learn as you go along.
Why bootstrap? There are a couple of good reasons a company should consider bootstrapping its market entry. The founders may believe they are onto such a good idea that they donÄôt want to give up any equity. Or the founders have taken on a small amount of seed financing, just enough to get them into the market. Either way, bootstrapping is a viable model.
Overview of the bootstrapping process
I'm starting this series of weekly posts with an overview of the whole process. In the upcoming posts I'll go into much more detail about each one.
Bootstrapping is a potentially very exciting prospect to an entrepreneur. But it is fraught with risks - and the primary risk you need to guard against is software development failure. Two thirds of outsourced projects fail, so there is a high likelihood of failure. The main causes are:
- Client fails to precisely express their requirements to the vendor;
- Client continuously changes their mind during the development process;
- A poorly constructed development contract.
To have the best chance of success, follow this bootstrapping process:
- Strategy - build your idea into a documented strategy, write down the market you want to serve, what is wrong with how it is currently being served and how you are going to fix it. Also think pointedly about how you are going to get the word out to your potential users, where they are online and how youÄôll approach them. Test that your idea makes sense.
- Mock-up - build a mock-up of the system you want; each screen in the mock-up must contain the information and navigation that you want the final system to contain. YouÄôll need several goes to get this right, it is not simple.
- Functional Specification - write a document called a functional specification; this explains to the developer what each screen in your mock-up does and what every button and link on the mock-up should do.
- Vendor long-list - build a “long-list” of possible software vendors and NDA them all, but donÄôt rely on it (more on this later).
- Request of Information - Write and run an RFI process to sift your long-list of vendors down to a short-list of between 4 - 10 vendors.
- Request for Quotation - Write and run an RFQ process to determine approach, costs, timescales and conditions under which each vendor would deliver, select a preferred vendor and a spare in case of any problems during contract negotiations.
- Award contract - Negotiate a software development contract. There are some essentials to ensure that youÄôve got covered, which IÄôll go through.
- First trip - if youÄôve off-shored then youÄôll need to go over there and see the developers to get them started, take them through the entire mock-up and all the documentation, to ensure that they know how the system hangs together. Building a real face-to-face relationship with your developers is not only immensely valuable for you, but also for them too.
- Managing the development - running the development as a client has many responsibilities; youÄôll need to know how to deal with delays, systems problems and how to think like a developer so that you can communicate with them. During this phase youÄôll need to be there for the developers to answer all their detailed queries which theyÄôll have, as they start to architect and design the system
- Alpha, Beta, launch - Aroxo is currently in the process of recruiting beta testers (feel free to sign up using the sign-up code “readwrite”). Getting a large number of triallists and acting on their feedback is essential to building a strong business and having a successful launch. I'll go through the best way to achieve this in a later post.
Clearly, whilst IÄôve presented this list linearly, it is entirely possible to parallel run some components - e.g. you can start building up a vendor long-list while you are doing the mock-up and you can easily run your RFI and RFQ process when writing your functional specification. But each stage needs to be completed, if you are to reasonably expect a quality product.
Running through a process such as this is what it means to be an “entrepreneur”, so IÄôll be going through each of these stages in plenty of detail in the coming posts.
How much will this cost?
It is often said that bootstrapping is cheap. But producing a professional and slick product costs money. Our development was a particularly complicated build requiring 5 developers, a systems architect, an html coder, a SQL specialist, 4 testers, 2 designers, a graphic designer, a project manager and a security specialist. If our aim was to raise financing and employ these people directly, weÄôd have burnt through $5-7 million before launch.
With that in mind a rough budget sufficient to bring a system of reasonable complexity to market would be as follows (and note this doesnÄôt consider any marketing or PR spend):
Project complexity is the main driver of cost - i.e. delivery risk and timescale. Therefore it is exceptionally hard to be accurate with this, but you are in for a minimum spend of $50k. Systems as complex as a trading exchange will involve much bigger numbers. If you have less than this, then youÄôll have to do the development yourself - nothing else is going to shift the needle. And by doing the development yourself, youÄôre competing with an offshore company that has specialists in all the skill areas I mentioned above. Plus there's a practical limit to the size of the project you can accomplish.
Should I offshore?
When you consider the question of whether to offshore your development, if you keep things local youÄôll save on your travel budget. But if you're in the US for example, then your development cost will be anything from 5-10 times higher than offshoring to India or Eastern Europe.
Similarly youÄôll need at least one fulltime founder during the development phase to handle the developers and manage any other business development issues which arise during set-up. YouÄôll notice that there is no budget above for any salary for this individual, so the real cost is much higher if you consider lost earnings during the build.
Conclusion and Key Takeaways
This should give you a good overview of the bootstrapping process, In my next post IÄôll outline how to document your requirements in a “functional specification”, how to build a mock-up of the service using free development tools and how to structure your strategy. And IÄôll be giving plenty of examples.
Here now are the key takeaways to this post:
- If you are outsourcing design and development, then youÄôll want a budget of around USD 50k - 100k - more if youÄôre developing a complex solution. Anything less and youÄôll need to develop the system yourself.
- You are not going to be able to manage professional developers part-time.
- You must thoroughly think through how to implement your idea.
- Be 100% sure that you have the drive and finances in place to see it through to delivery