Bubbles don't crash! Or could they?
At this year's
JAOO conference (which is by the way really really good, once again!), the closing panel on the
Architecture Quality track was on the question whether we actually need architecture quality (and, I guess, what it means, and how to achieve it).
Of course, as usual, the panelists quoted the well-known statement that "bubbles don't crash", meaning that it is not useful to draw pretty diagrams it you want to get to a useful architecture.
Now, I really think that the state of the practice has moved on. Of course, bubbles don't crash. But (in my humble opinion) you can make bubbles crash by transforming them into executable code - my ususal architecture-centric model-driven development thing. Of course this is not the silver bullet that solves all problems, but it is a useful incremental step. It is interesting to see that sceptics always basically refuse to use something unless it is perfect - instead of embracing the incremental advantages.
Based on my experience, it is indeed very useful to see a system's architecture in a more explicit, more abstract fashion, hiding some of the details of the implementation code. You keep it current with the implememtation by forward generating implementation skeletons and filling in business logic. You can also run all kinds of validations on model level, etc.... Well, anyway, read
this paper for details.
And make sure you go to JAOO next year!