Rather than write a book on it, I'll just offer a little advice on how to use the "break down" method of estimation: * Break your assignment down into smaller component tasks. Estimate each task as best as possible. * Add a task for planning and design (which includes what you're doing now.) Estimate it. * If you don't already have one, add a task for "bringing the tasks together." This task may not seem useful at first. However, when you use this "break down" method of estimation, there are always time consuming things to do that "fall between tasks" and that "pull the tasks together." This one can be tricky to estimate. Try your best. * Add a task for testing and documentation. Your assignment may not require a lot of testing and documentation, but you should at least spend a little time thinking about it. * Add up the task estimates to get an overall estimate. * Go ahead and multiply that total estimate by two††. This will give you padding time to: 1. Finish things that you overlooked in your original task list 2. Finish things that you couldn't have known about until getting under way 3. Incorporate feedback from other people, and make changes 4. Get interrupted by other things going on around you, like meetings 5. Finish ahead of estimate more often than behind it And last, but not least, don't be afraid to sketch out estimates for yourself that are probably totally wrong. Sometimes just sketching everything out, no matter how potentially wildly inaccurate, can help you start on the path to getting a better sense for what's involved. ††As you get more and more experience, this "fudge factor" can be tuned to suit your personal style, and your work environment.