I think I was as dumb struck as Ted Neward was with the email that he received recounting an interview that someone had had for a position within an architecture team. Being in an architecture team we do seem to constantly tread that fine line between architecture purist and designer of tactical solutions. A couple of points that always seem to crop up when trying to balance the strategical and tactical nature of a solutions are:
If it doesn’t add business value the customer doesn’t care.
I have quickly learnt that no matter how right a design is and no matter how well I sell it, unless the customer/business can look at it and see a return on their investment over a cheaper less right solution they don’t care. So any add-on to a project over the base cost has to be justified from a business perspective and architecture should always consider the business value. Often a better design does have business value unfortunately we in architecture often don’t take the time to consider the business so can’t express it in business terms.
There will be exceptions for any great architecture, don’t think otherwise.
Here we are talking more of enterprise architectures as apposed to solution architectures. Smart people can come up with some simply breathtaking designs which leave me speechless unfortuantley these designs seem to only live in sanitised environments. Take these designs out into the real world and the exceptions start appearing (Oh but that system doesn’t support MSMQ or we need to implement it in 3 months so need to implement it a different way), hey that is the real world. It is often here that the frayed ends appear and start to unravel because we only validated the design in this unrealistic sanitised environment. As an architecture you need to take into account the exceptions scenarios.
Architecture unfortunately isn’t measurable or at least not easily so in terms of justifying the value we add it is hard. Business people would probably be just as happy to not have a architect on a project. As a competency we need to ensure that we provide the right experiences. The consequence is that is we don’t the customers/business will go elsewhere and bypass the architecture team completely and then you will really have a problem.