Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Re: How to calculate development time?

by pmas (Hermit)
on May 31, 2001 at 20:19 UTC ( [id://84637]=note: print w/replies, xml ) Need Help??


in reply to Re: How to calculate development time?
in thread How to calculate development time?

From Murphy's laws for programming:
If something is easy, it'll take only twice as much as you thought.
If it is difficult, it'll take at least ten times as much. : )

No jokes now, project time estimate is a serious matter.

I agree with the steps above, and I offer useful 'trick':
Make customer aware that his/her thinking time also needs to be included, too.
I.e. "I'll need 2 weeks to develop Detailed Specifications *after you finished* reviewing and we agreed on Rough Specs."

Of course you will try to start 'Detailed Specs' right after finishing 'Rough', without waiting, but you need to won time… Like in chess game, to won you need to use your opponent’s time to think about your own next step.

Obviously if you thought you need about 2 weeks to do something and they wasted 10 days reading specifications and responding to your questions, you still need 2 weeks to finish the job, right?

Also, take into account you need some time in the evening to ‘recall’ where you finished last time. I call it ‘time for swap’. And like with disk swap, the more often you swap, the less time is available for a useful work. Looks like a lot of weekend work to me.

You may also ask questions:

  • How complex is the project? Does it involve new skils? Do you want to learn these skills for free, or you do not care?
  • Is it for the same employer you are working daytime? Same manager, same computer, or other? It might be bad.
  • Do you have good relations with 'night project' customer? Afraid to stain them?
  • Who will be available to answer to night project questions, and when?
  • Who will decide quality of project completion? Penalty for missed deadline
  • Is anybody else involved in the implementation? If yes, how much control do you have over other developers?

    I read a horror story about case when guy agreed to program in night something for his daytime company, was asked to take another guy to participate, then the other guy got behind schedule. To make for missing time he started sneaking into ‘night project’ during the day, and his day manager was not excited, because he wanted him to work overtime for day project, what was also behind schedule. As it happens, specifications were changed a little, he missed deadline a little, was required by his night manager to accept penalty…

    As a result, he left company with bad feelings with his day time colleagues and manager, and was not paid fair price.

    His advice: don’t do that, if you do not have full control.

    My advice: You’ve been warned. : )

    pmas

    • Comment on Re: Re: How to calculate development time?
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Domain Nodelet?
    Node Status?
    node history
    Node Type: note [id://84637]
    help
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this?Last hourOther CB clients
    Other Users?
    Others exploiting the Monastery: (6)
    As of 2024-04-24 09:41 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found