<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Digging my own Ditch &#187; out-sourcing</title>
	<atom:link href="http://www.aroxo.com/blog/mattr/category/out-sourcing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aroxo.com/blog/mattr</link>
	<description>Matt from Aroxo blogs about stuff</description>
	<lastBuildDate>Sun, 20 Dec 2009 20:46:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to Get Good Offshore Developers &#8211; Part 2</title>
		<link>http://www.aroxo.com/blog/mattr/2008/12/12/how-to-get-good-offshore-developers-part-2/</link>
		<comments>http://www.aroxo.com/blog/mattr/2008/12/12/how-to-get-good-offshore-developers-part-2/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 13:39:20 +0000</pubDate>
		<dc:creator>Matt Rogers</dc:creator>
				<category><![CDATA[Aroxo]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[how to start]]></category>
		<category><![CDATA[off-shoring]]></category>
		<category><![CDATA[out-sourcing]]></category>
		<category><![CDATA[start-up]]></category>

		<guid isPermaLink="false">http://www.aroxo.com/blog/mattr/?p=34</guid>
		<description><![CDATA[This article is part of a regular series on bootstrapping by Matt Rogers, co-founder of Aroxo. It continues from the previous post which looked at how to find off-shore developers.
Off-shoring your web-development is a great way to save money and, if you are bootstrapping a small start-up, it could be the perfect strategy to hang on [...]]]></description>
			<content:encoded><![CDATA[<p>This article is part of a regular series on bootstrapping by Matt Rogers, co-founder of <a href="http://www.aroxo.com">Aroxo</a>. It continues from the <a href="http://www.readwriteweb.com/archives/how_to_get_good_offshore_developers.php">previous post</a> which looked at how to find off-shore developers.</p>
<p>Off-shoring your web-development is a great way to save money and, if you are bootstrapping a small start-up, it could be the perfect strategy to hang on to more equity and delay financing. However off-shoring your development is also fraught with risks, it is far harder to manage your development and communicate ideas, so it is vital to take proper steps to protect yourself. In this post I continue describing the system I&#8217;ve used several times in order to ensure that I get developers who are motivated, technically capable and trust-worthy.</p>
<p>You&#8217;ll find stages 1 and 2 discussed <a href="http://www.readwriteweb.com/archives/how_to_get_good_offshore_developers.php">here</a>.</p>
<p><strong>Step 3 – Send the developers you&#8217;ve found a &#8220;Request for Information&#8221;</strong></p>
<p>A Request for Information (or RFI) is a questionnaire to help you short-list developers. The objective of the RFI is to enable you to decide which developers can deliver your project in the right sort of price range. Your RFI should at least gather the following information:</p>
<ul>
<li>Hourly rates for different staff types</li>
<li>Which currencies the developer can raise invoices in</li>
<li>Whether they are prepared to set a fixed cost for the project (you want a fixed cost, right?)</li>
<li>Between 3 and 5 customer references</li>
<li>Information about the company (how long has it been running, how many people it employs)</li>
<li>Information on their typical project (how big it is, how long it lasts)</li>
<li>The development methodology employed and development technologies supported</li>
<li>Whether they have a design house</li>
<li>Their preferred development technology</li>
<li>Any technology certifications which they may have</li>
<li>a “difficult technical problem” which is related to your project, ask the developers to sketch out how they would solve it</li>
</ul>
<p>I’ve included an example RFI in the <a href="http://www.aroxo.com/documentation/">documentation bank</a> to help get you started.</p>
<p>When asking for references, try and get projects which are similar to yours. Also get a reference for a company which is physically near you and then arrange to meet up with them for a coffee and a chat.</p>
<p>Your RFI should also tell the developers all the key deadlines for the selection process. It ensures that the developer knows where they stand at all times, and it gives you targets and deadlines to meet yourself. When you issue it give the vendors at least 2 weeks to respond and an opportunity to ask you questions.</p>
<p>If you are worried about controlling your IP, then there’s no need to discuss what your actual business is in the RFI. However, you might want to describe in broad terms the type of business you are launching, or refer to some similar companies.</p>
<p>When you send the RFI out, update the <a href="http://www.aroxo.com/documentation/">vendor dashboard</a> which you set up at the start of the process.</p>
<p>Note that not every company will respond to your RFI. Some companies will respond but fail to answer the final question, some companies will send you back documentation packs which probably contain the answers, but they’ve not bothered to put them into your format. All these companies should be immediately dropped from the list.</p>
<p><strong>Step 4 – Short-list the developers</strong></p>
<p>Two weeks after you&#8217;ve issued your RFI you should have all the responses you are going to get. I tend not to bother chasing any companies who don&#8217;t reply to the RFI and just stick with those that do. Your next step is to short-list the developers, you want to work through the responses until you have 4-7 companies to take through to the next stage.</p>
<p>Before you start short-listing the developers, you need to think about what your ideal company is. You might want to work with a small company, or you might be looking for a larger company with ISO or CMM certification, you may have a particular development methodology in mind, or you might want your system built with a particular technology, etc.  Collate all these thoughts to help piece together what you are looking for.</p>
<p>You are then ready to start &#8220;the sift&#8221;. First stage is to remove any companies which just aren&#8217;t right. Personally when reading through these responses I arrange them into three piles: <em>yes</em>, <em>no</em>, and <em>questions</em>. I then ask the questions and update. I continue to do this until I have only a yes pile and a no pile.</p>
<p>Remember to always check the references, this is one of the best signals of quality company. If they are in your country, arrange to go and see them, otherwise drop them an email. You want to know whether the developer delivered on time and to budget, if they still use them, if they&#8217;ve given them any new work and if they&#8217;d recommend them.</p>
<p>Keep working the list until you get between 4-7 companies. It is important that you don’t take too many vendors through to the short-list round as you don’t want large numbers of companies knowing what you want building. If you don’t have enough, approach more companies. Finally, ensure that you feedback to all the companies involved (good news and bad) and update the vendor dashboard to so can keep track of where each company is.</p>
<p>In next week&#8217;s post we&#8217;ll look at how to get a price for the development and how to select which companies is going to build your business.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aroxo.com/blog/mattr/2008/12/12/how-to-get-good-offshore-developers-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get good off-shore developers &#8211; Part 2</title>
		<link>http://www.aroxo.com/blog/mattr/2008/06/19/how-to-get-good-off-shore-developers-part-2/</link>
		<comments>http://www.aroxo.com/blog/mattr/2008/06/19/how-to-get-good-off-shore-developers-part-2/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 08:06:46 +0000</pubDate>
		<dc:creator>Matt Rogers</dc:creator>
				<category><![CDATA[Aroxo]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[how to start]]></category>
		<category><![CDATA[off-shoring]]></category>
		<category><![CDATA[out-sourcing]]></category>
		<category><![CDATA[start-up]]></category>

		<guid isPermaLink="false">http://www.aroxo.com/blog/mattr/?p=41</guid>
		<description><![CDATA[Off-shoing your web-development is a great way to save money and, if you are bootstrapping a small start-up, it could be the perfect strategy to hang on to more equity and delay financing. However off-shoring your development is also fraught with risks, it is far harder to manage your development and communicate ideas, so it [...]]]></description>
			<content:encoded><![CDATA[<p>Off-shoing your web-development is a great way to save money and, if you are bootstrapping a small start-up, it could be the perfect strategy to hang on to more equity and delay financing. However off-shoring your development is also fraught with risks, it is far harder to manage your development and communicate ideas, so it is vital to take proper steps to protect yourself. In this post I continue describing the system I&#8217;ve used several times in order to ensure that I get developers who are motivated, technically capable and trust-worthy.</p>
<p>You&#8217;ll find stages 1 and 2 discussed <a href="http://www.aroxo.com/blog/mattr/index.php/2007/12/14/how-to-get-good-off-shore-developers-part-1/">here</a>.</p>
<p><strong>Step 3 &#8211; Send the developers you&#8217;ve found a &#8220;Request for Information&#8221;</strong></p>
<p>A Request for Information (or RFI) is a questionnaire to help you short-list developers. The objective of the RFI is to enable you to decide which developers can deliver your project in the right sort of price range. Your RFI should at least gather the following information:</p>
<ul>
<li>Hourly rates for different staff types</li>
<li>Which currencies the developer can raise invoices in</li>
<li>Whether they are prepared to set a fixed cost for the project (you want a fixed cost, right?)</li>
<li>Between 3 and 5 customer references</li>
<li>Information about the company (how long has it been running, how many people it employs)</li>
<li>Information on their typical project (how big it is, how long it lasts)</li>
<li>The development methodology employed and development technologies supported</li>
<li>Whether they have a design house</li>
<li>Their preferred development technology</li>
<li>Any technology certifications which they may have</li>
<li>A &#8220;difficult technical problem&#8221; which is related to your project, ask the developers to sketch out how they would solve it</li>
</ul>
<p>I&#8217;ve included an example RFI in the <a href="http://www.aroxo.com/documentation/">documentation bank</a> to help get you started.</p>
<p>When asking for references, try and get projects which are similar to yours. Also get a reference for a company which is physically near you and then arrange to meet up with them for a coffee and a chat.</p>
<p>Your RFI should also tell the developers all the key deadlines for the selection process. It ensures that the developer knows where they stand at all times, and it gives you targets and deadlines to meet yourself. When you issue it give the vendors at least 2 weeks to respond and an opportunity to ask you questions.</p>
<p>If you are worried about controlling your IP, then there&#8217;s no need to discuss what your actual business is in the RFI. However, you might want to describe in broad terms the type of business you are launching, or refer to some similar companies.</p>
<p>When you send the RFI out, update the <a href="http://www.aroxo.com/documentation/">vendor dashboard</a> which you set up at the start of the process.</p>
<p>Note that not every company will respond to your RFI. Some companies will respond but fail to answer the final question, some companies will send you back documentation packs which probably contain the answers, but they&#8217;ve not bothered to put them into your format. All these companies should be immediately dropped from the list.</p>
<p><strong>Step 4 &#8211; Short-list the developers</strong></p>
<p>Two weeks after you&#8217;ve issued your RFI you should have all the responses you are going to get. I tend not to bother chasing any companies who don&#8217;t reply to the RFI and just stick with those that do. Your next step is to short-list the developers, you want to work through the responses until you have 4-7 companies to take through to the next stage.</p>
<p>Before you start short-listing the developers, you need to think about what your ideal company is. You might want to work with a small company, or you might be looking for a larger company with ISO or CMM certification, you may have a particular development methodology in mind, or you might want your system built with a particular technology, etc. Collate all these thoughts to help piece together what you are looking for.</p>
<p>You are then ready to start &#8220;the sift&#8221;. First stage is to remove any companies which just aren&#8217;t right. Personally when reading through these responses I arrange them into three piles: <em>yes</em>, <em>no</em>, and <em>questions</em>. I then ask the questions and update. I continue to do this until I have only a yes pile and a no pile.</p>
<p>Remember to always check the references, this is one of the best signals of quality company. If they are in your country, arrange to go and see them, otherwise drop them an email. You want to know whether the developer delivered on time and to budget, if they still use them, if they&#8217;ve given them any new work and if they&#8217;d recommend them.</p>
<p>Keep working the list until you get between 4-7 companies. It is important that you don&#8217;t take too many vendors through to the short-list round as you don&#8217;t want large numbers of companies knowing what you want building. If you don&#8217;t have enough, approach more companies. Finally, ensure that you feedback to all the companies involved (good news and bad) and update the vendor dashboard to so can keep track of where each company is.</p>
<p>In the next post we&#8217;ll look at how to get a price for the development and how to select which companies is going to build your business.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aroxo.com/blog/mattr/2008/06/19/how-to-get-good-off-shore-developers-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get good off-shore developers &#8211; Part 1</title>
		<link>http://www.aroxo.com/blog/mattr/2007/12/14/how-to-get-good-off-shore-developers-part-1/</link>
		<comments>http://www.aroxo.com/blog/mattr/2007/12/14/how-to-get-good-off-shore-developers-part-1/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 16:38:44 +0000</pubDate>
		<dc:creator>Matt Rogers</dc:creator>
				<category><![CDATA[Aroxo]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[how to start]]></category>
		<category><![CDATA[off-shoring]]></category>
		<category><![CDATA[out-sourcing]]></category>
		<category><![CDATA[start-up]]></category>

		<guid isPermaLink="false">http://www.aroxo.com/blog/mattr/index.php/2007/12/14/how-to-get-good-off-shore-developers-part-1/</guid>
		<description><![CDATA[A really effective way of boot-strapping your start-up is to off-shore and out-source your development. But doing this also carries risks, how can you be sure that you are going to get a developer who&#8217;ll see it through and has the right experience? This post lays out an effective process to find the right developer.
From [...]]]></description>
			<content:encoded><![CDATA[<p>A really effective way of boot-strapping your start-up is to off-shore and out-source your development. But doing this also carries risks, how can you be sure that you are going to get a developer who&#8217;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>
<ol>
<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>
</ol>
<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. Any regular readers can relax – the whole lot has been written in advance, so there won’t be any 1 month gaps in between!</p>
<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 favour 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 which we’ll develop going forwards. 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>
<ol>
<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 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>
</ol>
<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>
<ol>
<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>
</ol>
<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, 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 the post coming next week I&#8217;ll detail how to write and issue and RFI and then short-list your developers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aroxo.com/blog/mattr/2007/12/14/how-to-get-good-off-shore-developers-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A step-by-step guide to starting up</title>
		<link>http://www.aroxo.com/blog/mattr/2007/10/09/a-step-by-step-guide-to-starting-up/</link>
		<comments>http://www.aroxo.com/blog/mattr/2007/10/09/a-step-by-step-guide-to-starting-up/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 16:30:37 +0000</pubDate>
		<dc:creator>Matt Rogers</dc:creator>
				<category><![CDATA[Aroxo]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[how to start]]></category>
		<category><![CDATA[off-shoring]]></category>
		<category><![CDATA[out-sourcing]]></category>
		<category><![CDATA[start-up]]></category>

		<guid isPermaLink="false">http://www.aroxo.com/blog/mattr/index.php/2007/10/09/a-step-by-step-guide-to-starting-up/</guid>
		<description><![CDATA[Ok, so you’ve got an idea, you’ve got a limited budget and you want to start your own company. To keep control of costs you’ve decided to off-shore the development. Now what do you do? How do you go from idea to launched system?
In this post I’ll detail your first steps towards launch. By the [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so you’ve got an idea, you’ve got a limited budget and you want to start your own company. To keep control of costs you’ve decided to off-shore the development. Now what do you do? How do you go from idea to launched system?</p>
<p>In this post I’ll detail your first steps towards launch. 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 this process 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, budget 3 months of full-time work.</p>
<p>You may also find it useful to look at my <a target="_blank" href="http://www.readwriteweb.com/archives/how_to_bootstrap_your_startup.php">overview of starting-up</a> post, first in this series.</p>
<p><span id="more-29"></span><strong>A word on strategy</strong></p>
<p>Every good business begins with a solid understanding of the proposition and business plan, in short, your strategy. There’s plenty of quality material on the Internet which covers this, so I’ve assumed that you’ve already done this and you’re now want to take the next step.</p>
<p>However, it is worth reading <a target="_blank" href="http://blog.guykawasaki.com/">Guy Kawasaki’s</a> <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>
<p>From here, we can work on how to get your system developed.</p>
<p><strong>From strategy to development</strong></p>
<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 you 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 VAST majority of out-sourced developments go down route 1.</p>
<p>Don’t do it, it is more work at the start but entirely worth it.</p>
<p>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>
<p><strong>Your mock-up</strong></p>
<p>First thing you need to do is get yourself tooled up to create your mock-up.</p>
<p>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.</p>
<p>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 with it when the user &#8220;does stuff&#8221; 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 contact.</p>
<p>When you’re building it, 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, etc.</p>
<p>Only when you’ve completed your mock-up and been through several iterations with any other business partners you are ready to move onto the next stage, documenting it in a functional specification</p>
<p><strong>The functional specification</strong></p>
<p>This document is the most important document which 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 &#8220;functional&#8221; specification because it should describe &#8220;what&#8221; your system does, rather than &#8220;how&#8221; it should be done.</p>
<p>First thing you need to do is get tooled up. You’ll write the document in Word (or equivalent). You’ll need to include a lot of screenshots and I’ve always found the Firefox plug-in <a target="_blank" href="http://pearlcrescent.com/products/pagesaver/">Pearl Crescent Page Saver</a> invaluable – it lets you take screenshots of a whole webpage (not just the part which is displayed).</p>
<p>Secondly you’ll find that 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 if 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 can understand what you are saying. The structure which I always use is:</p>
<ol>
<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 of 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 later)</li>
<li><strong>End-user functionality</strong> – a section for each system module (see later) 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>
</ol>
<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 email system used in the mock-up:</p>
<p style="text-align: center"><img src="http://prod.aroxo.co.uk/blog/mattr/wp-content/uploads/2007/10/sysoverview.png" alt="System Overview" /></p>
<p>The four boxes would be the four major sections within the &#8220;End-user functionality&#8221; section of your functional specification. Within each section you should cover with precision what all the possible actions are and what the system should do. From this it is easy to build out your document structure. So for &#8220;user access&#8221; we’d need a sub-section on &#8220;Create account&#8221;, &#8220;Log in&#8221;, &#8220;Forgot password&#8221;, 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 you know what to cover when you get to it.</p>
<p>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>
<p><strong>A word on AJAX</strong></p>
<p>You can’t launch a new site these days without using a few dollops of AJAX here and there, it just wouldn’t do. 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>
<p>In parallel to writing your functional spec, start up 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 be coming 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 that you can maintain a clear mental space free from idea clutter.</p>
<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. 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>I’ve covered a lot of ground in this post, and it’s always hard to compress everything necessary into a small enough package to fit in a blog post, I hope you’ve found this useful. If you have, feel free sign up for our beta trial using the code &#8220;startup&#8221;.</p>
<p>Matt Rogers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aroxo.com/blog/mattr/2007/10/09/a-step-by-step-guide-to-starting-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to boot-strap your start-up</title>
		<link>http://www.aroxo.com/blog/mattr/2007/09/12/how-to-boot-strap-your-start-up/</link>
		<comments>http://www.aroxo.com/blog/mattr/2007/09/12/how-to-boot-strap-your-start-up/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 07:15:28 +0000</pubDate>
		<dc:creator>Matt Rogers</dc:creator>
				<category><![CDATA[Aroxo]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[how to start]]></category>
		<category><![CDATA[india]]></category>
		<category><![CDATA[off-shoring]]></category>
		<category><![CDATA[out-sourcing]]></category>
		<category><![CDATA[start-up]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.aroxo.com/blog/mattr/index.php/2007/09/12/how-to-boot-strap-your-start-up/</guid>
		<description><![CDATA[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 can really help get a company going fast, professionally and without the founders having [...]]]></description>
			<content:encoded><![CDATA[<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 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>
<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 start-up, <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 plan your release, all the documentation which you need and much more.</p>
<p><span id="more-28"></span><strong>The Aroxo plug</strong></p>
<p>I&#8217;ll use <a href="http://www.aroxo.com/">Aroxo</a> as my primary reference for how to run the process so it is useful if you know a little about it.</p>
<p><a href="http://www.aroxo.com/">Aroxo</a> 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&#8217;t constrained by the critical mass of other marketplaces &#8211; you cannot compete with an existing auction with another auction, no matter what your marketing budget, hence we&#8217;ve got a different model which is currently under-wraps.</p>
<p>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&#8217;d like to know more may I suggest you sign-up for our <a target="_blank" href="http://www.aroxo.com">beta trial</a> using the sign-up code &#8220;<strong>bootstrap</strong>&#8220;.</p>
<p>At 400,00 lines of code, we&#8217;ve been up a steep learning curve whilst we’ve bootstrapped <a href="http://www.aroxo.com/">Aroxo</a> and we’re passing on the benefits of our learnings here.</p>
<p><strong>What is bootstrapping?</strong></p>
<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 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.</p>
<p>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.</p>
<p>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.</p>
<p>OK, intros over. On with how to do it.</p>
<p><strong>Overview of the bootstrapping process</strong></p>
<p>I&#8217;m starting this series of weekly posts with an overview of the whole process. In the upcoming posts I&#8217;ll go into much more detail about each one.</p>
<p>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 <strong>failure of the developer to deliver</strong>. Two thirds of out-sourced projects fail, whilst this varies from developer to developer, there is a high likelihood of failure &#8211; especially when you consider the general start-up failure rate.</p>
<p>Much of the process which I’ll outline is designed to prevent this from happening, so it is worth understanding the main causes:</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>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.</p>
<p>With this in mind, the bootstrapping process is as follows:</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 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 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</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&#8217;ll go through the best way to achieve this</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 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.</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>
<p><strong>How much does might this cost?</strong></p>
<p>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.</p>
<p>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):</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>
<p>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&#8217;s a practical limit to the size of the project you can accomplish.</p>
<p>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.</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 much higher if you consider lost earnings during the build.</p>
<p>This should give you a good overview of the boot-strapping process, <strong>in my next post</strong> 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 away plenty of examples.</p>
<p><strong>Key takeaways</strong></p>
<ul>
<li>If you are out-sourcing design and development, then you’ll want a budget of around USD 50k &#8211; 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 absolutely 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>
]]></content:encoded>
			<wfw:commentRss>http://www.aroxo.com/blog/mattr/2007/09/12/how-to-boot-strap-your-start-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on out-sourcing</title>
		<link>http://www.aroxo.com/blog/mattr/2006/03/27/thoughts-on-out-sourcing/</link>
		<comments>http://www.aroxo.com/blog/mattr/2006/03/27/thoughts-on-out-sourcing/#comments</comments>
		<pubDate>Mon, 27 Mar 2006 12:29:59 +0000</pubDate>
		<dc:creator>Matt Rogers</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[india]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[off-shoring]]></category>
		<category><![CDATA[out-sourcing]]></category>
		<category><![CDATA[start-up]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.aroxo.com/blog/mattr/?p=6</guid>
		<description><![CDATA[One of my contacts on LinkedIn recently asked a question about out-sourcing and I thought it might be useful to post my thoughts on this:
Having been through a vendor selection process which encompassed 32 different companies, some off-shore and some on-shore I&#8217;ve seen a massive variation in quality, costs and skills. I found the principle [...]]]></description>
			<content:encoded><![CDATA[<p><font size="2" face="Arial">One of my contacts on LinkedIn recently asked a question about out-sourcing and I thought it might be useful to post my thoughts on this:</font></p>
<p><font size="2" face="Arial">Having been through a vendor selection process which encompassed 32 different companies, some off-shore and some on-shore I&#8217;ve seen a massive variation in quality, costs and skills. I found the principle of caveat emptor very relevant.</font></p>
<p><font size="2" face="Arial">My key learnings were firstly that off-shoring is not cheap, it is cheaper, but it isn&#8217;t cheap. Secondly there is a significant variation in quality which a properly run RFI and RFQ process can help select out. Many of the companies we included in our process I would use again, several I would not.</font></p>
<p><font size="2" face="Arial">In my experience, there are two pitfalls to avoid when out-sourcing, both of which a professional client can avoid. Firstly the client must prepare a clear specification of what they want &#8211; in order to communicate precisely what needs to be developed across timezones and continents the client needs to know exactly what they want. My understanding from talking to off-shore developers is that they frequently receive little information about what needs to be developed.</font></p>
<p><font size="2" face="Arial">Secondly, out-sourcing still requires time on the ground with your development team, all the technology in the world won&#8217;t replace the accuracy of face to face communication. In addition careful and close management is necessary &#8211; speaking to your developer on a daily basis helps to prevent costly errors.</font></p>
<p><font size="2" face="Arial">I am also of the view that, assuming the development company has the basic technical skillset to deliver your project then any failure to deliver will be as much in the hands of the client as the developer.</font></p>
<p><font size="2" face="Arial">In the end my company we went with a development partner based in India and so far we&#8217;ve been very impressed with their professionalism and skills.</font></p>
<p><font size="2"><font face="Arial">See my LinkedIn profile to link to the full range of answers: </font><a href="http://www.linkedin.com/in/mrogers"><font face="Arial">http://www.linkedin.com/in/mrogers</font></a></font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aroxo.com/blog/mattr/2006/03/27/thoughts-on-out-sourcing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aroxo is getting started!</title>
		<link>http://www.aroxo.com/blog/mattr/2006/03/09/aroxo-is-getting-started/</link>
		<comments>http://www.aroxo.com/blog/mattr/2006/03/09/aroxo-is-getting-started/#comments</comments>
		<pubDate>Thu, 09 Mar 2006 12:28:35 +0000</pubDate>
		<dc:creator>Matt Rogers</dc:creator>
				<category><![CDATA[Aroxo]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[india]]></category>
		<category><![CDATA[out-sourcing]]></category>
		<category><![CDATA[start-up]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.aroxo.com/blog/mattr/?p=5</guid>
		<description><![CDATA[I have some great news to share. After leaving fulltime employment just over a week ago, Aroxo has taken a very important step towards reaching the market.
Yesterday we reached a major milestone and I wanted to share the news with you. We have signed a development contract with an off-shore development company and we are leaving for [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial">I have some great news to share. After leaving fulltime employment just over a week ago, Aroxo has taken a very important step towards reaching the market.</span></font></p>
<p><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial">Yesterday we reached a major milestone and I wanted to share the news with you. We have signed a development contract with an off-shore development company and we are leaving for India tonight to begin the development process. The functional specification is at the printers.</span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial">I am personally really excited to be starting the development process and can&#8217;t wait to be able to show you more of what we&#8217;ve been working on. Our next steps when we’re back we will be to start the patent drafting process, select our site designers and begin work on our detailed marketing plan.</span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial"><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial">We can’t reveal too much yet as the patent hasn’t been filed, but to give you a little more detail – we’re launching a new online trading exchange, behind it will be an entirely new way of buying and selling – something which has not been done before in the consumer space. You’ll be able to use Aroxo to buy and sell a range of tens of thousands consumer products at extremely competitive prices.</span></font></span></font></p>
<p><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial"><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial">There&#8217;s much more to come, watch this space&#8230;</span></font></span></font><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial"></span></font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aroxo.com/blog/mattr/2006/03/09/aroxo-is-getting-started/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
