Thejassu RaghavanEngagement Manager in Agile environment| WinWire Technologies LtdBangalore, India
Is there any method or formula for providing a high level expected duration for a project when you have the size estimated ? This is after the size estimates (by technical experts) and before knowing or identifying the team.
Of course the critical path will decide the duration, but for that also the resource identification is required. What I am trying to get to is based on the estimate, is there any method to identify the optimal number of resources required ? Provided the end date and cost is not a constraint. Saving Changes...
Sort By:
Sergio Luis ConteHelping to create solutions for everyone| Worldwide based OrganizationsBuenos Aires, Argentina
Sure, it is. Take a look to all related to function points. You can adapt it to any type of environment and any type of product (not IT or software for example). After that, take a look to Barry Bohem´s Cone of Uncertainty. Search for information inside sites like CMU SEI or NASA to see how function points has been taken as the basement to estimate with other techniques (use cases, stories, etc). Saving Changes...
Stéphane ParentSelf Employed / Semi-retired| Leader MakerPrince Edward Island, Canada
If you use function points or lines of code for your size, you then need to find the appropriate productivity ratio (FP per days, LOC per hour) to figure out the overall effort. If your company has sufficient experience,use the company productivity ratio. Otherwise, you will have to find and use industry ratios.
Once you have the effort, you can convert it into a duration. If you use an agile approach, you can probably assume a fixed number of resources over the course of the project. If you use a predictive (i.e., waterfall) approach, then the number of resources will likely be variable over the course of the project. Please note that the number of resources will be influenced by the amount of parallelism your introduce in your project. Saving Changes...
To add to the previous answers, make sure you are clear that it is a rough order of magnitude estimate. If the sizing was based on a developer with a lot of experience, and you end up with a fairly new developer, your estimates will be way off. Here are some important things to keep in mind about estimates:
To respond to the original question, there is no silver bullet for identifying the optimal number of resources required. You have to understand the work and how it can be completed. In some cases, you can add more people to a task, but you will reach a point where adding more people cannot make it go faster and may actually slow it down. Saving Changes...
A mother can deliver a baby in 9 months, 9 mothers can't deliver a baby in one month. This rule applies to some extent to software development and to other engineering fields.
If you know the effort estimated to complete a project using a single developer, using two developers most likely will not reduce the time in half, using 3 developers the project will not complete 3 times faster and so on. Whether or not using more developers will speed up the project depends on the type of work that they have to perform.
At one extreme some projects optimally need a single developer and adding more developers will not speed up the the project at all, or even worse it will slow it down.
In order to be able to use many developers at once either the project has to be composed of a set of change requests that are independent of each other, or the nature of the work allows it to be split between several developers.
I don't think PMs can use a general method in order to establish the optimal amount of resources needed on a project. As far as software development is concerned only the developers themselves can figure out if a certain peace of work can be split or not. Saving Changes...
Thejassu RaghavanEngagement Manager in Agile environment| WinWire Technologies LtdBangalore, India
Thanks everyone for the suggestions.
Aron, Laws of estimates are interesting. Saving Changes...