|
[]
Joel is misunderstanding XP and BDUF
[
tirsen
]
Joel is writing about how much he likes BDUF and in doing so reveals exactly how little he understands of XP and what XP-practitioners refer to as Big Up Front Design or in short BDUF. Downloading and reading through the linked PDF which is the specification for his Project Aardvark or Copilot reveals a functional specification which is a perfectly sound document to have in a "true" XP project. At ThoughtWorks very few projects start without a document of at least the same magnitude (disregarding maybe from some smaller details). We split it up into stories, estimate and rate them and run it through some clever Excel spreadsheet employing various statistical analysis. Out comes a pretty good estimate of how long the projects going to take and what it's going to cost. We call it inception and it's a perfectly "acceptable" thing to do at an XP project. It is the next step after that in a typical waterfall project that we skip and go straight to development. This step is what we refer to as BDUF. Here fancy "designers" and "architects" go through the functional specifications and using various CASE tools start designing every single component in the system. Down to each class and method. This is what we call Big Design Up Front and Joel, honestly, not even you would be so crazy to do that. We wouldn't say you're doing BDUF Joel, you're doing EDUF, Enough Design Up Front. We XPers like to do that too. I had exactly the same impression when I've read Joels article. --Stephan Schmidt, August 19, 2005 08:52 AM
Read a little about him at http://joel.spolsky.com/. Sometimes you have to consider the source. --Jeffrey Palermo, August 19, 2005 01:23 PM
I know very well who Joel Spolsky is, I've been reading him for years. Sometimes I agree with him, sometimes I don't. In this case I just think he's completely misunderstood what XP people are trying to say. --Jon Tirsen, August 19, 2005 03:11 PM
I will put the big ditto on Stephan's comment, as disagreeing with BDUF does not mean "design? We don't need no stinkin' design". --Brandon Carlson, August 19, 2005 04:37 PM
I don't agree that an XP project jumps straight into development with no up front design. The team must design a rough high-level view of the architecture so that the team work in the same general direction. This involves coming up with the system metaphor, considering technologies and starting evaluation. I explain this by telling people that XP does do "big" up-front design up-front but doesn't do "small" up-front design. I've seen projects that have not done this iteration zero work, and the systems have all been messy and hard to work with. --Nat Pryce, August 19, 2005 05:54 PM
Perhaps part of the problem is the name we gave to what we don't do: "Big Up-front Design." The adjective "big" is open to mis-interpretation; for example, nobody, XPer or not, wants to start any coding on the project without having the "big picture," (often called the 30,000 foot view). --Curt Sampson, August 20, 2005 04:49 AM
The thing you have to keep in mind with Joel is that he has quite a specific (and limited) experience, and is horribly parochial. When he writes about what he knows, he's good. But in this case he's writing about something he doesn't know (XP), and most of the literature about it is placed in a context he doesn't know (bespoke development). Joel will happily admit he has no idea what "corporate programmers" do. I can't help feeling that his articles would be more effective if he remembered that when writing them. --Tim Vernum, August 20, 2005 02:54 PM
I agree when I read Joels Document it seemed like a pretty good Just Enoguh Specification.. In fact it isn't a Big Desgin Up front. --elviejo, August 22, 2005 07:42 AM
har --tester, May 22, 2007 10:04 PM
Post a comment
|