Software estimation is used to estimate time and resource required for a particular project.
There are three types of estimation :
- Ballpark estimates or order of magnitude: This estimate would be two to four times actual value ideally.
- Rough estimates: This estimate would be closer to the actual value. Ideally it will be about 50% to 100% off the actual value. It is used when needs are well understood
- Fair estimates: This is a very good estimate. Ideally it will be about 25% to 50% off the actual value. Fair estimate is used in maintainence projects where you know what needs to be done and you have already done it.
Order of magnitude estimation :
Break project into number of tasks
Evaluate each task based on complexity i.e ( Low , Medium , High ) and size of work ( Small, Medium, Large)
Once this done , then estimate time for each task based on complexity and size of work. For example , Low complexity and small sized work would require a weeks time.