joel

adds his
two bits

to the perennial “how much design is too much design” debate. as usual, he strikes a reasonable and prudent tone:

“When Linus Torvalds bashes design , he’s talking about huge systems, which have to evolve, or they become Multics. He’s not talking about your File Copy code. And when you consider that he had a pretty clear road map of exactly where he was going, it’s no wonder Linus doesn’t see much value in design. Don’t fall for it. Chances are it doesn’t apply to you. And anyway, Linus is much smarter than we are, so things that work for him don’t work for us normal people.”

the point he raises about
xp

and design is worth highlighting. alot of people happily jump to the conclusion that it advocates no design, without taking into consideration that its chief evangelists will tell you that
design is not dead

with xp – it’s just different and maybe just a bit harder:

“For many that come briefly into contact with Extreme Programming, it seems that XP calls for the death of software design. Not just is much design activity ridiculed as “Big Up Front Design”, but such design techniques as the UML, flexible frameworks, and even patterns are de-emphasized or downright ignored. In fact XP involves a lot of design, but does it in a different way than established software processes. XP has rejuvenated the notion of evolutionary design with practices that allow evolution to become a viable design strategy. It also provides new challenges and skills as designers need to learn how to do a simple design, how to use refactoring to keep a design clean, and how to use patterns in an evolutionary style.”

regardless, no matter how hard joel or martin or anyone else evangelizes the matter, you can rest assured that the dominant design pattern will always be the
big ball of mud

:

“While much attention has been focused on high-level software architectural patterns, what is, in effect, the de-facto standard software architecture is seldom discussed. This paper examines the most frequently deployed architecture: the BIG BALL OF MUD. A BIG BALL OF MUD is a casually, even haphazardly, structured system. Its organization, if one can call it that, is dictated more by expediency than design. Yet, its enduring popularity cannot merely be indicative of a general disregard for architecture.”

Leave a Reply