Note: This post on outsourcing minimum viable products and rebuilding them yourself in times of validated success has also been published in a revised version on VentureVillage on 2012/05/21.
Instead of trying to talk developers you know or even don’t know into joining your company based on some idea or pitch deck you might have, build something first. Either to validate your idea and its marketability or at least to demonstrate your capabilities to both manage and execute—with a focus on the latter in the first few months. Just as with venture capital, it is always easier to recruit collaborators with both a grown concept and a working prototype. This not only gives you the opportunity to better explain yourself and sell your ideas, but also provides a solid basis for valuable discussions and the reason of having them in the first place.
At last year’s betahaus Köln Startup Supper I was giving a short speech on simfy and how it is like to work at a startup.
Right before me, Claudia Pelzer from CrowdsourcingBlog was on stage talking about crowdsourcing and how she managed to establish herself as an authority on this topic by not only maintaining her blog, but also just recently founding the first German crowdsourcing association. In her presentation, Claudia included some popular examples for design and development platforms.
When it came to oDesk and Elance, I remembered checking out both marketplaces together with a bunch of alternatives some years ago already. However, so far I never recognized the potential of such alternatives in terms of developing a minimum viable product (MVP) for fulfilling your very own needs or even testing a startup’s central hypotheses.
On outsourcing product development
My assumption was that prototyping a desired product should lie in the hands of trusted technical co-founders, not hired low-cost resources. While this is true for platforms with high expectations in terms of scalability it is irrational to invest a founder’s invaluable time in a very specific and small MVP that is only built for market testing purposes. You later need to refactor or trash underlying source code anyway due to required changes, sometimes as large as a radical pivot.
This is not true once you make the real bet on only the most promising MVP and start your test-based iteration cycle on its core components and features. Outsourcing development shortly before or within a stage of growth can easily cost you more than you could ever save in the end. Communication overhead, unbalanced interests between startup and contractor and contractual agreements in contrast to desired iteration flexibility while growing a business can kill any case in the long-term.
From idea to product
Shortly before the betahaus event in November (27/11), we had a time management training at work (07/10), allowing me to refresh basic task prioritization principles like the Eisenhower matrix. While desperately trying to find a simple and well-designed web application incorporating this strategy afterwards, I started to realize that there might be still an inadequately covered niche for this kind of productivity software online.
Remembering earlier difficulties in finding a fitting developer with the same passion and timeline to develop an early protoype, I started out with initial sketches and basic HTML protoypes based on Twitter’s Bootstrap framework (which everyone with a will to succeed can learn to do). After compiling a draft specification, I immediately filed a request for proposal on oDesk (28/11):
I am looking for an experienced PHP developer to build a tiny todo management web application in the style of an Eisenhower/Covey 2×2 matrix, allowing users to manage their todos by importance and urgency. I will be providing a HTML5 template with different header states and overlays, CSS and graphics (please see preview attached).
Using oDesk, I wish to create a minimum viable product to collect early adopter feedback and further develop this concept towards market needs. Nevertheless, I prefer a clean and smart technical solution, because I would like to have the code maintained as the product scales.
The site itself consists of a navigation header, a form which stores all todos in a MySQL database anytime a save button is clicked, and a static footer. On page reload or login, a user’s saved data will be retrieved from the database. Users are able to use, sign-up for the service, login and logout on a single page.
Following sign-up with e-mail address and password, an e-mail confirmation request is sent to the new user. The e-mail address needs to be confirmed before the corresponding user account is finally set-up and the ability to save the todo list gets enabled.
1. Guest visits page
2. Guest enters first todo in form
3. Guest hits save button
4. Overlay appears, requesting sign-up to save
5. Guest enters e-mail address (must not be in database already) and chooses a password
6. Overlay says, that e-mail address needs to be confirmed to enable save button
7. Guest confirms his e-mail address by clicking a link in a confirmation request e-mail
8. User account is created, the user is logged in with the ability to save todo list
9. User enters todos and saves them
10. User leaves page by navigating away or logging out
Linux server, running Ubuntu, Apache and MySQL
After sifting through roughly 20 applications and choosing the most promising while affordable contractor, I sent out a refined specification including relevant screenshots and a package of finished HTML5 templates.
The assigned contractor delivered most of the requested scope within only two consecutive days (01/12 to 02/12). Including minor tweaks and bug fixes based on our ongoing e-mail conversations, I spent 155 USD altogether (15,5 hours at 9 USD each plus oDesk commissions):
Shortly before deploying the final application to my shared web server (03/12), I figured out a plain Eisenhower as best describing the service, renamed all brand placeholders and purchased Eisenhower.me as a suitable domain which was still available (02/12).
As a last step, I added web tracking to better understand early customers’ behaviour by watching the acquisition funnel and their interactions with functions like the site’s manual save button. Herewith I can measure the impact of product changes—or sometimes just enjoy daily visits and sign-ups and their sources.
Finding a co-founder
Soon after referring Eisenhower to a few people in my network, I talked to a friend and developer who—all by himself—promptly suggested building an Eisenhower iPhone app, if I could contribute the necessary design work. While having lunch together the following day, we decided to split future profits and since then are investing night shifts and weekends to soon finish our part-time project which has already grown far beyond our both expectations.
Meanwhile, rebuilding the web application with focus on quality and scalability has already begun. This time developed from the ground up by—now co-founder—Tim.