To build a credible estimate for any project, in any domain, to produce a solution to any problem, we need to start with a few core ideas.
- Gather historical data.
- Unless you're inventing new physics, it is very unlikely what you want to do hasn't been done already, somewhere by someone.
- We hear all the time this project is unique. Really?
- This has NEVER been done before?
- There is no reference design for what we want to do?
- We are actually inventing the solution out of whole cloth?
- Gather information about this specific project.
- This doesn't mean full detailed requirements. That's just not going to happen on any real project.
- Gather needed Capabilities. Follow the Capabilities Based Planning advice.
- Sort these capabilities using what ever method you want, but sort them in some priority so the Analysis of Alternatives can be performed.
- Capabilities are not requirements. Capabilities state what you'll be doing with the results of the project and how what you'll be doing will produce the planned value from the project.
- Break out some statistical tools - excel will work
- Does the historical have any statistically confident that it represents the actual past performance
- I see all the time 20 samples of stories that have ±50% variances over the period of performance. The Average is then used. Don't do this.
- First the Most Likely is the number you want. That's the Mode, the most recurring value, of all the numbers you have.
- Next read The Flaw of Averages on how you can be fooled by averages
- Fianally to produce a credible estimate, you'll need:
- Experience
- Skills
- Knowledge
- Data
- Tools
- People
- Process
If you're missing any of the items in this picture, it's going to be a disappointing effort. Some may even call it a waste to estimate. But not for the reasons you think. It is a waste to estimate if you don't know how to estimate. But estimate are not for you, unless you're the one providing the money. They're for those providing the money, expecting the outcomes from that expense show show up on some need date, with the needed value that provide them with the ability to earn back the money.