This post originated from an RSS feed registered with .NET Buzz
by Udi Dahan.
Original Post: Architectural Quality - and risk
Feed Title: Udi Dahan - The Software Simplist
Feed URL: http://feeds.feedburner.com/UdiDahan-TheSoftwareSimplist
Feed Description: I am a software simplist. I make this beast of architecting, analysing, designing, developing, testing, managing, deploying software systems simple.
This blog is about how I do it.
Following Michael Platt's great post "Architectural Quality" and the thread of comments, I just had to add my 2 cents. For those of you that already know me, you know my 2 cents quickly gathers interest =) Make sure you read his post before mine - for context.
Architecture should not be composed of objects. Objects are too fine-grained of an abstraction for expressing architecture. This is why the layered architecture became so prevalent. There was a need to split the architecture along planes that were larger than objects. But I'm sure that you know all this =)
Therefore, I think that most of the OO metrics are less useful at the architectural level. I guess that the reason I like SOA so much is that the service is a more useful abstraction than a layer for the simple reason that it is a business abstraction and not a technological one. That way, it's possible to tie metrics ( ie. risk in the system ) to specific business areas.
IMHO, a business driver would be much more interested in getting a risk analysis directly tied to business capabilities than to technical ones. Yes, its possible to calculated the business side from various technical risks, but it's much more difficult, and less acuruate. I mean, lets say the cyclomatic complexity of the DAL is high relative to all other layers in the system, how are you going to translate that into business risk ?
Anyway, glad to see that the architectural quality issue is beginning to get some attention. Up until now, people were saying "let's just use an N-tier architecture" without any thought of how well it fit. Nobody measured to see if it fit, for the simple reason that there were no metrics. I'd really like to see some metrics come out at the architectural level.
What are your thoughts ? What is "architectural quality" ? Is there even such a thing ? How would you measure it ?