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

[XP] Re: no excuses programming

Expand Messages
  • Phlip
    From: Jim McFarland ... I believe I wrecked Steve s example, in which the requirements did _not_ shift a lot, but the programmer blamed them anyway. So let s
    Message 1 of 82 , Mar 1, 2000
    • 0 Attachment
      From: Jim McFarland

      > "steve metsker" wrote:
      > > The non-nx programmer may offer "the requirements kept shifting" as an
      > > excuse. The nx programmer says, "this code is my best effort".
      > I agree with Phlip in that I am not sure that "the requirements keep
      > shifting" is always an "excuse". Sometimes it is a fact that you
      > cannot control. What I thought you meant by NX was taking
      > responsibility for what is under your control and not making excuses,
      > i.e. not blaming other people or things for what is your own fault.

      I believe I wrecked Steve's example, in which the requirements did _not_
      shift a lot, but the programmer blamed them anyway.

      So let's let the facts - and the excuses - be more specific!

      ======= http://users.deltanet.com/~tegan/home.html =======
    • Ken Auer
      ... To throw a twist into this conversation... IMO, it s unprofessional to not ship code because there is still some cruft in it. What is professional? ... it
      Message 82 of 82 , Mar 16, 2000
      • 0 Attachment
        > > IMO, it's unprofessional to ship crufty code...
        > I feel the same way, but why does anyone feel that way? Isn't it more a
        > warrior ethic or creed that makes us want to do our best? I think
        > Xp'ers like writing great-looking code. What is "professional"? I'm not
        > sure the economic argument pans out. Even if it weren't economic to do
        > my best, I'd still do my best.

        To throw a twist into this conversation...

        IMO, it's unprofessional to not ship code because there is still some cruft
        in it.

        "What is professional?"... it is not perfectionism. (I don't remember who
        the original poster of this was, and I'm not accusing anyone in particular
        of anything, just trying to start a different slant on the conversation).

        I constantly find myself leaving code in the system that I think could be
        better. But only when I'm not sure how to make it better. E.g. I find that
        Java's typing model causes me to encapsulate casting in order to keep user's
        of a class from having to cast... (I never had to do that in Smalltalk, but
        that's a completely different thread). So, I often end up, after lots of
        functionality being added and a bunch of refactoring, finding that I have
        small classes that exist mostly to encapsulate the generic stuff underneath
        it and insert some type intelligence. The code looks almost exactly the
        same as a couple of other classes that also add similar type intelligence
        for a different type. I hate it, but it's not always obvious or possible to
        get rid of it.

        Sometimes, later, I learn a new trick that can help me clean up the cruft.
        I typically don't go and find all of the places in the system that I can
        apply the trick. The customer would be pretty bummed out if I took 2-3 days
        to do that and missed the iteration. However, I do communicate the trick
        (often through the pair-vine, but sometimes at a StandUpMeeting or on the
        whiteboard with a small group), and encourage people to apply it when their
        in code containing the particular suspect cruft.

        Eventually, the cruft works itself out and new flavors of cruft works its
        way in. The key is to never insert cruft that has a known cure, and remove
        the old cruft the next time you have to add something where the cruft lives.


        Ken Auer <kauer@...>
        The Extreme Programming Software Studio(TM)
        RoleModel Software <http://www.rolemodelsoft.com> (v) 919-557-6352
        5004 Rossmore Dr. (f) 919-552-8166
        Fuquay-Varina, NC 27526 (m) 919-630-5807
        "Christianity is not a plug-in, it's an operating system"
        Mark 12:28-31
      Your message has been successfully submitted and would be delivered to recipients shortly.