One thing I haven't heard anybody discuss here, which is my favorite method of calculating development time, is to actually just start doing the work, and keeping track of the time you spend, before a contract, before anything. Then, after some period of time, look back on how much you've accomplished think about what's left to do, and you'll be able to offer a pretty good development time estimate.

Call me crazy, but this method works on lots of levels:

  1. Most of us are in this business because we have fun coding, so the time you spend (even if you don't get paid, or have to throw it all away because design decsions change) will have been fun.
  2. You learn tons each time you just start doing the work. I've written complete look-alikes of things like HTML::Template before I knew it existed. Of course it looks like the folks who wrote that did a much better job than I did. So what? Now know exactly what it needs to do, and I'm in a great position to evaluate it and to modifiy it.
  3. It's probably the method by which you'll get the best actual measurement of how long it's going to take. For smaller projects, you get it 100% right, and you bypass the "design specs" section all together. How many of you have had the experience that your clients only half know what they want, and part of what they are hiring you to do is tell them what they want? What better design spec is there than a working project? As long as you have good coding practices modifiying things to the final design (which is never the same as any "design specs" anyways) isn't that hard.
My direct response to you Siddartha is, unless your mortgage and kids are on the line and you won't like what it does to your life-style, then just jump in and do it. Damn the torpedoes. Definately do use CGI.pm, and probably use CGI::Application and HTML::Template these will both save you lots of time in the long run despite modest learning curve issues. Whether you use MySQL or PostGress or flat files, big deal, just use the perl DBI and switch later once you get things up and running.

Responses?


In reply to Re: How to calculate development time? by Henri Icarus
in thread How to calculate development time? by Siddartha

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • 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:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, 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, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.