"Indeed, we have taken to experimenting with different "memes" for the XP practices with different people to combat the sometimes "extreme" reactions we get when dealing with many of the folks we encounter in our (largely conservative, blue chip) clients. For example, we say "continuous design" instead of no BDUF. We describe the Planning game as "parallel analysis". Perhaps because we are Canadian :-} we have found that toning down the extreme rhetoric has helped in acceptance of the process at our clients. Be sure that we still adhere to the practices -- we just talk about them differently."
I think ContinuousDesign
is a good antonym for BigDesignUpFront
(better than DesignAsYouGo
I like it. It's like StructuredProgramming
. Nobody's going to say ContinuousDesign
is a bad idea, or they'd be promoting discontinuous design, which sounds dumb.
The reluctance of agile methods to do BigDesignUpFront
has led some to say, "See, they say they don't do design!"
Clearly false; but what do agile practitioners do instead?
Design As You Go :
A phrase that's appeared in a few articles on XP. That sounds right - a little design here, a little design there, some design decisions made during unit test construction, some made during coding - and sounds as if it could be an appropriate antonym to BigDesignUpFront
. (Later: A quick Google Groups search of Newnews suggests "design as you go" is used as a pejorative, as a synonym for "no design," by XP opponents. Not encouraging. Perhaps "real design as you go"? Hmmm)
There's still one unnamed distinction. BigDesignUpFront
results in a big design artifact (VictorianNovel?
does not usually involve lots of little incremental change to some design artifact(s). AlistairCockburn
has said (I believe) that scaling up organization size requires additional artifacts for communications. I don't know how that's addressed by ContinuousDesign
(or the various agile methods). For small enough groups, including most or all that have practiced ExtremeProgramming
, it appears to be possible to use the unit tests and source code as sufficient design artifacts. -- PaulChisholm
Good catch. Perhaps the generation of artifacts is handled with ScottAmbler
. I'm not that familiar with it. PleaseComment
Likely because BigDesignUpFront
is given as the only alternative to XP style ContinuousDesign
. This not the case. It's quite possible to create a strategy, fill out the tactical positions, and the execute the implementation without resorting to BigDesign
Pulling one out of my magical BuzzWord
hat -- how about JustInTimeDesign
? Marketing-types ought to go ape over that one. [After noticing the page already existed: Damn, looks like someone beat me to it by a few years...]
I stumbled across the phrase ContinuousDesign
and like it better than my previous suggestion (DesignAsYouGo
). I'm tempted to refactor that whole discussion over there. Maybe later. --PaulChisholm
(later: thanks to whoever did this!)
I'm fairly new to this Extreme stuff; but what I've seen seems to coincide with my thoughts from the first time I read about refactoring. If refactoring becomes simpler than up-front design, then design becomes a burden. -- DaveWhipp
I wrote a paper on ContinuousDesign
which was published in IEEE Software. It's available on MartinFowler
's website at http://www.martinfowler.com/ieeeSoftware/continuousDesign.pdf
. I was looking for an alternative to "evolutionary design" and "emergent design" and settled on Continual Design. At the last moment before publication, I changed it to Continuous Design. Later, I discovered this page... happy coincidence. It makes me think "continuous design" is a good name for what we do. --JimShore
My old English teacher would have been proud of you, for you would have discriminated finely (or "nicely" as he might have said, with a wry grin) between the two words. He would admonish you to beware, however: since the distinction is a subtle one that is lost upon most people, one should avoid relying upon it. I'm tempted to aver that he would have preferred the term IncrementalDesign?
: less accurate, perhaps, than AmeliorativeDesign?
, but far more accessible.
CategoryPlanning CategoryAnalysis CategoryTime