Sunday, August 14, 2005

The joy of software architecture diagrams

About halfway through skimming this "Open Letter to Bill Gates and Microsoft"*, right when I hit the "architecture stack" picture, I had a moment of total "Wow, there's an example of something else I don't miss about my old job".

Why ? Because diagrams like that are the kinds of things that make engineering-types like me who just want to write some code run away screaming, with good reason: they make for great marketecture during presentations to upper management, but are really so vague that, in order to turn them into working code, you first have to argue for about a year or two about fun stuff like what the various pieces really "are"/"represent", in some Platonic sense, which group "owns" the "charter" for each piece, how each piece relates to the overall company strategy [Hint: "It doesn't" or "Beats me" is not a good answer] etc. And by the time the arguing parties have reached a state of, if not agreement, at least detente, it's generally moot anyway because the company strategy has changed, or the feature set you were arguing about has been cut from the release [due, partially, due to the fact that nobody could agree on what the feature set was really supposed to be ...].

The process will also be lengthened if you have anybody with an "architect" title involved**, since they will usually attempt to "generalize" the feature set so that any possible functionality the software might need in the future, up to and including self-awareness, can be achieved by simply changing one parameter in an [of course] XML file. Attempts to counter this [usually unnecessary] generalization will be met by long responses that invoke one or more of the sacred cows of computer science [like "abstraction", "loose coupling" etc] but, in the end, win mainly because their proponents just won't stop arguing and everybody else just gives in.

The really sad part ? It's not clear to me that there's a better way of developing large software systems that involve multiple groups, at least not in an environment that doesn't have a "dictator" at the top whose word is law, who knows enough about all the low-level details to be able to make good technical decisions and who makes those decisions quickly. Anything else and you run into the fact that building software is a social process and getting lots of people to move in the same direction is just plain difficult. Like Fred Brooks said, there's no silver bullet.

*This little rant isn't aimed at all at the "Open Letter" piece, which, for all I know [since I didn't really read it], is great. It was just triggered by seeing the architecture stack picture.

**Of course, there are also some great architects that add a huge amount of value to technical discussions and help to get software built more quickly, and with higher quality, but it's not clear to me that they're in the majority.

4 Comments:

Blogger Corey said...

lol.. c'mon.. you know you love it!

2:25 PM  
Blogger Adi said...

Find Internet Marketing resource hare Online Marketing Strategy | Internet Marketing Tools | Online Marketing Campaign | Online Marketing Business | Online Marketing System | Online Business | Online Home Business | Online Business Tips | Internet Marketing Online

9:39 PM  
Anonymous Anonymous said...

Who knows where to download XRumer 5.0 Palladium?
Help, please. All recommend this program to effectively advertise on the Internet, this is the best program!

8:55 AM  
Blogger Adi said...

Oes Tsetnoc one of the ways in which we can learn seo besides Mengembalikan Jati Diri Bangsa. By participating in the Oes Tsetnoc or Mengembalikan Jati Diri Bangsa we can improve our seo skills. To find more information about Oest Tsetnoc please visit my Oes Tsetnoc pages. And to find more information about Mengembalikan Jati Diri Bangsa please visit my Mengembalikan Jati Diri Bangsa pages. Thank you So much.
Oes Tsetnoc | Semangat Mengembalikan Jati Diri Bangsa

5:04 AM  

Post a Comment

<< Home