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. General Programming
  3. Design and Architecture
  4. Waterfall vs Agile and Project Estimates

Waterfall vs Agile and Project Estimates

Scheduled Pinned Locked Moved Design and Architecture
visual-studiodesigntestingbusinessbeta-testing
11 Posts 5 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.
  • E Offline
    E Offline
    emunews
    wrote on last edited by
    #1

    I'm used to doing waterfall design and development. For my next project, we're going use agile methodology. Well, it's not really agile. The only part of agile they want us to do is to do iterative releases and have daily stand-up meetings. I estimated the project to be 1,900 hours if we use waterful (which we won't, but I did it waterful because that's what I'm use to). Now, I want to convert that waterfall estimate into an agile estimate. Is there any rule of thumb or simple formula I can use? I'm thinking that agile should take longer because of the iterative releases, in that every release requires a new round of testing and deployments. Any thoughts?

    P P U 3 Replies Last reply
    0
    • E emunews

      I'm used to doing waterfall design and development. For my next project, we're going use agile methodology. Well, it's not really agile. The only part of agile they want us to do is to do iterative releases and have daily stand-up meetings. I estimated the project to be 1,900 hours if we use waterful (which we won't, but I did it waterful because that's what I'm use to). Now, I want to convert that waterfall estimate into an agile estimate. Is there any rule of thumb or simple formula I can use? I'm thinking that agile should take longer because of the iterative releases, in that every release requires a new round of testing and deployments. Any thoughts?

      P Offline
      P Offline
      Pete OHanlon
      wrote on last edited by
      #2

      emunews wrote:

      I'm thinking that agile should take longer because of the iterative releases

      That's not the way it normally works. Because you do smaller, faster releases you should aim at producing better quality code up front. It's a discipline that you have to work at, but it pays dividends.

      "WPF has many lovers. It's a veritable porn star!" - Josh Smith

      My blog | My articles | MoXAML PowerToys

      E 1 Reply Last reply
      0
      • P Pete OHanlon

        emunews wrote:

        I'm thinking that agile should take longer because of the iterative releases

        That's not the way it normally works. Because you do smaller, faster releases you should aim at producing better quality code up front. It's a discipline that you have to work at, but it pays dividends.

        "WPF has many lovers. It's a veritable porn star!" - Josh Smith

        My blog | My articles | MoXAML PowerToys

        E Offline
        E Offline
        emunews
        wrote on last edited by
        #3

        Yes, I understand that it proports to produce better code. But I'm not really asking about code quality. I'm asking about project estimation. EDIT: Also, note that this is not a true agile approach. There won't be pair programming for example. The two agile tennants they want to use are interative releases and stand-up meetings. That's it. The business rules for the entire scope of the project are already done.

        L P 2 Replies Last reply
        0
        • E emunews

          Yes, I understand that it proports to produce better code. But I'm not really asking about code quality. I'm asking about project estimation. EDIT: Also, note that this is not a true agile approach. There won't be pair programming for example. The two agile tennants they want to use are interative releases and stand-up meetings. That's it. The business rules for the entire scope of the project are already done.

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

          emunews wrote:

          The two agile tennants they want to use are interative releases

          Well if you don't do the iterative part correctly ( this gets bastardized into total chaos in many cases ) you will wind up in a giant out of control mess. Therefore no estimating technique has any chance of being accurate.

          led mike

          1 Reply Last reply
          0
          • E emunews

            Yes, I understand that it proports to produce better code. But I'm not really asking about code quality. I'm asking about project estimation. EDIT: Also, note that this is not a true agile approach. There won't be pair programming for example. The two agile tennants they want to use are interative releases and stand-up meetings. That's it. The business rules for the entire scope of the project are already done.

            P Offline
            P Offline
            Pete OHanlon
            wrote on last edited by
            #5

            emunews wrote:

            I'm asking about project estimation.

            The quality of what you do upfront has a huge impact on your project estimation. Traditional waterfall has to cope with the testing phase occuring fairly late on in the development process, which means that your test teams come in late on, have a much larger surface area of code to test, and defect correction takes a heckuva lot longer. Here's a hint - work out the high level use cases of what your project needs to do. Then, break these down into scope areas. This will give you a much better idea of how long it's going to take based on an iterative approach where you normally have a week of realisation, 2 weeks of indepth coding and a tidy up week. This level of scoping really does help - we made the leap and we haven't looked back. BTW - standup meetings. Yuck. Try to introduce them to the concept of getting all the interested parties together on a regular basis. Realisation phase - a meeting to talk about the scope of the current iteration, and then a meeting later on in the week to show the high level use case along with what you've realised for it (typically this is 80% complete). This meeting would involve the developers, any architects you need, the testers and an end-user "champion". Then, at regular intervals over the development part of the iteration, have informal get-togethers where you show what's been done, and identify what's left to do. I'll guarantee that stuff will fall out of scope, but you'll carry it over into the next phase.

            "WPF has many lovers. It's a veritable porn star!" - Josh Smith

            My blog | My articles | MoXAML PowerToys

            E 1 Reply Last reply
            0
            • P Pete OHanlon

              emunews wrote:

              I'm asking about project estimation.

              The quality of what you do upfront has a huge impact on your project estimation. Traditional waterfall has to cope with the testing phase occuring fairly late on in the development process, which means that your test teams come in late on, have a much larger surface area of code to test, and defect correction takes a heckuva lot longer. Here's a hint - work out the high level use cases of what your project needs to do. Then, break these down into scope areas. This will give you a much better idea of how long it's going to take based on an iterative approach where you normally have a week of realisation, 2 weeks of indepth coding and a tidy up week. This level of scoping really does help - we made the leap and we haven't looked back. BTW - standup meetings. Yuck. Try to introduce them to the concept of getting all the interested parties together on a regular basis. Realisation phase - a meeting to talk about the scope of the current iteration, and then a meeting later on in the week to show the high level use case along with what you've realised for it (typically this is 80% complete). This meeting would involve the developers, any architects you need, the testers and an end-user "champion". Then, at regular intervals over the development part of the iteration, have informal get-togethers where you show what's been done, and identify what's left to do. I'll guarantee that stuff will fall out of scope, but you'll carry it over into the next phase.

              "WPF has many lovers. It's a veritable porn star!" - Josh Smith

              My blog | My articles | MoXAML PowerToys

              E Offline
              E Offline
              emunews
              wrote on last edited by
              #6

              Don't you do a round of testing for each new release?

              P 1 Reply Last reply
              0
              • E emunews

                Don't you do a round of testing for each new release?

                P Offline
                P Offline
                Pete OHanlon
                wrote on last edited by
                #7

                Yes. But the point is, you do it at the end of a release, and the new phase of development starts at the same time. Defects get rolled up into the next phase, so you don't have that time consuming round of testing at the very end. Tests are smaller, more focused, and cheaper to fix because they are caught earlier on.

                "WPF has many lovers. It's a veritable porn star!" - Josh Smith

                My blog | My articles | MoXAML PowerToys

                E 1 Reply Last reply
                0
                • P Pete OHanlon

                  Yes. But the point is, you do it at the end of a release, and the new phase of development starts at the same time. Defects get rolled up into the next phase, so you don't have that time consuming round of testing at the very end. Tests are smaller, more focused, and cheaper to fix because they are caught earlier on.

                  "WPF has many lovers. It's a veritable porn star!" - Josh Smith

                  My blog | My articles | MoXAML PowerToys

                  E Offline
                  E Offline
                  emunews
                  wrote on last edited by
                  #8

                  Well, that means that time (measured as start of project to end) is quicker but time (measured in man-hours) is longer. Correct?

                  P 1 Reply Last reply
                  0
                  • E emunews

                    Well, that means that time (measured as start of project to end) is quicker but time (measured in man-hours) is longer. Correct?

                    P Offline
                    P Offline
                    Pete OHanlon
                    wrote on last edited by
                    #9

                    Actually, we've found that man-hours cost is actually lower because we don't have developers sitting around at the end of a project waiting to fix bugs, and the test teams aren't wasting time up front.

                    "WPF has many lovers. It's a veritable porn star!" - Josh Smith

                    My blog | My articles | MoXAML PowerToys

                    1 Reply Last reply
                    0
                    • E emunews

                      I'm used to doing waterfall design and development. For my next project, we're going use agile methodology. Well, it's not really agile. The only part of agile they want us to do is to do iterative releases and have daily stand-up meetings. I estimated the project to be 1,900 hours if we use waterful (which we won't, but I did it waterful because that's what I'm use to). Now, I want to convert that waterfall estimate into an agile estimate. Is there any rule of thumb or simple formula I can use? I'm thinking that agile should take longer because of the iterative releases, in that every release requires a new round of testing and deployments. Any thoughts?

                      P Offline
                      P Offline
                      PH MAT
                      wrote on last edited by
                      #10

                      emunews wrote:

                      every release requires a new round of testing and deployments

                      The sooner you find bug, the cheaper the project becomes. Agile projects become expensive when new requirements are brought up between iterations because more attention is being paid to the working of the program. The final quality is better. So the main issue is to keep track of changes in requirements during the iterations and make sure those changes are estimated and added to your budget.

                      1 Reply Last reply
                      0
                      • E emunews

                        I'm used to doing waterfall design and development. For my next project, we're going use agile methodology. Well, it's not really agile. The only part of agile they want us to do is to do iterative releases and have daily stand-up meetings. I estimated the project to be 1,900 hours if we use waterful (which we won't, but I did it waterful because that's what I'm use to). Now, I want to convert that waterfall estimate into an agile estimate. Is there any rule of thumb or simple formula I can use? I'm thinking that agile should take longer because of the iterative releases, in that every release requires a new round of testing and deployments. Any thoughts?

                        U Offline
                        U Offline
                        User 3677987
                        wrote on last edited by
                        #11

                        I would give the same estimate for a given project regardless of methodology. When I give an estimate, I am essentially saying "I think this will take N days if done using reasonable development techniques." These do not have to be the exact development techniques used previously. Methodologies evolve, and what you're describing is the kind of incremental adjustment in methodology which is assumed to be going on all the time in any good shop. Hopefully you will get faster over time, and the estimating model should always be updated as discrepancies are observed, but there's no immediate need that I perceive for you to adjust it right now. Also, I do not think I have ever seen or heard anyone claiming to use the "waterfall method." It's considered a perjorative term these days, almost like saying "my coding style is spaghetti" or "our team's style is garage hacker." When you say "my estimating technique works for waterfall" you're basically saying it's an estimating model for bad techniques. Finally, I think Agile is much better than waterfall, or (as proponents of Agile might say) it's much better than BDUF (Big Design Up Front). I don't think there's much value anymore to the style (call it waterfall, BDUF, or just mid-90s orthodoxy) in which the architect types spend weeks or months dicking around with object hierarchies, UML, etc. before coding ever starts. That time almost always ends up wasted, in my experience. In the absence of code, the architects don't have any real basis for their decisions. Programming instructors are quite wise when they implore us to use natural language, pencil and paper, diagrams, etc., but I think many of us in the 90s went too far in this direction. Also, I think people attempted to over-formalize good technique. What emerged from this effort was a bunch of simplistic, canned methodologies that isolated "design" into its own step at the beginning of the process, performed by an elite cadre of non-programmers. Hopefully we have left, or are leaving, this era!

                        modified on Thursday, December 4, 2008 4:57 PM

                        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