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

Re: [XP] Exactly what IS _big_ design up front? (was Re: [XP] OOPSLA 2001 trip report)

Expand Messages
  • drawstho@aol.com
    So, Dossy asks what is BDUF? I think that most of us are actually asking, what is Just Enough Design Up Front (JEDUF)? It seems that there is always some
    Message 1 of 103 , Oct 31, 2001
      So, Dossy asks "what is BDUF?" I think that most of us are actually asking, "what is Just Enough Design Up Front (JEDUF)?" It seems that there is always some DUF..

      So, there seem to be two schools of thought:
      1. do enough design to get started with the first iteration, knowing that you will be doing more in each iteration as you go along, and
      2. do a (relatively complete) first draft design up front, knowing that it will be modified in each iteration as you go along.

      I think that the second POV is what we are referring to as BDUF, and the first is a generalization of the agile approach... the difference being YAGNI...

      Which one you think is Just Enough is based on the risks you are willing to take. In many cases, there is combination view, that is somewhere in the middle:
      3. do enough design to get started, and do some design in the high-risk areas that you already know about, even if they're not in the first iteration...

      This last seems to be the actual XP philosophy. Spike the tough stuff as soon as you find it, and only do enough design to start the iteration... and is based on two fears:
      - you don't want to do stuff you don't need (YAGNI)
      - you don't want surprises (Spike)

      Dan ;-)

      Dossy <dossy@...> writes:

      > > Mike Clark made a strange utterance something like this:
      > > >Given that big is a relative measurement, I'd be interested to hear
      > > >what visions people have when they think of BDUF.
      >
      > Regardless of the methodology, design _has_ to be done. (You can't
      > just build "whatever happens" -- you have to be building something,
      > which means there needs to be a design.) Phasists clearly delineate
      > when and where design happens. XP says it happens all the time,
      > but particularly when you're writing tests, writing code, and
      > refactoring.
      >
      > So, in some sense, all methodologies do some amount of DUF. The
      > question is, the amount of DUF.
      >
      > I'd call big design up front any DUF that asserts things about
      > hypothesis, rather than empirical evidence. Phasists who do
      > Spiraling Waterfall of Doom are doing BDUF in the design phase
      > of their first iteration, and less and less BDUF and more regular
      > DUF every design phase after the first. XP'ers may fall into
      > doing BDUF when writing their tests, but any incorrect BDUF
      > gets very quickly corrected in the coding and refactoring
      > design activities. XP'ers also use Spike Solutions to
      > help avoid this, too. So can Phasists by doing what they
      > call "prototypes" ...
      >
      > Maybe I should be calling it Risky Design Up Front or RDUF,
      > as it doesn't really have to be "big" ... I guess I consider
      > proper BDUF when you're a Phasist and there is one Analysis
      > phase then ONE and only ONE Design phase in the entire process,
      > which is the very first phase. Then, the rest of the process
      > is just alternating between Code and Test phases, which really
      > just sounds like Code-and-Fix rather than any proper software
      > engineering methodology ...
      >
      > ... which is probably why we all want to avoid BDUF.
      >
      > -- Dossy
      >
      > --
      > Dossy Shiobara mail: dossy@...
      > Panoptic Computer Network web: http://www.panoptic.com/
      > "He realized the fastest way to change is to laugh at your own
      > folly -- then you can let go and quickly move on." (p. 70)
      >
      > 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/
    • Fehskens, Len
      ... Critical typo -- I have been *unable* to find the paper. I believe it was published in a SIGPLAN conference proceedings, sometime in the 70s. len.
      Message 103 of 103 , Nov 5 7:38 AM
        Dan Palanza replies to me:

        >Overlapping triplets is precisely how the universal pattern
        >takes form is a bookkeeping framework. Once again, Len,
        >I would love to see this paper.

        Critical typo -- I have been *unable* to find the paper. I believe
        it was published in a SIGPLAN conference proceedings, sometime
        in the '70s.

        len.
      Your message has been successfully submitted and would be delivered to recipients shortly.