The only good way to create any kind of a reliable estimate is by using (your own) historical data.
If you are trying to create an estimate for a new project and are having a hard time, don't lament your lack of historical data. The best thing you can do is to set up a system for tracking time on your projects. Today's time log is tomorrow's historical data. (When I say "you" I mean either you, singular, if you work alone or you, plural, to refer to your project team.) Do the best you can on this estimate, recognize that it's probably a bunch of nonsense, and move forward.
Before you start working on the project you just (mis-)estimated, plan how you're going to track time spent on it. This doesn't mean you have to establish the Time Tracking Committee, hold a dozen meetings every day, and publish a seventy-page document describing how time will be tracked. Just pick a solution and spitball it past your team. Lightweight is best for a first pass, you'll be able to get a feel for what works and what doesn't in your situation.
Some things to keep in mind:
- You might work a nominal eight hour day, but you probably spend less than three actually working on your project. Meetings, support for previous projects, and the water cooler suck up a lot more time than you realize.
- Some meetings are directly project-related (design review, etc) and should probably be charged to the project. Oooh, I said "charged". Don't get too uptight about applying all of your time to one bucket or another. Keep it lightweight and easy to implement and you'll increase the likelihood that you'll be able to stick with it.
- Spreadsheets can be a convenient way to track time for individuals or small teams. If a team is going to use a spreadsheet-based solution, take a look at Google Docs and set up a shared spreadsheet.
At the end of the project, you can compare the actual results to the estimate you made. Disappointing, eh? Don't worry, you'll get better with practice and as you build a data collection.See also Software Estimation: Demystifying the Black Art, by Steve McConnell. This book is an excellent resource.
"Software Estimation: Demystifying the Black Art"