Let’s talk about software estimations. In other words, that oh so common question:
How long will it take to develop our mobile app, and what will it cost?
Earlier this week the Tampa Bay Agile meetup group hosted a presentation and workshop by the same title as this blog post. Clever isn’t it? I can’t take credit.
First, I get it. I understand why your company is asking for the estimate up front. And it means you are interested in teaming up with us to bring your application to life.
Here’s where estimations get especially tricky – when they are given before we have a thorough understanding of your project.
Yes, I can give a range; but the most accurate estimations will come after our Discovery process. Discovery is the first phase of creating your app. It is as essential to developing software as blueprints are to building a house.
Why Discovery is a “Not to Be Missed” Prerequisite to Accurate Estimates
Back to the Tampa Bay Agile meetup.
Attendees were given an exercise to complete in small groups.
Each group was asked: how long will it take to paint this room?
If asked to provide a quick estimate you could look around the room, calculate a rough square footage in your head, and based on past experience painting rooms, come up with a time frame.
It looks easy enough. So you give your estimate. Let’s say “10 hours”.
Picturing this as a client and service provider relationship, they call you back a week later and hire you to paint the meeting room. When you arrive with your paint you discover the furniture was covering holes in the walls.
You: “We’ll need to repair these holes first.”
Client: “I didn’t know there were holes in the walls. The ceiling also needs to be painted and there’s a layer of wallpaper under the paint that we want removed first. I’ll be back in 10 hours.”
You: “Actually, this is going to be closer to a 40 hour job and will require four times the budget.”
Fortunately, the groups at the Tampa Bay Agile meetup were given time for their own Discovery and able to ask questions such as:
- Do we need to tape around all the windows and doors?
- How many coats of paint will the walls need?
- Do the ceilings or floors need to be painted?
- Are there any cracks that need to be patched?
- Is there wall paper to remove?
It’s amazing how much one “small” detail can change so much.
Now think about your software project that will involve months of design and development, versus 10 hours of painting. How incredibly risky would it be to proceed based on an estimate that did not involve upfront planning and discovery? Frankly, it’s scary.
The moral of this blog post:
- Discovery is imperative to provide the most accurate estimates
- Don’t cling too close to estimates given before discovery
- Fall in love with discovery. Require it, ask for it, don’t gloss over it or try to avoid it in favor of a faster estimate.