Just yesterday someone showed me an app on iTunes. "If we develop something like this, how much will it cost?" he asked. "Can you give me a ballpark figure?"
He's not the only client that asks questions like this. In fact most all of my clients ask me for ballpark figures without them giving detailed project specs. My best approach is simply to educate the client on the cost factors. This, assuming the client is not from the industry and doesn't have an idea. (If the client has an idea and still bullies me into giving him a ballpark, then am gonna kick him in the ass and send him to outer space. =) Just kidding.).
In this post I'll outline some of the factors I consider when estimating app development projects.
Purpose of the application - what is the applicaton for?
Audience - who are the intended users of the app? The design of an app will be dependent on the audience type. If it’s a kids app, for example, the mechanics and the design should cater to the needs of kids.
Platform & operating systems - which platforms & operating systems would you like to support? The more platforms and OSes you support, the bigger the development cost since we’ll have to spend extra time with testing and optimization.
Features/mechanics - which features would you like to include? Features which include a highly tuned user experience, integration with third party APIs, complex databases, massive backend infrastructure, would make the app more expensive.
Our participation - what is the extent of our participation? Do you need us to cover certain aspects only, or should we cover everything including maintenance as well?
When needed - if you need us to rush the project, we might need to add more resources in parallel early on.—Oftentimes this would mean an addition to the budget.
Once we have the requirements in, we’ll review them with our technical personnel, and then sit down and make estimates.
There are times when we make disclaimers and advise the client the budget may change after project discovery. Often, only when we’re done with discovery are we able to fully drill down the specifications to the level where we can confidently estimate development costs. This happens a lot on large projects. We'd indicate this in the contract and rework the budget after full discovery. If the client agrees, then we proceed.
Overall budgeting is a tricky business. Developers want to have more projects and would desire that an agreement with the client be closed the soonest. On the other hand, if they rush too much, they could get into trouble. I've fallen into this trap many times. Took me a while to learn.
I'm passionate about business, art, and technology. For more about me, click here.
Here's a book I co-wrote with a bunch of industry colleagues. Not sure if you'll find it useful, but feel free to check once you can.
Hobbies & other stuff
Ateneo Graduate School of Business
University of San Carlos