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. Estimating software like omelettes

Estimating software like omelettes

Scheduled Pinned Locked Moved The Lounge
csscomsalestoolsregex
44 Posts 25 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.
  • M Marc Clifton

    And like an omelette, you have to break a few eggs to get the job done. ;)

    Latest Articles:
    Fun Exploring Div and Table UI Layout

    A Offline
    A Offline
    abh555
    wrote on last edited by
    #30

    Marc Clifton wrote:

    you have to break a few eggs to get the job done

    I know a fellow who uses that expression often, mostly to excuse the collateral damage caused by various upgrades. I'm glad he doesn't run an airline.

    1 Reply Last reply
    0
    • G Gary R Wheeler

      Them's fightin' words! Put 'em up! :mad: :laugh:

      Software Zen: delete this;

      R Offline
      R Offline
      raddevus
      wrote on last edited by
      #31

      :laugh:

      1 Reply Last reply
      0
      • R raddevus

        Reading thru The Mythical Man Month and there are quite a few interesting items.

        The Mythical Man-Month, Anniversary Edition: Essays On Software Engineering 2, Frederick P. Brooks Jr., eBook - Amazon.com[^]

        Gutless Estimating Observe that for the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion. An omelette, promised in two minutes, may appear to be progressing nicely. But when it has not set in two minutes, the customer has two choices --- wait or eat it raw. Software customers have had the same choices. The cook has another choice; he can turn up the heat. The result is often an omelette nothing can save --— burned in one part, raw in another. Now I do not think software managers have less inherent courage and firmness than chefs, nor than other engineering managers. But false scheduling to match the patron's desired date is much more common in our discipline than elsewhere in engineering. It is very difficult to make a vigorous, plausible, and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers. Clearly two solutions are needed. We need to develop and publicize productivity figures, bug-incidence figures, estimating rules, and so on. The whole profession can only profit from sharing such data. Until estimating is on a sounder basis, individual managers will need to stiffen their backbones and defend their estimates with the assurance that their poor hunches are better than wish-derived estimates.

        I'm pretty sure that estimating hasn't changed at all since t

        5 Offline
        5 Offline
        5teveH
        wrote on last edited by
        #32

        I have nothing to add, other than: this is the best thread that has ever been on CodeProject. :thumbsup:

        1 Reply Last reply
        0
        • R raddevus

          Reading thru The Mythical Man Month and there are quite a few interesting items.

          The Mythical Man-Month, Anniversary Edition: Essays On Software Engineering 2, Frederick P. Brooks Jr., eBook - Amazon.com[^]

          Gutless Estimating Observe that for the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion. An omelette, promised in two minutes, may appear to be progressing nicely. But when it has not set in two minutes, the customer has two choices --- wait or eat it raw. Software customers have had the same choices. The cook has another choice; he can turn up the heat. The result is often an omelette nothing can save --— burned in one part, raw in another. Now I do not think software managers have less inherent courage and firmness than chefs, nor than other engineering managers. But false scheduling to match the patron's desired date is much more common in our discipline than elsewhere in engineering. It is very difficult to make a vigorous, plausible, and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers. Clearly two solutions are needed. We need to develop and publicize productivity figures, bug-incidence figures, estimating rules, and so on. The whole profession can only profit from sharing such data. Until estimating is on a sounder basis, individual managers will need to stiffen their backbones and defend their estimates with the assurance that their poor hunches are better than wish-derived estimates.

          I'm pretty sure that estimating hasn't changed at all since t

          S Offline
          S Offline
          Slow Eddie
          wrote on last edited by
          #33

          I am amazed no one mentioned project creep.... "Oh, can you add some mushrooms?", once you already folded the omelet.

          A programmer, like a woman's work, is never done.

          R 1 Reply Last reply
          0
          • R raddevus

            Reading thru The Mythical Man Month and there are quite a few interesting items.

            The Mythical Man-Month, Anniversary Edition: Essays On Software Engineering 2, Frederick P. Brooks Jr., eBook - Amazon.com[^]

            Gutless Estimating Observe that for the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion. An omelette, promised in two minutes, may appear to be progressing nicely. But when it has not set in two minutes, the customer has two choices --- wait or eat it raw. Software customers have had the same choices. The cook has another choice; he can turn up the heat. The result is often an omelette nothing can save --— burned in one part, raw in another. Now I do not think software managers have less inherent courage and firmness than chefs, nor than other engineering managers. But false scheduling to match the patron's desired date is much more common in our discipline than elsewhere in engineering. It is very difficult to make a vigorous, plausible, and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers. Clearly two solutions are needed. We need to develop and publicize productivity figures, bug-incidence figures, estimating rules, and so on. The whole profession can only profit from sharing such data. Until estimating is on a sounder basis, individual managers will need to stiffen their backbones and defend their estimates with the assurance that their poor hunches are better than wish-derived estimates.

            I'm pretty sure that estimating hasn't changed at all since t

            M Offline
            M Offline
            MSBassSinger
            wrote on last edited by
            #34

            2 things: 1 - The more time spent getting a requirements document and initial design correct, the better the estimate. Too many weak managers (i.e. not leaders) push to get "something" instead of the right thing, and the team and customer pay for that later. 2 - If a manager cannot or will not stand up to the customer (internal or external) and push back in order to manage the software development life cycle correctly, then that person lacks the leadership, management, and sales skills necessary to do the job. An effective manager makes an understandable and convincing case for doing things the right way. In the end, customers want success, not headaches and broken promises. Managers that do their job because they read how in some book, learned in some course, or got certified in some methodology are likely to fail. All those sources of information are good, but if the manager cannot synthesize that information into their experience, insight, and intelligence to figure out how to best manage a given project, then that manager needs to step aside or be replaced.

            R 1 Reply Last reply
            0
            • S Slow Eddie

              I am amazed no one mentioned project creep.... "Oh, can you add some mushrooms?", once you already folded the omelet.

              A programmer, like a woman's work, is never done.

              R Offline
              R Offline
              raddevus
              wrote on last edited by
              #35

              Slow Eddie wrote:

              "Oh, can you add some mushrooms?", once you already folded the omelet.

              :thumbsup: :laugh:

              1 Reply Last reply
              0
              • R raddevus

                Reading thru The Mythical Man Month and there are quite a few interesting items.

                The Mythical Man-Month, Anniversary Edition: Essays On Software Engineering 2, Frederick P. Brooks Jr., eBook - Amazon.com[^]

                Gutless Estimating Observe that for the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion. An omelette, promised in two minutes, may appear to be progressing nicely. But when it has not set in two minutes, the customer has two choices --- wait or eat it raw. Software customers have had the same choices. The cook has another choice; he can turn up the heat. The result is often an omelette nothing can save --— burned in one part, raw in another. Now I do not think software managers have less inherent courage and firmness than chefs, nor than other engineering managers. But false scheduling to match the patron's desired date is much more common in our discipline than elsewhere in engineering. It is very difficult to make a vigorous, plausible, and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers. Clearly two solutions are needed. We need to develop and publicize productivity figures, bug-incidence figures, estimating rules, and so on. The whole profession can only profit from sharing such data. Until estimating is on a sounder basis, individual managers will need to stiffen their backbones and defend their estimates with the assurance that their poor hunches are better than wish-derived estimates.

                I'm pretty sure that estimating hasn't changed at all since t

                M Offline
                M Offline
                maze3
                wrote on last edited by
                #36

                Upon completing the omelette, and the patron then requests that it be 3 egg omelette and not the 2 egg that you delivered, what do you do? - Cook a 3rd egg solo and sit it next to the other omelette. - start from scratch. - Cook the 3rd egg then when nearly done add in the complete omelette hoping that it looks like it merges together.

                R 1 Reply Last reply
                0
                • M MSBassSinger

                  2 things: 1 - The more time spent getting a requirements document and initial design correct, the better the estimate. Too many weak managers (i.e. not leaders) push to get "something" instead of the right thing, and the team and customer pay for that later. 2 - If a manager cannot or will not stand up to the customer (internal or external) and push back in order to manage the software development life cycle correctly, then that person lacks the leadership, management, and sales skills necessary to do the job. An effective manager makes an understandable and convincing case for doing things the right way. In the end, customers want success, not headaches and broken promises. Managers that do their job because they read how in some book, learned in some course, or got certified in some methodology are likely to fail. All those sources of information are good, but if the manager cannot synthesize that information into their experience, insight, and intelligence to figure out how to best manage a given project, then that manager needs to step aside or be replaced.

                  R Offline
                  R Offline
                  raddevus
                  wrote on last edited by
                  #37

                  Great points. :thumbsup:

                  1 Reply Last reply
                  0
                  • M maze3

                    Upon completing the omelette, and the patron then requests that it be 3 egg omelette and not the 2 egg that you delivered, what do you do? - Cook a 3rd egg solo and sit it next to the other omelette. - start from scratch. - Cook the 3rd egg then when nearly done add in the complete omelette hoping that it looks like it merges together.

                    R Offline
                    R Offline
                    raddevus
                    wrote on last edited by
                    #38

                    maze3 wrote:

                    Upon completing the omelette, and the patron then requests that it be 3 egg omelette and not the 2 egg that you delivered, what do you do?

                    • Cook a 3rd egg solo and sit it next to the other omelette.
                    • start from scratch.
                    • Cook the 3rd egg then when nearly done add in the complete omelette hoping that it looks like it merges together.

                    :thumbsup: You make great points about the original missing something and then what do you do. Clearly, Microservices is the answer here!!! :rolleyes: Phew...just need to mention Microservices two more times and I'll get my my buzzword quota in today. :-D

                    1 Reply Last reply
                    0
                    • R raddevus

                      Reading thru The Mythical Man Month and there are quite a few interesting items.

                      The Mythical Man-Month, Anniversary Edition: Essays On Software Engineering 2, Frederick P. Brooks Jr., eBook - Amazon.com[^]

                      Gutless Estimating Observe that for the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion. An omelette, promised in two minutes, may appear to be progressing nicely. But when it has not set in two minutes, the customer has two choices --- wait or eat it raw. Software customers have had the same choices. The cook has another choice; he can turn up the heat. The result is often an omelette nothing can save --— burned in one part, raw in another. Now I do not think software managers have less inherent courage and firmness than chefs, nor than other engineering managers. But false scheduling to match the patron's desired date is much more common in our discipline than elsewhere in engineering. It is very difficult to make a vigorous, plausible, and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers. Clearly two solutions are needed. We need to develop and publicize productivity figures, bug-incidence figures, estimating rules, and so on. The whole profession can only profit from sharing such data. Until estimating is on a sounder basis, individual managers will need to stiffen their backbones and defend their estimates with the assurance that their poor hunches are better than wish-derived estimates.

                      I'm pretty sure that estimating hasn't changed at all since t

                      A Offline
                      A Offline
                      agolddog
                      wrote on last edited by
                      #39

                      A better question is, why are estimates that try to give specific timeframes important at all? I understand giving a broad swath, so the business can decide to pursue a project or not: if the estimate is "wow, this is huge", maybe they figure it's not worth doing. It seems that we've demonstrated time and again that for any non-trivial projects, estimates of completion are not only not accurate, they're mostly wildly inaccurate. Not necessarily due to the estimated work itself, but other things get in the way like support of current systems, illness, life events, whatever. It seems to me that it's a lot smarter try to break big projects into releasable chunks, and understand your dependencies. Then you might be able to say something like, "when step 1 is done, we'll start on step 2. Step 2 should take X days/weeks/months from its start date (which may not be immediately after step 1 completion)". If you can get your steps into small enough chunks to be understandable, you'll probably have a bit more success getting close to the time. Presenting things in this way makes it more understandable for non-technical people to understand dependencies and the fact the development does not have constant speed, and that they can also see progress on the overall project as we're ticking off steps.

                      R 1 Reply Last reply
                      0
                      • R raddevus

                        Reading thru The Mythical Man Month and there are quite a few interesting items.

                        The Mythical Man-Month, Anniversary Edition: Essays On Software Engineering 2, Frederick P. Brooks Jr., eBook - Amazon.com[^]

                        Gutless Estimating Observe that for the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion. An omelette, promised in two minutes, may appear to be progressing nicely. But when it has not set in two minutes, the customer has two choices --- wait or eat it raw. Software customers have had the same choices. The cook has another choice; he can turn up the heat. The result is often an omelette nothing can save --— burned in one part, raw in another. Now I do not think software managers have less inherent courage and firmness than chefs, nor than other engineering managers. But false scheduling to match the patron's desired date is much more common in our discipline than elsewhere in engineering. It is very difficult to make a vigorous, plausible, and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers. Clearly two solutions are needed. We need to develop and publicize productivity figures, bug-incidence figures, estimating rules, and so on. The whole profession can only profit from sharing such data. Until estimating is on a sounder basis, individual managers will need to stiffen their backbones and defend their estimates with the assurance that their poor hunches are better than wish-derived estimates.

                        I'm pretty sure that estimating hasn't changed at all since t

                        U Offline
                        U Offline
                        User 14060113
                        wrote on last edited by
                        #40

                        You cannot estimate creative work at all. We, the software engineers, only pretend it's possible to avoid the job-risking discussions with patrons. It is all just gut feeling, based on prior experience with similar tasks. The more experience the engineer has, the better the estimation will be. I think the best way would be to handle it like Scotty in Star Trek: Estimate for yourself first, tell the captain 3 times as much, make it in 2 times as much, and be admired for being the wunderkind. ;-)

                        1 Reply Last reply
                        0
                        • D devenv exe

                          Marc Clifton wrote:

                          And like an omelette, you have to break a few eggs to get the job done.

                          And just un-like an omelette, the software job is never, ever done

                          "Coming soon"

                          B Offline
                          B Offline
                          BStorrar
                          wrote on last edited by
                          #41

                          Surely you keep your omelette up to date with the latest frying pans and optional herbs and spices?

                          1 Reply Last reply
                          0
                          • A agolddog

                            A better question is, why are estimates that try to give specific timeframes important at all? I understand giving a broad swath, so the business can decide to pursue a project or not: if the estimate is "wow, this is huge", maybe they figure it's not worth doing. It seems that we've demonstrated time and again that for any non-trivial projects, estimates of completion are not only not accurate, they're mostly wildly inaccurate. Not necessarily due to the estimated work itself, but other things get in the way like support of current systems, illness, life events, whatever. It seems to me that it's a lot smarter try to break big projects into releasable chunks, and understand your dependencies. Then you might be able to say something like, "when step 1 is done, we'll start on step 2. Step 2 should take X days/weeks/months from its start date (which may not be immediately after step 1 completion)". If you can get your steps into small enough chunks to be understandable, you'll probably have a bit more success getting close to the time. Presenting things in this way makes it more understandable for non-technical people to understand dependencies and the fact the development does not have constant speed, and that they can also see progress on the overall project as we're ticking off steps.

                            R Offline
                            R Offline
                            raddevus
                            wrote on last edited by
                            #42

                            Great post and I agree.

                            agolddog wrote:

                            It seems to me that it's a lot smarter try to break big projects into releasable chunks, and understand your dependencies. Then you might be able to say something like, "when step 1 is done, we'll start on step 2

                            That's really the core of Agile Scrum*. * I know that this could start an entire other thread about Agile and what it is and what it is not. But what you've defined really is what the Real Agile advocates. Will the real Agile please stand up? Please stand up.

                            1 Reply Last reply
                            0
                            • R raddevus

                              Reading thru The Mythical Man Month and there are quite a few interesting items.

                              The Mythical Man-Month, Anniversary Edition: Essays On Software Engineering 2, Frederick P. Brooks Jr., eBook - Amazon.com[^]

                              Gutless Estimating Observe that for the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion. An omelette, promised in two minutes, may appear to be progressing nicely. But when it has not set in two minutes, the customer has two choices --- wait or eat it raw. Software customers have had the same choices. The cook has another choice; he can turn up the heat. The result is often an omelette nothing can save --— burned in one part, raw in another. Now I do not think software managers have less inherent courage and firmness than chefs, nor than other engineering managers. But false scheduling to match the patron's desired date is much more common in our discipline than elsewhere in engineering. It is very difficult to make a vigorous, plausible, and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers. Clearly two solutions are needed. We need to develop and publicize productivity figures, bug-incidence figures, estimating rules, and so on. The whole profession can only profit from sharing such data. Until estimating is on a sounder basis, individual managers will need to stiffen their backbones and defend their estimates with the assurance that their poor hunches are better than wish-derived estimates.

                              I'm pretty sure that estimating hasn't changed at all since t

                              L Offline
                              L Offline
                              Lost User
                              wrote on last edited by
                              #43

                              The problem was the (single) omelette. It should have been 2 eggs, bacon, toast, etc. You then get to deliver piece meal: the customer stays "hungry" (enthusiastic) because they're getting a steady stream of "ready" deliverables that can be consumes and / or assembled if so desired (egg sandwich?). Someone else may repurpose it later into an omelette. You cut back or delay certain deliverables without delaying or sacrificing the most desirable parts of the meal.

                              The Master said, 'Am I indeed possessed of knowledge? I am not knowing. But if a mean person, who appears quite empty-like, ask anything of me, I set it forth from one end to the other, and exhaust it.' ― Confucian Analects

                              1 Reply Last reply
                              0
                              • OriginalGriffO OriginalGriff

                                A bug in the hand in worth two in the SQL.

                                Sent from my Amstrad PC 1640 Never throw anything away, Griff Bad command or file name. Bad, bad command! Sit! Stay! Staaaay... AntiTwitter: @DalekDave is now a follower!

                                G Offline
                                G Offline
                                Gary R Wheeler
                                wrote on last edited by
                                #44

                                My running partner at work occasionally shows me SQL statements that run to hundreds of lines. X| X| X| X| X| X| X|

                                Software Zen: delete this;

                                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