views:

325

answers:

9

Are there any tools you prefer to use for Effort Estimation for desktop/web development projects? Or is it just Excel/Google Spreadsheets?

Please share your techniques for person effort estimations as well. :)

Thanks, Sri

+2  A: 

I just use my guts feeling.

You may be interested in the "Evidence Based Scheduling (EBS)" approach used in FogBugz.

In a nutshell, their method makes team members watch and record how long it takes them to complete tasks. Then the software compares real time span with the estimated one and predicts the completion time based on the accuracy of previous estimations. So it basically takes a team member history under consideration to provide an estimate.

Here's the link to the Joel's article: Evidence Based Scheduling

Developer Art
Thanks for your response..
Srirangan
A: 

Experience.

Noon Silk
I agree. But your comment doesn't help me here. And we still need to document the process of effort estimation and create proper reports to win contracts.
Srirangan
+3  A: 

Read Joel Spolsky's Evidence Based Scheduling - he talks about using FogBugz 6.0, but the principles are generally applicable wherever.

Dominic Rodger
A: 

Exeprience + ToDo List from AbstractSpon. I Split main task into smaller subtasks and so on, then at the end I define "time cost" for each task.

Rafal Ziolkowski
A: 

Divide et empera.

I.e. divide your project into manageable units and list them in a tool of your choice. (anyone will do as long as you don't need to share the information with others) Estimate the unit efforts (yes, this is where expirience and the guts come in) and add X % for integration and unplaned PITAs. ;)

K

KB22
A: 

I reckon:

(x / y) - a - b

Where:

  • x = number of features
  • y = average years of developer experience
  • a = percentage behaviour provided by existing libraries (ASP.NET = 75, PHP = 30, ASM = 1, or something like that)
  • b = "Shit-hot"ness of developers

Please disregard as a really serious answer, but i reckon this works in some cases.

Kazar
+1  A: 

There are a couple of different effort estimations used where I work:

  • Story points - This is used as a relative guide to how complex is an epic or story we are developing. For epics, a modified Fibonacci set of values are used ranging from 1 and 2 on the low end to 28 and 35 on the high end. If an epic is more than 5 points, then it needs to be broken down more into manageable chunks of work in order to do hour estimation. Each person puts in their estimate and generally the highest and lowest are taken out and the average of the rest is taken unless there is a wide disparity which needs to be discussed, e.g. if 3 people think something is a 21 and 3 people think it is a 3 then there is a good chance someone or possibly everyone has the wrong idea of what the story is.

  • Work hours - This is for each card we make from the story so it tends to be small enough but again an average is taken though generally no individual card gets more 16 hours as this is likely an indication of a possible black hole, that kind of task that just goes on and on and on...

The work hours are in a spreadsheet but also on the cards themselves and get updated daily so that the burndown chart can be produced. I like the idea of everyone in the team giving an initial estimate and then working to a consensus about how long something should take. While Excel may hold the data, there is something to be said for the process itself also being a tool here.

This methodology is still evolving in some ways but has seemed to work pretty well for a big CMS project in ASP.Net where this has been applied. Of course the project isn't finished yet and then is already a Phase II for the next set of functionality for what is slated to be done next year though of course that is subject to change which is part of why we use Agile here, to handle the ever changing requirements as some process gets created in the company so that it isn't a handful of people maintaining the thousands of pages that is just one of the many sites the company has.

JB King
A: 

We use pivotaltracker.com.

Like fogbugz, it provides empirical estimates. It matches our agile approach better, though, as it provides a team velocity based on "story points".

I heartily recommend Agile Estimating and Planning by Mike Cohn.

ndp
+1  A: 

Break work items down into small pieces and use expert judgment - if you have experts around of course :-).

One tool that we've used to validate estimates for bigger projects is Estimate, from Construx software: it's free, it creates useful and interesting reports.

Jim Bird