<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Matt Rogers - ReadWriteWeb</title>
      <link>http://www.readwriteweb.com/feeds//</link>
      <description>Posts by Matt Rogers on ReadWriteWeb</description>
      <language>en</language>
      <copyright>Copyright 2012 Richard MacManus</copyright>
      <managingEditor>readwriteweb@gmail.com</managingEditor>
      <lastBuildDate>Sun, 09 Dec 2007 19:38:55 -0800</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=4.35-en</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

      
      <item>
         <title>How to Get Good Offshore Developers</title>
		<description><![CDATA[<p><font style="float: right"><script type="text/javascript">
digg_url = 'http://digg.com/programming/How_to_Get_Good_Offshore_Developers';
digg_bgcolor = '#ffffff';
digg_skin = 'compact';
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></font><i>This article is part of a regular series by <a href="http://www.readwriteweb.com/about_mattrogers.php">Matt Rogers</a>, co-founder of <a href="http://www.aroxo.com">Aroxo</a>, on the topic of bootstrapping a startup. See also his previous posts: <a href="http://www.readwriteweb.com/archives/how_to_bootstrap_your_startup.php">How to bootstrap your startup</a> and <a href="http://www.readwriteweb.com/archives/how_to_create_a_web_app.php">How to create a web app</a>.</i></p>



<p>A really effective way of bootstrapping your start-up is to offshore and outsource your development. But doing this also carries risks, how can you be sure that you are going to get a developer who'll see it through and has the right experience? This post lays out an effective process to find the right developer.</p>



<p>From starting the search, to the first developer writing code, should take around 3-5 months and there may be further delays whilst you complete your documentation. In this article I'll talk you through what you should be doing at each stage, and what the objective of each stage should be. Here's an overview of the process:</p>


<ul>

	<li>Build a <strong>long list</strong> of development companies</li>

	<li><strong>NDA</strong> all the companies on the long-list</li>

	<li>Issue a <strong>Request for Information</strong> (RFI)</li>

	<li>Analyse responses and <strong>short-list</strong> the developers</li>

	<li>Issue a <strong>Request for Quotation</strong> (RFQ)</li>

	<li>Analyse responses and select a <strong>preferred vendor</strong> and a <strong>spare</strong></li>

	<li><strong>Negotiate contract</strong> with preferred vendor</li>

	<li><strong>Commence development</strong> based on your documentation</li>

</ul>


<p>This is a long process, and therefore I've split it up into 4 sections. These will be posted each week for the next four weeks. Regular readers of this series can relax: the whole lot has been written in advance, so there won't be any month long gaps in between!</p>]]>
<![CDATA[<p align="right"><em>Sponsor</em><br /><a href='http://d.ads.readwriteweb.com/ck.php?n=3389&amp;cb=3389' target='_blank'><img src='http://d.ads.readwriteweb.com/avw.php?zoneid=14&amp;cb=3389&amp;n=3389' border='0' alt='' align="right" /></a></p>]]>

<![CDATA[<p>Finding a great development company is one of the most important decisions your company will make. Changing developers mid-way through a development is near impossible and so it is important that you select a company which you are confident has the ability to see it through. The purpose of this 8-step process is to stack the odds in your favor by finding out as much as possible about the development company before you sign the contract.</p>



<p>At several stages I've included sample documentation to give you more guidance on what should be included. You can download these examples from the <a href="http://www.aroxo.com/documentation">documentation bank</a> on <a href="http://www.aroxo.com">Aroxo</a>.</p>



<p>Before we start, one word of advice. Running a vendor selection process will involve giving a large number of developers bad news (and only one company good news). When I first started doing this I found the process of giving bad news quite unpleasant. It is, but it is still important to do it. Vendors are used to receiving rejections, so they tend to take it more easily than expected and I also find that giving the bad news, along with some personalised feedback, is always much appreciated.</p>



<p><strong>Step 1: Build a long-list</strong></p>



<p>Before we start populating a long-list, it is worth spending a few minutes getting properly organised, as running a vendor selection process involves a lot of time, organisation and communication. I find it easiest to run these off a spreadsheet. There's a sample vendor dashboard included in the <a href="http://www.aroxo.com/documentation">documentation bank</a>.</p>



<p>Building a long list involves populating this dashboard. The aim is to get 20-30 companies into the dashboard that satisfy your broad requirements for the type of system you want to build. You want to make sure that each company has:</p>


<ul>

	<li>Experience in building the type of system you're looking for (if you think your system is entirely new, it almost certainly isn't, there will be parallels which you can look for - even if those are purely functional elements)</li>

	<li>Experience working with start-ups</li>

	<li>Offices somewhere in the world where you are happy doing business</li>

	<li>Experience in the technology you want your system built in (if you don't have a preference, then ignore this)</li>

</ul>


<p>By far and away the hardest of these objectives to meet is the first. You may need to contact many companies to determine whether they have built a similar application to the one you're looking for.</p>



<p>In order to find companies, there are a few tricks you can employ:</p>


<ul>

	<li>Use your network: ask anyone you know who works in the software industry for 2-3 development company recommendations</li>

	<li>Use referral companies to provide connections and act as a filter</li>

	<li>Use associations to help pinpoint development companies</li>

	<li>Use tools like <a href="http://www.elance.com">eLance</a>, <a href="http://www.scriptlance.com">Scriptlance</a> and <a href="http://www.rentacoder.com">Rentacoder</a> to find developers</li>

	<li>Use Google to help find companies</li>

	<li>When you've found a company you like, do a reverse search for their homepage on Google to see if they belong to any associations with links to other companies</li>

</ul>


<p>You may need to look through a large number before you've found 20-30 companies which can meet the 4 requirements set out above.</p>



<p><strong>Step 2: NDA everyone</strong></p>



<p>You're a start-up (I'll return to this point later), so an NDA offers no protection. If you've got funds to sue a company then, frankly, they would be better spent fixing the mistake with a new developer. However, it is still essential that you NDA all the vendors, even though you are not going to be providing them with any confidential information (other than of your existence, just yet).</p>



<p>First thing you'll need is an actual NDA. There are plenty you can download for free on the web, so I've not provided one. Read it to make sure that you are comfortable with everything included in it. If you've selected a lawyer at this stage, ask them to provide an NDA, but don't pay them to write out a new one.</p>



<p>Email it to all the developers on your long-list and ask them to fax or scan signed copies back; and make sure there's a deadline for return in your email. When you receive one back, open up the Vendor Dashboard and update it so that you don't forget you've received it. Then print it out and file it.</p>



<p>When you hit the deadline, ignore any further submissions. If the development company can't meet this simple deadline. they are not going to meet any further deadlines.</p>



<p>In next week's post I'll detail how to write and issue an RFI; and then short-list your developers.</p>]]>
<![CDATA[<strong><a href="http://www.readwriteweb.com/archives/how_to_get_good_offshore_developers.php#comments-open">Discuss</a></strong>]]>

</description>
         <link>http://www.readwriteweb.com/archives/how_to_get_good_offshore_developers.php</link>
         <guid>http://www.readwriteweb.com/archives/how_to_get_good_offshore_developers.php</guid>
         <category>Trends</category>
         <pubDate>Sun, 09 Dec 2007 19:38:55 -0800</pubDate>
<author>Matt Rogers</author>
      </item>
      
      <item>
         <title>How To Create a Web App</title>
		<description><![CDATA[<p><font style="float: right"><script type="text/javascript">
digg_url = 'http://digg.com/tech_news/How_To_Create_a_Web_App';
digg_bgcolor = '#ffffff';
digg_skin = 'compact';
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></font>This is the second post in our series on how to run a startup and develop a product. In part one, <em><a href="http://www.readwriteweb.com/archives/how_to_bootstrap_your_startup.php">How To Bootstrap Your Startup</a></em>, we outlined the process of bootstrapping your company into existence. In this post, we show you how to go from idea to specified product. By the end of it, you‚Äôll know how to build a mock-up of your business idea and write the most important document you‚Äôll write for the company: your functional specification. </p>
<p>For a simple system the process outlined in this post should take you a month. For a complex build, there will be a lot more research and your mock-up and functional specification will be big - so budget 3 months of full-time work.</p>
<h2>A Word on Strategy </h2>
<p>Every good business begins with a solid understanding of the proposition and business plan - in short, your strategy. It's worth reading Guy Kawasaki‚Äôs <a target="_blank" href="http://blog.guykawasaki.com/2005/12/the_102030_rule.html">10/20/30 Rule of Powerpoint</a>; it‚Äôll provide you with an idea of what should be included in your business plan and strategy. Your actual business plan should be in a lot more detail than Guy describes in his post ‚Äì his rules relate only to how the results of your work should be presented, not how the content should be derived.</p>]]>
<![CDATA[<p align="right"><em>Sponsor</em><br /><a href='http://d.ads.readwriteweb.com/ck.php?n=3003&amp;cb=3003' target='_blank'><img src='http://d.ads.readwriteweb.com/avw.php?zoneid=14&amp;cb=3003&amp;n=3003' border='0' alt='' align="right" /></a></p>]]>

<![CDATA[<h2>From Strategy to Development </h2>
<p>Whether you are out-sourcing or developing in-house there are two ways to build a system:</p>
<ol>
	<li>Give your developers a rough idea of what to build and keep iterating the design as they build it;</li>
	<li>Give your developers detailed documentation of what to build.</li>
</ol>
<p>When out-sourcing, the second option is <strong>always</strong> cheaper, faster and lower risk. Not only that, but the end product will be better architected, more coherent and easier to maintain. Given this, it might surprise you to learn that the <em>vast</em> majority of out-sourced developments do option 1.
  
  Don‚Äôt do it - option 2 is more work at the start but entirely worth it.
  
  The basic premise of option 2 is simple: instead of relying on your developers to think through your business properly, you take responsibility yourself. You‚Äôll do this in two ways - firstly by creating a mock-up and then by documenting that mock-up in a functional specification. </p>
<h2>Your mock-up </h2>
<p>The first thing you need to do is get yourself tooled up is to create your mock-up.
  
  This requires a visual web-editor (assuming you‚Äôre building a web-application). Personally I use <a target="_blank" href="http://msdn2.microsoft.com/en-us/express/aa700797.aspx">Visual Web-Developer</a> from <a target="_blank" href="http://www.microsoft.com">Microsoft</a> -  it‚Äôs free and powerful. However, it is also very complicated to use, as it‚Äôs a full web-development environment. If you don‚Äôt know how to code in C# then it is probably easier and faster to use <a target="_blank" href="http://www.adobe.com/products/dreamweaver/">Dreamweaver</a>, <a target="_blank" href="http://www.microsoft.com/frontpage/">Frontpage</a> or the freeware <a target="_blank" href="http://www.kompozer.net/download.php">KompoZer</a>.  </p>
<p>A mock-up is a run through of your site and the learning process you‚Äôll go through as you create it will be exceptionally revealing. It sounds simple, but when you start to put pen to paper you‚Äôll very quickly find that it isn‚Äôt. Your mock-up is the first stage of building a real understanding of what your system has to do.
  
  The mock-up should contain no functionality and doesn‚Äôt need the final graphic design. Its objective is to help your developers understand what information the system should capture, when it should be displayed and what it should do when the user "does stuff" on your site.  </p>
<p>To give you an idea of how it should look and feel, I‚Äôve created a small <a href="http://www.aroxo.com/email/">mock-up of an email service</a> for you to peruse. Granted it is a mock-up for a terrible email service, but it should serve the purpose of detailing what a mock-up should be. When you‚Äôre building the mock-up, remember to include an admin interface ‚Äì believe it or not, it is easy to forget to include this. Make sure you think through how you will administer the system, handle customer queries, examine user accounts, run reports on user numbers and website traffic, etc. </p>
<p>Only when you‚Äôve completed your mock-up and been through several iterations with any other business partners, are you ready to move onto the next stage - documenting it in a functional specification </p>
<h2>The Functional Specification </h2>
<p>This document is the most important document that you‚Äôll write for your business. It will tell the developer <strong>exactly</strong> what your system should do. It will contain every page you‚Äôve created in your mock-up; and for each screenshot it‚Äôll explain what‚Äôs happening on the screen, what the user can do from there and what the system should be doing in the background. The document is called a "functional" specification because it should describe "what" your system does, rather than "how" it should be done.</p>
<p>The first thing you need to do is get tooled up. Write the document in Word (or an equivalent). You‚Äôll need to include a lot of screenshots - for this I‚Äôve always found the Firefox plug-in <a target="_blank" href="http://pearlcrescent.com/products/pagesaver/">Pearl Crescent Page Saver</a> invaluable, because it lets you take screenshots of a whole webpage (not just the part which is displayed).
  
  Secondly you need some software to create flow charts in. I used <a target="_blank" href="http://www.pacestar.com/wizflow/index.html">WizFlow</a> before we bought <a target="_blank" href="http://office.microsoft.com/en-gb/visio/default.aspx">Visio</a> from Microsoft. Wizflow is easy to use and does most of the stuff you‚Äôll need.</p>
<p>When you set out to write your functional spec, you need to follow a clear structure so that your developers  understand what you are saying. The structure which I always use is: </p>
<ul>
	<li><strong>Confidentiality notice</strong> ‚Äì make it clear that this document is your property and you are serious about controlling your IP</li>
	<li><strong>Introduction</strong> ‚Äì you should describe your company, the structure of the document and a one paragraph overview of your system</li>
	<li><strong>User scenarios</strong> ‚Äì Include at least 5 clearly written accounts of what a user might do on your system. These serve to ensure that everyone who ends up on the development team knows what the system is for. Write them as a chronological story.</li>
	<li><strong>Overview of the system</strong> ‚Äìfive page description of what you system should do; keep it very high-level and include a system overview diagram (see below).</li>
	<li><strong>End-user functionality</strong> ‚Äì a section for each system module (see below) in the system overview. Each section should include several sub-sections for each possible action within that module.</li>
	<li><strong>Administrator functionality</strong> ‚Äìsection for each admin module and sub-sections for each possible action.</li>
	<li><strong>Non-functional requirements</strong> ‚Äì design integration, SEO, availability and uptime requirements, scalability requirements and load calculation, data validators, security and back-up and the development platform (if you have one).</li>
</ul>
<p>Clearly in a blog post I cannot cover each of these in detail, but one element which is particularly important is your system overview diagram. Whilst the developers might not build the system in this way, it is useful for you to mentally split your system up into modules. I‚Äôve done a simple example using the email system used in the mock-up:</p>
<p><img src="http://www.readwriteweb.com/images/sysoverview.png" alt="System Overview" /></p>
<p>In the above simple example, the four boxes are the four major sections within the "End-user functionality" section of the functional specification. Within each section you should cover, with precision, what all of the possible actions are and what the system should do in each case. From this it is easy to build out your document structure. So for "user access" we‚Äôd need a sub-section on "Create account", "Log in", "Forgot password", etc.</p>
<p>Start by building out the document structure. Only when that is complete should you start filling out all the details. This way, you‚Äôll slowly build up your document without feeling overwhelmed by it. When you are writing one section, you‚Äôll get ideas for other sections ‚Äì when this happens go to the relevant section and add the thought in square brackets so that you know what to cover when you get to it.
  
  Trust me on this: only one person can author a functional specification. More than one person can review it, but only one person can author. </p>
<h2>A Word on AJAX </h2>
<p>You seemingly can‚Äôt launch a new web site these days without using a few dollops of AJAX here and there. However, you can‚Äôt incorporate AJAX into your mock-up, as there‚Äôs no functionality. Where there is a functional requirement for AJAX, you‚Äôll need to use a new page in your mock-up (the complete opposite of what AJAX gives you). Therefore you need to explicitly include your AJAX requirements in your functional spec. Personally I insert my AJAX requirements in a box, so they are clear to the developers.  </p>
<h2>Container Documents</h2>
<p>In parallel to writing your functional spec, start  the following container documents: </p>
<ul>
	<li>Future ideas for the development of the system;</li>
	<li>Legal points you want to make sure that are included in the terms and conditions;</li>
	<li>Any design thoughts (include here screenshots of website designs you like);</li>
	<li>Patent ideas;</li>
	<li>Marketing ideas.</li>
</ul>
<p>As you are working through your functional spec, you‚Äôll come up with lots of ideas in all of these categories (and possible more). Make sure you‚Äôve got simple lists you can just drop them into ‚Äì get them out of your head and into the computer as fast as you can, so  you maintain a clear mental space free from idea clutter.  </p>
<h2>Conclusion</h2>
<p>Creating a quality functional specification is a time-consuming - but essential - job. Take your time and do a quality job. Don‚Äôt be surprised if the document ends up being hundreds of pages long. But it vastly increases your chance of delivery.  </p>
<p>In the next post I‚Äôll be looking at how to build a long-list of developers, run an RFI to create a developer short-list, run an RFQ to select a vendor and a spare, and then what to look out for in the development contract.  </p>
<p><em><strong>[Ed:</strong> Thanks Matt for continuing this insightful series. To see how Matt puts all his theory into practice, check out his own start-up <a href="http://www.aroxo.com">Aroxo</a>. You can sign up for their beta trial using the code "readwriteweb2&quot;.]</em></p>]]>
<![CDATA[<strong><a href="http://www.readwriteweb.com/archives/how_to_create_a_web_app.php#comments-open">Discuss</a></strong>]]>

</description>
         <link>http://www.readwriteweb.com/archives/how_to_create_a_web_app.php</link>
         <guid>http://www.readwriteweb.com/archives/how_to_create_a_web_app.php</guid>
         <category>How To</category>
         <pubDate>Thu, 04 Oct 2007 01:13:00 -0800</pubDate>
<author>Matt Rogers</author>
      </item>
      
      <item>
         <title>How To Bootstrap Your Startup</title>
		<description><![CDATA[<p><em>The first in a series of posts about how to run a startup and develop a product, written by guest author <strong>Matt Rogers</strong> of <a href="http://www.aroxo.com/">Aroxo</a> - a person-to-person trading exchange for consumer electronics, computer gear, whitegoods, and more.</em></p>
<p>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 &#8220;bootstrapping&#8221; 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.
<p>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, <a href="http://www.aroxo.com/">Aroxo</a>. 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.</p>]]>
<![CDATA[<p align="right"><em>Sponsor</em><br /><a href='http://d.ads.readwriteweb.com/ck.php?n=2864&amp;cb=2864' target='_blank'><img src='http://d.ads.readwriteweb.com/avw.php?zoneid=14&amp;cb=2864&amp;n=2864' border='0' alt='' align="right" /></a></p>]]>

<![CDATA[<h2>What is bootstrapping?</h2>
<p>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.</p>
<p>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.</p>
<h2>Overview of the bootstrapping process</h2>
<p>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.</p>
<p>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 <strong>software development failure</strong>. Two thirds of outsourced projects fail, so there is a high likelihood of failure. The main causes are:</p>
<ol>
<li>Client fails to precisely express their requirements to the vendor;</li>
<li>Client continuously changes their mind during the development process;</li>
<li>A poorly constructed development contract.</li>
</ol>
<p>To have the best chance of success, follow this bootstrapping process:</p>
<ol>
<li><strong>Strategy</strong> - 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.</li>
<li><strong>Mock-up</strong> - 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.</li>
<li><strong>Functional Specification</strong> - 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.</li>
<li><strong>Vendor long-list</strong> - build a &#8220;long-list&#8221; of possible software vendors and NDA them all, but don‚Äôt rely on it (more on this later).</li>
<li><strong>Request of Information</strong> - Write and run an RFI process to sift your long-list of vendors down to a short-list of between 4 - 10 vendors.</li>
<li><strong>Request for Quotation</strong> - 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.</li>
<li><strong>Award contract</strong> - Negotiate a software development contract. There are some essentials to ensure that you‚Äôve got covered, which I‚Äôll go through.</li>
<li><strong>First trip</strong> - 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.</li>
<li><strong>Managing the development</strong> - 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</li>
<li><strong>Alpha, Beta, launch </strong> - <a href="http://www.aroxo.com/">Aroxo</a> is currently in the process of recruiting beta testers (feel free to <a href="http://www.aroxo.com/">sign up</a> using the sign-up code &#8220;readwrite&#8221;). 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.</li>
</ol>
<p>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.</p>
<p>Running through a process such as this is what it means to be an &#8220;entrepreneur&#8221;, so I‚Äôll be going through each of these stages in plenty of detail in the coming posts.</p>
<h2>How much will this cost?</h2>
<p>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.</p>
<p>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):</p>
<table border="1">
<tr>
<td><strong>Expense area</strong></td>
<td align="right"><strong>Low</strong></td>
<td align="right"><strong>High</strong></td>
</tr>
<tr>
<td>Travel</td>
<td align="right">$4,000</td>
<td align="right">$10,000</td>
</tr>
<tr>
<td>Development</td>
<td align="right">$30,000</td>
<td align="right">$150,000</td>
</tr>
<tr>
<td>Professional fees</td>
<td align="right">$3,000</td>
<td align="right">$15,000</td>
</tr>
<tr>
<td>Patent fees</td>
<td align="right">$2,500</td>
<td align="right">$25,000</td>
</tr>
<tr>
<td>Design</td>
<td align="right">$2,000</td>
<td align="right">$8,000</td>
</tr>
<tr>
<td>Domains/hosting</td>
<td align="right">$1,000</td>
<td align="right">$1,000</td>
</tr>
<tr>
<td>Misc</td>
<td align="right">$5,000</td>
<td align="right">$5,000</td>
</tr>
<tr>
<td>Total</td>
<td align="right">$47,500</td>
<td align="right">$214,000</td>
</tr>
</table>
<br /><p>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.</p>
<h2>Should I offshore?</h2>
<p>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.</p>
<p>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.</p>
<h2>Conclusion and Key Takeaways</h2>
<p>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 &#8220;functional specification&#8221;, 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.</p>
<p>Here now are the key takeaways to this post:</p>
<ul>
<li>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.</li>
<li>You are not going to be able to manage professional developers part-time.</li>
<li>You must thoroughly think through how to implement your idea.</li>
<li>Be 100% sure that you have the drive and finances in place to see it through to delivery</li>
</ul>

<p><i>Written by Matt Rogers of <a href="http://www.aroxo.com/">Aroxo</a>. If you'd like to know more about Aroxo, you can sign-up for their <a target="_blank" href="http://www.aroxo.com">beta trial</a> using the sign-up code &#8220;<strong>readwrite</strong>&#8220;.</i></p>]]>
<![CDATA[<strong><a href="http://www.readwriteweb.com/archives/how_to_bootstrap_your_startup.php#comments-open">Discuss</a></strong>]]>

</description>
         <link>http://www.readwriteweb.com/archives/how_to_bootstrap_your_startup.php</link>
         <guid>http://www.readwriteweb.com/archives/how_to_bootstrap_your_startup.php</guid>
         <category>Analysis</category>
         <pubDate>Mon, 10 Sep 2007 01:55:07 -0800</pubDate>
<author>Matt Rogers</author>
      </item>
      
   </channel>
</rss>
