views:

139

answers:

6

Summary

We are start up and we provide software development services. We develop windows, web, services and mobile applications. We were aware of agile and we are scrum certified developers . We do user story based estimation and task planning. No issues.

Issue

We are approached by many small customers. Customers says very high level features or few words about the concept of their dream project. They asks for Effort Estimation and Cost Estimation. Mostly they are interested in Cost.

For each customer we did create the user stories and estimated the user stories and based on story points, we estimated the effort in days and we convert the days to the cost based on hourly rate. We involve the team of 3 or 4 people and get the estimation done. We spend at least 20 to 30 hours of team total time for estimation. (Team of 4 discussing for 5-6 hours)

The problem is that many customers would never turn back. We do not want to spend 20-30 hours of team effort. We don't want to use the exact user story estimation that we follow for contract signed project.

Question

What could be done in order to provide approximate estimate for small customers with small business?

+1  A: 

I don't know there is a solution, other than to find 'better' customers. It sounds like you're doing it right to me. Non-technical customers often want you to spend 30min on the phone with them and then give them a price for the whole thing, so it's good you take the time over it properly. However then you often waste your time.

Maybe you need to say 'no' to customers who you don't think are serious. Or charge for the time spent doing highly skilled estimation work.

By 'better' customers I mean bigger companies, who are more experienced with software (and also probably have bigger budgets). The downside is more paperwork - you are much more 'free' dealing with small firms but also more at risk.

John
+1  A: 

You don't have to stick to a fixed-price contract, for requirements that are vague you should look at doing time and materials.

Basically you need to spread the risk of the cost of overrun between you and the client.

A hybrid option might be to do some T&M proof of concept work then fixed price for the rest when you understand it better.

Alternatively, if you client has a pot of money then use your agile strengths to work with the customer to incrementally deliver functionality until they run out of money.

Paolo
With many customers, fixed-price is the _only_ option they'll consider. You may simply have to be more discerning which customers you want to work with, because fixed-price without a proper specification to work from is putting **all** the risk on you. You're the professional, _tell_ the client how you work. He is not your employer.
John
+1  A: 

"We do not want to spend 20-30 hours of team effort."

Then don't.

If your estimating method is too costly, stop doing it.

"Customers ... are interested in Cost."

Then get them a cost more quickly. Do less work. Don't use a team of 3-4 for 20-30 hours. Have one person do it quickly.

One person can create a spreadsheet with stories, story points, priority, hours and cost. That's the project backlog for Scrum. That's the estimate. That's enough to start a conversation. It's not a fixed-price estimate.

A simple spreadsheet with stories, story points, price and priority is all you need. Then you can work with the customer to adjust priorities to determine how many of those stories they can actually afford to buy.

If they want a fixed price, you simply need to review each story summary to see if the points are right. You already have the spreadsheet, and the priorities, and the formula to compute price.

S.Lott
more developers, more opinions. Yes, it may be good to reduce the team size during estimation
Gopalakrishnan Subramani
A couple of days' work to get a decent estimate is hardly over the top. Most non-software people don't want estimates, they want a fixed price... so you need to take the time to estimate before risking agreeing a fixed price. BUT, I agree involving a team here is not optimal. Maybe 1 person, with another to bounce ideas off and review his work.
John
"We do not want to spend 20-30 hours of team effort" is what the OP said. Whether it's "over the top" as an industry norm doesn't matter. The OP said it's too much in the question, and said "it may be good to reduce the team size" in the comment. You can always reduce the cost of an estimate. You won't -- significantly -- reduce the accuracy. They're all guesses. Project scope always changes. Why invest huge effort only to have the scope change?
S.Lott
+1  A: 

The unfortunate short answer is you are going to have to significantly reduce your estimation costs. The only way to do that is to reduce the number of people to one and use a formula approach.

Take a best guess. Put reasonable assumptions in the contract. If you do a decent job, some will be a little high, some will be a little low and it will average out in the end. If you are off by too much, track changes within the project and charge for them. The key will be in the assumptions placed in the contract, usually in the form of a statement of work.

This is normal business, from small projects to enterprise projects. Just a matter of scale. It doesn't have to be done this way, but it often is.

Jim Rush
Guessing estimates is **why** people demand fixed price - you cheapen the whole "science" part of "computer science and make your estimates fairly useless". Either make it clear to custimers they are estimates and work accordingly, or estimate properly.
John
Jim Rush
+1  A: 

This reminds me of the challenge between time, money, people and overall quality. Some people can see this easily and others may struggle with the idea. Part of the key point here is to understand is what kind of expectations do you want to set and what kind of leeway do you have with the customer. For example, how are bugs in the software or overall support factored into the project.

You may want to consider how much work do you want to do upfront and on what kind of scale are you spending the 20-30 hours estimating a project. Comparing the cost of that much time spent generating an estimate, which @ $40/hour is $800-1,200 by the way, to what the revenue from the project would be is something to consider. If the entire project is $400, then was it worth spending twice that coming up with an estimate? On the flip side, for million dollar projects, it may well make sense to spend that kind of money.

My suggestion would be to see if there is a cookie-cutter approach that could be taken for their projects so that there isn't as much variability to the projects if that is possible.

JB King
+1  A: 

Theres two sides of estimation, first creating the initial 'ball park' figure this should be done relatively quickly, it should be emphasised its a ball park figure and its the start of your conversation with your customer, its not a contract. Second you do your more detailed team based estimation.

This is how this consulting company does it - Ball Park Estimating

Create a template spreadsheet with times and costs for typical pieces of work, look at the initial requirement and update your template. Start the conversation with this is the ball park but we will need to work together to confirm a final price and get a more accurate estimate. This more accurate estimation process will take x hours and cost x dollars.

Paul Rowland