Pricing a custom software development project can be challenging. There are many unknowns which make the cost difficult to estimate. We created a process to help solve this challenge.
"The goal of the estimation process is to put constraints on the project."
Quad's "5 Step" Estimation Process
- Listen to the customer. The client may have an idea of WHAT to do, but using the experience of good developers, what they actually need may be different.
- Break up work into User Stories. Defining the work in terms of need will constrain the work and define how long it'll take to create this stuff.
- Assign Story Points. Define the level of effort for each story.
- Convert to hours. Eventually, the work comes down to time. At this stage, we need to define a "factor" or point-to-hour conversion number. We typically use a range of x-y hours per story point. Multiply by the hourly cost and you'll get the budget.
- PRIORITIZE. It's critical that the client and dev team work together to prioritize the work. There is unlimited need, but limited budget. Make sure that the stuff that is critical gets completed first. The items towards the end of the list are nice-to-haves and may not be necessary for the success of the project.
We typically create a spreadsheet with user stories. We may even create a few wireframes to help sell the deal. Sometimes we even do a quick video of a click-through demo of the wireframes. The goal of the estimation process is to put constraints on the project. This will help the business understand what is required.
We typically charge for the discovery and estimation phase and allow the customer to own the deliverables.