In the one corner stands the fire breathing reptile, Enterprise Architecture and in the other corner we see pacing restlessly an 8,000 pound gorilla known as Agile Development. Eternally opposed to each other, these two ways of looking at the world fight it out year after year.
Enterprise architects like a command and control, autocratic and hierarchical organizational approach. Agile development prefers an egalitarian, participatory and collaborative approach. Architects like to tell agilists what to do and agilists are borderline anarchists who like to say no. Agilists have suggested they do not need to adapt, at least significantly to the needs of enterprise architects. Architects don’t appreciate change as much as agilists. Agislists find documentation wasteful and architects love it. Agilists focus mercilessly on quality and by inference architects don’t. Architects are about controlling architecture variation (which is bad) and agilists are about creating architecture variation (which is good). Agilists and architects have different philosophies. Architects need to interact with agilists in different ways to be successful.
As Scott Ambler put it (in his “Agile Strategies for Enterprise Architects” in Enterprise Architecture Trends 2007, Cutter Consortium Executive Report, Vol. 10, No. 1), “In my experience, the surest way to failure is to have the enterprise architecture tail wag the development dog.”
Are agilists and enterprise architects at two ends of a spectrum?
Agile is such a loose concept, but a useful one. I like to formally define agile as an organizational capability that lets firms execute larger maneuvers more quickly and accurately then competitors. I also position both agile development methodologies and enterprise architecture methodologies as both subservient to this higher order notion of agile. I also note that firms may decidedly chose to not be agile and for good strategic reasons.
Now let’s tackle a few of the concepts that get roped up in this debate.
Authoritative governance. I don’t believe either team differs that much in this. Good architects and good agilists share similar perspectives on the need for collaboration. As a CIO, I do remind everyone that from time to time that shareholders and courts do not always look kindly at diffuse decision structures. Individual accountability remains a persistent theme in all human organizations. In addition, if command and control structures might actually produce more agility than a more collaborative structure, I may choose to adopt one. In most cases, this is not in order.
Documentation. It is utter nonsense to blame documentation for being useless. Blame those who create it. Agilists rely on tacit knowledge held in their heads and expressed as short-hand verbal communication because their problem is cognitively smaller than the enterprise architecture problem. Architects create documents to communicate critical architecture information. It is foolish to do otherwise. Architects should always communicate critical architecture information in the manner that helps the decision maker. In enterprise architecture, we have created the concept of views specifically for this reason.
Variation. Variation is a variable. Agility implies some amount of variation in excess of what is needed to be able to adapt to novel circumstances. Both architects and agilists should seek a certain amount of variance. Architects tend to be somewhat more skeptical of variation because of their broader perspective. Agilists, because of their narrower scope, would see things differently. Who would I trust? In the end, I rely on the architects to help establish the appropriate level of variation in architectures, wherever they are employed. The surest path to failure is to have the agile tail wag the enterprise architecture dog.
To hell with alignment between business and IT! IT needs to get alignment between agilists and architects!
I suspect there is more smoke than fire in this clipped and polarized discussion. Agilists and architects may be more blood brothers than distant relatives.