The only way to figure that out is through experience. You make your best guess and then learn from experience how good your guesses are and adjust as necessary.
Joel Spolsky has a product called "FogBugz" that started out as just a bug tracking tool but has morphed into much more. One of the more interesting things is that you can enter estimations of how long you think tasks will take, then as you figure out how long they actually take, there are tools that tell you how well you or your team are estimating. If you can list most of the tasks ahead of time, FogBugz can tell you a reasonable ship-date based on the estimated times and your past history. I've never tried it for single-developer use, but when I asked Joel about it, he said that there are some people trying it.
In any case, FogBugz has some interesting ideas to borrow from for estimating time.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||