Tuesday, August 24, 2004

Enterprise Architecture and Big Mac's

Last night lying in bed I had a thought...is Enterprise Architecture like a Big Mac, what is it we are really trying to do when we define an architecture. Create a set of rules and methods such that we don't re-invent the wheel every time we pick up a project but have an underlying framework that we can work with which will define consistent results. Now to that effect one company that has made consistency its main game is Mc Donald's with their Big Mac's. Now where ever you go in the world (mind you I have eaten at a few Mac Donald's around the world) the Big Mac always taste the same and it does not require a rocket scientist to make it either. So does this mean by if we were to define a framework for developing software and make all developers follow it with an iron will we will get consistently good quality software, Joel does not think so http://www.joelonsoftware.com/articles/fog0000000024.html . He says following recipes or Methodologies do not guarantee good quality software. Now I would agree with that to some extent to produce really good quality software you need good developers and mind you methodology or framework is no substitute for talent as many big consulting companies would have you believe otherwise. This would almost imply that software development should be done by talented people and every time you developed something it is ok to start fresh. To some extent this line of thought says software development is not engineering but an art form.
 
In my opinion software development is a mix of art form and engineering. Bridges which are built to laws of physics can still be pretty and functional, in this instance laws of physics form the framework on which bridges are build (also the civil engineering codes). Keeping to that we can define the rules to which software should be built sharing a common thread and knowledge pool. Such that what we build is not a chaotic collection of monolithic software but a consistent group of software each having its individuality yet sharing common thread of interoperability. So Architecture which defines enough to share and yet not constraint creativity is hard work...perhaps it may be the holy grail. I am still looking if anyone has found it please let me know.

No comments:

Post a Comment