Loading ...
Sorry, an error occurred while loading the content.

RE: [scrumdevelopment] Waterfall and Dr. Winston Royce

Expand Messages
  • Mike Beedle
    ... Mike Cohn wrote: Here s an interesting bit of math though that shows that if the $23 million project was managed via Scrum it could end up with 1000
    Message 1 of 24 , Dec 12, 2002
    • 0 Attachment
      --- Mike Cohn <mike@...> wrote:
      Mike Cohn wrote:
      Here's an interesting bit of math though that shows
      that if the $23<BR>
      million project was managed via Scrum it could end up
      with 1000 pages.<BR>
      Let's assume 200 people on the project for 12 months.
      200 people would<BR>
      be roughly 25 scrum teams. Each month each scrum team
      produces a sprint<BR>
      backlog (a list of "requirements" they'll
      fulfill that sprint). That's<BR>
      13 sprints/year times 25 teams or 325 individual
      sprints. If each sprint<BR>
      kept it's sprint backlog (for any of a variety of
      reasons) and one page<BR>
      summarizing the results of the sprint and one other
      page we'd have 975<BR>
      pages!!<BR>
      <BR>
      -Mike<BR>
      <BR>
      1 page x 100 x 12<BR>
      <BR>


      Mike:

      Ah, but there is a difference on _how_ the "Scrum
      1000 page requirements document" was put together;
      and in turn, _how_ the software was put togehter;
      because it was as _evolved_, _reprioritized_,
      _tested_, _integrated_, and _developed iteratively_
      through customer feedback while ensuring the comfort
      of the developers.

      To be able to do that you need:

      - short time-boxing
      - constant people interactions
      - shared values than promote cooperation
      - self-organizing behavior
      - constant learning
      - knowledge sharing
      - a license to do research and be creative
      - etc.
      - (and all of the other things that synergistically
      contribute to create a true agile environment)

      Yes, I know -- I am preaching to the choir, I just
      want
      to underline that the _how_ is perhaps very important,

      - Mike
    • Mike Cohn
      Absolutely, Absolutly! And even using the example I gave we d only get 75 pages of paper per month for a 200 person team. -Mike ... From: Mike Beedle
      Message 2 of 24 , Dec 12, 2002
      • 0 Attachment
        Absolutely, Absolutly!

        And even using the example I gave we'd only get 75 pages of paper per
        month for a 200 person "team."

        -Mike

        -----Original Message-----
        From: Mike Beedle [mailto:beedlem@...]
        Sent: Thursday, December 12, 2002 6:28 PM
        To: scrumdevelopment@yahoogroups.com
        Subject: RE: [scrumdevelopment] Waterfall and Dr. Winston Royce


        --- Mike Cohn <mike@...> wrote:
        Mike Cohn wrote:
        Here's an interesting bit of math though that shows
        that if the $23<BR>
        million project was managed via Scrum it could end up
        with 1000 pages.<BR>
        Let's assume 200 people on the project for 12 months.
        200 people would<BR>
        be roughly 25 scrum teams. Each month each scrum team
        produces a sprint<BR>
        backlog (a list of "requirements" they'll
        fulfill that sprint). That's<BR>
        13 sprints/year times 25 teams or 325 individual
        sprints. If each sprint<BR>
        kept it's sprint backlog (for any of a variety of
        reasons) and one page<BR>
        summarizing the results of the sprint and one other
        page we'd have 975<BR>
        pages!!<BR>
        <BR>
        -Mike<BR>
        <BR>
        1 page x 100 x 12<BR>
        <BR>


        Mike:

        Ah, but there is a difference on _how_ the "Scrum
        1000 page requirements document" was put together;
        and in turn, _how_ the software was put togehter;
        because it was as _evolved_, _reprioritized_,
        _tested_, _integrated_, and _developed iteratively_
        through customer feedback while ensuring the comfort
        of the developers.

        To be able to do that you need:

        - short time-boxing
        - constant people interactions
        - shared values than promote cooperation
        - self-organizing behavior
        - constant learning
        - knowledge sharing
        - a license to do research and be creative
        - etc.
        - (and all of the other things that synergistically
        contribute to create a true agile environment)

        Yes, I know -- I am preaching to the choir, I just
        want
        to underline that the _how_ is perhaps very important,

        - Mike








        To Post a message, send it to: scrumdevelopment@...
        To Unsubscribe, send a blank message to:
        scrumdevelopment-unsubscribe@...

        Your use of Yahoo! Groups is subject to
        http://docs.yahoo.com/info/terms/
      • Mary Poppendieck
        Ken, Although I agree that Winston Royce s paper doesn t describe an Agile process of today, I think it is not such a bad paper if you take into consideration
        Message 3 of 24 , Dec 12, 2002
        • 0 Attachment

          Ken,

           

          Although I agree that Winston Royce’s paper doesn’t describe an Agile process of today, I think it is not such a bad paper if you take into consideration the following:

           

          1.       In figure 7, Royce proposes an early ‘simulation’ done by a small skilled team, to prove the concept.  Thus he says that a complete iteration through, testing and usage, is the most appropriate form of feedback.  He notes that going only one level up is not adequate.

           

          2.       I certainly disagree with Royce on the usefulness of the extensive documentation he recommends.  But note – you can substitute tests for most of Royce’s documentation, and if you do this, the paper is not so bad.  Royce didn’t have access to the testing capability we do today, but if he did, I’ll bet most of his documentation would be changed tests in a 2003 paper.

           

          3.       At least Royce admits that everything besides analysis and coding is waste. How many people have been insulted when I called all that other stuff waste!  Now I can quote Royce at them and have someone with real credibility back me up.

           

          I have a suggestion that comes from product development.  In the 1980’s, product development in the US was decidedly sequential.  Nobody had a clue how to do it any other way.  You’ve got to excuse the software development writers of the time for their sequential bias – it was everywhere (in this country anyway).

           

          In the late 1980’s, Kim Clark studied the product development practices of automakers world-wide.  The results are in his book “Product Development Performance” (1991) and Womack’s book “The Machine that Changed the World,” (1990). They noted that Japanese product development practices saved 1/3 in development time and 1/2 the development effort, and resulted in better products – consistently, across the industry.  They called Japanese practices concurrent development.  Most US automobile companies have moved from sequential to concurrent product development, as have many other companies.

           

          Clark points out that the fundamental difference between sequential and concurrent development is the information flow between people.  It is high bandwidth, bi-directional, and concurrent (ie, information gets transferred as soon as design starts, not when its done).  The feedback provided by this approach is enormous, and accounts for the large, consistent improvement in performance.

           

          I vote for a redefinition of terms:  Waterfall becomes sequential.  Agile becomes concurrent. 

           

          Sequential is a true description of what is considered traditional software development, and is not a pejorative.  Concurrent captures the essential difference of Agile, especially since it requires broad communication and feedback.  (I know you said the heart of agile is creativity, but who’s to say that a sequential process has no creativity?)

           

          Mary Poppendieck

          www.poppendieck.com

          952-934-7998

           

           

             From: "Ken Schwaber <ken.schwaber@...>" <ken.schwaber@...>

          Subject: Waterfall and Dr. Winston Royce

           

          At recent conferences, especially OOPSLA, I and others in the agile

          community were taken to task for not learning from history.

          Specifically, we were castigated for creating a them/us divide

          between prior delopment processes and agile processes. We were

          advised that we could only have done this division through ignorance,

          since the previous efforts contained many of the elements and,

          perhaps, even the essence of agility.

           

          At OOPSLA, we defined the essence of agility as the ability to be

          creative, to determine the right thing to do and then do it. Other

          aspects, such as iterations, increments, self-organization,

          emergence, collaboration were important supports, but without the

          creativity, agile

          loses its heart.

           

          So, when I was directed to the seminal papers on waterfall, I was

          quite hopeful to learn from my mistakes. After all, I had

          implemented numerous waterfall methodologies, including SADM, SSDM,

          SDM, Navigator, ForeFront, Method/1, and Summit. And none of them

          were agile or had the attributes of agile. But, I was advised that

          these were improper implementations of the paper that Dr. Winston

          Royce published in 1970, which included such agile mechanisms as

          iterations and complete freedom to move up and down within the

          waterfall.

           

          So I read the paper, "Managing The Development of Large Software

          Systems" which is available in the Session 9 ISCE ACM archives. Dr.

          Royce wrote the paper based on his 9 years of experience in

          spacecraft planning, command and post-flight analysis systems. His

          first comment was that "analysis and coding" are the essential steps

          to an development effort "which involve genuinely creative work which

          directly contributes to the usefulness of the final product." He then

          goes on to undercut this by saying "Many additional development steps

          are required, none contribute as directly to the final product as

          analysis and coding, and all drive up the development costs."

           

          Dr. Royce then goes on to describe a very extensive waterfall model

          for development. Iteration is allowed, but only "iteration with the

          preceding and succeeding steps (phases) but rarely with more remote

          steps in the sequence. The virtue of all of this is that as the

          design proceeds the change process is scope DOWN to manageable

          limits."

           

          Documentation - Dr. Royce, "My own view is quite a lot...the first

          rule of managing software development is ruthless enforcement of

          documentation requirements ... Management of software is simply

          impossible without a very high degree of documentation." Dr. Royce

          indicates that a 1000 page spec document is appropriate for a $5m

          project, mostly because "a verbal record is too intangible."

           

          Dr Royce's paper brings forth many sound concepts, such as get a

          formal structure, clear delineration of types of work, and roles.

          However, his paper is the mother of all waterfalls and the mother of

          all of the things which agile is intended to remedy. Great for the

          time, an important step forward, but not appropriate for most

          applications that I know about at this time.

           

          Ken

           

           

           

        • Adriano Comai
          Ken, this is a concrete example of what I mean for agile . In my opinion, agile means not only small releases and timeboxing, not only frequent feedback, not
          Message 4 of 24 , Dec 14, 2002
          • 0 Attachment
            Ken,

            this is a concrete example of what I mean for "agile".

            In my opinion, agile means not only small releases and timeboxing, not only
            frequent feedback, not only creativity and self organization.
            Yes, in most cases direct communication is better than documentation (to
            simplify a complex problem).

            But the core of agility is: given a concrete situation, with concrete
            constraints (as the presence of existing management reporting practices in
            an organization), which is the best way to effectiveness, to achieve the
            success of the project? How to overcome those constraints?

            We are seldom in ideal situations, where all the agile practices can be used
            without any constraint (Paul's is certainly one of these non ideal
            situations). But we must deal with them, in the best realistic way.

            I think most of "agile" comes simply after "experience". Of what works, of
            what does not work.
            Waterfall is simple, and sounds effective to those who have not had the
            experience of its drawbacks. Now we know it's not effective, after
            experience. After the experience of 32 years of software development, and of
            waterfall problems, I guess Winston Royce in 2002 would not write the same
            paper. (You are anyway right, it's nonsense to say that the 1970 paper from
            Royce "contained many of the elements and, perhaps, even the essence of
            agility").

            Adriano Comai
            www.analisi-disegno.com

            > -----Messaggio originale-----
            > Da: Ken Schwaber [mailto:ken.schwaber@...]
            > Inviato: venerdi 13 dicembre 2002 1.30
            > A: scrumdevelopment@yahoogroups.com
            > Oggetto: RE: [scrumdevelopment] Waterfall and Dr. Winston Royce

            [...]
            > minimize the disruption. For instance, management
            > reporting. Absolutely a difficult item to tackle. I usually recommend that
            > existing management reporting be kept totally intact, overhead
            > and all, and
            > that Scrum reporting be added to it. During review meetings, review the
            > "real" progress on the Scrum reports. Eventually, management gets
            > comfortable with these reports AND the actual progress demonstrated at the
            > Sprint reviews. But this is a "win them over" not "kill them with
            > how right
            > I am" approach. Management is threatened enough by ScrumMaster and them
            > "helping" the teams rather than telling the teams what to do. And then we
            > turn them out of their offices and turn the office into a team
            > design room.
            > Wow! That's difficult change!
            > Ken
          • Adriano Comai
            Mary, thank you for this great post. You are able to put new lights upon things. Adriano Comai www.analisi-disegno.com ... Da: Mary Poppendieck
            Message 5 of 24 , Dec 14, 2002
            • 0 Attachment
              Mary,
               
              thank you for this great post. You are able to put new lights upon things.
               

              Adriano Comai
              www.analisi-disegno.com

               
              -----Messaggio originale-----
              Da: Mary Poppendieck [mailto:mary@...]
              Inviato: venerdì 13 dicembre 2002 4.50
              A: scrumdevelopment@yahoogroups.com
              Oggetto: RE: [scrumdevelopment] Waterfall and Dr. Winston Royce

              Ken,

               

              Although I agree that Winston Royce’s paper doesn’t describe an Agile process of today, I think it is not such a bad paper if you take into consideration the following:

               

              1.       In figure 7, Royce proposes an early ‘simulation’ done by a small skilled team, to prove the concept.  Thus he says that a complete iteration through, testing and usage, is the most appropriate form of feedback.  He notes that going only one level up is not adequate.

               

              2.       I certainly disagree with Royce on the usefulness of the extensive documentation he recommends.  But note – you can substitute tests for most of Royce’s documentation, and if you do this, the paper is not so bad.  Royce didn’t have access to the testing capability we do today, but if he did, I’ll bet most of his documentation would be changed tests in a 2003 paper.

               

              3.       At least Royce admits that everything besides analysis and coding is waste. How many people have been insulted when I called all that other stuff waste!  Now I can quote Royce at them and have someone with real credibility back me up.

               

              I have a suggestion that comes from product development.  In the 1980’s, product development in the US was decidedly sequential.  Nobody had a clue how to do it any other way.  You’ve got to excuse the software development writers of the time for their sequential bias – it was everywhere (in this country anyway).

               

              In the late 1980’s, Kim Clark studied the product development practices of automakers world-wide.  The results are in his book “Product Development Performance” (1991) and Womack’s book “The Machine that Changed the World,” (1990). They noted that Japanese product development practices saved 1/3 in development time and 1/2 the development effort, and resulted in better products – consistently, across the industry.  They called Japanese practices concurrent development.  Most US automobile companies have moved from sequential to concurrent product development, as have many other companies.

               

              Clark points out that the fundamental difference between sequential and concurrent development is the information flow between people.  It is high bandwidth, bi-directional, and concurrent (ie, information gets transferred as soon as design starts, not when its done).  The feedback provided by this approach is enormous, and accounts for the large, consistent improvement in performance.

               

              I vote for a redefinition of terms:  Waterfall becomes sequential.  Agile becomes concurrent. 

               

              Sequential is a true description of what is considered traditional software development, and is not a pejorative.  Concurrent captures the essential difference of Agile, especially since it requires broad communication and feedback.  (I know you said the heart of agile is creativity, but who’s to say that a sequential process has no creativity?)

               

              Mary Poppendieck

              www.poppendieck.com

              952-934-7998

            • Mike Cohn
              I think the popularity of waterfall is that everything degrades into waterfall model to some extent. I ve only got one brain (and it only works half the time)
              Message 6 of 24 , Dec 14, 2002
              • 0 Attachment
                I think the popularity of waterfall is that everything degrades into
                waterfall model to some extent.

                I've only got one brain (and it only works half the time) and I've only
                got two hands so I just half to do things sequentially.

                When Boehm first introduced the spiral model (a big step toward agility
                at the time) it was criticized because one could "unroll the spiral" and
                be back at waterfall. At an extreme (perhaps at the level of a day or
                more likely hours) we could say Scrum is a series of waterfall
                activities:

                -Meet in the morning and chose work
                --talk to Product Owner and fill in missing knowledge
                --design it (in your head perhaps)
                --code it
                --unit test
                --etc.

                Depending on how you think about it and do it, though, these steps
                happen hourly, daily, or maybe month-long (the full sprint).

                Even a fairly extreme shift like Kent Beck's Test-Driven Development is
                a waterfall to some extent: find a requirement, write a test (that
                fails), write the code, retest, refactor. All repeated on a scale of
                minutes.

                Waterfall retains its popularity because at some level ALL other
                processes look like a waterfall. I hate the over-used "paradigm shift"
                but there really is a shift in one's thinking that has to occur before
                really seeing that yes, of course, things happen "sequentially" but they
                are also happening all at once. And the feedback from the chaotic events
                are influencing the activities you're just starting. I've talked with a
                number of managers about Scrum and they claim to get it and then
                implement it as a series of waterfall steps. For example, spend the
                first week of a sprint "refining requirements", then two weeks coding
                then one week testing.

                I've actually used this to my advantage in introducing Scrum to groups.
                If I have a group that thinks they "get it" but are still thinking a
                little too sequentially I phase Scrum in. We'll start with a
                "Requirements Capture Sprint" (2-4 weeks). This is just like a regular
                sprint but we're really after finding out more about requirements. Then
                we do an "Analysis and Design Sprint" (2-4 weeks). By now the team is
                getting into the rhythm of sprints and are starting to see
                self-organization and a little bit of emergence. I stress that they
                don't need to "finish" requirements capturing or analysis/design during
                those sprints, just get enough done that they're ready to code. I
                promise we'll do another Requirements Capture or Analysis and Design
                sprint later if necessary (it almost never is!). Then we start an
                Implementation Sprint. Finally, that's the real thing and is pretty much
                what Scrum is meant to be. By now the team is usually very accustomed to
                this way of working and the project rhythm is established. We plan to do
                a couple of Implementation Sprints and then another Analysis & Design
                Sprint and that gives them comfort. But when something comes up the team
                usually decides they can handle the analysis/design work within the
                context of an Implementation (normal) Sprint.

                This all works because it starts out feeling like there's a waterfall or
                sequentiality to the work that makes many managers feel comfortable. By
                the time they notice though the rug is pulled out and they're doing a
                little requirements, a little design, a little coding, all together at
                once.

                --Mike

                -----Original Message-----
                From: Adriano Comai [mailto:comai@...]
                Sent: Saturday, December 14, 2002 1:51 AM
                To: scrumdevelopment@yahoogroups.com
                Subject: R: [scrumdevelopment] Waterfall and Dr. Winston Royce

                Ken,

                this is a concrete example of what I mean for "agile".

                In my opinion, agile means not only small releases and timeboxing, not
                only
                frequent feedback, not only creativity and self organization.
                Yes, in most cases direct communication is better than documentation (to
                simplify a complex problem).

                But the core of agility is: given a concrete situation, with concrete
                constraints (as the presence of existing management reporting practices
                in
                an organization), which is the best way to effectiveness, to achieve the
                success of the project? How to overcome those constraints?

                We are seldom in ideal situations, where all the agile practices can be
                used
                without any constraint (Paul's is certainly one of these non ideal
                situations). But we must deal with them, in the best realistic way.

                I think most of "agile" comes simply after "experience". Of what works,
                of
                what does not work.
                Waterfall is simple, and sounds effective to those who have not had the
                experience of its drawbacks. Now we know it's not effective, after
                experience. After the experience of 32 years of software development,
                and of
                waterfall problems, I guess Winston Royce in 2002 would not write the
                same
                paper. (You are anyway right, it's nonsense to say that the 1970 paper
                from
                Royce "contained many of the elements and, perhaps, even the essence of
                agility").

                Adriano Comai
                www.analisi-disegno.com

                > -----Messaggio originale-----
                > Da: Ken Schwaber [mailto:ken.schwaber@...]
                > Inviato: venerdi 13 dicembre 2002 1.30
                > A: scrumdevelopment@yahoogroups.com
                > Oggetto: RE: [scrumdevelopment] Waterfall and Dr. Winston Royce

                [...]
                > minimize the disruption. For instance, management
                > reporting. Absolutely a difficult item to tackle. I usually recommend
                that
                > existing management reporting be kept totally intact, overhead
                > and all, and
                > that Scrum reporting be added to it. During review meetings, review
                the
                > "real" progress on the Scrum reports. Eventually, management gets
                > comfortable with these reports AND the actual progress demonstrated at
                the
                > Sprint reviews. But this is a "win them over" not "kill them with
                > how right
                > I am" approach. Management is threatened enough by ScrumMaster and
                them
                > "helping" the teams rather than telling the teams what to do. And then
                we
                > turn them out of their offices and turn the office into a team
                > design room.
                > Wow! That's difficult change!
                > Ken



                To Post a message, send it to: scrumdevelopment@...
                To Unsubscribe, send a blank message to:
                scrumdevelopment-unsubscribe@...

                Your use of Yahoo! Groups is subject to
                http://docs.yahoo.com/info/terms/
              • Adriano Comai
                Mike, your Scrum introduction strategy is another great example of what I mean for agile . A tangible, out-of-experience way to overcome obstacles and
                Message 7 of 24 , Dec 14, 2002
                • 0 Attachment
                  Mike,

                  your Scrum introduction strategy is another great example of what I mean for
                  "agile". A tangible, out-of-experience way to overcome obstacles and
                  constraints (organizational, cultural) to be effective, to avoid risks and
                  achieve success.

                  But. Even if it's true that every iterative process can be unrolled to seem
                  sequential (if you look at a portion of it with a microscope), obviously the
                  real difference with waterfall thinking is in that little statement of
                  yours: "I stress that they don't need to "finish" requirements capturing or
                  analysis/design during those sprints, just get enough done that they're
                  ready to code".

                  Adriano Comai
                  www.analisi-disegno.com

                  > -----Messaggio originale-----
                  > Da: Mike Cohn [mailto:mike@...]
                  > Inviato: sabato 14 dicembre 2002 20.48
                  > A: scrumdevelopment@yahoogroups.com
                  > Oggetto: RE: [scrumdevelopment] Waterfall and Dr. Winston Royce
                  >
                  >
                  > I think the popularity of waterfall is that everything degrades into
                  > waterfall model to some extent.
                  >
                  > I've only got one brain (and it only works half the time) and I've only
                  > got two hands so I just half to do things sequentially.
                  >
                  > When Boehm first introduced the spiral model (a big step toward agility
                  > at the time) it was criticized because one could "unroll the spiral" and
                  > be back at waterfall. At an extreme (perhaps at the level of a day or
                  > more likely hours) we could say Scrum is a series of waterfall
                  > activities:
                  >
                  > -Meet in the morning and chose work
                  > --talk to Product Owner and fill in missing knowledge
                  > --design it (in your head perhaps)
                  > --code it
                  > --unit test
                  > --etc.
                  >
                  > Depending on how you think about it and do it, though, these steps
                  > happen hourly, daily, or maybe month-long (the full sprint).
                  >
                  > Even a fairly extreme shift like Kent Beck's Test-Driven Development is
                  > a waterfall to some extent: find a requirement, write a test (that
                  > fails), write the code, retest, refactor. All repeated on a scale of
                  > minutes.
                  >
                  > Waterfall retains its popularity because at some level ALL other
                  > processes look like a waterfall. I hate the over-used "paradigm shift"
                  > but there really is a shift in one's thinking that has to occur before
                  > really seeing that yes, of course, things happen "sequentially" but they
                  > are also happening all at once. And the feedback from the chaotic events
                  > are influencing the activities you're just starting. I've talked with a
                  > number of managers about Scrum and they claim to get it and then
                  > implement it as a series of waterfall steps. For example, spend the
                  > first week of a sprint "refining requirements", then two weeks coding
                  > then one week testing.
                  >
                  > I've actually used this to my advantage in introducing Scrum to groups.
                  > If I have a group that thinks they "get it" but are still thinking a
                  > little too sequentially I phase Scrum in. We'll start with a
                  > "Requirements Capture Sprint" (2-4 weeks). This is just like a regular
                  > sprint but we're really after finding out more about requirements. Then
                  > we do an "Analysis and Design Sprint" (2-4 weeks). By now the team is
                  > getting into the rhythm of sprints and are starting to see
                  > self-organization and a little bit of emergence. I stress that they
                  > don't need to "finish" requirements capturing or analysis/design during
                  > those sprints, just get enough done that they're ready to code. I
                  > promise we'll do another Requirements Capture or Analysis and Design
                  > sprint later if necessary (it almost never is!). Then we start an
                  > Implementation Sprint. Finally, that's the real thing and is pretty much
                  > what Scrum is meant to be. By now the team is usually very accustomed to
                  > this way of working and the project rhythm is established. We plan to do
                  > a couple of Implementation Sprints and then another Analysis & Design
                  > Sprint and that gives them comfort. But when something comes up the team
                  > usually decides they can handle the analysis/design work within the
                  > context of an Implementation (normal) Sprint.
                  >
                  > This all works because it starts out feeling like there's a waterfall or
                  > sequentiality to the work that makes many managers feel comfortable. By
                  > the time they notice though the rug is pulled out and they're doing a
                  > little requirements, a little design, a little coding, all together at
                  > once.
                  >
                  > --Mike
                • Mike Cohn
                  Absolutely, Adriano. A problem though is that many people are so used to thinking that they do need to finish (or get 90% finished) that they are uncomfortable
                  Message 8 of 24 , Dec 14, 2002
                  • 0 Attachment
                    Absolutely, Adriano. A problem though is that many people are so used to
                    thinking that they do need to finish (or get 90% finished) that they are
                    uncomfortable making a conscious decision to change that way of working.
                    I used the sprint types to subtly show them that they can move more
                    toward doing it all simultaneously.

                    --Mike

                    -----Original Message-----
                    From: Adriano Comai [mailto:comai@...]
                    Sent: Saturday, December 14, 2002 1:31 PM
                    To: scrumdevelopment@yahoogroups.com
                    Subject: R: [scrumdevelopment] Waterfall and Dr. Winston Royce

                    Mike,

                    your Scrum introduction strategy is another great example of what I mean
                    for
                    "agile". A tangible, out-of-experience way to overcome obstacles and
                    constraints (organizational, cultural) to be effective, to avoid risks
                    and
                    achieve success.

                    But. Even if it's true that every iterative process can be unrolled to
                    seem
                    sequential (if you look at a portion of it with a microscope), obviously
                    the
                    real difference with waterfall thinking is in that little statement of
                    yours: "I stress that they don't need to "finish" requirements capturing
                    or
                    analysis/design during those sprints, just get enough done that they're
                    ready to code".

                    Adriano Comai
                    www.analisi-disegno.com

                    > -----Messaggio originale-----
                    > Da: Mike Cohn [mailto:mike@...]
                    > Inviato: sabato 14 dicembre 2002 20.48
                    > A: scrumdevelopment@yahoogroups.com
                    > Oggetto: RE: [scrumdevelopment] Waterfall and Dr. Winston Royce
                    >
                    >
                    > I think the popularity of waterfall is that everything degrades into
                    > waterfall model to some extent.
                    >
                    > I've only got one brain (and it only works half the time) and I've
                    only
                    > got two hands so I just half to do things sequentially.
                    >
                    > When Boehm first introduced the spiral model (a big step toward
                    agility
                    > at the time) it was criticized because one could "unroll the spiral"
                    and
                    > be back at waterfall. At an extreme (perhaps at the level of a day or
                    > more likely hours) we could say Scrum is a series of waterfall
                    > activities:
                    >
                    > -Meet in the morning and chose work
                    > --talk to Product Owner and fill in missing knowledge
                    > --design it (in your head perhaps)
                    > --code it
                    > --unit test
                    > --etc.
                    >
                    > Depending on how you think about it and do it, though, these steps
                    > happen hourly, daily, or maybe month-long (the full sprint).
                    >
                    > Even a fairly extreme shift like Kent Beck's Test-Driven Development
                    is
                    > a waterfall to some extent: find a requirement, write a test (that
                    > fails), write the code, retest, refactor. All repeated on a scale of
                    > minutes.
                    >
                    > Waterfall retains its popularity because at some level ALL other
                    > processes look like a waterfall. I hate the over-used "paradigm shift"
                    > but there really is a shift in one's thinking that has to occur before
                    > really seeing that yes, of course, things happen "sequentially" but
                    they
                    > are also happening all at once. And the feedback from the chaotic
                    events
                    > are influencing the activities you're just starting. I've talked with
                    a
                    > number of managers about Scrum and they claim to get it and then
                    > implement it as a series of waterfall steps. For example, spend the
                    > first week of a sprint "refining requirements", then two weeks coding
                    > then one week testing.
                    >
                    > I've actually used this to my advantage in introducing Scrum to
                    groups.
                    > If I have a group that thinks they "get it" but are still thinking a
                    > little too sequentially I phase Scrum in. We'll start with a
                    > "Requirements Capture Sprint" (2-4 weeks). This is just like a regular
                    > sprint but we're really after finding out more about requirements.
                    Then
                    > we do an "Analysis and Design Sprint" (2-4 weeks). By now the team is
                    > getting into the rhythm of sprints and are starting to see
                    > self-organization and a little bit of emergence. I stress that they
                    > don't need to "finish" requirements capturing or analysis/design
                    during
                    > those sprints, just get enough done that they're ready to code. I
                    > promise we'll do another Requirements Capture or Analysis and Design
                    > sprint later if necessary (it almost never is!). Then we start an
                    > Implementation Sprint. Finally, that's the real thing and is pretty
                    much
                    > what Scrum is meant to be. By now the team is usually very accustomed
                    to
                    > this way of working and the project rhythm is established. We plan to
                    do
                    > a couple of Implementation Sprints and then another Analysis & Design
                    > Sprint and that gives them comfort. But when something comes up the
                    team
                    > usually decides they can handle the analysis/design work within the
                    > context of an Implementation (normal) Sprint.
                    >
                    > This all works because it starts out feeling like there's a waterfall
                    or
                    > sequentiality to the work that makes many managers feel comfortable.
                    By
                    > the time they notice though the rug is pulled out and they're doing a
                    > little requirements, a little design, a little coding, all together at
                    > once.
                    >
                    > --Mike


                    To Post a message, send it to: scrumdevelopment@...
                    To Unsubscribe, send a blank message to:
                    scrumdevelopment-unsubscribe@...

                    Your use of Yahoo! Groups is subject to
                    http://docs.yahoo.com/info/terms/
                  • Martin Fowler
                    ... I often say that the only problem with waterfalls is when they are too large. It s reasonable to kayak the Rogue River, it isn t wise to Kayak over Niagara
                    Message 9 of 24 , Dec 14, 2002
                    • 0 Attachment
                      Mike Cohn wrote:
                      > I think the popularity of waterfall is that everything degrades into
                      > waterfall model to some extent.

                      > Even a fairly extreme shift like Kent Beck's Test-Driven Development is
                      > a waterfall to some extent: find a requirement, write a test (that
                      > fails), write the code, retest, refactor. All repeated on a scale of
                      > minutes.
                      >

                      I often say that the only problem with waterfalls is when they are too
                      large. It's reasonable to kayak the Rogue River, it isn't wise to Kayak
                      over Niagara Falls

                      Martin
                    • Mike Cohn
                      Great example! -Mike ... From: Martin Fowler [mailto:mfowlerlists@thoughtworks.net] Sent: Saturday, December 14, 2002 6:24 PM To:
                      Message 10 of 24 , Dec 14, 2002
                      • 0 Attachment
                        Great example!

                        -Mike

                        -----Original Message-----
                        From: Martin Fowler [mailto:mfowlerlists@...]
                        Sent: Saturday, December 14, 2002 6:24 PM
                        To: scrumdevelopment@yahoogroups.com
                        Subject: Re: [scrumdevelopment] Waterfall and Dr. Winston Royce



                        Mike Cohn wrote:
                        > I think the popularity of waterfall is that everything degrades into
                        > waterfall model to some extent.

                        > Even a fairly extreme shift like Kent Beck's Test-Driven Development
                        is
                        > a waterfall to some extent: find a requirement, write a test (that
                        > fails), write the code, retest, refactor. All repeated on a scale of
                        > minutes.
                        >

                        I often say that the only problem with waterfalls is when they are too
                        large. It's reasonable to kayak the Rogue River, it isn't wise to Kayak
                        over Niagara Falls

                        Martin


                        To Post a message, send it to: scrumdevelopment@...
                        To Unsubscribe, send a blank message to:
                        scrumdevelopment-unsubscribe@...

                        Your use of Yahoo! Groups is subject to
                        http://docs.yahoo.com/info/terms/
                      • Robert Henley
                        ... Which is exactly the point of lean production: small lot sizes work better. And an excellent example; I laughed out loud. Thank you! Robert Henley Software
                        Message 11 of 24 , Dec 14, 2002
                        • 0 Attachment
                          Martin Fowler wrote:

                          > I often say that the only problem with waterfalls is when they are too
                          > large. It's reasonable to kayak the Rogue River, it isn't wise to Kayak
                          > over Niagara Falls

                          Which is exactly the point of lean production: small lot sizes work better.
                          And an excellent example; I laughed out loud. Thank you!
                          Robert Henley
                          Software Architect & Engineer
                        • Kevin McIntosh
                          I m sure you couldn t convince this guy that going over Niagara Falls is such a bad idea... http://www.taoberman.com/
                          Message 12 of 24 , Dec 15, 2002
                          • 0 Attachment
                            I'm sure you couldn't convince this guy that going over Niagara Falls is such a bad idea...
                             
                            http://www.taoberman.com/ <---- Nothing to do with PM.
                             
                            -Kevin.
                            -----Original Message-----
                            From: Robert Henley [mailto:rhenley@...]
                            Sent: Sunday, 15 December 2002 2:44 PM
                            To: scrumdevelopment@yahoogroups.com
                            Subject: Re: [scrumdevelopment] Waterfall and Dr. Winston Royce

                            Martin Fowler wrote:

                            > I often say that the only problem with waterfalls is when they are too
                            > large. It's reasonable to kayak the Rogue River, it isn't wise to Kayak
                            > over Niagara Falls

                            Which is exactly the point of lean production: small lot sizes work better.
                            And an excellent example; I laughed out loud. Thank you!
                            Robert Henley
                            Software Architect & Engineer


                            To Post a message, send it to:   scrumdevelopment@...
                            To Unsubscribe, send a blank message to: scrumdevelopment-unsubscribe@...


                            Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
                          Your message has been successfully submitted and would be delivered to recipients shortly.