In "3D"

Posted by Martin Hunter on 21 December 2012

I’ve met Mr Zachman a couple of times now, the man’s a legend of Enterprise Architecture and has undertaken multiple talks and expeditions in the southern hemisphere, lecturing about his very famous framework (http://en.wikipedia.org/wiki/Zachman_Framework). Ever since I first saw the framework, though, I’ve always had a niggling doubt about it. I think after a few of years of contemplation, implementation and some reading on oblique subjects from some good authors I’ve finally twigged it. Zachman’s right, but I think there could be a slightly more useful way to view his framework: In “3D”.

One of the axioms I wrote about in my last blog post was that the architectural process always comes back to three concerns: “why”, “what” and “how”. Those of you who are familiar with the Zachman framework will know that these parallel three of the columns in the framework matrix’s horizontal axis (the others being “who”, “where” and “when”) with levels of detail or granularity on the vertical axis. My trouble with the traditional Zachman framework is that the “who”, “where” and “when” are really just different cross-cutting aspects of the first three (in Rozanski & Woods’ parlance they are “perspectives” rather than “views”). For example, I can’t help but want to put a bit of the “where” (as a caveat) in a “what” cell; after-all most organisations don’t want to (or can’t) function everywhere: Function is impacted by location. So, as an idea, how about taking the Zachman framework, folding it up, and making it into a 3D cube? From the plan view of the cube (i.e. omitting levels of detail axis) it might look something like the following...note that I have shifted the “how” to a cross-cutting concern too (will explain that later):

martinhu1

The neat thing about this view of Zachman is it enables to us to find better questions to ask. For example, when should an objective (a “why”) be implemented by? Whereshould a function (a “what”) be performed? These are questions that are only really exposed when we think about the consequences of mixing the “why” and the “what” with the other concerns. Note that this is not an attempt to have “mixed views” (I’ve already argued against those in a previous blog), but a way of extrapolating and discovering important questions to answer in the architectural problem space.

Adding the level of detail axis again you get the Zachman 3D cube:

martinhu2

So why did I move the “how” to a cross-cutting concern? Well, my view of “how” is that it comprises the factors we can vary to achieve an objective: People, Process, Information and Technology. So really, Zachman’s “who” is part of my “how”, as are “when” and “where”. It makes sense therefore for the three of them to be together as perspectives that cut across the two key views: “why” and “what”.

I think we’re on to something here. I’m not sure that the high-level views from Zachman are necessarily the best for every situation; Rozanski & Woods document views at a more granular level for example (function, information, deployment etc). I think this could get legs if we approach the “cube” from this level, but that’ll be the topic of another blog post.