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

[XP] Re: Initial Planning and Metaphor

Expand Messages
  • Kiel Hodges <kielhodges@mindspring.com>
    ... the DB facade. ... a situation ... far in my ... One of the most powerful techniques I ve learned from doing XP is out of order implementation . The code
    Message 1 of 41 , Mar 1, 2003
    • 0 Attachment
      --- In extremeprogramming@yahoogroups.com, "Nick Robinson"
      <nicholasrobinson@y...> wrote:
      > ...
      > When I wrote the above I was also thinking of the
      > situation when everything that is to be built is dependant on
      the DB facade.
      > However I was trying to play devils advocate. I dont see such
      a situation
      > of total dependance a reality. I certainly havent seen it so
      far in my
      > career.

      One of the most powerful techniques I've learned from doing XP is
      "out of order implementation".

      The code is produced in test driven fashion. To effectively test
      a class, it needs to be decoupled from other things (which
      happens to be a good thing anyway). In the case of a class that
      depends on the DB facade to fulfill its own responsbility, you
      don't want to depend on the actual DB facade implementation.
      Instead, depend on an abstraction that DB facade implements. For
      the test, use a mock implementation of that abstraction.

      Say we're doing a task that requires that a class retrieve an
      instance of another class from the DB facade. There is another
      task to implement that retrieval. We can proceed with our task
      without waiting on the other because we aren't going to use the
      real facade anyway. It's easy to have the mock give us the right
      answer for the particular test.

      In the case where the facade itself doesn't yet exist, have a
      /quick/ discussion to come up with the interface. Don't get too
      caught up in designing the perfect interface, just come up with
      something that's close enough. If the interface changes a little
      when the real facade is implemented, just make the necessary
      adjustments to the mock (or vice versa!) In my experience, this
      is trivial for a team that emphasizes communication.

      Kiel Hodges
      SelfSo Software
    • Nick Robinson
      ... Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/
      Message 41 of 41 , Mar 2, 2003
      • 0 Attachment
        > -----Original Message-----
        > From: George Dinwiddie [mailto:programminglists@...]
        > Sent: 01 March 2003 16:29
        > To: extremeprogramming@yahoogroups.com
        > Subject: Re: [XP] Re: Initial Planning and Metaphor
        > Nick Robinson wrote:
        > >
        > >>Why would you create a class graph? Is the class graph just a
        > >>representation of the customer's experience and knowledge in the
        > >>domain? Why would the programmers want this on paper? Why would the
        > >>customer pay for it? Why not just ask the customer how their domain
        > >>works? How does having a class graph give you information about an
        > >>estimate?
        > >>
        > >
        > >
        > > Why would the customer want to pay for a class graph? Thats not
        > what I am
        > > alluding too. Forget XP a second - remember we are doing these
        > workshops as
        > > we dont know XP, and come from an RUP/UP background (or dare I
        > admit it an
        > > ICONIX background for some). These artefacts are what we have typically
        > > produced, and therefore thats why they are being mentioned in
        > the workshops.
        > The question is "for whom are these artifacts produced and what need to
        > they have for them?" "Because we've always done it that way" is a weak
        > reason. You need to ask "why" again (and perhaps again, again) to
        > uncover the underlying reason, if there is one.

        I think you hit the nail on the head though. The "Because we've always done
        it that way" is a subconcious manifestation that affects the thinking when
        in a common situation were experience has been gained. In XP it is obvious
        such questions need to be answered, again and again to reinforce the point.
        In RUP certain documents are produced through the workflow, as they add
        value to the process and the team working that process (at least thats the
        idea though I have seen this fail).

        > - George
        > --
        > -------------------------
        > George Dinwiddie
        > agile programmer for hire
        > Baltimore/Washington area
        > gdinwiddie@...
        > -------------------------
        > 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/

        Do you Yahoo!?
        Yahoo! Tax Center - forms, calculators, tips, more
      Your message has been successfully submitted and would be delivered to recipients shortly.