Given the expressiveness of Perl, I think 150 lines of code per day is at least decent. I've never tried to estimate my own productivity (which is difficult anyway when your project is 85% research work), but I know 100 lines of code is a fair amount of work.

Your key problem is changing requirements. There's really no way estimating your net productivity by looking at the code when the relation between code written and completion percentage gets skewed that way. I think your best bet for that situation is to work with the extreme programming concept of user stories, where a user story is immutable once put down. Any change to it is counted as a new user story, and of course discarded requirements do not result in discarding their count of completed user stories from the total work done.

So if a change of requirements obsoletes two completed user stories, requires changes to another two completed ones, and adds three new stories, this change has incurred a cost of seven user stories. If another change affects a dozen completed user stories and adds a few new ones, you have maybe 15 new user stories. Now if you start piling those up, the client will hopefully start to understand that their "little changes" are actually causing a serious amount of work..

Makeshifts last the longest.


In reply to Re: (OT) Proving Productivity? by Aristotle
in thread (OT) Proving Productivity? by Ovid

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.