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

[extremeprogramming] Re: Just wanted to say hello....

Expand Messages
  • Bill Caputo
    Geoff, ... Having only been on this list for a week, I am curious, about your expectations: I want to learn more about this methodology. It seems to me that
    Message 1 of 23 , Feb 1, 2000
      Geoff,

      > Actually, I'm just about to bail out too. I get the feeling that this list
      > is just a big love fest for the XP principals.

      Having only been on this list for a week, I am curious, about your
      expectations:

      I want to learn more about this methodology. It seems to me that the best
      way to do this is to read the comments (and evangelizing) of those who are
      in favor of it, as well as the comments of skeptics who are unsure, or even
      outright against it.

      There seems to be a lot like me (the lurker flood showed that), several
      practictioners, and some skeptics. I am getting what I came for, I am glad
      there are evangelists, and the skeptics are voicing valid questions--and not
      getting flamed, but instead generating discussion.

      So my question is what did you expect a mailing list about Extreme
      Programming to be if not an exposition of its principles?

      Best,
      Bill
    • Barry Gervin
      This sort of relates to the OpenSource question. The project that I m working on is a commercial product development and I m trying to visualize how things
      Message 2 of 23 , Feb 1, 2000
        This sort of relates to the OpenSource question.

        The project that I'm working on is a commercial product development and I'm
        trying to visualize how things will be affected if we were to apply the XP
        principles.

        The way our release cycles work is when we have finished a version (say 3.6)
        we release it to our customers who are ready for a release. We start to work
        on the next version (3.7). In the background however our maintenance team
        does some maintenance on the last version (3.6). Furthermore, if we have a
        big module that will take some time & iterations to get right, we may start
        working on 3.8 as well. By the time 3.7 is ready, we release it to customers
        who are ready for 3.7. Some customers may still stay at 3.6 and eventually
        upgrade to 4.0. They may need some interim fixes, they may even need a logic
        change.

        The challenging part of this is to refactor mercilessly. I guess this is a
        challenge to begin with - but it's easy to promote maintenance fix from 3.6
        to 3.7 if 3.7 hasn't been refactored mercilessly. I guess this is why you
        need serious test functionality in place or this thing falls down like a
        house of cards.

        Any input from anyone doing XP in a similar environment.
        1) Commercial Product
        2) Parallel Version Development

        Thanks

        Barry Gervin
        bgervin@...
      • Geoffrey Clements
        Hi, ... list ... Wait another week or two. You ll see what I mean. Usually when I participate in a mailing list I expect an occasional reply. Perhaps no one
        Message 3 of 23 , Feb 1, 2000
          Hi,

          > Geoff,
          >
          > > Actually, I'm just about to bail out too. I get the feeling that this
          list
          > > is just a big love fest for the XP principals.
          >
          > Having only been on this list for a week, I am curious, about your
          > expectations:

          Wait another week or two. You'll see what I mean.

          Usually when I participate in a mailing list I expect an occasional reply.
          Perhaps no one cares about what I have to say, or what I have to say is just
          too dumb to comment on, but if it is, someone set me straight. Maybe its
          just the high traffic. Maybe no one is reading anything unless its from Kent
          Beck, Ron Jefferes, Robert Martin, Mike Feathers, (hey Mike want those
          CppUnit BeOS diffs or what?), and one or two others.

          I made what I thought was an interesting comment about a hieracy of XP teams
          to manage/implement a larger project. Not one response. In fact, except for
          one or two personal responses, I think this is the only response anyone has
          made to one of my postings. And in order to get it, I had to be a complete
          jerk. (Sorry about that by the way.)

          The whole thread about flexability in XP left a abd taste in my mouth. Its
          like everyone here is a zealot. Maybe its just the excitement about XP. I
          agree with Dave Thomas. XP needs to be flexible. The whole point of XP is to
          reduce risk. If you mandate how XP MUST be impemented you are increasing
          risk by not being able to incorporate new developements into XP, or driving
          people away becasue they jsut can't implement all of XP.

          I bet there are a few XP/UML/Patterns/Refactoring folks who think that XP
          has a lot of good in it but can't stomach it because of its inability to
          integrate with other methodologies.

          > I want to learn more about this methodology. It seems to me that the best
          > way to do this is to read the comments (and evangelizing) of those who are
          > in favor of it, as well as the comments of skeptics who are unsure, or
          even
          > outright against it.

          Everything you need to know is in the XP book and Martin Fowler's
          Refactoring book.

          I think there is more power for the working developer in Hunt and Thomas'
          Pragmatic Programmer in combination with Fowler's Refactoring book.

          >
          > There seems to be a lot like me (the lurker flood showed that), several
          > practictioners, and some skeptics. I am getting what I came for, I am glad
          > there are evangelists, and the skeptics are voicing valid questions--and
          not
          > getting flamed, but instead generating discussion.
          >
          > So my question is what did you expect a mailing list about Extreme
          > Programming to be if not an exposition of its principles?
          >
          > Best,
          > Bill
          >
          >
          > ------------------------------------------------------------------------
          > To Post a message, send it to: extremeprogramming@...
          > To Unsubscribe, send a blank message to:
          extremeprogramming-unsubscribe@...
          >
          > ------------------------------------------------------------------------
          > GET A NEXTCARD VISA, in 30 seconds! Get rates as low as 0.0%
          > Intro or 9.9% Fixed APR and no hidden fees. Apply NOW!
          > http://click.egroups.com/1/911/0/_/263270/_/949430526/
          >
          > -- Create a poll/survey for your group!
          > -- http://www.egroups.com/vote?listname=extremeprogramming&m=1
          >
          >
        • Ron Jeffries
          According to my email files, you have posted 22 times out of about 1200 total postings, about 1/60. I ve posted over 100, which suggests that I ve so far
          Message 4 of 23 , Feb 1, 2000
            According to my email files, you have posted 22 times out of about 1200
            total postings, about 1/60. I've posted over 100, which suggests that I've
            so far replied to 1/12 of the postings. Of those, one of them (not counting
            the private one) was to you. So I guess I owe you one ... ;->

            Stick around,

            Ron

            At 02:33 PM 2/1/2000 -0500, you wrote:
            >Hi,
            >
            > > Geoff,
            > >
            > > > Actually, I'm just about to bail out too. I get the feeling that this
            >list
            > > > is just a big love fest for the XP principals.
            > >
            > > Having only been on this list for a week, I am curious, about your
            > > expectations:
            >
            >Wait another week or two. You'll see what I mean.
            >
            >Usually when I participate in a mailing list I expect an occasional reply.
            >Perhaps no one cares about what I have to say, or what I have to say is just
            >too dumb to comment on, but if it is, someone set me straight. Maybe its
            >just the high traffic. Maybe no one is reading anything unless its from Kent
            >Beck, Ron Jefferes, Robert Martin, Mike Feathers, (hey Mike want those
            >CppUnit BeOS diffs or what?), and one or two others.
            >
            >I made what I thought was an interesting comment about a hieracy of XP teams
            >to manage/implement a larger project. Not one response. In fact, except for
            >one or two personal responses, I think this is the only response anyone has
            >made to one of my postings. And in order to get it, I had to be a complete
            >jerk. (Sorry about that by the way.)
            >
            >The whole thread about flexability in XP left a abd taste in my mouth. Its
            >like everyone here is a zealot. Maybe its just the excitement about XP. I
            >agree with Dave Thomas. XP needs to be flexible. The whole point of XP is to
            >reduce risk. If you mandate how XP MUST be impemented you are increasing
            >risk by not being able to incorporate new developements into XP, or driving
            >people away becasue they jsut can't implement all of XP.
            >
            >I bet there are a few XP/UML/Patterns/Refactoring folks who think that XP
            >has a lot of good in it but can't stomach it because of its inability to
            >integrate with other methodologies.
            >
            > > I want to learn more about this methodology. It seems to me that the best
            > > way to do this is to read the comments (and evangelizing) of those who are
            > > in favor of it, as well as the comments of skeptics who are unsure, or
            >even
            > > outright against it.
            >
            >Everything you need to know is in the XP book and Martin Fowler's
            >Refactoring book.
            >
            >I think there is more power for the working developer in Hunt and Thomas'
            >Pragmatic Programmer in combination with Fowler's Refactoring book.
            >
            > >
            > > There seems to be a lot like me (the lurker flood showed that), several
            > > practictioners, and some skeptics. I am getting what I came for, I am glad
            > > there are evangelists, and the skeptics are voicing valid questions--and
            >not
            > > getting flamed, but instead generating discussion.
            > >
            > > So my question is what did you expect a mailing list about Extreme
            > > Programming to be if not an exposition of its principles?
            > >
            > > Best,
            > > Bill
            > >
            > >
            > > ------------------------------------------------------------------------
            > > To Post a message, send it to: extremeprogramming@...
            > > To Unsubscribe, send a blank message to:
            >extremeprogramming-unsubscribe@...
            > >
            > > ------------------------------------------------------------------------
            > > GET A NEXTCARD VISA, in 30 seconds! Get rates as low as 0.0%
            > > Intro or 9.9% Fixed APR and no hidden fees. Apply NOW!
            > > http://click.egroups.com/1/911/0/_/263270/_/949430526/
            > >
            > > -- Create a poll/survey for your group!
            > > -- http://www.egroups.com/vote?listname=extremeprogramming&m=1
            > >
            > >
            >
            >
            >------------------------------------------------------------------------
            >To Post a message, send it to: extremeprogramming@...
            >To Unsubscribe, send a blank message to:
            >extremeprogramming-unsubscribe@...
            >
            >------------------------------------------------------------------------
            >GET A NEXTCARD VISA, in 30 seconds! Get rates
            >as low as 0.0% Intro APR and no hidden fees.
            >Apply NOW!
            >http://click.egroups.com/1/967/0/_/263270/_/949433730/
            >
            >-- Easily schedule meetings and events using the group calendar!
            >-- http://www.egroups.com/cal?listname=extremeprogramming&m=1
            >


            Ron Jeffries
            Extreme Programming Training and Consultation
            www.XProgramming.com
          • Mike Schneider
            Barry, Clearcase works very well for this as it versions directories, as well as, files. The merge tools are good, and multisite support is available. It is a
            Message 5 of 23 , Feb 1, 2000
              Barry,

              Clearcase works very well for this as it versions directories, as well as, files.

              The merge tools are good, and multisite support is available.

              It is a Rational Product  www.rational.com

              You can email directly if you have detailed questions (Brad can probably add value to this :-)

              Mike

              Barry Gervin wrote:

              This sort of relates to the OpenSource question.

              The project that I'm working on is a commercial product development and I'm
              trying to visualize how things will be affected if we were to apply the XP
              principles.

              The way our release cycles work is when we have finished a version (say 3.6)
              we release it to our customers who are ready for a release. We start to work
              on the next version (3.7). In the background however our maintenance team
              does some maintenance on the last version (3.6). Furthermore, if we have a
              big module that will take some time & iterations to get right, we may start
              working on 3.8 as well. By the time 3.7 is ready, we release it to customers
              who are ready for 3.7. Some customers may still stay at 3.6 and eventually
              upgrade to 4.0. They may need some interim fixes, they may even need a logic
              change.

              The challenging part of this is to refactor mercilessly. I guess this is a
              challenge to begin with - but it's easy to promote maintenance fix from 3.6
              to 3.7 if 3.7 hasn't been refactored mercilessly. I guess this is why you
              need serious test functionality in place or this thing falls down like a
              house of cards.

              Any input from anyone doing XP in a similar environment.
                      1) Commercial Product
                      2) Parallel Version Development

              Thanks

              Barry Gervin
              bgervin@...

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

              ------------------------------------------------------------------------
              GET A NEXTCARD VISA, in 30 seconds!  Get rates as low as 2.9%
              Intro or 9.9% Fixed APR and no hidden fees.  Apply NOW!
              http://click.egroups.com/1/915/0/_/263270/_/949431525/

              -- Check out your group's private Chat room
              -- http://www.egroups.com/ChatPage?listName=extremeprogramming&m=1

              -- 
              ==============================================================================
              Michael L. Schneider                      Email: Michael.Schneider@...
              Structural Dynamics Research Corp         Tel:   (513) 576-2935
              Milford OH, 45150                         Group: Software Process Group
              
                "The best performance improvement is the transition from the 
                 nonworking state to the working state" - John Ousterhout
               
            • Mike Schneider
              Geoff, If that is you concerns, please hold out. I would value your comments. Many people on this list are still trying to understand the relationships
              Message 6 of 23 , Feb 1, 2000
                Geoff,

                If that is you concerns, please hold out.  I would value your comments.  Many people
                on this list are still trying to understand the relationships between the
                principles.

                If XP states that you must use all principles to truly do XP, than you have to learn
                and get some practice using the principles before you can "ask the dirty questions".

                Learning process

                1) Learn vocabulary
                2) Practice making sentences
                3) Write paragraphs
                4) Write Stories
                5)  Questions the meanings of the words

                I am in the 1,2,3 cycles right now.  I am interested in scaling XP, but am working on
                getting the handle on XP for small projects right now.

                The XP Immersion course really helped with the vocabulary.  A couple of small
                projects helped with the "making sentences out of the words".

                Soon we will be looking at larger projects, I think that critical questions will be asked
                at that time.

                Bail if you need to, but I hope that you will continue to add to the group.

                Mike

                Geoffrey Clements wrote:

                Actually, I'm just about to bail out too. I get the feeling that this list
                is just a big love fest for the XP principals.

                geoff

                ----- Original Message -----
                From: "Bob Oliver" <oliverb@...>
                To: <extremeprogramming@egroups.com>
                Sent: Tuesday, February 01, 2000 12:05 PM
                Subject: [extremeprogramming] Re: Just wanted to say hello....

                > > -----Original Message-----
                > > From: Robert C. Martin [mailto:rmartin@...]
                > > Sent: Tuesday, February 01, 2000 10:57 AM
                > > To: 'extremeprogramming@egroups.com'
                > > Subject: [extremeprogramming] Re: Just wanted to say hello....
                > >
                > > Hello Alan, nice to hear from you again.
                > >
                > > Uncle Bob.
                >
                > Well, I just wanted to say goodbye.  Why would the 400
                > or so of us who are not Alan care that you find it nice
                > to hear from him?
                >
                > Is this what you had in mind when you started this group?
                >
                > Regards,
                >
                > Bob Oliver
                >
                >
                >
                >
                > ------------------------------------------------------------------------
                > To Post a message, send it to:   extremeprogramming@...
                > To Unsubscribe, send a blank message to:
                extremeprogramming-unsubscribe@...
                >
                > ------------------------------------------------------------------------
                > Get what you deserve with NextCard Visa! Rates as low as 2.9%
                > Intro or 9.9% Fixed APR, online balance transfers, Rewards Points,
                > no hidden fees, and much more! Get NextCard today and get the
                > credit youdeserve! Apply now! Get your NextCard Visa at:
                > http://click.egroups.com/1/912/0/_/263270/_/949424858/
                >
                > eGroups.com Home: http://www.egroups.com/group/extremeprogramming/
                > http://www.egroups.com - Simplifying group communications
                >
                >

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

                ------------------------------------------------------------------------
                Get what you deserve with NextCard Visa! ZERO! Rates as low as
                0.0% Intro APR, online balance transfers, Rewards Points, no
                hidden fees, and much more! Get NextCard today and get the credit
                you deserve!  Apply now! Get your NextCard Visa at:
                http://click.egroups.com/1/966/0/_/263270/_/949429919/

                -- 20 megs of disk space in your group's Document Vault
                -- http://www.egroups.com/docvault/extremeprogramming/?m=1

                -- 
                ==============================================================================
                Michael L. Schneider                      Email: Michael.Schneider@...
                Structural Dynamics Research Corp         Tel:   (513) 576-2935
                Milford OH, 45150                         Group: Software Process Group
                
                  "The best performance improvement is the transition from the 
                   nonworking state to the working state" - John Ousterhout
                 
              • Geoffrey Clements
                ... small ... Actually, I d really like to go to one of these, but I m on the wrong coast, and I can t afford it. (I d be paying for it out of my own pocket.)
                Message 7 of 23 , Feb 1, 2000
                  >The XP Immersion course really helped with the vocabulary. A couple of
                  small
                  >projects helped with the "making sentences out of the words".

                  Actually, I'd really like to go to one of these, but I'm on the wrong coast,
                  and I can't afford it. (I'd be paying for it out of my own pocket.)

                  >Bail if you need to, but I hope that you will continue to add to the group.

                  First, let me apologise again for being a jerk.

                  Pehaps if people understood that the volume on this list is getting to high.
                  Most messages are pretty high in content, but there is just too many to keep
                  up with, and sometimes they repeat, or just add a little to the discussion
                  in progress. Kind of like I'm doing now. (I'll shut up now.)


                  geoff
                • Dave Thomas
                  ... There s another way of looking at this, though. You become immersed in something, learn its ways and its foibles, and, once initiated, become a staunch
                  Message 8 of 23 , Feb 1, 2000
                    Mike Schneider <michael.schneider@...> writes:

                    > Learning process
                    >
                    > 1) Learn vocabulary
                    > 2) Practice making sentences
                    > 3) Write paragraphs
                    > 4) Write Stories
                    > 5) Questions the meanings of the words

                    There's another way of looking at this, though. You become immersed in
                    something, learn its ways and its foibles, and, once initiated, become
                    a staunch defender of the faith. (This isn't just XP, it's a reflection
                    of the affiliative nature of humans.) What you're doing becomes
                    "accepted wisdom". People who question it are ignorant outsiders.

                    Some of us are worried that XP, which we really want to succeed, has
                    some flaws. Before everyone becomes too entrenched, we'd like to be
                    able to discuss these.

                    That's all

                    Dave



                    --
                    Thomas Consulting.
                    Innovative and successful developments with Unix, Java, C, and C++.

                    Now in bookstores:
                    The Pragmatic Programmer. www.pragmaticprogrammer.com/ppbook/
                  • Don Wells
                    ... Not everyone agrees with the XP principals on everything. Explosions occasionally occur. It is purely coincidental that none have occured here yet. Don
                    Message 9 of 23 , Feb 1, 2000
                      >> > it is just a big love fest for the XP principals.

                      Not everyone agrees with the XP principals on everything. Explosions
                      occasionally occur. It is purely coincidental that none have occured here
                      yet.


                      Don Wells
                    • Brad Appleton
                      ... I guess I can t turn down such a generous offer. Not that this necessarily has any strong relationship to XP (maybe it does and maybe it doesn t), but if
                      Message 10 of 23 , Feb 1, 2000
                        On Tue, Feb 01, 2000 at 03:23:42PM -0500, Mike Schneider wrote:
                        > You can email directly if you have detailed questions
                        > (Brad can probably add value to this :-)

                        I guess I can't turn down such a generous offer. Not that this necessarily
                        has any strong relationship to XP (maybe it does and maybe it doesn't),
                        but if your looking for patterns or best-practices on using branching and
                        merging for parallel development, then allow me to direct your attention
                        to my ACME website at:

                        http://www.enteract.com/~bradapp/acme/

                        In particular, look at the paper named "Streamed Lines", and (if you are
                        using ClearCase or Perforce) you might also look at the page entitled
                        "Common ClearCase Practice". The first paper describes about 4 dozen
                        patterns of branching/merging (not to mention a dozen or so pitfalls)
                        and how to use them together to manage parallel development efforts using
                        your version control tool. The second paper *briefly* describes a couple
                        hundred or so common ClearCase practices, including many practices about
                        branching and merging and labeling ("tagging" for CVS users).

                        Note that CVS adds some extra wrinkles to the branching and merging
                        problem because (unlike ClearCase or Perforce), it doesn't track points
                        of divergence (origin of a branch) or convergence (ancestry of merges).
                        CVS tracks the latest version on a branch very well. Its not so easy to
                        the initial version on a branch for several files. And CVS doesn't track
                        merging at all, so it can't readily determine which changes have already
                        been merged and which haven't the way ClearCase and Perforce and Bitkeeper
                        (and others) can.

                        Note that followups specific to branching/merging (and NOT to XP)
                        should probably be redirected to private email, or else to the
                        scm-patterns list or the cmtalk (formerly version-control) mailing
                        list.

                        Cheers!
                        --
                        Brad Appleton <bradapp@...> http://www.enteract.com/~bradapp/
                        "And miles to go before I sleep." -- Robert Frost
                      • Barry Gervin
                        Okay thanks very much for the tips on branching & merging. I m sure it will be helpful.... however, the reason I m asking here, is of course for XP insight and
                        Message 11 of 23 , Feb 1, 2000
                          Okay thanks very much for the tips on branching & merging. I'm sure it will
                          be helpful....

                          however, the reason I'm asking here, is of course for XP insight and
                          particularly how the whole refactoring process relates to parallel develop
                          and how you manage that.

                          Maybe let me throw this out...

                          How can you possible refactor when parallel development is involved. Doesn't
                          this make it very difficult to promote a maintenance change (bug fix or
                          perhaps enhancement) to a class in a newer version when that new class has
                          been totally blown to bits (because of refactoring) in the new version?

                          The problem is not so bad when it's just maintenance - it's more like you
                          have serious parallel development going on. Say 3.5 is your base release and
                          you have two major enhancements A & B. You don't know if A will turn into
                          3.6 and B 3.7, or the other way around. Or perhaps both will merge together
                          into 3.6. Until the modules (which share a common database and rely on some
                          common classes) are close to complete and have a release cycle planned
                          concretely it's hard to refactor any of the base classes because then you
                          make dependencies about them both being released together, or one before the
                          other.

                          My client maintains we can't refactor classes that exist in a prior released
                          version because of these head aches. It's hard to disagree. Help me out!

                          Barry Gervin


                          -----Original Message-----
                          From: Brad Appleton [mailto:bradapp@...]
                          Sent: February 1, 2000 5:58 PM
                          To: extremeprogramming@egroups.com
                          Subject: [extremeprogramming] Re: Parallel Version Development:
                          Branching & Merging


                          On Tue, Feb 01, 2000 at 03:23:42PM -0500, Mike Schneider wrote:
                          > You can email directly if you have detailed questions
                          > (Brad can probably add value to this :-)

                          I guess I can't turn down such a generous offer. Not that this necessarily
                          has any strong relationship to XP (maybe it does and maybe it doesn't),
                          but if your looking for patterns or best-practices on using branching and
                          merging for parallel development, then allow me to direct your attention
                          to my ACME website at:

                          http://www.enteract.com/~bradapp/acme/

                          In particular, look at the paper named "Streamed Lines", and (if you are
                          using ClearCase or Perforce) you might also look at the page entitled
                          "Common ClearCase Practice". The first paper describes about 4 dozen
                          patterns of branching/merging (not to mention a dozen or so pitfalls)
                          and how to use them together to manage parallel development efforts using
                          your version control tool. The second paper *briefly* describes a couple
                          hundred or so common ClearCase practices, including many practices about
                          branching and merging and labeling ("tagging" for CVS users).

                          Note that CVS adds some extra wrinkles to the branching and merging
                          problem because (unlike ClearCase or Perforce), it doesn't track points
                          of divergence (origin of a branch) or convergence (ancestry of merges).
                          CVS tracks the latest version on a branch very well. Its not so easy to
                          the initial version on a branch for several files. And CVS doesn't track
                          merging at all, so it can't readily determine which changes have already
                          been merged and which haven't the way ClearCase and Perforce and Bitkeeper
                          (and others) can.

                          Note that followups specific to branching/merging (and NOT to XP)
                          should probably be redirected to private email, or else to the
                          scm-patterns list or the cmtalk (formerly version-control) mailing
                          list.

                          Cheers!
                          --
                          Brad Appleton <bradapp@...> http://www.enteract.com/~bradapp/
                          "And miles to go before I sleep." -- Robert Frost

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

                          ------------------------------------------------------------------------
                          FREE ADVICE FROM REAL PEOPLE! Xpertsite has thousands of experts who
                          are willing to answer your questions for FREE. Go to Xpertsite today and
                          put your mind to rest.
                          http://click.egroups.com/1/1033/0/_/263270/_/949445897/

                          -- 20 megs of disk space in your group's Document Vault
                          -- http://www.egroups.com/docvault/extremeprogramming/?m=1
                        • Andy Glew
                          ... When I asked a similar question on the newsgroup prior to this mailing list - my question was actually about applying refactorings to code imported from,
                          Message 12 of 23 , Feb 1, 2000
                            > How can you possible refactor when parallel development is involved.
                            >
                            > My client maintains we can't refactor classes that exist in a prior released
                            > version because of these head aches. It's hard to disagree. Help me out!

                            When I asked a similar question on the newsgroup prior to this mailing list
                            - my question was actually about applying refactorings to code imported
                            from, and tracking, outside sources - the answer was pretty much
                            "wrap up that code and try not to touch it". :-(

                            But allow me to guess at some things that might help:

                            Much of the problem is that many of our version control tools
                            are file based - and class based tools are only a little bit better.
                            When, e.g., a method in class A is patched, but that method has
                            migrated to class B, all of the VC tools that I am familiar with will
                            give up and report a conflict that has to be patched manually.

                            However, there's another class of VC tools that is line based
                            - Cray's old "deck of cards" based tool was like this. In the modern world,
                            I'm not sure, but IBM Visual Age C++ / Java at least have the potential
                            to act like this. In such a VC system, one can track the evolution of
                            individual lines of code - so if a method has been moved, the VC
                            system can see where it has been moved to, and take a stab at applying
                            the patch.

                            Please, if anyone is using Visual Age and can confirm that their code
                            database provides line based VC, please tell me!

                            ---

                            Flip side: in typical file and class based VC systems, maybe refactoring
                            makes patches harder to apply. But, at least you should be able to run the
                            tests that come with the patch? Especially if you move methods,
                            but leave the old method around delegating.
                          • Ron Jeffries
                            ... There s truth to this notion. What you can do is limited by what s published. Much refactoring doesn t impact the public API, and you can do that with
                            Message 13 of 23 , Feb 2, 2000
                              At 10:31 PM 2/1/2000 -0500, you wrote:
                              >My client maintains we can't refactor classes that exist in a prior released
                              >version because of these head aches. It's hard to disagree. Help me out!

                              There's truth to this notion. What you can do is limited by what's
                              published. Much refactoring doesn't impact the public API, and you can do
                              that with impunity. (The customer does have to load a consistent cut of the
                              software, of course).

                              Your tests can allow you to refactor where otherwise you might fear to
                              tread. But the cost of change DOES jump up after publication. Only
                              experience in the specific case will tell you whether it has jumped too high.

                              Ron Jeffries
                              Extreme Programming Training and Consultation
                              www.XProgramming.com
                            • Ron Jeffries
                              ... Doctor, it hurts when I fork my versions ... Doctor, it hurts when I release bugs ... However, when you do, you do. So make fixing the problem identify the
                              Message 14 of 23 , Feb 2, 2000
                                At 10:31 PM 2/1/2000 -0500, you wrote:
                                >How can you possible refactor when parallel development is involved. Doesn't
                                >this make it very difficult to promote a maintenance change (bug fix or
                                >perhaps enhancement) to a class in a newer version when that new class has
                                >been totally blown to bits (because of refactoring) in the new version?

                                Doctor, it hurts when I fork my versions ...

                                Doctor, it hurts when I release bugs ...

                                However, when you do, you do. So make fixing the problem identify the
                                problem in all versions, fixing it independently. Promote the Test Showing
                                the Defect to all versions to prevent recurrence. Fixing the structure of
                                the code is more important than added difficulty with testing/fixing. But
                                if you are doing Unit Tests at 100% ab initio, the testing/fixing really
                                will be cut way down.

                                Ron Jeffries
                                Extreme Programming Training and Consultation
                                www.XProgramming.com
                              • jorg.schaible@db.com
                                Hi Berry, you may have a look at Perforce (http://www.perforce.com). The product is only available via the web, but it seems to fit perfectly your needs. You
                                Message 15 of 23 , Feb 2, 2000
                                  Hi Berry,

                                  you may have a look at Perforce (http://www.perforce.com). The product is only
                                  available via the web, but it seems to fit perfectly your needs. You may have an
                                  impression of the product yourself (free two user version and you'll always get
                                  a 30 day evaluation license with any user number), have a look at a lot of "best
                                  strategies" material and from my experience I can only credit Perfroce's
                                  support.

                                  Regards,
                                  Jörg Schaible


                                  ---------------------------------------- Message History
                                  ----------------------------------------


                                  From: bgervin@... on 01/02/2000 18:58

                                  Please respond to extremeprogramming@egroups.com

                                  To: extremeprogramming@egroups.com
                                  cc:
                                  Subject: [extremeprogramming] Parallel Version Development: Branching & Merging
                                • Ruben Reifenberg
                                  Well, the problem did surely not come up with XP. Whenever we refactored (also before knowing the terms refactoring and XP ) we had the problem to promote
                                  Message 16 of 23 , Feb 2, 2000
                                    Well, the problem did surely not come up with XP. Whenever we
                                    refactored (also before knowing the terms "refactoring" and "XP") we
                                    had the problem to promote fixes to later versions that were refactored.

                                    So I'm also generally interested in ideas how to manage it most
                                    efficiently...currently I try to focus on the benefits of refactoring
                                    and hope there are some advantages remaining also with the
                                    "promote-fixes-problem".
                                    E.g.
                                    "When it is not easy to promote the fix in the refactored version, you
                                    did not a good refactoring, because the code should become easier to
                                    maintain..."
                                    or maybe "There is a good chance that the refactoring made the
                                    maintainance fix redundant already." (?)
                                    If it did not, I also think you are in trouble if you have no test that
                                    covers the problem that was fixed.
                                    Greetings
                                    Ruben



                                    "barry gervin" <bgervi-@...> wrote:
                                    original article:http://www.egroups.com/group/extremeprogramming/?start
                                    =1189
                                    > This sort of relates to the OpenSource question.
                                    >
                                    > The project that I'm working on is a commercial product development
                                    and I'm
                                    > trying to visualize how things will be affected if we were to apply
                                    the XP
                                    > principles.
                                    >
                                    > The way our release cycles work is when we have finished a version
                                    (say 3.6)
                                    > we release it to our customers who are ready for a release. We start
                                    to work
                                    > on the next version (3.7). In the background however our maintenance
                                    team
                                    > does some maintenance on the last version (3.6). Furthermore, if we
                                    have a
                                    > big module that will take some time & iterations to get right, we may
                                    start
                                    > working on 3.8 as well. By the time 3.7 is ready, we release it to
                                    customers
                                    > who are ready for 3.7. Some customers may still stay at 3.6 and
                                    eventually
                                    > upgrade to 4.0. They may need some interim fixes, they may even need
                                    a logic
                                    > change.
                                    >
                                    > The challenging part of this is to refactor mercilessly. I guess this
                                    is a
                                    > challenge to begin with - but it's easy to promote maintenance fix
                                    from 3.6
                                    > to 3.7 if 3.7 hasn't been refactored mercilessly. I guess this is why
                                    you
                                    > need serious test functionality in place or this thing falls down
                                    like a
                                    > house of cards.
                                    >
                                    > Any input from anyone doing XP in a similar environment.
                                    > 1) Commercial Product
                                    > 2) Parallel Version Development
                                    >
                                    > Thanks
                                    >
                                    > Barry Gervin
                                    > bgervin@...
                                    >
                                  • Fred George
                                    From: Barry Gervin [mailto:bgervin@gervin.com] Subject: [extremeprogramming] Parallel Version Development: Branching & Merging The project that I m working on
                                    Message 17 of 23 , Feb 2, 2000
                                      From: Barry Gervin [mailto:bgervin@...]
                                      Subject: [extremeprogramming] Parallel Version Development: Branching &
                                      Merging

                                      "The project that I'm working on is a commercial product development and I'm
                                      trying to visualize how things will be affected if we were to apply the XP
                                      principles.
                                      ...
                                      Any input from anyone doing XP in a similar environment.
                                      1) Commercial Product
                                      2) Parallel Version Development"

                                      Let me first say I have had no experience trying to address this problem.
                                      But, I have given it a lot of thought for my clients...

                                      Having two XP code bases evolve independently and go _days_ without
                                      integration is terribly scary, creating _fear_, one of the things XP tries
                                      to eliminate. Thus, your environment is not conducive to XP. But...

                                      I believe in Continuous Software Releasing. Rapid iterations combined with
                                      suites of tests should allow a product to be cut for release quickly. XP
                                      greatly facilitates this. It's legacy release structures and processes that
                                      inhibits Continuous Software Releasing.

                                      If a client wants (for new functions) or needs (defect correction), the
                                      client obtains the latest release. Maintenance becomes a core development
                                      function, with defects treated like any other engineering task. Indeed,
                                      maintenance programs have practiced Collective Code Ownership for years,
                                      fixing problems in whatever component was necessary.

                                      Who objects to this? Clients are afraid of new software because its quality
                                      is suspect. XP's object design, refactoring, and test practices mitigate
                                      this problem, although it would take time to convince a client that
                                      tomorrow's code is _more_ reliable than today's (more test cases, more eyes
                                      have seen it, etc.).

                                      Traditional test organizations may object: They want to hold code hostage
                                      for months before "approving" it for release. XP encourages the functional
                                      tests to be developed in parallel to the code, and run as the code is
                                      developed. At most, a few days of additional validation should suffice.

                                      One lesson learned from our JIT manufacturing brethren is that if a process
                                      needs to be improved by 20%, it is just tweaked. If a process needs to be
                                      improved 500%, new thinking kicks in and new solutions emerge. JIT was
                                      borne of just such thinking.

                                      So you challenge is to recognize and measure the horrible cost of
                                      integration. To drive out that cost, process changes would need to be
                                      introduced. And the journey to Continuous Software Releasing begins.

                                      Fred
                                      mailto:FredGeorge@...
                                    Your message has been successfully submitted and would be delivered to recipients shortly.