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

Projects that can't be done iteratively?

Expand Messages
  • Ted Graham
    A co-worker of mine is managing the development of our company s next generation product. While it seems unlikely we will get to use XP on this one, we are
    Message 1 of 30 , Jan 14, 2001
      A co-worker of mine is managing the development of our
      company's next generation product. While it seems
      unlikely we will get to use XP on this one, we are
      pushing hard for an iterative development model. It
      is a roughly 100 person-month, 12 calendar month
      project to develop business software for resale
      (through implementation, not shrinkwrap). She is
      getting some strong resistance from senior engineering
      management, who are ex-academics from our offshore
      development site. They argue that "the functionality
      is so intertwined that it is not possible to develop
      it iteratively." While I don't believe this, it
      started me thinking. Have you run across projects
      that cannot be developed iteratively? Or how about
      projects where XP is a bad fit? I looked for these on
      the c2 Wiki, but I didn't find anything.

      Your input appreciated.

      Ted

      __________________________________________________
      Do You Yahoo!?
      Get email at your own domain with Yahoo! Mail.
      http://personal.mail.yahoo.com/
    • Russell Gold
      ... It is certainly possible that some products may not be *deliverable* iteratively. That is, there is always some minimal set of functionality without which
      Message 2 of 30 , Jan 14, 2001
        At 1:31 AM -0500 1/15/01, Ted Graham wrote:
        >A co-worker of mine is managing the development of our
        >company's next generation product. While it seems
        >unlikely we will get to use XP on this one, we are
        >pushing hard for an iterative development model. It
        >is a roughly 100 person-month, 12 calendar month
        >project to develop business software for resale
        >(through implementation, not shrinkwrap). She is
        >getting some strong resistance from senior engineering
        >management, who are ex-academics from our offshore
        >development site. They argue that "the functionality
        >is so intertwined that it is not possible to develop
        >it iteratively." While I don't believe this, it
        >started me thinking. Have you run across projects
        >that cannot be developed iteratively? Or how about
        >projects where XP is a bad fit? I looked for these on
        >the c2 Wiki, but I didn't find anything.

        It is certainly possible that some products may not be *deliverable* iteratively. That is, there is always some minimal set of functionality without which end users will not make any serious attempt to use the system. This is especially true when the new system is a replacement for an existing one: the minimal set is roughly equal to the useful functionality in the old system.

        But I cannot conceive of a product cannot be *developed* iteratively. At least I am in the habit of writing code on piece at a time, and testing as I go. For it to be impossible to develop a product iteratively, it essentially must be the case that there is no possible useful test that can be made on the system if any part of it is not implemented - and no way to stub out any part to allow for testing, either.

        I think (and hope) that the objections you see may be a result of confusion of these ideas. That your customers think you want to deliver the product iteratively and expect them to give you useful feedback from end-users with only part of it working. Have you tried to explain the difference?

        ------------------------------------------------------------------------
        Russell Gold | "... society is tradition and order
        russgold@... (preferred) | and reverence, not a series of cheap
        russgold@... | bargains between selfish interests."
        rgold@... | - Poul Anderson, "Iron"
      • Bob Koss
        ... Translation: the design is so f****d-up that it is not possible to develop it iteratively. ... Yes, but the problems were always political rather than
        Message 3 of 30 , Jan 15, 2001
          > They argue that "the functionality
          > is so intertwined that it is not possible to develop
          > it iteratively."

          Translation: "the design is so f****d-up that it is not possible to develop
          it iteratively."


          > While I don't believe this, it
          > started me thinking. Have you run across projects
          > that cannot be developed iteratively? Or how about
          > projects where XP is a bad fit?

          Yes, but the problems were always political rather than technical.


          ----
          Robert S. Koss, Ph.D. | Training and Mentoring
          Senior Consultant | Object Oriented Design
          Object Mentor, Inc. | C++, Java
          www.objectmentor.com | Extreme Programming
        • Keith Richardson
          ... develop ... I am sure there are examples where functionality is so intertwined that iterative development does not work. Consider the development of a good
          Message 4 of 30 , Jan 15, 2001
            --- In extremeprogramming@egroups.com, "Bob Koss" <koss@o...> wrote:
            > > They argue that "the functionality
            > > is so intertwined that it is not possible to develop
            > > it iteratively."
            >
            > Translation: "the design is so f****d-up that it is not possible to
            develop
            > it iteratively."

            I am sure there are examples where functionality is so intertwined
            that iterative development does not work. Consider the development of
            a good chess program. I would solve this by creating many prototypes
            until the algorithm was complete and then implement the whole thing.
            There seems very little point making early prototypes in to
            production quality code.

            There are probably better examples of a business systems with this
            problem.

            I recognize that many defenders of the waterfall model are using
            cyclical arguments to defend their case - any failure is the result
            of bad requirements analysis rather than a failure in the model.
            Kent's book says that XP is not for all projects. Yet I get the
            feeling that similar cyclical arguments are used any time an example
            is brought up where XP may not work. The comment above is one of
            these. If any suggestion that a project can not be implemented
            iteratively implies the design is f**cked-up, then we can not have a
            discussion on whethere there are in fact projects that can not be
            implemented iteratively.
            Keith Richardson
          • Bob Koss
            ... Your first assumption is that you actually know when the algorithm is complete. Your second assumption is that you are the world s best chess player (how
            Message 5 of 30 , Jan 15, 2001
              > -----Original Message-----
              > From: Keith Richardson [mailto:keith@...]
              >
              >
              > --- In extremeprogramming@egroups.com, "Bob Koss" <koss@o...> wrote:
              > > > They argue that "the functionality
              > > > is so intertwined that it is not possible to develop
              > > > it iteratively."
              > >
              > > Translation: "the design is so f****d-up that it is not possible to
              > develop
              > > it iteratively."
              >
              > I am sure there are examples where functionality is so intertwined
              > that iterative development does not work. Consider the development of
              > a good chess program. I would solve this by creating many prototypes
              > until the algorithm was complete and then implement the whole thing.

              Your first assumption is that you actually know when the algorithm is
              complete. Your second assumption is that you are the world's best chess
              player (how else could you write said algorithm without any feedback? ).


              > There seems very little point making early prototypes in to
              > production quality code.
              >

              Oh, I don't know. One thing that I noticed while pair programming with Bob
              Martin (this was in the days when XP was only a twinkle in Beck's eye) was
              that he always wrote production quality code. Even if he didn't know what he
              was doing, it was always professional, production quality. If it worked, it
              was ready to ship. If it didn't work, he deleted it.


              > There are probably better examples of a business systems with this
              > problem.
              >

              I anxiously await your finding one. Until you do, I maintain that a design
              where functionality is intertwined is not a great design. It doesn't matter
              if we're doing XP or not -- such a design is rigid, inflexible, and
              difficult to maintain. People from Ohio call this a f****d up design.

              The only thing worse than having a f****d up design is using it as an excuse
              for not improving a process.


              > I recognize that many defenders of the waterfall model are using
              > cyclical arguments to defend their case - any failure is the result
              > of bad requirements analysis rather than a failure in the model.

              Okay, I haven't heard that reason, but I'll accept it.


              > Kent's book says that XP is not for all projects.

              Right. XP works best with a dozen or so programmers, in a room, with a
              customer. The more you stray from this (whether by project need or
              politics), the more risk is introduced.

              > Yet I get the
              > feeling that similar cyclical arguments are used any time an example
              > is brought up where XP may not work.
              > The comment above is one of
              > these. If any suggestion that a project can not be implemented
              > iteratively implies the design is f**cked-up, then we can not have a
              > discussion on whethere there are in fact projects that can not be
              > implemented iteratively.


              We can have a discussion, provided you don't read between the lines. Leaving
              XP out of this, how else would you characterize intertwined functionality?
              That was NEVER a good idea.

              State an example where you don't think XP will work, and we'll try to come
              up with ideas to make it work.

              ----
              Robert S. Koss, Ph.D. | Training and Mentoring
              Senior Consultant | Object Oriented Design
              Object Mentor, Inc. | C++, Java
              www.objectmentor.com | Extreme Programming
            • Robert A Crawford
              ... Early iterations create the board and movement models; later iterations develop a single-move-ahead AI; still later iterations push the AI into looking
              Message 6 of 30 , Jan 15, 2001
                On Mon, Jan 15, 2001 at 01:36:56PM -0000, Keith Richardson wrote:
                > I am sure there are examples where functionality is so intertwined
                > that iterative development does not work. Consider the development of
                > a good chess program. I would solve this by creating many prototypes
                > until the algorithm was complete and then implement the whole thing.
                > There seems very little point making early prototypes in to
                > production quality code.

                Early iterations create the board and movement models; later
                iterations develop a single-move-ahead AI; still later iterations
                push the AI into looking further and further ahead.

                But, in general, I agree -- I'm sure there are systems that
                cannot be developed iteratively. I think they're extremely rare, though.

                --
                crawford@...
                Sunday 14 Jan 2001: No Sasquatch sightings occured.
              • Russell Gold
                ... I wouldn t. It is true that the most common cause of failure in a waterfall model is bad requirements analysis. The failure in the model is that it
                Message 7 of 30 , Jan 15, 2001
                  At 9:07 AM -0500 1/15/01, Bob Koss wrote:
                  >> -----Original Message-----
                  >> From: Keith Richardson [mailto:keith@...]
                  >> I recognize that many defenders of the waterfall model are using
                  >> cyclical arguments to defend their case - any failure is the result
                  >> of bad requirements analysis rather than a failure in the model.
                  >
                  >Okay, I haven't heard that reason, but I'll accept it.

                  I wouldn't. It is true that the most common cause of failure in a waterfall model is bad requirements analysis. The failure in the model is that it assumes that it is almost always possible for typically available staff to do sufficiently good requirements analysis to make projects succeed. That is, the model only works as intended when you have nearly perfect customers, nearly perfect analysts, and nearly perfectly known problems. The model then is something which can work on a very small set of problems. The advantage of XP is not that Waterfall cannot work, but that XP is applicable to a larger set of real-world systems.

                  ------------------------------------------------------------------------
                  Russell Gold | "... society is tradition and order
                  russgold@... (preferred) | and reverence, not a series of cheap
                  russgold@... | bargains between selfish interests."
                  rgold@... | - Poul Anderson, "Iron"
                • Michael C. Feathers
                  ... From: Robert A Crawford ... Yes. They are kind of hard to imagine. You d have to have a solution style which would produce only
                  Message 8 of 30 , Jan 15, 2001
                    ----- Original Message -----
                    From: Robert A Crawford <crawford@...>
                    > Early iterations create the board and movement models; later
                    > iterations develop a single-move-ahead AI; still later iterations
                    > push the AI into looking further and further ahead.
                    >
                    > But, in general, I agree -- I'm sure there are systems that
                    > cannot be developed iteratively. I think they're extremely
                    > rare, though.

                    Yes. They are kind of hard to imagine. You'd have to
                    have a solution style which would produce only
                    inconsequential information as you develop and then
                    *bang* you have a product.

                    The only thing that I could imagine being like this
                    would be an adaptive agent system where a
                    swarm of independent processes collaborate
                    together to solve a problem as some emergent
                    effect of their interactions. Not your typical IT.
                    But, come to think of it, those sorts of things
                    are developed iteratively too.

                    Does anyone have an example of any system
                    which can not be developed incrementally?
                    It seems like the sort of question that should
                    have prize money attached to it.


                    Michael






                    ---------------------------------------------------
                    Michael Feathers mfeathers@...
                    Object Mentor Inc. www.objectmentor.com
                    XP & OO Training/Mentoring/Development
                    www.xprogramming.com / www.junit.org
                    ---------------------------------------------------
                    "You just keep going all the way, as deep as
                    you can. You keep trying to get right down
                    to the crux." -- John Coltrane
                  • Tom Mostyn
                    ... I think that force fitting XP so that it works for any given environments is a bad idea. Another poster responded to post of Glen Alleman s. The poster
                    Message 9 of 30 , Jan 15, 2001
                      Bob Koss wrote:
                      >
                      > We can have a discussion, provided you don't read between the lines. Leaving
                      > XP out of this, how else would you characterize intertwined functionality?
                      > That was NEVER a good idea.
                      >
                      > State an example where you don't think XP will work, and we'll try to come
                      > up with ideas to make it work.

                      I think that force fitting XP so that it works for any given
                      environments is a bad idea. Another poster responded to post of Glen
                      Alleman's. The poster summarized Glen's environment and noted that is
                      did not fit XP's requirements, and thus concluded that XP shouldn't be
                      used there. I wholeheartily agree with this attitude. And yet the
                      XPerts seem to want to make XP work everywhere.

                      Tom

                      --
                      __________________________________________
                      Tom Mostyn - Nortel Networks
                      GSM Surveillance Development
                    • Ilja Preuß
                      ... And (even more important), optimizing the position-valuation and adding heuristics for when not to look further ahead. I couldn t imagine how to do this
                      Message 10 of 30 , Jan 15, 2001
                        > On Mon, Jan 15, 2001 at 01:36:56PM -0000, Keith Richardson wrote:
                        > > I am sure there are examples where functionality is so intertwined
                        > > that iterative development does not work. Consider the
                        > development of
                        > > a good chess program. I would solve this by creating many
                        > prototypes
                        > > until the algorithm was complete and then implement the
                        > whole thing.
                        > > There seems very little point making early prototypes in to
                        > > production quality code.
                        >
                        > Early iterations create the board and movement models; later
                        > iterations develop a single-move-ahead AI; still later iterations
                        > push the AI into looking further and further ahead.

                        And (even more important), optimizing the position-valuation and adding
                        heuristics for when not to look further ahead. I couldn't imagine how to
                        do this *non*-iteratively. (BTW, I am just taking part in a practical
                        training where we have to write a program playing 'taxi-chess' (a
                        lightweight chess variant) in prolog. It's a very iterative development
                        process.)

                        ciao, Ilja
                      • David Corbin
                        ... I think this has been touched on elsewhere in this thread but -- Development (meaning coding) is ALWAYS iterative, because that s they time works
                        Message 11 of 30 , Jan 15, 2001
                          "Michael C. Feathers" wrote:
                          >
                          > Does anyone have an example of any system
                          > which can not be developed incrementally?
                          > It seems like the sort of question that should
                          > have prize money attached to it.
                          >

                          I think this has been touched on elsewhere in this thread but --

                          Development (meaning coding) is ALWAYS iterative, because that's they
                          time works (according to our current understanding of physics). The
                          alternative to iterative development, is to be able to "snap your
                          fingers", and "boom! it's done". Design is also iterative. What XP
                          brings to the table is the idea that an iteration should be short,
                          contain both design and development, AND at the end of the iteration,
                          release something. Traditional models want to have separate sets of
                          iterations, one for design, and one for development, and probably only
                          have a single release.


                          > Michael
                          >
                          > ---------------------------------------------------
                          > Michael Feathers mfeathers@...
                          > Object Mentor Inc. www.objectmentor.com
                          > XP & OO Training/Mentoring/Development
                          > www.xprogramming.com / www.junit.org
                          > ---------------------------------------------------
                          > "You just keep going all the way, as deep as
                          > you can. You keep trying to get right down
                          > to the crux." -- John Coltrane
                          >
                          > To Post a message, send it to: extremeprogramming@...
                          >
                          > To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe@...
                          >
                          > Ad-free courtesy of objectmentor.com

                          --
                          David Corbin
                          Mach Turtle Technologies, Inc.
                          http://www.machturtle.com
                          dcorbin@...
                        • David Corbin
                          ... XP is a child exploring it s surroundings. If you don t let it explore a little, then it will not grow, and it will remain an idiot savant. Suppose an XP
                          Message 12 of 30 , Jan 15, 2001
                            Tom Mostyn wrote:
                            >
                            > Bob Koss wrote:
                            > >
                            > > We can have a discussion, provided you don't read between the lines. Leaving
                            > > XP out of this, how else would you characterize intertwined functionality?
                            > > That was NEVER a good idea.
                            > >
                            > > State an example where you don't think XP will work, and we'll try to come
                            > > up with ideas to make it work.
                            >
                            > I think that force fitting XP so that it works for any given
                            > environments is a bad idea. Another poster responded to post of Glen
                            > Alleman's. The poster summarized Glen's environment and noted that is
                            > did not fit XP's requirements, and thus concluded that XP shouldn't be
                            > used there. I wholeheartily agree with this attitude. And yet the
                            > XPerts seem to want to make XP work everywhere.
                            >

                            XP is a child exploring it's surroundings. If you don't let it explore
                            a little, then it will not grow, and it will remain an idiot savant.
                            Suppose an XP rule said "All pair tables must be arranged in a square"
                            (after all, maybe that's how it was at C3 :) When you get to a certain
                            circumstance (large team?), you might revisit that rule and say "you
                            know, I bet a circle would work okay too. Just not a rectangle, as that
                            puts people too far away unnecessarily". This is called growth.

                            > Tom
                            >
                            > --
                            > __________________________________________
                            > Tom Mostyn - Nortel Networks
                            > GSM Surveillance Development
                            >
                            > To Post a message, send it to: extremeprogramming@...
                            >
                            > To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe@...
                            >
                            > Ad-free courtesy of objectmentor.com

                            --
                            David Corbin
                            Mach Turtle Technologies, Inc.
                            http://www.machturtle.com
                            dcorbin@...
                          • Michael C. Feathers
                            ... From: David Corbin To: Sent: Monday, January 15, 2001 12:02 PM Subject: Re: [XP] Re: Projects
                            Message 13 of 30 , Jan 15, 2001
                              ----- Original Message -----
                              From: David Corbin <dcorbin@...>
                              To: <extremeprogramming@egroups.com>
                              Sent: Monday, January 15, 2001 12:02 PM
                              Subject: Re: [XP] Re: Projects that can't be done iteratively?


                              > "Michael C. Feathers" wrote:
                              > >
                              > > Does anyone have an example of any system
                              > > which can not be developed incrementally?
                              > > It seems like the sort of question that should
                              > > have prize money attached to it.
                              > >
                              >
                              > I think this has been touched on elsewhere in this thread but --
                              >
                              > Development (meaning coding) is ALWAYS iterative, because that's they
                              > time works (according to our current understanding of physics). The
                              > alternative to iterative development, is to be able to "snap your
                              > fingers", and "boom! it's done". Design is also iterative. What XP
                              > brings to the table is the idea that an iteration should be short,
                              > contain both design and development, AND at the end of the iteration,
                              > release something. Traditional models want to have separate sets of
                              > iterations, one for design, and one for development, and probably only
                              > have a single release.

                              When I used the word 'development' I was including design,
                              but thanks, David.

                              Michael

                              ---------------------------------------------------
                              Michael Feathers mfeathers@...
                              Object Mentor Inc. www.objectmentor.com
                              XP & OO Training/Mentoring/Development
                              www.xprogramming.com / www.junit.org
                              ---------------------------------------------------
                              "You just keep going all the way, as deep as
                              you can. You keep trying to get right down
                              to the crux." -- John Coltrane
                            • Tom Mostyn
                              ... I agree with your statements. But I think XPers should temper statements abit clearly separating what is conjecture, theory and opinion, versus what has
                              Message 14 of 30 , Jan 15, 2001
                                David Corbin wrote:
                                >
                                > Tom Mostyn wrote:
                                > > I think that force fitting XP so that it works for any given
                                > > environments is a bad idea. Another poster responded to post of Glen
                                > > Alleman's. The poster summarized Glen's environment and noted that is
                                > > did not fit XP's requirements, and thus concluded that XP shouldn't be
                                > > used there. I wholeheartily agree with this attitude. And yet the
                                > > XPerts seem to want to make XP work everywhere.
                                > >
                                >
                                > XP is a child exploring it's surroundings. If you don't let it explore
                                > a little, then it will not grow, and it will remain an idiot savant.
                                > Suppose an XP rule said "All pair tables must be arranged in a square"
                                > (after all, maybe that's how it was at C3 :) When you get to a certain
                                > circumstance (large team?), you might revisit that rule and say "you
                                > know, I bet a circle would work okay too. Just not a rectangle, as that
                                > puts people too far away unnecessarily". This is called growth.

                                I agree with your statements. But I think XPers should temper
                                statements abit clearly separating what is conjecture, theory and
                                opinion, versus what has been tried, experienced and proven. Also, what
                                is and what isn't XP. My concern is that being too overzealous or
                                optimistic about the capabilities of XP pushes away those who might
                                otherwise consider using XP and/or its practices if there weren't so
                                much rhetoric.

                                Tom
                              • Bob Koss
                                ... Well I don t either -- but I had so little interest in pursuing it that I though my acceptance of it would let us get on to more important topics to
                                Message 15 of 30 , Jan 15, 2001
                                  > >> I recognize that many defenders of the waterfall model are using
                                  > >> cyclical arguments to defend their case - any failure is the result
                                  > >> of bad requirements analysis rather than a failure in the model.
                                  > >
                                  > >Okay, I haven't heard that reason, but I'll accept it.
                                  >
                                  > I wouldn't.

                                  Well I don't either -- but I had so little interest in pursuing it that I
                                  though my acceptance of it would let us get on to more important topics to
                                  discuss.

                                  > It is true that the most common cause of failure in a
                                  > waterfall model is bad requirements analysis. The failure in the
                                  > model is that it assumes that it is almost always possible for
                                  > typically available staff to do sufficiently good requirements
                                  > analysis to make projects succeed.

                                  I don't think that's the cause. The cause of failure is the lack of
                                  feedback. If there is any misunderstandings or ambiguity in the initial
                                  requirements, we're usually locked into those bad decisions for the duration
                                  of the project.

                                  I was consulting at a CMM level 3 company a couple of years ago where the
                                  CMM auditor encouraged people to check their requirements into version
                                  control, because in doing so, any changes would have to be taken through
                                  umpteen levels of managers to sign off on the change requests. Hence,
                                  requirements were impossible to change and we could build a stable system.

                                  I couldn't believe what I has hearing. He was actually encouraging people to
                                  build a system that nobody was going to want by the time it was delivered.

                                  But, they're a CMM Level 3 company (or at least that project was) so they
                                  must know more than me.

                                  > That is, the model only works
                                  > as intended when you have nearly perfect customers, nearly
                                  > perfect analysts, and nearly perfectly known problems.

                                  Keep going. Nearly perfect designers, nearly perfect coders...., no new
                                  technology, no new languages.

                                  ----
                                  Robert S. Koss, Ph.D. | Training and Mentoring
                                  Senior Consultant | Object Oriented Design
                                  Object Mentor, Inc. | C++, Java
                                  www.objectmentor.com | Extreme Programming
                                • Jim McFarland
                                  ... I agree, but that point has been raised before here and in the newsgroups, going back to the fall of 1999. later... jim
                                  Message 16 of 30 , Jan 15, 2001
                                    Tom Mostyn wrote:
                                    >
                                    > ... But I think XPers should temper
                                    > statements abit clearly separating what is conjecture, theory and
                                    > opinion, versus what has been tried, experienced and proven. Also, what
                                    > is and what isn't XP. My concern is that being too overzealous or
                                    > optimistic about the capabilities of XP pushes away those who might
                                    > otherwise consider using XP and/or its practices if there weren't so
                                    > much rhetoric.

                                    I agree, but that point has been raised before here and in the newsgroups,
                                    going back to the fall of 1999.

                                    later...
                                    jim
                                  • Bob Koss
                                    ... How else will we know if it will work or not? I suppose we can keep having pissing contests here. ... I read things differently. XP won t work here because
                                    Message 17 of 30 , Jan 15, 2001
                                      > >
                                      > > State an example where you don't think XP will work, and we'll
                                      > try to come
                                      > > up with ideas to make it work.
                                      >
                                      > I think that force fitting XP so that it works for any given
                                      > environments is a bad idea.

                                      How else will we know if it will work or not?

                                      I suppose we can keep having pissing contests here.

                                      > Another poster responded to post of Glen
                                      > Alleman's. The poster summarized Glen's environment and noted that is
                                      > did not fit XP's requirements, and thus concluded that XP shouldn't be
                                      > used there. I wholeheartily agree with this attitude. And yet the
                                      > XPerts seem to want to make XP work everywhere.

                                      I read things differently.

                                      XP won't work here because this is how we do things and we're happy with the
                                      way things are and we're not going to change. Hence, XP won't work in my
                                      environment.

                                      I don't know where XP will work and where it won't work. Nobody does. But
                                      we'll never know if we don't keep pushing the envelope, try it, and learn
                                      from our experiences.


                                      ----
                                      Robert S. Koss, Ph.D. | Training and Mentoring
                                      Senior Consultant | Object Oriented Design
                                      Object Mentor, Inc. | C++, Java
                                      www.objectmentor.com | Extreme Programming
                                    • Bob Koss
                                      Include analysis and/or requirements gathering in what you ve said below, and I d be happier. These also need to be iterative. Who was it that said that we
                                      Message 18 of 30 , Jan 15, 2001
                                        Include analysis and/or requirements gathering in what you've said below,
                                        and I'd be happier. These also need to be iterative.

                                        Who was it that said that we don't understand the requirements until after
                                        we've delivered the system?

                                        ----
                                        Robert S. Koss, Ph.D. | Training and Mentoring
                                        Senior Consultant | Object Oriented Design
                                        Object Mentor, Inc. | C++, Java
                                        www.objectmentor.com | Extreme Programming

                                        > -----Original Message-----
                                        > From: dcorbin@...
                                        > [mailto:dcorbin@...]On Behalf Of David Corbin
                                        > Sent: Monday, January 15, 2001 1:02 PM
                                        > To: extremeprogramming@egroups.com
                                        > Subject: Re: [XP] Re: Projects that can't be done iteratively?
                                        >
                                        >
                                        > "Michael C. Feathers" wrote:
                                        > >
                                        > > Does anyone have an example of any system
                                        > > which can not be developed incrementally?
                                        > > It seems like the sort of question that should
                                        > > have prize money attached to it.
                                        > >
                                        >
                                        > I think this has been touched on elsewhere in this thread but --
                                        >
                                        > Development (meaning coding) is ALWAYS iterative, because that's they
                                        > time works (according to our current understanding of physics). The
                                        > alternative to iterative development, is to be able to "snap your
                                        > fingers", and "boom! it's done". Design is also iterative. What XP
                                        > brings to the table is the idea that an iteration should be short,
                                        > contain both design and development, AND at the end of the iteration,
                                        > release something. Traditional models want to have separate sets of
                                        > iterations, one for design, and one for development, and probably only
                                        > have a single release.
                                        >
                                        >
                                        > > Michael
                                        > >
                                        > > ---------------------------------------------------
                                        > > Michael Feathers mfeathers@...
                                        > > Object Mentor Inc. www.objectmentor.com
                                        > > XP & OO Training/Mentoring/Development
                                        > > www.xprogramming.com / www.junit.org
                                        > > ---------------------------------------------------
                                        > > "You just keep going all the way, as deep as
                                        > > you can. You keep trying to get right down
                                        > > to the crux." -- John Coltrane
                                        > >
                                        > > To Post a message, send it to: extremeprogramming@...
                                        > >
                                        > > To Unsubscribe, send a blank message to:
                                        > extremeprogramming-unsubscribe@...
                                        > >
                                        > > Ad-free courtesy of objectmentor.com
                                        >
                                        > --
                                        > David Corbin
                                        > Mach Turtle Technologies, Inc.
                                        > http://www.machturtle.com
                                        > dcorbin@...
                                        >
                                        > To Post a message, send it to: extremeprogramming@...
                                        >
                                        > To Unsubscribe, send a blank message to:
                                        > extremeprogramming-unsubscribe@...
                                        >
                                        > Ad-free courtesy of objectmentor.com
                                      • Bob Koss
                                        ... I think we ve done that. I think we ve also made it clear that we don t know what its limits are or which types of systems it won t apply. We just don t
                                        Message 19 of 30 , Jan 15, 2001
                                          > >
                                          > >
                                          > > XP is a child exploring it's surroundings. If you don't let it explore
                                          > > a little, then it will not grow, and it will remain an idiot savant.
                                          > > Suppose an XP rule said "All pair tables must be arranged in a square"
                                          > > (after all, maybe that's how it was at C3 :) When you get to a certain
                                          > > circumstance (large team?), you might revisit that rule and say "you
                                          > > know, I bet a circle would work okay too. Just not a rectangle, as that
                                          > > puts people too far away unnecessarily". This is called growth.
                                          >
                                          > I agree with your statements. But I think XPers should temper
                                          > statements abit clearly separating what is conjecture, theory and
                                          > opinion, versus what has been tried, experienced and proven.

                                          I think we've done that. I think we've also made it clear that we don't know
                                          what its limits are or which types of systems it won't apply. We just don't
                                          know, and we won't know until people have the balls to try it.


                                          > Also, what is and what isn't XP.

                                          I thought that was pretty clear.

                                          > My concern is that being too overzealous or
                                          > optimistic about the capabilities of XP pushes away those who might
                                          > otherwise consider using XP and/or its practices if there weren't so
                                          > much rhetoric.

                                          Describe your system/project and tell us why XP won't work for you. Maybe we
                                          can help. Maybe we can't.

                                          ----
                                          Robert S. Koss, Ph.D. | Training and Mentoring
                                          Senior Consultant | Object Oriented Design
                                          Object Mentor, Inc. | C++, Java
                                          www.objectmentor.com | Extreme Programming
                                        • Tom Mostyn
                                          ... How about the XPerts doing their own pilot project and research then coming back and reporting the results? Is this too much? novel? unprecendented? ...
                                          Message 20 of 30 , Jan 15, 2001
                                            Bob Koss wrote:
                                            >
                                            > > >
                                            > > > State an example where you don't think XP will work, and we'll
                                            > > try to come
                                            > > > up with ideas to make it work.
                                            > >
                                            > > I think that force fitting XP so that it works for any given
                                            > > environments is a bad idea.
                                            >
                                            > How else will we know if it will work or not?

                                            How about the XPerts doing their own pilot project and research then
                                            coming back and reporting the results? Is this too much? novel?
                                            unprecendented?

                                            > I suppose we can keep having pissing contests here.

                                            This is not my intent. I want to know more about XP's boundaries. I
                                            find "we don't know yet" unacceptable when all sorts of conjecture and
                                            theories are continually brought forth to address issues that XP simply
                                            *really* does not address. But seldom is it mentioned that XP doesn't
                                            really address such things. One has to press really hard before it is
                                            admitted that XP "doesn't do that". I think it would be more beneficial
                                            to everyone, especially those earnestly trying to improve their
                                            environments with XP, if what XP doesn't do was admitted upfront, and
                                            then proceed how you might approach such problem when trying to do XP.

                                            > > Another poster responded to post of Glen
                                            > > Alleman's. The poster summarized Glen's environment and noted that is
                                            > > did not fit XP's requirements, and thus concluded that XP shouldn't be
                                            > > used there. I wholeheartily agree with this attitude. And yet the
                                            > > XPerts seem to want to make XP work everywhere.
                                            >
                                            > I read things differently.
                                            >
                                            > XP won't work here because this is how we do things and we're happy with the
                                            > way things are and we're not going to change. Hence, XP won't work in my
                                            > environment.
                                            >
                                            > I don't know where XP will work and where it won't work. Nobody does. But
                                            > we'll never know if we don't keep pushing the envelope, try it, and learn
                                            > from our experiences.

                                            So you're willing to push the envelope at someone else's expense? If
                                            alot of people try it and fail because they're environment is unsuitable
                                            for XP, then XP will develop a bad reputation. People rarely look at
                                            why things failed, they just see that it did. A noteable example is
                                            case tools using Shlear-Mellor methodology. I know of one success at
                                            Teradyne via HS Lahman on the OTUG list (familiar?). However, someone
                                            here posted some big failures in attempting to use that methodology, and
                                            I have also heard (personally) of other peoples negative experience with
                                            using S-M. I think that if you talk to someone who has heard/used S-M,
                                            most will not convey a positive thoughts/experience. I'd hate to see
                                            them same thing happen to XP.
                                            --
                                            __________________________________________
                                            Tom Mostyn - Nortel Networks
                                            GSM Surveillance Development
                                          • Jim McFarland
                                            ... True, but my concern is not furthering the cause of XP, but of doing my own work. Keep in mind that for many of us, our goal is to develop quality
                                            Message 21 of 30 , Jan 15, 2001
                                              > -----Original Message-----
                                              > From: Bob Koss [mailto:koss@...]
                                              >
                                              > I don't know where XP will work and where it won't work. Nobody does. But
                                              > we'll never know if we don't keep pushing the envelope, try it, and learn
                                              > from our experiences.

                                              True, but my concern is not furthering the cause of XP, but of doing my own
                                              work. Keep in mind that for many of us, our goal is to develop quality
                                              software and have a happy team. Whether we are really doing true XP or not
                                              is not our main concern. Speaking for myself, I do not care what the limits
                                              of XP are, as much as I care about how the XP practices can help my own
                                              team. I have been on a team which did most of the XP practices. That was
                                              almost a year ago, and since that experience, I have had plenty of time to
                                              reflect on the practices of XP. On my next project, I will try to get my
                                              new team (I will be a lead on a team at a company I start at next week) to
                                              adopt as many XP practices as I can. However, the details of how we do
                                              things will vary from what I have seen on this group and in the XP books (I
                                              have read all the books published in the XP Series so far). So, I will not
                                              consider the team an XP team. I am very much an advocate of XP and have
                                              introduced many others to XP, but it won't be the last method I study and
                                              take ideas from. I don't reccomend the newsgroups and this group to folks
                                              new to XP because of how "religious" many people are about XP. Don't expect
                                              all of us here to have a desire to do research on where XP works and where
                                              it doesn't. We are here because we are interested in XP, but it's not the
                                              only technique we are interested in.

                                              later...
                                              jim
                                            • Jim McFarland
                                              ... I agree and disagree. Maybe pure XP shouldn t be used there, but instead of trying to force fit XP into a particular environment where XP didn t fit, I
                                              Message 22 of 30 , Jan 15, 2001
                                                > -----Original Message-----
                                                > From: Tom Mostyn [mailto:tmostyn@...]
                                                >
                                                > I think that force fitting XP so that it works for any given
                                                > environments is a bad idea. Another poster responded to post of Glen
                                                > Alleman's. The poster summarized Glen's environment and noted that is
                                                > did not fit XP's requirements, and thus concluded that XP shouldn't be
                                                > used there. I wholeheartily agree with this attitude.

                                                I agree and disagree. Maybe "pure" XP shouldn't be used there, but instead
                                                of trying to force fit XP into a particular environment where XP didn't fit,
                                                I would recommend investigating the possibility of changing the shape of XP
                                                to fit that environment. Of course, after that, it's no longer XP, but
                                                that's okay. After being on a pseudo-XP team for a while, and studying XP
                                                for about a year and a half, I do think much of XP is applicable to most
                                                projects, but not all of it. What I am interested in is an adaptable form
                                                of XP which fits into more situations. The questions I am looking into with
                                                some associates are related to taking out certain practices and seeing how
                                                what is left could be modified or extended to still work, even though it was
                                                no longer XP. I anticipate my next job will be one of the situations where
                                                I can not go with full XP, but that doesn't mean that I won't be using many
                                                practices from XP. Anyway, my point is that force fitting XP isn't the only
                                                way to go.

                                                later...
                                                jim
                                              • Glen B. Alleman
                                                Interesting concept of the Idiot Savant. Some other explorations of XP boundaries might include: (1) RT and FT systems were shared code ownership is a definite
                                                Message 23 of 30 , Jan 15, 2001
                                                  Interesting concept of the Idiot Savant. Some other explorations of XP
                                                  boundaries might include:

                                                  (1) RT and FT systems were shared code ownership is a definite NO NO, since
                                                  the code owner may have had specific parts of the system certified and wants
                                                  no one to touch them...make comments in writing maybe but touch the
                                                  source...death wish.
                                                  (2) The concepts of rapid turn around have been confusing. The "proper"
                                                  rhythm of the project maybe determined by outside sources far beyond the
                                                  reach of the team.
                                                  (3) The whole notion of an onsite customer gets confusing in the commercial
                                                  software business where the market and marketing becomes the "customer,"
                                                  while the product is being built.
                                                  (4) Separating personal processes from group processes.
                                                  (5) Realizing that XP is a heuristic based process and may not be subject to
                                                  the types of analysis and criticism found in nominative based processes.
                                                  This has just dawned on me and I'm trying to work through all the past
                                                  discussions to determine which ones I misunderstood by trying to put XP
                                                  outside the heuristics classification.

                                                  Glen B Alleman
                                                  Niwot Ridge Consulting

                                                  "Every even number greater than 2 is the sum of two primes"



                                                  >-----Original Message-----
                                                  >From: dcorbin [mailto:dcorbin]On Behalf Of David Corbin
                                                  >Sent: Monday, January 15, 2001 11:06 AM
                                                  >To: extremeprogramming@egroups.com
                                                  >Subject: Re: [XP] Re: Projects that can't be done iteratively?
                                                  >
                                                  >
                                                  >Tom Mostyn wrote:
                                                  >>
                                                  >> Bob Koss wrote:
                                                  >> >
                                                  >> > We can have a discussion, provided you don't read between the
                                                  >lines. Leaving
                                                  >> > XP out of this, how else would you characterize intertwined
                                                  >functionality?
                                                  >> > That was NEVER a good idea.
                                                  >> >
                                                  >> > State an example where you don't think XP will work, and we'll
                                                  >try to come
                                                  >> > up with ideas to make it work.
                                                  >>
                                                  >> I think that force fitting XP so that it works for any given
                                                  >> environments is a bad idea. Another poster responded to post of Glen
                                                  >> Alleman's. The poster summarized Glen's environment and noted that is
                                                  >> did not fit XP's requirements, and thus concluded that XP shouldn't be
                                                  >> used there. I wholeheartily agree with this attitude. And yet the
                                                  >> XPerts seem to want to make XP work everywhere.
                                                  >>
                                                  >
                                                  >XP is a child exploring it's surroundings. If you don't let it explore
                                                  >a little, then it will not grow, and it will remain an idiot savant.
                                                  >Suppose an XP rule said "All pair tables must be arranged in a square"
                                                  >(after all, maybe that's how it was at C3 :) When you get to a certain
                                                  >circumstance (large team?), you might revisit that rule and say "you
                                                  >know, I bet a circle would work okay too. Just not a rectangle, as that
                                                  >puts people too far away unnecessarily". This is called growth.
                                                  >
                                                  >> Tom
                                                  >>
                                                  >> --
                                                  >> __________________________________________
                                                  >> Tom Mostyn - Nortel Networks
                                                  >> GSM Surveillance Development
                                                  >>
                                                  >> To Post a message, send it to: extremeprogramming@...
                                                  >>
                                                  >> To Unsubscribe, send a blank message to:
                                                  >extremeprogramming-unsubscribe@...
                                                  >>
                                                  >> Ad-free courtesy of objectmentor.com
                                                  >
                                                  >--
                                                  >David Corbin
                                                  >Mach Turtle Technologies, Inc.
                                                  >http://www.machturtle.com
                                                  >dcorbin@...
                                                  >
                                                  >To Post a message, send it to: extremeprogramming@...
                                                  >
                                                  >To Unsubscribe, send a blank message to:
                                                  >extremeprogramming-unsubscribe@...
                                                  >
                                                  >Ad-free courtesy of objectmentor.com
                                                  >
                                                • Steve Gibson
                                                  A pure neural network? Steve Gibson Please respond to extremeprogramming@egroups.com To: cc: Subject: Re: [XP]
                                                  Message 24 of 30 , Jan 15, 2001
                                                    A "pure" neural network?

                                                    Steve Gibson



                                                    Please respond to extremeprogramming@egroups.com
                                                    To: <extremeprogramming@egroups.com>
                                                    cc:

                                                    Subject: Re: [XP] Re: Projects that can't be done iteratively?



                                                    Does anyone have an example of any system
                                                    which can not be developed incrementally?
                                                    It seems like the sort of question that should
                                                    have prize money attached to it.


                                                    Michael






                                                    ---------------------------------------------------
                                                    Michael Feathers mfeathers@...
                                                    Object Mentor Inc. www.objectmentor.com
                                                    XP & OO Training/Mentoring/Development
                                                    www.xprogramming.com / www.junit.org
                                                    ---------------------------------------------------
                                                    "You just keep going all the way, as deep as
                                                    you can. You keep trying to get right down
                                                    to the crux." -- John Coltrane




                                                    To Post a message, send it to: extremeprogramming@...

                                                    To Unsubscribe, send a blank message to:
                                                    extremeprogramming-unsubscribe@...

                                                    Ad-free courtesy of objectmentor.com





                                                    ---------------------------- ERG Group --------------------------
                                                    The contents of this email and any attachments are confidential
                                                    and may only be read by the intended recipient.
                                                    -----------------------------------------------------------------
                                                  • Robert Sartin
                                                    ... I developed some Java NN software iteratively. Training an instance of a backprop network certainly seems iterative (feed it some data, measure the error,
                                                    Message 25 of 30 , Jan 16, 2001
                                                      --- Steve Gibson <sgibson@...> wrote:
                                                      > A "pure" neural network?

                                                      I developed some Java NN software iteratively. Training an instance of
                                                      a backprop network certainly seems iterative (feed it some data,
                                                      measure the error, backprop, repeat). Associative memory design and
                                                      application seems pretty iterative (send it some stuff to remember,
                                                      keep doing so until noise causes problems). Kohonen maps are perhaps
                                                      less so (since they lack training), but realistic use of them is pretty
                                                      iterative.

                                                      Perhaps I misunderstand. Do you mean something else by "pure" neural
                                                      network?

                                                      Regards,

                                                      Rob


                                                      __________________________________________________
                                                      Do You Yahoo!?
                                                      Get email at your own domain with Yahoo! Mail.
                                                      http://personal.mail.yahoo.com/
                                                    • Steve Gibson
                                                      No. You got my drift. My thoughts were that setting up the NN infrastructure was all-or-nothing. Slightly OT - how do you unit test a NN? ;) Steve Gibson
                                                      Message 26 of 30 , Jan 16, 2001
                                                        No. You got my drift.
                                                        My thoughts were that setting up the NN infrastructure was all-or-nothing.

                                                        Slightly OT - how do you unit test a NN?

                                                        ;)

                                                        Steve Gibson



                                                        Please respond to extremeprogramming@egroups.com
                                                        To: extremeprogramming@egroups.com
                                                        cc:

                                                        Subject: Re: [XP] Re: Projects that can't be done iteratively?


                                                        --- Steve Gibson <sgibson@...> wrote:
                                                        > A "pure" neural network?

                                                        I developed some Java NN software iteratively. Training an instance of
                                                        a backprop network certainly seems iterative (feed it some data,
                                                        measure the error, backprop, repeat). Associative memory design and
                                                        application seems pretty iterative (send it some stuff to remember,
                                                        keep doing so until noise causes problems). Kohonen maps are perhaps
                                                        less so (since they lack training), but realistic use of them is pretty
                                                        iterative.

                                                        Perhaps I misunderstand. Do you mean something else by "pure" neural
                                                        network?

                                                        Regards,

                                                        Rob


                                                        __________________________________________________
                                                        Do You Yahoo!?
                                                        Get email at your own domain with Yahoo! Mail.
                                                        http://personal.mail.yahoo.com/

                                                        To Post a message, send it to: extremeprogramming@...

                                                        To Unsubscribe, send a blank message to:
                                                        extremeprogramming-unsubscribe@...

                                                        Ad-free courtesy of objectmentor.com





                                                        ---------------------------- ERG Group --------------------------
                                                        The contents of this email and any attachments are confidential
                                                        and may only be read by the intended recipient.
                                                        -----------------------------------------------------------------
                                                      • Dossy
                                                        ... Um, feed it inputs for which you have known outputs, and validate output against known outputs? Oh, wait, that s acceptance-testing a NN. To unit test, you
                                                        Message 27 of 30 , Jan 16, 2001
                                                          On 2001.01.17, Steve Gibson <sgibson@...> wrote:
                                                          > No. You got my drift.
                                                          > My thoughts were that setting up the NN infrastructure was all-or-nothing.
                                                          >
                                                          > Slightly OT - how do you unit test a NN?

                                                          Um, feed it inputs for which you have known outputs, and validate
                                                          output against known outputs?

                                                          Oh, wait, that's acceptance-testing a NN.

                                                          To unit test, you test just that: the smallest unit in the NN, a
                                                          node. You set the node to a particular state where you "know"
                                                          the acceptable parameters of the resulting state. Compare the
                                                          resulting state to the known resulting state ...

                                                          This brings up the interesting question of: how do you automate
                                                          any kind of (unit) testing of non-deterministic systems? Are
                                                          acceptance tests the smallest level of granularity for testing
                                                          non-deterministic code?

                                                          - Dossy

                                                          --
                                                          Dossy Shiobara mail: dossy@...
                                                          Panoptic Computer Network web: http://www.panoptic.com/
                                                        • Joshua Macy/Towers Perrin
                                                          If you design it to do so, most non-deterministic code can be made deterministic for unit testing purposes by plugging in a deterministic generator for the
                                                          Message 28 of 30 , Jan 17, 2001
                                                            If you design it to do so, most non-deterministic code can be made
                                                            deterministic for unit testing purposes by plugging in a deterministic
                                                            generator for the randomizer at runtime. I use this technique quite a bit
                                                            in my Python random table roller code at http://rollem.sourceforge.net/ A
                                                            fancier approach would be to use a Factory class to generate the
                                                            randomizer, but I settle for a parameter in the constructor of the class
                                                            that does the randomization to tell it to return a particular value for the
                                                            test.





                                                            To: extremeprogramming@egroups.com
                                                            Dossy cc: (bcc: Joshua Macy/Towers Perrin)
                                                            <dossy@panopt Subject: Re: [XP] Re: Projects that can't be done iteratively?
                                                            ic.com>

                                                            01/16/01
                                                            08:54 PM
                                                            Please
                                                            respond to
                                                            extremeprogra
                                                            mming





                                                            On 2001.01.17, Steve Gibson <sgibson@...> wrote:
                                                            > No. You got my drift.
                                                            > My thoughts were that setting up the NN infrastructure was
                                                            all-or-nothing.
                                                            >
                                                            > Slightly OT - how do you unit test a NN?

                                                            Um, feed it inputs for which you have known outputs, and validate
                                                            output against known outputs?

                                                            Oh, wait, that's acceptance-testing a NN.

                                                            To unit test, you test just that: the smallest unit in the NN, a
                                                            node. You set the node to a particular state where you "know"
                                                            the acceptable parameters of the resulting state. Compare the
                                                            resulting state to the known resulting state ...

                                                            This brings up the interesting question of: how do you automate
                                                            any kind of (unit) testing of non-deterministic systems? Are
                                                            acceptance tests the smallest level of granularity for testing
                                                            non-deterministic code?

                                                            - Dossy

                                                            --
                                                            Dossy Shiobara mail: dossy@...
                                                            Panoptic Computer Network web: http://www.panoptic.com/

                                                            To Post a message, send it to: extremeprogramming@...

                                                            To Unsubscribe, send a blank message to:
                                                            extremeprogramming-unsubscribe@...

                                                            Ad-free courtesy of objectmentor.com
                                                          • Robert Sartin
                                                            ... Based on experience, it turns out not to be all or nothing. In fact, I still have a list of features to add to that code if it ever gets revived (and
                                                            Message 29 of 30 , Jan 17, 2001
                                                              --- Steve Gibson <sgibson@...> wrote:
                                                              > No. You got my drift.

                                                              > My thoughts were that setting up the NN infrastructure was
                                                              > all-or-nothing.

                                                              Based on experience, it turns out not to be all or nothing. In fact, I
                                                              still have a list of features to add to that code if it ever gets
                                                              revived (and before anyone asks, no I can't share it - until 2002 when
                                                              the business agreement reverts the rights back to me if it isn't
                                                              productized).

                                                              > Slightly OT - how do you unit test a NN?

                                                              Well, assuming a fine-grained design, neurons are really easy to unit
                                                              test. Building networks out of neurons (verifying that the NN library
                                                              works to create networks) is rather easy to unit test. Testing the
                                                              behavior of a specific net for a specific problem was outside of unit
                                                              testing of the NN library. We had (non-automated) acceptance tests of
                                                              those. The NN literature has a plethora of ideas on testing nets.

                                                              Regards,

                                                              Rob


                                                              __________________________________________________
                                                              Do You Yahoo!?
                                                              Get email at your own domain with Yahoo! Mail.
                                                              http://personal.mail.yahoo.com/
                                                            • ronjeffries@acm.org
                                                              ... wrote: She is ... I m quite certain that any program that can be written at all can be implemented iteratively. I am offering a new service for projects
                                                              Message 30 of 30 , Jan 17, 2001
                                                                --- In extremeprogramming@egroups.com, Ted Graham <Ted_Graham@y...>
                                                                wrote:
                                                                She is
                                                                > getting some strong resistance from senior engineering
                                                                > management, who are ex-academics from our offshore
                                                                > development site. They argue that "the functionality
                                                                > is so intertwined that it is not possible to develop
                                                                > it iteratively." While I don't believe this, it
                                                                > started me thinking. Have you run across projects
                                                                > that cannot be developed iteratively

                                                                I'm quite certain that any program that can be written at all can be
                                                                implemented iteratively. I am offering a new service for projects
                                                                that can't figure out how to break their project down iteratively.
                                                                It's very expensive, but you don't have to pay if I can't figure it
                                                                out. ;->

                                                                As for whether there are projects for which XP is not suitable: Many
                                                                of the practices, e.g. the simple design, pair programming, unit
                                                                testing, refactoring cycle are clearly useful anywhere. Refactoring
                                                                is less useful in languages that are hard to refactor.

                                                                Having all the programmers in a single room is awkward above about
                                                                364 programmers.

                                                                And most important: XP is not suitable for a project where a
                                                                significant number of team members won't do XP.

                                                                Regards,
                                                              Your message has been successfully submitted and would be delivered to recipients shortly.