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

RE: [XP] what's the deal with CRC Cards?

Expand Messages
  • Phil Lewis
    2pth I ve tried using CRC and can t get along with it, and neither did (I m working on another post to elucidate this past tense)most of my team, so I can t
    Message 1 of 10 , Aug 1, 2002
    • 0 Attachment
      2pth

      I've tried using CRC and can't get along with it, and neither did (I'm
      working on another post to elucidate this past tense)most of my team, so I
      can't comment on that part of your post.

      But the architecture part. It depends what you mean by architecture in a
      large part. We have come up with architecture in three ways.

      First we spent months doing some up front design, before we adopted XP. Most
      of this was wasted effort, but we have been left with a core set of patterns
      that underpin our entire system, so I guess thats architecture.

      Second, we let it evolve during six months worth of XP effort. This, it has
      to be said, lead to a bit of a mishmash, with different parts of the system
      using either different patterns, or the same pattern but implemented in a
      slightly diferent way. This was when I didn't understand Metaphor. I even
      dared argue with Ron about it on a couple of occaisions.

      Third, and last, whenever we came across a story (or, more usually, a set of
      stories) that looked like they needed some kind of unifying framework, we
      invented a metaphor. Then we conducted our planning session with the
      metaphor as the central theme. This kead to a unified set of patterns that
      was easy to understand, clear extensible, reusabvle blah blah blah.

      Now thats what I call architecture!

      Another thought on CRC. I guess in terms of what place they have, I can say
      a brief word. Because I recon they occupy the same place as UML. SO my
      comments are actually about UML:

      1. Draw it on a white board
      2. Calrify
      3. Copy it to paper
      4. Erase the white boeard
      5. Copy from paper to tests
      6. Copy tests to code
      7. Throw away the paper

      I have 6 and 7 in that order just in case. For people who like to fly
      without a net, they could be reversed. Except that a single diagram (set of
      crc's?), is usually more than one task.

      Phil

      > -----Original Message-----
      > From: Stell Smith, Jeremy (Thoughtworks)
      > [mailto:Jeremy_StellSmith@...]
      > Sent: 01 August 2002 09:37
      > To: 'extremeprogramming@yahoogroups.com'
      > Subject: [XP] what's the deal with CRC Cards?
      >
      >
      > Are people still using them?
      >
      > What place do they have on an XP project?
      >
      >
      > I'm reading "The CRC Card Book" which seems a bit dated. I
      > think some of
      > the uses/benefits they talk about are replaced or at least
      > addressed in XP.
      > Definitely we're not trying to come up with the entire system
      > architecture
      > in the "analysis phase" of a project any more. In fact we
      > drive it out,
      > largely with tests that are a great way of understanding the
      > system. We
      > have pairing and standup meetings to encourage team interaction. In
      > addition, I don't think many of the people on this list are
      > struggling with
      > object-oriented concepts any more.
      >
      >
      > That said, I REALLY like the idea of an entire team getting
      > together and
      > brainstorming, roleplaying and actively being participants in
      > the structure
      > of a system. Furthermore, I'm wondering if they may also be
      > a good tool for
      > new programmers to start internalizing the theory of an
      > existing system, and
      > if so, how would such a CRC card session play itself out?
      >
      >
      > As an aside, how do people actually come up with
      > "architecture" these days?
      > I usually have a mental model which I change and refactor at
      > whiteboards
      > with team members. This is the model I implement parts of as stories
      > require. Often the story will require me trashing my old
      > mental model and
      > coming up with a new one. But that's fine. Maybe forming
      > and sharing this
      > model is a good use of CRC cards?
      >
      > To Post a message, send it to: extremeprogramming@...
      >
      > To Unsubscribe, send a blank message to:
      > extremeprogramming-unsubscribe@...
      >
      > ad-free courtesy of objectmentor.com
      >
      > Your use of Yahoo! Groups is subject to
      > http://docs.yahoo.com/info/terms/
      >
      >


      **************************************************************************************************
      The views expressed in this E-mail are those of the author and not necessarily those of Knowledge Management Software.
      If you are not the intended recipient or the person responsible for delivering to the intended recipient, please be advised that you have received this E-mail in error and that any use is strictly prohibited.

      If you have received this E-mail in error, please notify us by forwarding this E-mail to the following address:

      mailadmin@...
      **************************************************************************************************
    • Ron Jeffries
      ... Why not 1. Draw it on a white board; 2. Use white board as guide to coding tests; 3. Erase whiteboard when someone wants the space. ? Ron Jeffries
      Message 2 of 10 , Aug 1, 2002
      • 0 Attachment
        Around Thursday, August 1, 2002, 5:32:15 AM, Phil Lewis wrote:

        > 1. Draw it on a white board
        > 2. Calrify
        > 3. Copy it to paper
        > 4. Erase the white boeard
        > 5. Copy from paper to tests
        > 6. Copy tests to code
        > 7. Throw away the paper

        Why not

        1. Draw it on a white board;
        2. Use white board as guide to coding tests;
        3. Erase whiteboard when someone wants the space.

        ?

        Ron Jeffries
        www.XProgramming.com
        Wisdom begins when we discover the difference between
        "That makes no sense" and "I don't understand". --Mary Doria Russell
      • Phil Lewis
        Thats Better. I was distracted by the fact that we cannot see the whiteboard from where we code. ...
        Message 3 of 10 , Aug 1, 2002
        • 0 Attachment
          Thats Better.

          I was distracted by the fact that we cannot see the whiteboard from where we
          code.

          > -----Original Message-----
          > From: Ron Jeffries [mailto:ronjeffries@...]
          > Sent: 01 August 2002 10:43
          > To: extremeprogramming@yahoogroups.com
          > Subject: Re: [XP] what's the deal with CRC Cards?
          >
          >
          > Around Thursday, August 1, 2002, 5:32:15 AM, Phil Lewis wrote:
          >
          > > 1. Draw it on a white board
          > > 2. Calrify
          > > 3. Copy it to paper
          > > 4. Erase the white boeard
          > > 5. Copy from paper to tests
          > > 6. Copy tests to code
          > > 7. Throw away the paper
          >
          > Why not
          >
          > 1. Draw it on a white board;
          > 2. Use white board as guide to coding tests;
          > 3. Erase whiteboard when someone wants the space.
          >
          > ?
          >
          > Ron Jeffries
          > www.XProgramming.com
          > Wisdom begins when we discover the difference between
          > "That makes no sense" and "I don't understand". --Mary Doria Russell
          >
          >
          > To Post a message, send it to: extremeprogramming@...
          >
          > To Unsubscribe, send a blank message to:
          > extremeprogramming-unsubscribe@...
          >
          > ad-free courtesy of objectmentor.com
          >
          > Your use of Yahoo! Groups is subject to
          > http://docs.yahoo.com/info/terms/
          >
          >


          **************************************************************************************************
          The views expressed in this E-mail are those of the author and not necessarily those of Knowledge Management Software.
          If you are not the intended recipient or the person responsible for delivering to the intended recipient, please be advised that you have received this E-mail in error and that any use is strictly prohibited.

          If you have received this E-mail in error, please notify us by forwarding this E-mail to the following address:

          mailadmin@...
          **************************************************************************************************
        • Bryan Dollery
          Hi Ron, ... And I thought that you were meant to be extreme! What s wrong with 1. Draw it on a whiteboard 2. Rub it out 3. Go code it TFD ? (I use this
          Message 4 of 10 , Aug 1, 2002
          • 0 Attachment
            Hi Ron,

            > > 1. Draw it on a white board
            > > 2. Calrify
            > > 3. Copy it to paper
            > > 4. Erase the white boeard
            > > 5. Copy from paper to tests
            > > 6. Copy tests to code
            > > 7. Throw away the paper
            >
            > Why not
            >
            > 1. Draw it on a white board;
            > 2. Use white board as guide to coding tests;
            > 3. Erase whiteboard when someone wants the space.

            And I thought that you were meant to be extreme!

            What's wrong with

            1. Draw it on a whiteboard
            2. Rub it out
            3. Go code it TFD

            ?

            (I use this technique - if it's too big to fit in my head, it's too complex
            to go in my system - or - if I need it written down, then I obviously don't
            understand it yet)

            Cheers,

            Bryan
          • Ron Jeffries
            ... Ohhhh ... then work on that, not on diagrams ... ;- Ron Jeffries www.XProgramming.com The practices are not the knowing: they are a path to the knowing.
            Message 5 of 10 , Aug 1, 2002
            • 0 Attachment
              Around Thursday, August 1, 2002, 5:48:38 AM, Phil Lewis wrote:

              > I was distracted by the fact that we cannot see the whiteboard from where we
              > code.

              Ohhhh ... then work on that, not on diagrams ... ;->

              Ron Jeffries
              www.XProgramming.com
              The practices are not the knowing: they are a path to the knowing.
            • Ron Jeffries
              ... It s called Extreme Programming, not Memory Extension. Ron Jeffries www.XProgramming.com Sorry about your cow ... I didn t know she was sacred.
              Message 6 of 10 , Aug 1, 2002
              • 0 Attachment
                Around Thursday, August 1, 2002, 5:52:47 AM, Bryan Dollery wrote:

                >> 1. Draw it on a white board;
                >> 2. Use white board as guide to coding tests;
                >> 3. Erase whiteboard when someone wants the space.

                > And I thought that you were meant to be extreme!

                > What's wrong with

                > 1. Draw it on a whiteboard
                > 2. Rub it out
                > 3. Go code it TFD

                It's called Extreme Programming, not Memory Extension.

                Ron Jeffries
                www.XProgramming.com
                Sorry about your cow ... I didn't know she was sacred.
              • Fuqua, Andrew (ISSAtlanta)
                In the early days of this project, we drew and erased and drew and erased on a white board until (1) we understood it, (2) we knew it, and (3) we agreed on it.
                Message 7 of 10 , Aug 1, 2002
                • 0 Attachment
                  In the early days of this project, we drew and erased and drew and erased on
                  a white board until (1) we understood it, (2) we knew it, and (3) we agreed
                  on it. But the path we were taking hadn't been clearly set -- there wasn't a
                  lot of pre-existing code to guide (constrict) our path. And there were
                  bigger holes to fill in. So we had to refer to the board a lot -- it aided
                  our memory.

                  Now, a year and a half later, we're blazing fewer new trails -- our path is
                  often set by existing code. New code seems to fit a certain way in the
                  puzzle. We don't need many new diagrams. Our structure is stable. What
                  scribbling we do is simple enough to keep in our head.

                  The net is, earlier on, I find Ron's 3 more helpful. Later on, I find
                  Bryan's 3 sufficient.

                  andrew
                  -----Original Message-----
                  From: Ron Jeffries [mailto:ronjeffries@...]
                  Sent: Thursday, August 01, 2002 5:59 AM
                  To: extremeprogramming@yahoogroups.com
                  Subject: Re: [XP] what's the deal with CRC Cards?


                  Around Thursday, August 1, 2002, 5:52:47 AM, Bryan Dollery wrote:

                  >> 1. Draw it on a white board;
                  >> 2. Use white board as guide to coding tests;
                  >> 3. Erase whiteboard when someone wants the space.

                  > And I thought that you were meant to be extreme!

                  > What's wrong with

                  > 1. Draw it on a whiteboard
                  > 2. Rub it out
                  > 3. Go code it TFD

                  It's called Extreme Programming, not Memory Extension.

                  Ron Jeffries
                  www.XProgramming.com
                  Sorry about your cow ... I didn't know she was sacred.


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

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

                  ad-free courtesy of objectmentor.com

                  Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
                • Dinwiddie, George
                  Step 0, install a whiteboard near the computers.
                  Message 8 of 10 , Aug 1, 2002
                  • 0 Attachment
                    Step 0, install a whiteboard near the computers.

                    > -----Original Message-----
                    > From: Phil Lewis [mailto:phil.lewis@...]
                    > Sent: Thursday, August 01, 2002 5:49 AM
                    > To: 'extremeprogramming@yahoogroups.com'
                    > Subject: RE: [XP] what's the deal with CRC Cards?
                    >
                    >
                    > Thats Better.
                    >
                    > I was distracted by the fact that we cannot see the
                    > whiteboard from where we
                    > code.
                    >
                    > > -----Original Message-----
                    > > From: Ron Jeffries [mailto:ronjeffries@...]
                    > > Sent: 01 August 2002 10:43
                    > > To: extremeprogramming@yahoogroups.com
                    > > Subject: Re: [XP] what's the deal with CRC Cards?
                    > >
                    > >
                    > > Around Thursday, August 1, 2002, 5:32:15 AM, Phil Lewis wrote:
                    > >
                    > > > 1. Draw it on a white board
                    > > > 2. Calrify
                    > > > 3. Copy it to paper
                    > > > 4. Erase the white boeard
                    > > > 5. Copy from paper to tests
                    > > > 6. Copy tests to code
                    > > > 7. Throw away the paper
                    > >
                    > > Why not
                    > >
                    > > 1. Draw it on a white board;
                    > > 2. Use white board as guide to coding tests;
                    > > 3. Erase whiteboard when someone wants the space.
                    > >
                    > > ?
                    > >
                    > > Ron Jeffries
                    > > www.XProgramming.com
                    > > Wisdom begins when we discover the difference between
                    > > "That makes no sense" and "I don't understand". --Mary Doria Russell
                    > >
                    > >
                    > > To Post a message, send it to: extremeprogramming@...
                    > >
                    > > To Unsubscribe, send a blank message to:
                    > > extremeprogramming-unsubscribe@...
                    > >
                    > > ad-free courtesy of objectmentor.com
                    > >
                    > > Your use of Yahoo! Groups is subject to
                    > > http://docs.yahoo.com/info/terms/
                    > >
                    > >
                    >
                    >
                    > **************************************************************
                    > ************************************
                    > The views expressed in this E-mail are those of the author
                    > and not necessarily those of Knowledge Management Software.
                    > If you are not the intended recipient or the person
                    > responsible for delivering to the intended recipient, please
                    > be advised that you have received this E-mail in error and
                    > that any use is strictly prohibited.
                    >
                    > If you have received this E-mail in error, please notify us
                    > by forwarding this E-mail to the following address:
                    >
                    > mailadmin@...
                    > **************************************************************
                    > ************************************
                    >
                    >
                    > To Post a message, send it to: extremeprogramming@...
                    >
                    > To Unsubscribe, send a blank message to:
                    > extremeprogramming-unsubscribe@...
                    >
                    > ad-free courtesy of objectmentor.com
                    >
                    > Your use of Yahoo! Groups is subject to
                    > http://docs.yahoo.com/info/terms/
                    >
                    >
                  • Charlie Poole
                    Phil ... Have you done role-playing with with CRC cards? Used that way, they bring the out the object interactions very quickly and make it obvious where you
                    Message 9 of 10 , Aug 1, 2002
                    • 0 Attachment
                      Phil

                      > Another thought on CRC. I guess in terms of what place they have,
                      > I can say a brief word. Because I recon they occupy the same place
                      > as UML. <snip/>

                      Have you done role-playing with with CRC cards? Used that way, they
                      bring the out the object interactions very quickly and make it
                      obvious where you need to make changes. The process feels quite
                      different from a group drawing diagrams at the whiteboard and it
                      benefits from the fact that users can get involved.

                      Charlie Poole
                      cpoole@...
                      www.pooleconsulting.com
                      www.charliepoole.org
                    • Phil Lewis
                      We haven t tried it this way. A lot of my team had really bad views of role-playing. It was greatly disparaged, and as UML was delivering the goods, there
                      Message 10 of 10 , Aug 2, 2002
                      • 0 Attachment
                        We haven't tried it this way. A lot of my team had really bad views of
                        role-playing. It was greatly disparaged, and as UML was delivering the
                        goods, there seemed little point forcing people to do something they
                        disliked.

                        With a different team, I would probably try it.

                        > -----Original Message-----
                        > From: Charlie Poole [mailto:cpoole@...]
                        > Sent: 01 August 2002 18:00
                        > To: extremeprogramming@yahoogroups.com
                        > Subject: RE: [XP] what's the deal with CRC Cards?
                        >
                        >
                        > Phil
                        >
                        > > Another thought on CRC. I guess in terms of what place they have,
                        > > I can say a brief word. Because I recon they occupy the same place
                        > > as UML. <snip/>
                        >
                        > Have you done role-playing with with CRC cards? Used that way, they
                        > bring the out the object interactions very quickly and make it
                        > obvious where you need to make changes. The process feels quite
                        > different from a group drawing diagrams at the whiteboard and it
                        > benefits from the fact that users can get involved.
                        >
                        > Charlie Poole
                        > cpoole@...
                        > www.pooleconsulting.com
                        > www.charliepoole.org
                        >
                        >
                        >
                        > To Post a message, send it to: extremeprogramming@...
                        >
                        > To Unsubscribe, send a blank message to:
                        > extremeprogramming-unsubscribe@...
                        >
                        > ad-free courtesy of objectmentor.com
                        >
                        > Your use of Yahoo! Groups is subject to
                        > http://docs.yahoo.com/info/terms/
                        >
                        >


                        **************************************************************************************************
                        The views expressed in this E-mail are those of the author and not necessarily those of Knowledge Management Software.
                        If you are not the intended recipient or the person responsible for delivering to the intended recipient, please be advised that you have received this E-mail in error and that any use is strictly prohibited.

                        If you have received this E-mail in error, please notify us by forwarding this E-mail to the following address:

                        mailadmin@...
                        **************************************************************************************************
                      Your message has been successfully submitted and would be delivered to recipients shortly.