Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Time Estimates - Black Art? [modified]

Time Estimates - Black Art? [modified]

Scheduled Pinned Locked Moved The Lounge
businesshelpquestionannouncement
62 Posts 18 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L led mike

    Chris S Kaiser wrote:

    or a lack or good requirements.

    Then what did you base your estimate on? :~

    C Offline
    C Offline
    Chris S Kaiser
    wrote on last edited by
    #3

    led mike wrote:

    Then what did you base your estimate on?

    A limited set of requirements. I also said "should" and other approximating terms. But its always interpreted as a deadline. So a secondary question is what do you do when forced to give an date when requirements are lacking when demanding more might be a detriment to retaining the project? This statement is false.

    R L 2 Replies Last reply
    0
    • L led mike

      Chris S Kaiser wrote:

      or a lack or good requirements.

      Then what did you base your estimate on? :~

      R Offline
      R Offline
      Red Stateler
      wrote on last edited by
      #4

      Bad requirements?

      L 1 Reply Last reply
      0
      • C Chris S Kaiser

        led mike wrote:

        Then what did you base your estimate on?

        A limited set of requirements. I also said "should" and other approximating terms. But its always interpreted as a deadline. So a secondary question is what do you do when forced to give an date when requirements are lacking when demanding more might be a detriment to retaining the project? This statement is false.

        R Offline
        R Offline
        Red Stateler
        wrote on last edited by
        #5

        I would say that based on your own experience, you should offset your time by the typical amount you're off. If you're consistently 30% late, then add 30%-40% to your estimate.

        1 Reply Last reply
        0
        • C Chris S Kaiser

          Alright, how many of you claim to be skilled in this area, and what are your methodologies for ensuring accuracy, or at least coming close? I fall victim to the "Can-do" approach. Mostly from some vain need to please. :doh: But half the time I really do think I can get it done in that time, but there always seems to be something that pops up to stall release, whether its an obscure bug or a lack of good requirements. Or something else altogether? This statement is false. -- modified at 13:06 Monday 17th July, 2006

          P Offline
          P Offline
          Paul Conrad
          wrote on last edited by
          #6

          Chris S Kaiser wrote:

          what are your methodologies

          Personal Software Process.

          Chris S Kaiser wrote:

          there always seems to be something that pops up to stall release, whether its an obscure bug or a lack of good requirements. Or something else altogether

          That always seems to happen, and I try to add onto my estimates to compensate for any unseen issues that may crop up.

          C 2 Replies Last reply
          0
          • P Paul Conrad

            Chris S Kaiser wrote:

            what are your methodologies

            Personal Software Process.

            Chris S Kaiser wrote:

            there always seems to be something that pops up to stall release, whether its an obscure bug or a lack of good requirements. Or something else altogether

            That always seems to happen, and I try to add onto my estimates to compensate for any unseen issues that may crop up.

            C Offline
            C Offline
            Chris S Kaiser
            wrote on last edited by
            #7

            What's your typical padding range? Is it a blanket approach like double it and add 3, or is more specialized to the project? And mostly I'm concerned with new development, and major enhancements that might require refactoring to the base architecture. Smaller enhancement requests and bug fixes to an existing app haven't been too troublesome. This statement is false.

            P 1 Reply Last reply
            0
            • C Chris S Kaiser

              Alright, how many of you claim to be skilled in this area, and what are your methodologies for ensuring accuracy, or at least coming close? I fall victim to the "Can-do" approach. Mostly from some vain need to please. :doh: But half the time I really do think I can get it done in that time, but there always seems to be something that pops up to stall release, whether its an obscure bug or a lack of good requirements. Or something else altogether? This statement is false. -- modified at 13:06 Monday 17th July, 2006

              A Offline
              A Offline
              Anna Jayne Metcalfe
              wrote on last edited by
              #8

              Try reading Painless Software Schedules[^]. Basically, if you can break the task down into small pieces (say 2 days work or less), you've a far better chance of coming up with an accurate estimate. Anna :rose: Currently working mostly on: Visual Lint :cool: Anna's Place | Tears and Laughter "Be yourself - not what others think you should be" - Marcia Graesch "Anna's just a sexy-looking lesbian tart" - A friend, trying to wind me up. It didn't work.

              C P RaviBeeR 3 Replies Last reply
              0
              • C Chris S Kaiser

                What's your typical padding range? Is it a blanket approach like double it and add 3, or is more specialized to the project? And mostly I'm concerned with new development, and major enhancements that might require refactoring to the base architecture. Smaller enhancement requests and bug fixes to an existing app haven't been too troublesome. This statement is false.

                P Offline
                P Offline
                Paul Conrad
                wrote on last edited by
                #9

                Chris S Kaiser wrote:

                What's your typical padding range? Is it a blanket approach like double it and add 3, or is more specialized to the project?

                Most of the projects I have done for one of my clients are similar to previous projects done for them. I typically put about 25% overage on time estimates.

                Chris S Kaiser wrote:

                mostly I'm concerned with new development, and major enhancements that might require refactoring to the base architecture

                I have those concerns, too. You are not the only one :)

                1 Reply Last reply
                0
                • C Chris S Kaiser

                  Alright, how many of you claim to be skilled in this area, and what are your methodologies for ensuring accuracy, or at least coming close? I fall victim to the "Can-do" approach. Mostly from some vain need to please. :doh: But half the time I really do think I can get it done in that time, but there always seems to be something that pops up to stall release, whether its an obscure bug or a lack of good requirements. Or something else altogether? This statement is false. -- modified at 13:06 Monday 17th July, 2006

                  N Offline
                  N Offline
                  Not Active
                  wrote on last edited by
                  #10

                  I have found this to be a good resourceSoftware Estimation: Demystifying the Black Art (Best Practices (Microsoft)) [^] Although the Best Practices and Microsoft seem to be in conflict ;P

                  C 1 Reply Last reply
                  0
                  • A Anna Jayne Metcalfe

                    Try reading Painless Software Schedules[^]. Basically, if you can break the task down into small pieces (say 2 days work or less), you've a far better chance of coming up with an accurate estimate. Anna :rose: Currently working mostly on: Visual Lint :cool: Anna's Place | Tears and Laughter "Be yourself - not what others think you should be" - Marcia Graesch "Anna's just a sexy-looking lesbian tart" - A friend, trying to wind me up. It didn't work.

                    C Offline
                    C Offline
                    Chris S Kaiser
                    wrote on last edited by
                    #11

                    Good article. So really we need to be gathering statistics ongoing as to how long it took at the task level vs the project level to get a bearing on where the estimates are failing. This last one isn't that bad. I'm late by about 8 hours or so. Better than a month, but even this grates on me. This statement is false.

                    A 1 Reply Last reply
                    0
                    • N Not Active

                      I have found this to be a good resourceSoftware Estimation: Demystifying the Black Art (Best Practices (Microsoft)) [^] Although the Best Practices and Microsoft seem to be in conflict ;P

                      C Offline
                      C Offline
                      Chris S Kaiser
                      wrote on last edited by
                      #12

                      Ahhh.. McConnell... I have a couple of his books already, but this one looks promising.

                      Mark Nischalke wrote:

                      Although the Best Practices and Microsoft seem to be in conflict

                      Funny, in terms of their practices I agree, at least what limited visibility I have, but they seem to churn out some of the better books regarding process. This statement is false.

                      1 Reply Last reply
                      0
                      • C Chris S Kaiser

                        Alright, how many of you claim to be skilled in this area, and what are your methodologies for ensuring accuracy, or at least coming close? I fall victim to the "Can-do" approach. Mostly from some vain need to please. :doh: But half the time I really do think I can get it done in that time, but there always seems to be something that pops up to stall release, whether its an obscure bug or a lack of good requirements. Or something else altogether? This statement is false. -- modified at 13:06 Monday 17th July, 2006

                        T Offline
                        T Offline
                        Taka Muraoka
                        wrote on last edited by
                        #13

                        How good an estimator are you?[^] Apparently from the Software Estimation: Demystifying the Black Art book.


                        0 bottles of beer on the wall, 0 bottles of beer, you take 1 down, pass it around, 4294967295 bottles of beer on the wall. Awasu 2.2.2 [^]: A free RSS/Atom feed reader with support for Code Project.

                        C 1 Reply Last reply
                        0
                        • C Chris S Kaiser

                          Alright, how many of you claim to be skilled in this area, and what are your methodologies for ensuring accuracy, or at least coming close? I fall victim to the "Can-do" approach. Mostly from some vain need to please. :doh: But half the time I really do think I can get it done in that time, but there always seems to be something that pops up to stall release, whether its an obscure bug or a lack of good requirements. Or something else altogether? This statement is false. -- modified at 13:06 Monday 17th July, 2006

                          K Offline
                          K Offline
                          Kim0618
                          wrote on last edited by
                          #14

                          I just think of a formula for estimating the extra buffer time that being added to a project for time estimation consider the project comprised of modules : extra buffer time = a*(overall time to complete each module) + (degree of coupling within modules)^b where 0 < a < 1, and 1 < b < 3 cheers

                          C 1 Reply Last reply
                          0
                          • C Chris S Kaiser

                            Alright, how many of you claim to be skilled in this area, and what are your methodologies for ensuring accuracy, or at least coming close? I fall victim to the "Can-do" approach. Mostly from some vain need to please. :doh: But half the time I really do think I can get it done in that time, but there always seems to be something that pops up to stall release, whether its an obscure bug or a lack of good requirements. Or something else altogether? This statement is false. -- modified at 13:06 Monday 17th July, 2006

                            J Offline
                            J Offline
                            James R Twine
                            wrote on last edited by
                            #15

                            IMHO, this is more art than science.  I tend to take the available information, even if incomplete, estimate how long it would take me to do averaging 7 working hours a day (8 minus time for answering emails, phone calls and meetings), and then after I get a value, I add in another 20-40% depending on how certain I am about the estimate.  That extra percentage does not include the normal "padding" that program/project management should do.      Other thoughts, take 'em or leave 'em...    Never give an estimate including crunch time.  Sometimes crunch time is necessary, but often it really is not.  (Crunch time is almost always the result of a mistake in planning or design.)  Never build an estimate around more than the amount of work per day that you normally accomplish.  If you do, you will just be creating unnecessary stress for yourself, and the quality of your work (and perhaps personal life) will suffer.  Even though you may be capable of being super-productive every now and then, you likely cannot sustain that kind of output for a long time without burn-out, and you do not want management expecting that kind of output all the time.    The most important thing you can do when giving an estimate is to remind all parties involved that it is an estimate, and not a firm deadline.  An estimate is nothing more than a Hypothesis, and is subject to revision over time as more information is discovered, or Real Life intercedes.  As such, some people need to be reminded that it is inappropriate to make any firm commitments based on it.     If people want a firm number, give them something that you cannot possibly miss (unless you are dead or in an extended hospital stage) - if you think it would take 3 months, tell them 12. :)   One of the biggest problems that I see happening to developers is when they allow themselves to get painted into a corner by getting forced by their management to reduce an estimate or give a firm value with without enough information.    Lastly, and most importantly, if ANYTHING the estimate is based on changes (like a spec/design change, change of staff/resources, etc.), the estimate immediately becomes invalid!  Sadly, people sometimes need to be reminded of that...    Peace! -=- James


                            If you think it costs a lot to do it right, just wait un

                            T C 2 Replies Last reply
                            0
                            • J James R Twine

                              IMHO, this is more art than science.  I tend to take the available information, even if incomplete, estimate how long it would take me to do averaging 7 working hours a day (8 minus time for answering emails, phone calls and meetings), and then after I get a value, I add in another 20-40% depending on how certain I am about the estimate.  That extra percentage does not include the normal "padding" that program/project management should do.      Other thoughts, take 'em or leave 'em...    Never give an estimate including crunch time.  Sometimes crunch time is necessary, but often it really is not.  (Crunch time is almost always the result of a mistake in planning or design.)  Never build an estimate around more than the amount of work per day that you normally accomplish.  If you do, you will just be creating unnecessary stress for yourself, and the quality of your work (and perhaps personal life) will suffer.  Even though you may be capable of being super-productive every now and then, you likely cannot sustain that kind of output for a long time without burn-out, and you do not want management expecting that kind of output all the time.    The most important thing you can do when giving an estimate is to remind all parties involved that it is an estimate, and not a firm deadline.  An estimate is nothing more than a Hypothesis, and is subject to revision over time as more information is discovered, or Real Life intercedes.  As such, some people need to be reminded that it is inappropriate to make any firm commitments based on it.     If people want a firm number, give them something that you cannot possibly miss (unless you are dead or in an extended hospital stage) - if you think it would take 3 months, tell them 12. :)   One of the biggest problems that I see happening to developers is when they allow themselves to get painted into a corner by getting forced by their management to reduce an estimate or give a firm value with without enough information.    Lastly, and most importantly, if ANYTHING the estimate is based on changes (like a spec/design change, change of staff/resources, etc.), the estimate immediately becomes invalid!  Sadly, people sometimes need to be reminded of that...    Peace! -=- James


                              If you think it costs a lot to do it right, just wait un

                              T Offline
                              T Offline
                              Taka Muraoka
                              wrote on last edited by
                              #16

                              James R. Twine wrote:

                              Sadly, people sometimes need to be reminded of that

                              Even more sadly, even when you remind them it still doesn't make any difference. For the life of me, I can't remember a time when someone has come to me with a change to the spec and when I've pointed out that it will therefore require more time to do, they've said "OK, you can have more time" :~ X|


                              0 bottles of beer on the wall, 0 bottles of beer, you take 1 down, pass it around, 4294967295 bottles of beer on the wall. Awasu 2.2.2 [^]: A free RSS/Atom feed reader with support for Code Project.

                              1 Reply Last reply
                              0
                              • A Anna Jayne Metcalfe

                                Try reading Painless Software Schedules[^]. Basically, if you can break the task down into small pieces (say 2 days work or less), you've a far better chance of coming up with an accurate estimate. Anna :rose: Currently working mostly on: Visual Lint :cool: Anna's Place | Tears and Laughter "Be yourself - not what others think you should be" - Marcia Graesch "Anna's just a sexy-looking lesbian tart" - A friend, trying to wind me up. It didn't work.

                                P Offline
                                P Offline
                                Paul Conrad
                                wrote on last edited by
                                #17

                                Anna-Jayne Metcalfe wrote:

                                Try reading Painless Software Schedules[^].

                                Joel on Software always has good readings on the site :)

                                A 1 Reply Last reply
                                0
                                • T Taka Muraoka

                                  How good an estimator are you?[^] Apparently from the Software Estimation: Demystifying the Black Art book.


                                  0 bottles of beer on the wall, 0 bottles of beer, you take 1 down, pass it around, 4294967295 bottles of beer on the wall. Awasu 2.2.2 [^]: A free RSS/Atom feed reader with support for Code Project.

                                  C Offline
                                  C Offline
                                  Chris S Kaiser
                                  wrote on last edited by
                                  #18

                                  Another vote.. looks like that might be my next purchase then. This statement is false.

                                  1 Reply Last reply
                                  0
                                  • C Chris S Kaiser

                                    led mike wrote:

                                    Then what did you base your estimate on?

                                    A limited set of requirements. I also said "should" and other approximating terms. But its always interpreted as a deadline. So a secondary question is what do you do when forced to give an date when requirements are lacking when demanding more might be a detriment to retaining the project? This statement is false.

                                    L Offline
                                    L Offline
                                    led mike
                                    wrote on last edited by
                                    #19

                                    Chris S Kaiser wrote:

                                    detriment to retaining the project?

                                    ummmm... "bidding" is not the same as "estimating"

                                    C 2 Replies Last reply
                                    0
                                    • K Kim0618

                                      I just think of a formula for estimating the extra buffer time that being added to a project for time estimation consider the project comprised of modules : extra buffer time = a*(overall time to complete each module) + (degree of coupling within modules)^b where 0 < a < 1, and 1 < b < 3 cheers

                                      C Offline
                                      C Offline
                                      Chris S Kaiser
                                      wrote on last edited by
                                      #20

                                      Kim0618 wrote:

                                      ^b [snip] where 0 < a < 1, and 1 < b < 3

                                      Oooooh... fractional exponents. Neat. ;) How often is this accurate? Another question is when padding estimates how often is it an over-estimate? This statement is false.

                                      K 1 Reply Last reply
                                      0
                                      • J James R Twine

                                        IMHO, this is more art than science.  I tend to take the available information, even if incomplete, estimate how long it would take me to do averaging 7 working hours a day (8 minus time for answering emails, phone calls and meetings), and then after I get a value, I add in another 20-40% depending on how certain I am about the estimate.  That extra percentage does not include the normal "padding" that program/project management should do.      Other thoughts, take 'em or leave 'em...    Never give an estimate including crunch time.  Sometimes crunch time is necessary, but often it really is not.  (Crunch time is almost always the result of a mistake in planning or design.)  Never build an estimate around more than the amount of work per day that you normally accomplish.  If you do, you will just be creating unnecessary stress for yourself, and the quality of your work (and perhaps personal life) will suffer.  Even though you may be capable of being super-productive every now and then, you likely cannot sustain that kind of output for a long time without burn-out, and you do not want management expecting that kind of output all the time.    The most important thing you can do when giving an estimate is to remind all parties involved that it is an estimate, and not a firm deadline.  An estimate is nothing more than a Hypothesis, and is subject to revision over time as more information is discovered, or Real Life intercedes.  As such, some people need to be reminded that it is inappropriate to make any firm commitments based on it.     If people want a firm number, give them something that you cannot possibly miss (unless you are dead or in an extended hospital stage) - if you think it would take 3 months, tell them 12. :)   One of the biggest problems that I see happening to developers is when they allow themselves to get painted into a corner by getting forced by their management to reduce an estimate or give a firm value with without enough information.    Lastly, and most importantly, if ANYTHING the estimate is based on changes (like a spec/design change, change of staff/resources, etc.), the estimate immediately becomes invalid!  Sadly, people sometimes need to be reminded of that...    Peace! -=- James


                                        If you think it costs a lot to do it right, just wait un

                                        C Offline
                                        C Offline
                                        Chris S Kaiser
                                        wrote on last edited by
                                        #21

                                        James R. Twine wrote:

                                        The most important thing you can do when giving an estimate is to remind all parties involved that it is an estimate, and not a firm deadline.

                                        I agree with this, but sometimes you get on a project to find out that sales already sold and promised a date to a client. And its either put yourself to the task or gamble with your employment. I'm a little tired of being the nail that stood up only to get pounded down. This statement is false.

                                        J 1 Reply Last reply
                                        0
                                        • R Red Stateler

                                          Bad requirements?

                                          L Offline
                                          L Offline
                                          led mike
                                          wrote on last edited by
                                          #22

                                          "bad" requirements should NOT be estimated since you do not have the "required" information to provide an estimate. If the word bad is intended to refer to the fact that the requirements "change" then changes to requirements can effect the estimate or "timeline" of the project. Of course significant changes can amount to a completely "different" project (start over). It's not Rocket Surgery. :-D

                                          C 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups