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.
  • C Chris S Kaiser

    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 Offline
    K Offline
    Kim0618
    wrote on last edited by
    #36

    Actually it is just a random thought.... Never tested or put into trial. It is just based on two components for developing a software project. The first component where the "a" constant associated tells the extra features needed or underestimation of the development time of each module. The second component where the "b" constant associated tells the interdependence of the modules, coz one module fault may lead to another module fault, and there will be iterations of work around and around, so lead to a result those order related to a factorial function or exponential function.

    1 Reply Last reply
    0
    • C Chris S Kaiser

      This was still estimating. I didn't bid on the project. So I don't understand your assumption that I was talking about bidding vs estimating. This statement is false.

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

      Chris S Kaiser wrote:

      I don't understand your assumption that I was talking about bidding vs estimating.

      Chris S Kaiser wrote:

      might be a detriment to retaining the project?

      "retaining" :)

      C 1 Reply Last reply
      0
      • C Chris S Kaiser

        By giving an estimate that is based on the facts that limited requirements require a wider estimate range that soon becomes unacceptable to management as they've already given a hard date that must be met. So, if you pad the estimate to a safe range, based on limited requirements, and it exceeds the date promised to the client, it could effect the renewal of the contract. This is hypothetical. But the effort to get at accurate estimates is what this is about. Is it better to pad it knowing you need it, or run late so that you defer dissappointment? This statement is false.

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

        Chris S Kaiser wrote:

        By giving an estimate that is based on the facts that limited requirements require a wider estimate range that soon becomes unacceptable to management as they've already given a hard date that must be met.

        If there is already a date then what is the estimate for? :confused:

        Chris S Kaiser wrote:

        and it exceeds the date promised to the client, it could effect the renewal of the contract.

        Sounds like you are "bidding" again. :confused:

        Chris S Kaiser wrote:

        But the effort to get at accurate estimates is what this is about.

        An "accurate" estimate is only obtainable from "accurate requirements". Anything else is just a "guess" not an estimate.

        C 1 Reply Last reply
        0
        • C Chris S Kaiser

          But do you really have control of this? Making demands looks good on paper and may be the right thing to do, but how often is it successful? This statement is false.

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

          I am not speaking to the "political" and "business" aspects of this issue. It was not clear to me that was your question. I was speaking to the "science" of software estimating. The science is simple and the business either supports it or it does not. If it does then a accurate scientific estimate can be produced. If not then whatever is stated verbally or on paper is done so from the perspective of "business" and has nothing to do with scientific accuracy, period. They are two completely different things.

          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

            A Offline
            A Offline
            Allen Anderson
            wrote on last edited by
            #40

            Since we started using agile programming / XP I've found out estimates are now infinitely better than estimating projects completely ahead of time.

            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

              M Offline
              M Offline
              Marc Clifton
              wrote on last edited by
              #41

              Chris S Kaiser wrote:

              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 would say I'm pretty good at it. My methodologies are basically to drill into the requirements, putting together both a confidence level and a time estimate. If the confidence level is low, I drill further. If that's not possible, and often it isn't, at least I can say to my client that I don't really have any way of estimating the time here without spending time to do further analysis. This happens often enough when dealing with new technologies, or the requirements simply can't be defined yet, etc. And lastly, after all the analysis, I follow the "Ross Rule of PI", named after a hardware guy I used to work with. I multiple all estimates by 3. Seriously. This helps to factor in testing, documentation, bug fixes, refactoring, etc. It also makes me look like a miracle worker (a la Scottie of Star Trek) when I get things done in less time. :) [edit] Oh, and one more thing. I also break the project up horizontally into milestones, and I tell my clients, we will revisit the time estimate for each milestone after completing the preceding one. It's interesting you posted this question. After responding to your other post, I was beginning to thing, this would be a good article. [/edit] Marc Pensieve

              Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson

              People are just notoriously impossible. --DavidCrow

              -- modified at 16:49 Monday 17th July, 2006

              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

                R Offline
                R Offline
                Rocky Moore
                wrote on last edited by
                #42

                From what I have seen, unless the project is something minor, most estimates fail to be accurate. In most cases you are either finished early (and have time to add more polish) or you are racing frantically trying to complete the project without losing your shirt. The best method to help reduce losses or loss of projects due to overbidding is to keep detailed logs of what you work on and how long it takes you to complete each task. When building an estimate, you can eye out what it took you before to complete and have a ballpark figure. Of course, this is relative to the tools you use. If you have to use tools (libraries, compilers, utilites) that have been recently updated, you may run into problems raising the costs. Other factors might apply such as working in a lower level language/technology such C++ vs a higher level, you may have less errors and greater accuracy to duplicate results the higher you go. I know for me, I dramtically reduced lots of simplistic errors which were simple typos or oversights after moving to C#/.NET from C++/Win32. Add to this, times when you work slightly outside of your norm, using a new library/technology and have to learn all the work arounds ;) Finally, after all your planning you push out your bid and in the process of doing the work, you run into a simple little bug in the OS or the technologies you are using and find it has just consumed 25% more time. This happens, and usually it means you eat it. As an example, a client need an ASP.NET app to work with MS Access. No problem, do this all the time, but I ran into an error which took time to track down about storing large data objects in Access. It is not that I did not plan the time, it was that I ran into a limitation of the technologies in use. I am not so sure that it is an "Art", but more of a "reasonable guess". The best a person can do is to keep a detailed log of every step and see how that applies to the future. Personally, I would try not give a "bid" on a large scale project, but rather in segments. Rocky <>< Latest Post: ASP.NET HttpException - Cannot use leading "..".. Blog: www.RockyMoore.com/TheCoder/[^]

                C 1 Reply Last reply
                0
                • P Paul Conrad

                  Anna-Jayne Metcalfe wrote:

                  Try reading Painless Software Schedules[^].

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

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

                  He sure does. :) I must admit I tend to read the Business of Software forum rather than the others these days (running a uISV gives me a vested interest! ;)) but they're all well worth a look. 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 1 Reply Last reply
                  0
                  • RaviBeeR RaviBee

                    Anna-Jayne Metcalfe wrote:

                    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.

                    Aye! Scrum has also helped us come up with realistic (i.e. mostly correct) time estimates. /ravi My new year's resolution: 2048 x 1536 Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com

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

                    That's great to hear. :) 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.

                    1 Reply Last reply
                    0
                    • C Chris S Kaiser

                      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 Offline
                      A Offline
                      Anna Jayne Metcalfe
                      wrote on last edited by
                      #45

                      That's the general idea. Most of us have been bitten by inaccurate estimates and badly resourced projects, so the more we can do to improve our estimates (or disprove others!) the better. 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.

                      1 Reply Last reply
                      0
                      • M Marc Clifton

                        Chris S Kaiser wrote:

                        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 would say I'm pretty good at it. My methodologies are basically to drill into the requirements, putting together both a confidence level and a time estimate. If the confidence level is low, I drill further. If that's not possible, and often it isn't, at least I can say to my client that I don't really have any way of estimating the time here without spending time to do further analysis. This happens often enough when dealing with new technologies, or the requirements simply can't be defined yet, etc. And lastly, after all the analysis, I follow the "Ross Rule of PI", named after a hardware guy I used to work with. I multiple all estimates by 3. Seriously. This helps to factor in testing, documentation, bug fixes, refactoring, etc. It also makes me look like a miracle worker (a la Scottie of Star Trek) when I get things done in less time. :) [edit] Oh, and one more thing. I also break the project up horizontally into milestones, and I tell my clients, we will revisit the time estimate for each milestone after completing the preceding one. It's interesting you posted this question. After responding to your other post, I was beginning to thing, this would be a good article. [/edit] Marc Pensieve

                        Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson

                        People are just notoriously impossible. --DavidCrow

                        -- modified at 16:49 Monday 17th July, 2006

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

                        This would be a good article. Especially if it cited real-world examples of successes and failures in the process. I think two seperate sections would be needed though, one where the engineer is directly working with a client and another where the engineer has to work with internal management. It seems to me that it might be easier to convey the reality of the estimation directly with a client than with a management that thinks it can get done in the time they dictate. I could be wrong though. I like the idea of revisiting the estimate with each milestone. That and breaking it down to the task level and documenting the results. This statement is false.

                        M 1 Reply Last reply
                        0
                        • R Rocky Moore

                          From what I have seen, unless the project is something minor, most estimates fail to be accurate. In most cases you are either finished early (and have time to add more polish) or you are racing frantically trying to complete the project without losing your shirt. The best method to help reduce losses or loss of projects due to overbidding is to keep detailed logs of what you work on and how long it takes you to complete each task. When building an estimate, you can eye out what it took you before to complete and have a ballpark figure. Of course, this is relative to the tools you use. If you have to use tools (libraries, compilers, utilites) that have been recently updated, you may run into problems raising the costs. Other factors might apply such as working in a lower level language/technology such C++ vs a higher level, you may have less errors and greater accuracy to duplicate results the higher you go. I know for me, I dramtically reduced lots of simplistic errors which were simple typos or oversights after moving to C#/.NET from C++/Win32. Add to this, times when you work slightly outside of your norm, using a new library/technology and have to learn all the work arounds ;) Finally, after all your planning you push out your bid and in the process of doing the work, you run into a simple little bug in the OS or the technologies you are using and find it has just consumed 25% more time. This happens, and usually it means you eat it. As an example, a client need an ASP.NET app to work with MS Access. No problem, do this all the time, but I ran into an error which took time to track down about storing large data objects in Access. It is not that I did not plan the time, it was that I ran into a limitation of the technologies in use. I am not so sure that it is an "Art", but more of a "reasonable guess". The best a person can do is to keep a detailed log of every step and see how that applies to the future. Personally, I would try not give a "bid" on a large scale project, but rather in segments. Rocky <>< Latest Post: ASP.NET HttpException - Cannot use leading "..".. Blog: www.RockyMoore.com/TheCoder/[^]

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

                          Rocky Moore wrote:

                          I am not so sure that it is an "Art", but more of a "reasonable guess". The best a person can do is to keep a detailed log of every step and see how that applies to the future.

                          A developed skill based on data that increases competence iteratively seems to be the consensus. This statement is false.

                          1 Reply Last reply
                          0
                          • RaviBeeR RaviBee

                            Anna-Jayne Metcalfe wrote:

                            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.

                            Aye! Scrum has also helped us come up with realistic (i.e. mostly correct) time estimates. /ravi My new year's resolution: 2048 x 1536 Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com

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

                            Looks interesting. I like the domain name although it might be reaching a bit. ;) http://www.controlchaos.com/ This statement is false.

                            1 Reply Last reply
                            0
                            • L led mike

                              Chris S Kaiser wrote:

                              I don't understand your assumption that I was talking about bidding vs estimating.

                              Chris S Kaiser wrote:

                              might be a detriment to retaining the project?

                              "retaining" :)

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

                              Yeah, language might be remiss here. I'm working a contract where the main project comprises smaller projects within the larger framework. So I was commenting on the potential results of always exceeding the estimates, they may choose not to renew the contract. Although, I'm not really worried about that in this position, it was just hypothetical. This statement is false.

                              1 Reply Last reply
                              0
                              • L led mike

                                Chris S Kaiser wrote:

                                By giving an estimate that is based on the facts that limited requirements require a wider estimate range that soon becomes unacceptable to management as they've already given a hard date that must be met.

                                If there is already a date then what is the estimate for? :confused:

                                Chris S Kaiser wrote:

                                and it exceeds the date promised to the client, it could effect the renewal of the contract.

                                Sounds like you are "bidding" again. :confused:

                                Chris S Kaiser wrote:

                                But the effort to get at accurate estimates is what this is about.

                                An "accurate" estimate is only obtainable from "accurate requirements". Anything else is just a "guess" not an estimate.

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

                                The date given to the customer is by management. The estimate is for management as a reality check as to whether or not the date given to the customer can be met or not. And there's no bidding. No competition. I'm hired as a consultant to work this project, and its renewable, but I was using this scenario hypothetically to discuss this possibility. Sounds like your nitpicking dude.

                                led mike wrote:

                                An "accurate" estimate is only obtainable from "accurate requirements". Anything else is just a "guess" not an estimate.

                                An estimate is a guess. From Wiki: Estimation From Wikipedia, the free encyclopedia Estimation is the calculated approximation of a result which is usable even if input data may be incomplete, uncertain, or noisy. So this is a guess. And your debating semantics here and not addressing the issue. This statement is false.

                                L 1 Reply Last reply
                                0
                                • L led mike

                                  I am not speaking to the "political" and "business" aspects of this issue. It was not clear to me that was your question. I was speaking to the "science" of software estimating. The science is simple and the business either supports it or it does not. If it does then a accurate scientific estimate can be produced. If not then whatever is stated verbally or on paper is done so from the perspective of "business" and has nothing to do with scientific accuracy, period. They are two completely different things.

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

                                  Sure, I take your point. But this is debating semantics. The business is most definately involved in the estimation of the time it takes to produce software. And I don't believe we're solely concerned with scientific accuracy, but with striking a balance that works in the real world. This statement is false.

                                  1 Reply Last reply
                                  0
                                  • C Chris S Kaiser

                                    This would be a good article. Especially if it cited real-world examples of successes and failures in the process. I think two seperate sections would be needed though, one where the engineer is directly working with a client and another where the engineer has to work with internal management. It seems to me that it might be easier to convey the reality of the estimation directly with a client than with a management that thinks it can get done in the time they dictate. I could be wrong though. I like the idea of revisiting the estimate with each milestone. That and breaking it down to the task level and documenting the results. This statement is false.

                                    M Offline
                                    M Offline
                                    Marc Clifton
                                    wrote on last edited by
                                    #52

                                    Chris S Kaiser wrote:

                                    It seems to me that it might be easier to convey the reality of the estimation directly with a client than with a management that thinks it can get done in the time they dictate. I could be wrong though.

                                    Doubt it. A client, paying hourly, will ask "how long will this take". A manager, paying salaries, will say "it needs to be done yesterday."

                                    Chris S Kaiser wrote:

                                    Especially if it cited real-world examples of successes and failures in the process.

                                    The problem is, if I cited recent failures from one of my client's in particular, they would know that, as they read my articles, and not be happy with me. It's much easier to write about successes and bury the failures, it seems. Still, something to think about. And I definitely agree, working with clients vs. management is two separate things, no matter how much TQM training you've had, where you're supposed to treat your manager as a client. I wish there was a way for an article to be more like a wiki, where someone could write the core piece and others could make further contributions. Marc Pensieve

                                    Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson

                                    People are just notoriously impossible. --DavidCrow

                                    C 1 Reply Last reply
                                    0
                                    • M Marc Clifton

                                      Chris S Kaiser wrote:

                                      It seems to me that it might be easier to convey the reality of the estimation directly with a client than with a management that thinks it can get done in the time they dictate. I could be wrong though.

                                      Doubt it. A client, paying hourly, will ask "how long will this take". A manager, paying salaries, will say "it needs to be done yesterday."

                                      Chris S Kaiser wrote:

                                      Especially if it cited real-world examples of successes and failures in the process.

                                      The problem is, if I cited recent failures from one of my client's in particular, they would know that, as they read my articles, and not be happy with me. It's much easier to write about successes and bury the failures, it seems. Still, something to think about. And I definitely agree, working with clients vs. management is two separate things, no matter how much TQM training you've had, where you're supposed to treat your manager as a client. I wish there was a way for an article to be more like a wiki, where someone could write the core piece and others could make further contributions. Marc Pensieve

                                      Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson

                                      People are just notoriously impossible. --DavidCrow

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

                                      That's kinda what I was thinking. This would be much better as a colaborative work. Plus we could get some of those failures without puttin' you on the spot. :laugh:;) This might be a nice enhancement for Chris to consider.. a discussion based article.. dunno. This statement is false.

                                      M 1 Reply Last reply
                                      0
                                      • C Chris S Kaiser

                                        The date given to the customer is by management. The estimate is for management as a reality check as to whether or not the date given to the customer can be met or not. And there's no bidding. No competition. I'm hired as a consultant to work this project, and its renewable, but I was using this scenario hypothetically to discuss this possibility. Sounds like your nitpicking dude.

                                        led mike wrote:

                                        An "accurate" estimate is only obtainable from "accurate requirements". Anything else is just a "guess" not an estimate.

                                        An estimate is a guess. From Wiki: Estimation From Wikipedia, the free encyclopedia Estimation is the calculated approximation of a result which is usable even if input data may be incomplete, uncertain, or noisy. So this is a guess. And your debating semantics here and not addressing the issue. This statement is false.

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

                                        Chris S Kaiser wrote:

                                        The estimate is for management as a reality check as to whether or not the date given to the customer can be met or not.

                                        Oh... hmmm, never seen that before. That would tend to change things a bit.

                                        Chris S Kaiser wrote:

                                        And your debating semantics here and not addressing the issue.

                                        Not my intention, given your situation I can see how it looks that way.

                                        Chris S Kaiser wrote:

                                        calculated approximation

                                        Exactly what I was saying, the more accurate the information... the more accurate the estimate. That's all I was trying to say. I got a little confused about the whole "bidding" thing. I am easily confused... that's why I need accurate requirements! :laugh:

                                        C 1 Reply Last reply
                                        0
                                        • C Chris S Kaiser

                                          That's kinda what I was thinking. This would be much better as a colaborative work. Plus we could get some of those failures without puttin' you on the spot. :laugh:;) This might be a nice enhancement for Chris to consider.. a discussion based article.. dunno. This statement is false.

                                          M Offline
                                          M Offline
                                          Marc Clifton
                                          wrote on last edited by
                                          #55

                                          Chris S Kaiser wrote:

                                          a discussion based article

                                          It occurred to me that one could make the email address and password public, then people could sign in and edit the article. :) Marc Pensieve

                                          Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson

                                          People are just notoriously impossible. --DavidCrow

                                          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