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

Re: [XP] Incremental development and cost

Expand Messages
  • D.AndrĂ© Dhondt
    On Tue, Jan 26, 2010 at 1:54 AM, geoffrey_slinker
    Message 1 of 7 , Jan 27, 2010
    • 0 Attachment
      On Tue, Jan 26, 2010 at 1:54 AM, geoffrey_slinker <
      geoffrey_slinker@...> wrote:

      > The user now thinks of another feature that is just a simple addition to an
      > existing feature. From the users point of view the feature is incremental,
      > natural, and straightforward.
      >
      > The developer starts writing the code and finds that this new addition
      > doesn't fit nicely. It is an architecture issue. What is to be done? Well,
      > it is a small feature, and there are "ways" to make this fit and it is
      > justified by saying, "It is the simplest thing to do and I can do it this
      > way in a few days so the cost will be small".
      >
      No--it's the most *simplistic* thing if we force-fit the change. The
      "simplest thing that could possibly work" is a shortcut for saying that we
      keep the system in a state of cleanliness--that it's the cleanest, most
      basic, most elegant architecture that can handle the current system
      requirements--it has the fewest number of classes, LOCs, etc.

      In a code base developed like you mentioned (test-driven, good code), I
      expect an expensive change to show up maybe every 3-6 months. The rest of
      the time, we just do little refactorings for every feature. This should
      build enough trust that when the client stops by and asks for "just a little
      change" and you say that it's actually very expensive--that they'll take
      your word for it and let you make the change. There have been times I've
      hacked out the quick 10-minute change to let the client "test drive" and
      verify we're all thinking the same thing--but then we go back and implement
      it right. Sometimes we've even negotiated an amortized refactoring...
      taking baby steps to implementing it right bit by bit over a few
      iterations...


      --
      D. André Dhondt
      http://dhondtsayitsagile.blogspot.com/

      Support low-cost conferences -- http://agiletour.org/
      If you're in the area, join Agile Philly http://www.AgilePhilly.com
      Mentor/be mentored: the Agile Skills Project
      https://sites.google.com/site/agileskillsprojectwiki/


      [Non-text portions of this message have been removed]
    Your message has been successfully submitted and would be delivered to recipients shortly.