In my original
Architect or Aggrandize? post, I talked about the
getting things done mentality versus the
how things should be done mentality that is a constant battle in the field of programming. I also spoke about the problems of over-architecting, which was later referenced by my
Architect or Agrandize? Part II post. This was spawned by a
comment posted on another blog that talked about the problem of developers overcomplicating things for any number of reasons, such as exposure to new technologies. This time, the driver for Part III is
Joel Spolsky, who's extremely informative Web site is keeping me in front of my PC tonight longer than I should be (afterall, The Simpsons are on - sheesh). Anyway, I had to post a few of his quotes because of the direct relationship between what he wrote in his article "Don't Let Architecture Astronauts Scare You" and my original thoughts when writing Part I of "Architect or Aggrandize?" a few months ago. Here's just a part of what Joel wrote, and trust me - it's worth using reading the
Don't Let Architecture Astronauts Scare You article:
When you go too far up, abstraction-wise, you run out of oxygen. Sometimes smart thinkers just don't know when to stop...These are the people I call Architecture Astronauts. It's very hard to get them to write code or design programs, because they won't stop thinking about Architecture...Another common thing Architecture Astronauts like to do is invent some new architecture and claim it solves something. Java, XML, Soap, XmlRpc, Hailstorm, .NET, Jini, oh lord I can't keep up. And that's just in the last 12 months!
Why the hell are people so impressed by boring architectures that often amount to nothing more than a new format on the wire for RPC, or a new virtual machine? These things might be good architectures, they will certainly benefit the developers that use them, but they are not, I repeat, not, a good substitute for the messiah riding his white ass into Jerusalem, or world peace. No, Microsoft, computers are not suddenly going to start reading our minds and doing what we want automatically just because everyone in the world has to have a Passport account...Remember that the architecture people are solving problems that they think they can solve, not problems which are useful to solve. Soap + WSDL may be the Hot New Thing, but it doesn't really let you do anything you couldn't do before using other technologies -- if you had a reason to. All that Distributed Services Nirvana the architecture astronauts are blathering about was promised to us in the past, if we used DCOM, or JavaBeans, or OSF DCE, or CORBA. It's nice that we can use XML now for the format on the wire. Whoopee. But that's about as interesting to me as learning that my supermarket uses trucks to get things from the warehouse. Yawn.