May 6, 2012

Building Your Vision: What To Consider Before Hiring A Dev Shop

Maria Seidman  /  The Daily Muse

Over a year ago, I wanted to create an iPhone app for my women's group. Despite having spent a decade in the digital world, I wasn't technical and I couldn't code. So, I started looking for a way to create an app that was easy, quick, and well-designed–-without shelling out megabucks to a developer.

Turns out, I couldn't find one. So, I became obsessed with creating the solution myself–-a platform where regular folks could create simple, beautiful, mobile apps.

Now, as I'm sure you're wondering, if I couldn't even create one app on my own, how was I going to build a whole platform, especially without any funding? I was a first-time entrepreneur and while I had a solid business plan, no investor was going to fund me without a team, a prototype, or both. (As one investor told me: "We don't invest in PowerPoint. Come back with a beta product.")

While I was founder-dating like crazy, finding great technical co-founder-level talent is hard, and getting someone like that to join you is even harder. Meanwhile, the clock was ticking, and I was anxious to get started. A few investors suggested I go find a development company (or "dev shop") to build a prototype, so I dug into my savings and did exactly that.

Today, my company, Yapp, has an amazing technical co-founder, a great team, and investors, and we're about to release our first product. This product, however, does not use a single line of code from the dev shop who worked on it for the five months prior to my co-founder joining.

When I think back to my savings in the code graveyard, I wonder: How could I have done things differently? These are the most important lessons that I wished I'd known then–-and the advice I'd give to anyone in my boat.

1. Figure Out What You Need to Prove
To get started on my idea, I wrote a 30-page product spec document to hand over to the dev shop. This is entirely the wrong approach. Why? Because, at the beginning stages, you don't necessarily know what you want or need (or what your customers want or need). Instead, before you consider bringing in a developer or dev shop to build anything, take a step back, and write out the assumptions you need to prove for your idea to become a viable business. (This is straight from The Lean Startup philosophy.)

2. Test it in the Lowest Tech Way Possible
Next, spend some time thinking about whether you actually need to build a product to test these assumptions. Can you use hand-drawn images, wireframes, comps, or a simple landing page? Today, even a non-technical person can create wireframes (Balsamiq), a landing page (self-service web site tools), or inexpensively hire a part-time designer (oDesk, eLance). And you can use all of these things to run your idea by prospective customers, partners, and investors and get their feedback. Learn all you can from these low-tech methods and continuously tweak your product vision and idea–-before you even think about actually developing it.

3. Consider Freelancers
If your next step is to get a prototype developed, consider a variety of options–-a dev shop isn't the only one. Hiring a freelancer is a good route if you've managed technical talent before, or if your spec is simple and uses widely known technologies. (Kevin Rose built Digg by hiring an eLancer for $200.) However, some products are much more complicated, and some founders need a go-between person to communicate the product vision to the technical team. In these cases, a shop may be a better fit.

4. Stick to Your Scope
If you do decide to bring in a dev shop, make sure you're clear about the scope of your project–-and stick to it. If you followed steps #1 and #2, you have a clear vision of what you need to build, so resist the temptation to increase the scope. Your goal at this stage is to learn and get validation for your idea, not to win a Webby.

5. Hire Someone in Your Network
Outsourcing development to India or another country is usually a cheaper option than hiring a U.S. dev shop. But, it can also be much, much more difficult to manage someone who you don't know and who's on the other side of the planet. If you can, work with a dev shop that comes recommended and that's physically close enough to you that you can sit with the developer as often as necessary. Some things really are more easily described in person.

6. Get a Fixed Fee
Every dev shop will resist you on this, saying the product scope will change. But, it's the only way to make sure you don't end up using your whole budget on something you can't test with. Trust me.

In retrospect, I should have spent the first five months focused on "learning," not on "shipping." As I once heard, "forward movement is not necessarily progress"–-and unfortunately, that was true in my case. Even though the dev shop produced a working prototype, in the end, it wasn't what we needed. Take it from me–-if you have a big idea that you just can't wait to build, take a step back, think through what you really need, and remind yourself that running to the first dev shop you find isn't always your best option.