- Make sure that the specification is broken down in to user stories. Estimate each user story individually.
- Give each user story a 1 day, 2 day, or 3 day estimate. If you think a story will take more than three days, break it in to smaller pieces. Even if you think it will take only one hour, say 1 day. No cheating.
- Arithmetic!
Ask your QA team how long they will need to QA each story too, of course.
This article is a repost of an answer I wrote at programmers.stackexchange.com.