Blog Post

How to bootstrap your startup

Stay on Top of Enterprise Technology Trends

Get updates impacting your industry from our GigaOm Research Community
Join the Community!

Editor’s Note: Matt Rogers is the founder of Aroxo, a new web-retail site based in London. He is also a regular contributor to Found|READ. This essay on bootstrapping, originally published Sept. 12, has been updated especially for us. We’ll update it with links to Matt’s earlier Found|READ pieces as soon as our redesign is complete. Meanwhile, you can read plenty of Matt’s other writings on his blog, “Digging my own ditch” here.

The aim of many entrepreneurs is to take a business idea and convert it into a functioning business on a low budget. This is typically called “bootstrapping” and it is fraught with potential pitfalls and dangers, but when done well 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 start-up, 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 plan your release, all the documentation which you need and much more.

My startup as test lab
I’ll use Aroxo as my primary reference for how to run the process so it is useful if you know a little about it.
Aroxo is a person-to-person trading exchange for consumer electronics, computer gear, whitegoods, and more. It uses new way to match buyers and sellers that has several benefits over auctions and fixed price sales models. Interestingly it isn’t constrained by the critical mass of other marketplaces – you cannot compete with an existing auction with another auction, no matter what your marketing budget, hence we’ve got a different model which is currently under-wraps.

Marketplaces are inherently complicated systems to build, with lots of workflow which needs building and testing. Especially in our case where we’ve built something which hasn’t been done in the consumer space before. If you’d like to know more may I suggest you sign-up for our beta trial using the sign-up code “bootstrap“.
At 400,00 lines of code, we’ve been up a steep learning curve whilst we’ve bootstrapped Aroxo and we’re passing on the benefits of our learnings here.

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 out-source (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 that 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.
There one very bad reason to bootstrap and a major pitfall to be avoided. If no-one would give you any money to build your business, but you’re still convinced you’ve got a great idea then for the sake of my conscience, please think long and hard before spending any money or giving up a source of income. The information I’ll impart here will give you some clear instructions for launching a business, make sure it’s a good way to spend your money before you do.

How to bootstrap
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. It enables you get keep a much greater slice of the equity, getting you in to the market so you can raise financing (if you’re going to need it) with a trading history in hand, rather than some PowerPoint. But as I said before, it is fraught with risks and the primary risk which you need to guard against is the failure of the developer to deliver. Two thirds of out-sourced projects fail, whilst this varies from developer to developer, there is a high likelihood of failure – especially when you consider the general start-up failure rate.
Much of the process which I’ll outline is designed to prevent this from happening, so it is worth understanding the main causes:
* Client fails to precisely express their requirements to the vendor
* Client continuously changes their mind during the development process
* A poorly constructed development contract

I could go into detail here with some warning signs and observations about these, but if you faithfully follow the process which I’ll describe here, then you’ve done much to protect yourself.

With these warning signs in mind, the bootstrapping process is as follows:

1) 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

2) Mock-up: build a mock-up of the system you want, each screen in the mock-up must contain the information and navigation you want the final system to contain, you’ll need several goes to get this right, it is not simple

3) 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
4) 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)

5) 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

6) 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

7) Award contract: Negotiate a software development contract. There are some essentials to ensure that you’ve got covered, which I’ll go through

8) 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

9) 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 you’ll need to know how to think like a developer so you can communicate with them. You also need to know when you’ll need to be out there. 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

10) 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

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 whilst you are doing the mock-up and you can easily be running 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 by the time the process delivers.
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 does might this cost?
It is often said that bootstrapping is cheap, and whilst it is certainly cheaper, it is not cheap. 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 burned through $5-7 million before launch. So yes, it is considerably cheaper, but it is not cheap.
With that in mind a rough budget which should be sufficient to bring a system of reasonable complexity to market would be (note that this doesn’t consider any marketing or PR spend):

Expenses: Low -to- High
Travel: $4,000 – $10,000
Development: $30,000 – $150,000
Professional fees: $3,000 – $15,000
Patent fees: $2,5000 – $25,000
Design: $2,000 – $8,000
Dom: $5,000 – $5,000
TOTAL: $47,500 – $214,000

Project complexity is the main driver of cost, 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. By doing the development yourself you’re competing with an off-shore company which has specialists in all the skill areas I mentioned above, and there’s a practical limit to the size of the project you can accomplish.
When you consider the question of whether to off-shore your development, if you keep things local, you’ll save on your travel budget, but you development cost will be anything from 5-10 times higher than off-shoring 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 much higher if you consider lost earnings during the build.

This should give you a good overview of the boot-strapping 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 away plenty of examples.

Key takeaways
* If you are out-sourcing 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 absolutely 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

13 Responses to “How to bootstrap your startup”

  1. iamyoohoo

    I think all the points are very much in line with what I have have been experiencing in a similar situation. The costs can vary a bit depending on what kind of association you have with the offshore team (whether you are hiring these people full time or just working with them on a per project basis).

    Choosing the right vendor if you decide to offshore cannot be stressed enough and the 2/3rd failure rate in getting the right match is perfectly in line as well. There are some tricks in recognizing the right people which you will learn along the way.

    The most important thing that in my experience has not been called out has been the understanding of the culture of the place you outsource to. For example: if you outsource to India, culturally most people there tend to not speak up too much unless asked. Knowledge of the place helps a lot in understanding the people generally and hence benefits a lot in communicating with your team.

    Following your other articles will be interesting Matt as it seems we are in similar situations.

  2. Hey Matt,

    Excellent article.

    I must add that in my own opinion outsourcing your business is something I would greatly avoid.
    I am not a big fan of outsourcing and the reason is because I think there’s no one more passionate than yourself or your founders to actually build the product.
    Outsourcing your development require you to be very precise and have a complete document as you stated, since the development team is on a monthly or project payroll, they will need to know where they’re heading, what to do and what should be the final product.
    There’s little room to shift focus in the middle of the project [for some reason] or tune up or redefining. Each major change would usually bring the development cost to higher levels and make the whole process longer and slower than developement in -house.
    I’ve seen it many times, outsourcing usually keeps you from changing and redefining the product on the fly [Forget about using Extreme programming methodologies], It might keep your team focused but your development less flexible and adaptable.

    Having your own development team is like a test lab, you can run any test you want, implement some complex process in many ways and pick the best one.

    There’s also a lot of positive energy running between the developer regarding your product, usually 50-70% of the best features/ideas comes from your team during or after the development, some of them you address during the development process and implement them immediately, some will end in your road map for future implementation.

    When you launch your alpha/beta/gamma product, you usually end up having to do a lot of tweaking, debugging and features implementation, it’s always good to have your own team dealing with theses, being able to be involved on a daily basis in such a crucial stage is always good. There’s no arguing that having all the developers [or at least most of them] in the same location enhance the communication and improves the rate of success of your own startup.

    Hope that helps,