Lately I’ve been noticing more and more entrepreneurs with skewed expectations of the cost of software development of their SaaS or e-commerce ventures. These clients turn to services like Elance to find software development vendors — usually based in developing countries — proposing to create websites for pennies on the dollar of what a US developer would charge. “See, Tim,” they would say, pointing to a proposal to build a Facebook clone for $5k, “And you said I should expect to spend up to a hundred grand on development!”
Of course, the resulting product, if ever completed, is a disastrous, bug-ridden clunkfest that requires the client to spend more money fixing (assuming the client has any money left at this point) than would have cost to properly develop in the first place.
This is not to say that Elance and similar services do not have their place, but SaaS and e-commerce entrepreneurs should keep a few things in mind:
Web 3.0 Is More Complex Than Web 2.0 Is More Complex Than Web 1.0
Twenty years ago, with my limited HTML and PHP skills, I could have developed a state-of-the-art website for the Web 1.0 era. Indeed, I put my skills to use in several humorous, if not particularly lucrative, endeavors.
Back then an e-commerce website would consist of (1) a page for browsing products; (2) a simple, maybe Google-based, search feature; and (3) a short series of webpages comprising a checkout algorithm. (Remember, this was before Amazon had the audacity to try and patent the One-Click checkout.) And this was all powered by a simple SQL database that clunked along, storing simple product data and customer order info.
Fast forward to 2014:
The same e-commerce platform now consists of multiple interlaced product browsing pages connected to various third-party social media website APIs, which, in turn, allow users to import product “wish lists” from their various social media profiles. These platforms allow users to search price comparisons across multiple vendors and e-commerce platforms for the same product, and probably invest in the product manufacturers’ stock while they’re at it. (The last I made up, but just you wait). All of this is, of course, powered by multiple, complex database systems which run on various cloud-based platforms, from Amazon AWS to DigitalOcean’s SSD cloud, and others that I’m too lazy to recall (or lookup).
Suffice to say, the modern web-based venture requires the skills of experienced engineers not teenage hobbyists.
Financing Development: Everybody Does It… Differently
So it’s surprising to me that some would-be entrepreneurs find it shocking that many successful SaaS and e-commerce platforms are developed by a startup’s in-house staff of experienced developers and engineers. This includes “pre-Seed” startups that have not even raised their first round of financing.
Yes, startups are hiring staff even before they get their first round of funding.
Does this mean that today’s internet requires an entrepreneur to start with a sizeable bank account before even pitching their idea to potential investors? Well, not sizeable, but neither is it as dirt cheap to make your start online as it used to be.
The current typical startup life-cycle consists of (1) product development; (2) Seed financing; then (3) product expansion. At the minimum (unless the entrepreneur has already exited a successful venture and, therefore, has a nice contact list of interested investors waiting to fund her next project), the entrepreneur should be ready to self-finance the product development stage.
In most cases, this means having the resources to hire one or two relatively experienced software engineers (currently priced at $100-120k/yr salary per engineer according to AngelList).
But what if you can’t afford to tie up $240k in resources from the get-go? Enter the outside software vendor (a.k.a. the “third party vendor”).
While, in my personal opinion, not the preferable choice (for reasons I will write about in some subsequent article), outside vendors can often serve to plug the software development hole that a resource tight company may not be able to afford to fill with in-house staff.
Unlike in-house staff, outside vendors need only be hired for the relatively short period (typically 2-3 months) it takes to develop an initial working product version, In contrast, experienced engineers are unlikely to join your company unless you look like you can guarantee at least the semblance of long-term employment.
Pricing Outside Vendor Services
The logical next question, and really the point of this article is, “How much should outside vendors charge to build a working product?”
Obviously the answer depends on the product and its complexity. But given how complex the latest SaaS and e-commerce services tend to be, the best way to estimate outside vendor cost, based on my experience (and those of my successful clients) is to add a modest markup to an “estimated in-house-man-hour cost.”
What I mean by this is the following:
Of course, as noted above, no engineer would come work for your company if your job listing said, “Hiring 2 engineers for a 12 week project, we’ll see what happens after that.” So instead you would turn to an outside vendor, a company that employs multiple full-time engineers on staff, two of which it would assign to your project.
Seeing as how the outside vendor is probably hiring its engineers from the same talent pool as everyone else, it is fair to assume that the vendor would price your project at no less than $55k (probably closer to $70k so that it could make a reasonable profit since it would not provide its engineers at cost).
Local vs. Foreign Software Vendors
So why do we see so many Elance and similar vendor marketplace bids come in at the amazingly low price point of $5-10k per project?
The typical answer is that these vendors are located in places like India and China where their engineers work at salaries far below what you would expect a first world engineer to charge. Of course the next logical question is whether said engineers have the same level of skill and experience as the pricier first world engineers.
So far, my experience — as well as my undergrad econ degree — leads me to answer, “No.”
Two important econ-based considerations:
The above points fall elegantly into the Linder hypothesis of international trade — that countries with similar demand structures are more likely to trade with one another.
In other words, US and German consumers have similar demands for consumer goods and therefore will trade similar but differentiated luxury goods with one another. Sounds weird? Check the stats: The top 10 US imports from Germany are vehicles, and likewise the top 10 US exports to Germany are also vehicles, albeit obviously different brands.
This makes sense because both countries have the high tech equipment and highly skilled workers necessary to make the best luxury vehicles.
Following this economic theory, where nations that produce a similar quality of goods tend to trade those goods with one another, it makes sense that the best places for US companies to import software goods would be from other highly developed software producing countries.
This is not to say that China and India lack good software developers! But it does mean, from a purely economic standpoint, that developers in China and India who can produce the same level of software quality as European and US developers are most likely priced at about the same rates as their US and European counterparts. In other words, those develops do not post $5k bids on Elance.
Basically, what this means is that outsourcing development to foreign countries is a good way to find a “bargain” development team, but perhaps not “quality” product. You can certainly find great developers in third world countries, but they will cost you about the same as great developers in first world countries.
At the end of the day, it does not benefit a startup to skimp on development costs. You can’t trick basic economics: you really do get what you pay for.
Enter your email to get started.