Re: [xmlWiki-developers] coding issues
Brought to you by:
elhugo
From: Hugo G. <xm...@ne...> - 2001-11-05 16:03:21
|
In the thread titled "Subject: [XP] Exactly what IS _big_ design up front? " http://groups.yahoo.com/group/extremeprogramming/message/37522 you can find a recent discussion about design. --- In extremeprogramming@y... <http://groups.yahoo.com/group/extremeprogramming/post?protectID=070082114180056192184147109024192012134152211241039019161126172205142>, drawstho@a... <http://groups.yahoo.com/group/extremeprogramming/post?protectID=114212113105099134170149203140129208071> wrote: > 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. Instead, let me suggest these three schools: 1. Do only enough design to be able to do the first task (or story) 2. Do enough design to be cover the first iteration 3. Do a complete (draft) design that spans multiple iterations I would put XP in the first box, "true" RUP in the second, and both waterfall and RUP-as-often-practiced in the third. I suspect that almost everyone here would agree that 3 is BDUF (Big Design Up Front). People (like me) who really like XP and Test-First Design would tend to label 2 as also being BDUF, but many other people would simply consider it to be DUF, or JEDUF (Just Enough). Kevin ================ -H cs3...@cs... wrote: >>The program doesn't necesarily emege by refactoring alone but by >>refactoring an initial design. This is where a small CRC session fits in >>not only at the group level but at the pair level. Refactoring doesn't >>address design, what it addresses is makiing existing code better and by >>merciless refactoring the code then the design a.k.a the stucture of the >>program is refined. But by the point you get to coding the design as >>"emerged" through the various planning games that the developers have >>particapated in. >> > >Just thought I might cut in here... > >Actually, I have seen people like Ron Jeffries argue very strongly that >the "architecture" emerges through refactoring *alone*. Certain people in >the XP camp have come out very strongly against any sort of up-front >design (not sure if I agree with this), especially involving the use of >patterns (which is more sensible, IMO). One can see another example in the >ObjectMentor "Bowling example" we have linked to off the course wiki - >there is no CRC involved there - the design emerges through writing those >tests, and the discussion that happens while the developers are sitting >down coding, not before. > >Of course, these are all well and good for small toy examples like Bowling >Scores... and in your case it may be more appropriate to do some design up >front, especially since your team requires more synchronization and can't >just ask strike up a group-wide design discussion at any one time. So, I >would say Hugo's view is perhaps pragmatic, but not necessarily the party >line. > >Be sure to write up issues like this, the pros/cons of each option, >why you did what you did, how it worked out for you, etc. for the >end-of-semester write-up. > > - Andrew. > > >_______________________________________________ >xmlWiki-developers mailing list >xml...@li... >https://lists.sourceforge.net/lists/listinfo/xmlwiki-developers > |