When deciding how to get things built on a budget, the most basic decisions you need to make are always the same:
– In-house vs Outsource
– On-shore vs Off-shore
– Hourly vs project
– You spec vs someone else specs
– You Project Manage (PM) vs someone else PMs
NOTE: This post assumes that you’re trying to build custom software. If you just want a quick store, blog, RSS feed, podcast app – anything that doesn’t have a ton of customization, search the web all the drag and drop tools out there. You can actually get quite a lot built with tools like these so don’t disparage them just because they’re inexpensive and relatively easy to setup.
You probably can’t afford a full-time developer, so in-house development is not an option and good developers rarely work on projects for primarily equity or profit sharing. But regardless of whether you’re going to hire an in-house developer, the longer your project takes the more it’s probably going to cost you. 120 hours spread over 2 months is not the same as 120 hours spread over 2 weeks. In almost all cases – but especially when you’re on a budget – 2 weeks is better because everyone is focused, goal-oriented, motivated, fresh, and there’s less time for the spec to change and fewer opportunities for unnecessary features to creep into the project. You want to sprint hard so that you’re guaranteed to cross the finish line – especially since you won’t have a lot of extra cash to push you over later.
The Specification (aka Spec)
In order to sprint, you’re going to need a detailed plan. This is where you’re going to need to take your time before you begin development. If you plan appropriately, you’ll save a ton of money. When Lincoln said “Give me six hours to chop down a tree and I will spend the first four sharpening the axe,” he was also talking about building stuff.
While the big upside of the sprint model is cheaper development, the big downside is that mistakes can be more disastrous. If you make a wrong turn in a long race, you have time to correct your mistake (assuming your realize you’ve made one). But if you make a wrong turn in a short race, you’re much less likely to finish where you hoped. So in addition to scoping very very carefully, you also need to plan and budget for a few screwups – this is a human endeavor and all human endeavors are prone to flaws. Not accounting for detours is arrogant and ultimately just foolish.
Read up on how to build a software spec here and don’t hesitate to reach out for help with your spec.
Since you’re on a budget, you’re going to want to consider off shore or overseas developers. Some people are automatically turned off by this but I think that’s mostly because they’ve heard horror stories of naive people with poorly defined ideas being getting screwed over. The reality is that there are really smart people all over the world, not just where you live. Many people simply live in a less expensive place and grew up speaking a different language than you. If you’re hesitant about over seas development and don’t have realistic and clear reasons why, then you should take another moment to reassess your constraints.
Finding developers near you can be done, but it almost always comes at a premium. I’ve charged as much as $325/hr for hourly iOS work in the USA, but rates of $600-$1,000 are not unheard of for the right skills at the right time.
Hourly vs Project-Based
There’s no right answer when it comes to hourly versus project based billing. If the hourly rate is low and the developer is good, then hourly can be a huge win. But sometimes you can get a discount for agreeing to more hours upfront. This really depends on both your project and the developer and you can’t automatically go with the option that looks cheaper on paper. If you’re struggling with the decision to go hourly or project-based, we can set up a time to talk through the pros and cons.
Finally, the last big piece is project management. If you’re on a budget, then you need to be the project manager. The PM is basically the glue that holds a project together and gets it done on time, on spec, and on budget. It’s mostly helping other team members stay focused on their priorities through regularly scheduled (but fast) progress updates, diligent organization, anticipating roadblocks a few steps in the future, doing all the little stuff that no one else should be doing, and helping make fast decisions.
So for people who are even mildly technical, the most cost-effective choice is usually: you spec, outsource, off-shore, on a project or hourly basis, with you serving as the PM. If you handle that, then you can probably get stuff built without spending a ton of money. And if your time is very scarce, then you’ll need to pay someone to PM and stay on top of the spec.