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

30499Re: [XP] Quality

Expand Messages
  • Matthew Davis
    Aug 1, 2001
      --- In extremeprogramming@y..., Paulo Motta <prmottajr@u...> wrote:
      > My point is, if you have a large project and do not have the
      > documentation of the modules, classes and everything else and
      > part of your development team is reallocated to another project
      > because those guys are the only ones who could do the other
      > job. Now you receive a new team that do not know your project
      > because they simply weren't there when the project started.
      > How do you do ? Simply let them read the code and
      > interact with the system to find out what's going on will take
      > too much time !

      In the best possible world, the new team is also XP experienced, and
      yes, they do read the code to find out what's going on. Hopefully,
      they also get some time to pair-program with the old team before the
      transition is completed.

      Reading the code does not take too much time because:
      1 - it is simple and written for legibility
      2 - it has no unnecessary functionality (part of 1)
      3 - coupling is low (part of 1), so you don't need to know the whole
      system in-depth in order to work on one part
      4 - you have a partner, and when one of you misses something important
      the other will catch it
      5 - the code is never out-of-date; even when there is documentation,
      you need to look at the code anyway to find out what's really going on
      6 - the metaphor should help guide you to the right code to do your
      work, and help you understand the overall structure
      7 - the tests explicitly show the expected behavior of the system

      Where this breaks down, of course, is when the hand-off is to a non-XP
      team. Such a team will expect documentation, and will not be used to
      the idea that code can be readable on its own.

      (Many of the XP practices support each other like this. The flip side
      to the above is that if you aren't pair-programming, and don't have
      unit tests, and haven't used test-first design and merciless
      refactoring to keep the code in the best possible shape, then it won't
      work - you'll need supporting documentation.)

      I hope this helps.

    • Show all 7 messages in this topic