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

[XP] Re: Code Complete on XP

Expand Messages
  • Jerome Mueller
    ... I followed this thread quite closely. And I admit to be a little confused. What I thought I knew: Waterfall says: Gather Requirement Write down a design
    Message 1 of 147 , Oct 13, 2003
    • 0 Attachment
      Randy MacDonald (Montag, 13. Oktober 2003 - 18:01):

      > At 05:30 AM 10/13/03, you wrote:
      >>Randy MacDonald wrote:
      >>
      >> > At 05:06 PM 10/11/03, you wrote:
      >> >>
      >> >>
      >> >>Isn't design done before the development starts /always/ "up front", even
      >> >>if it's done in the middle of a project where other coding has been done?
      >> >
      >> > No. Up front .ne. middle (Semantics 101)
      >>
      >>No to your No - you're arguing for a fallacy of division that isn't
      >>the case. (Semantics 102).

      > "fallacy of division"... I've never heard of that term. Do you have a URL?
      > In the meantime I googled the term... ok, front=middle if item is a
      > singleton, i.e. if a project is small enough, its middle is its front. Not
      > what I was arguing, I was saying that for a project of any size >1 there's
      > going to be a middle, and up-front design is not what's being done. And for
      > any project of small enough size, there's no need to design. If you feel
      > the need to design, the project is too big.

      I followed this thread quite closely. And I admit to be a little
      confused.

      What I thought I knew:

      Waterfall says:

      Gather Requirement
      Write down a design
      Code
      Test
      Deliver

      So design is up-front. It is up-front because after it comes coding.
      We might also say that we're coding up-front (we are coding it before
      we test it). We don't deliver until we have tested the software
      up-front.

      >> Sombody:
      >> If we design a thing before we build it, is that not up front?

      >
      > Irrelevant. Assuming one is in the middle of an XP project, lots has been
      > built. The time for up-front design is long over.

      All those things happen in the middle of a project. The project seems
      to have little to do with whether or not you call something up-front.
      It has more to do with the sequence of things.

      I understand your use of 'up-front' to be tightly coupled with 'all at
      once'. Is there some nuance of the word 'up-front' that means it can
      only happen once?

      Cheers

      Jerome
    • Ron Jeffries
      ... I understand that you encountered people who think they understand the big version better. Now please move on to the questions I asked. ;- Ron Jeffries
      Message 147 of 147 , Oct 20, 2003
      • 0 Attachment
        On Monday, October 20, 2003, at 1:00:25 AM, Brad Appleton wrote:

        > On Sun, Oct 19, 2003 at 01:41:29AM -0400, Ron Jeffries wrote:
        >> How do you know that "there are a lot of people" for whom strict linear
        >> flow is in fact easier? What metrics of comparative performance on code
        >> creation, code maintenance, and code debugging were collected on these
        >> people?

        > I met a lot of people and have spoken with a lot of people
        > who have looked at the same two pieces of code and said the
        > other one was easier and simpler in their mind. one piece
        > of code was ~10 routines of ~10 lines each. The other was a
        > single ~100 line routine. In both cases the language was C++
        > (uh oh :-) and while myself and others I know and respect felt
        > the more modular version was more maintainable, there were at
        > least as many or more who felt the single "all in one place"
        > was easier for them to follow to figure out what's going on
        > and follow/trace the flow.

        > They didn't just look at the two versions either. They actually
        > had to do testing and support and possibly debugging/tracing
        > for each one. They always preferred tracing the "linear
        > version" because they didn't have to keep the control flow
        > and the (what I would today call) System Metaphor in their
        > head. They didn't feel they needed to know the overall stuff,
        > just the details. And they felt that all the modularity and
        > encapsulation hid the details from them (imagine that :-)
        > and they considered it more complex and less maintainable for
        > them to support and deploy as a result.

        > I didn't agree with them of course, but I did feel I at least
        > understood where they were coming from and why they might feel
        > that way. And there seemed to be more of them then I had ever
        > imagined possible at the time :(

        I understand that you encountered people who think they understand the big
        version better. Now please move on to the questions I asked. ;->

        Ron Jeffries
        www.XProgramming.com
        Please state the nature of the development emergency. -- Ryan Ripley
      Your message has been successfully submitted and would be delivered to recipients shortly.