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

Re: [XP] Refactoring is the problem

Expand Messages
  • yahoogroups@jhrothjr.com
    From: Dave Rooney To: extremeprogramming@yahoogroups.com
    Message 1 of 91 , Oct 1, 2006
      From: "Dave Rooney" <dave.rooney.at.mayford.ca@...>
      To: "extremeprogramming@yahoogroups.com"
      Sent: Sunday, October 01, 2006 8:35 AM
      Subject: Re: [XP] Refactoring is the problem

      > Hi Joe,
      > After I sent my first response, I decided to go back an re-read your
      > original post. I do indeed think that this is a case where the
      > person is pushing back against a 180 degree change in the way she was
      > taught to develop software.
      > During the summer after 1st year university, I built a small
      > inventory management system for a group I was working with. It was a
      > great environment, because I had the Customer sitting just a few feet
      > away and had very rapid feedback at all times. I actually delivered
      > that system in small increments as I completed functionality. Pretty
      > cool concept for 1985.
      > Fast forward to the summer of 1986. I came back to the same group
      > and, as Customers do, they wanted new functionality and some new
      > features. I had a look at the code and my first remark was, "Who
      > wrote this crap?!" Well, I had nowhere to look but the mirror. So,
      > before I made any functional changes, I refactored the code in the
      > large way. As I did add new or improved features, I refactored even
      > more. I just didn't know that was the name for it then.
      > When I started doing contract work, the first couple of systems I
      > worked on involved some pretty crappy code that I was brought in to
      > rescue. In those cases, I either refactored or rewrote a lot of code
      > in order to stabilize it or improve the design. That was in the
      > early 90's.
      > So, to me, refactoring is a natural act. I never (and I do mean
      > never) look at code and assume that it will never change. I
      > explained it to the Customers that the changes were needed in order
      > to go forward. I also explained that I change my own code as I learn
      > more about the problem domain - not just something that someone else
      > wrote.
      > That likely isn't everyone's experience. I do remember being told -
      > as opposed to taught - in school that if it ain't broke, never ever
      > touch it again. A lot of people likely took that to heart, and
      > probably wonder why in hell we XPers want to change everything all
      > the time rather than trying to get it right the first time!
      > Does that make any sense?

      It makes a great deal of sense. There are a lot of things
      in XP that are more of a framing issue than they are a
      "communication" issue in the way people normally think of

      While you may or may not like his politics, I'd strongly
      suggest reading George Lakoff on framing. If you want
      to get the point across that continuous refactoring is the
      best way to keep a design good, you've lost right away
      if you let the other person set the "design up front" frame.

      The same goes for TDD. If you let the other person set
      the 'test' frame, you've lost. You've got to get the
      "iterative design improvement" frame out there.

      John Roth

      > Dave Rooney
      > Industrial XP Coach
      > I n d u s t r i a l L o g i c, I n c.
      > http://www.industriallogic.com
      > http://www.industrialxp.org
    • Adrian Howard
      ... Now *that* made me laugh out loud. Adrian
      Message 91 of 91 , Oct 7, 2006
        On 6 Oct 2006, at 18:08, Ron Jeffries wrote:

        > Hello, adrianh quietstars. We email macros have been trying hard to
        > give Ron a more human on line appearance, a task whose magnitude we
        > frankly find daunting. We are glad to hear that we have at least
        > been able to amuse you, which is more than he has ever done.

        Now *that* made me laugh out loud.

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