Inside Architecture

Notes on Enterprise Architecture, Business Alignment, Interesting Trends, and anything else that interests me this week...

September, 2013

Posts
  • Inside Architecture

    What makes models interesting

    • 3 Comments

    Since 2009, when I first published my open source metamodel of enterprise architecture (the Enterprise Business Motivation Model), I’ve had numerous conversations with architects, business analysts, consultants, technologists, and the occasional student about models.  I frequently hear things like “I have an update to your model that makes it better,” to which I reply “cool, let’s see it.”

    After seeing about a dozen now, I’ve begun to realize that I need to ask better questions.

    Some models are simply more interesting than others.  Some have relationships that are more appropriate for specific situations.  (for example, one friend sent me his version of my model with specific elements related to government organizational structures and interrelationships).  That is very interesting, because I can see a value in capturing distinctions related to different types of organizations.  Another friend sent me an update to my model with greater focus on customer relationships, which is great if the goal is to highlight the importance of customer-first modeling.  Another person sent me an extension he did to Osterwalder’s model to include additional aspects needed to develop a business that is sustainable in the world environment.

    Those are the good examples.  They add unique value.  They consider new things.

    Some not-so-interesting examples often come from students or usually young architects (less then three years in field), who simply feel that one set of relationships is “better” than another, without any particular rationale other than “it looks better to me.”  Note: that’s fine.  It means the model represents their way of thinking, and their use of terminology.

    But what do I say when they expect me to rewrite the EBMM to match their thinking processes?

    I say “yes” in very narrow circumstances.

    So for those folks who want to propose an alternative model or an update to the EBMM, let me lay out some basic concepts and guidelines.

    Prove that the model extension answers questions that need to be answered

    The first and foremost problem is a simple one: adding stuff just because we can.

    The EBMM can certainly be “bigger” if that were my goal.  But it isn’t my goal.  My goal is to ask specific questions and produce a model that answers them.  The list of questions is far more interesting than the model itself. 

    So before you send me a model, send me the list of questions you need to answer with that model.  THINK ABOUT IT.  Don’t create the model and then go hunting for questions that justify it.  These need to be legitimate questions that are of demonstrable concern or value to an enterprise-level stakeholder. 

    The EBMM was designed to answer a specific set of questions.  Those questions are included in the model itself.  If you want to extend the EBMM, ask different questions.  Then, we can extend the model to answer them if necessary. 

    “All models are wrong.  Some models are useful.” 

    Many of us are already familiar with this quote, from George Box, noted British statistician and author.  While he was referring to statistical models, his advice is worth considering on a deeper level.  In his 1976 article, Science and Statistics, he provided a very useful bit of advice to the would-be creator of models. 

    “Since all models are wrong the scientist cannot obtain a "correct" one by excessive elaboration. On the contrary following William of Occam he should seek an economical description of natural phenomena. Just as the ability to devise simple but evocative models is the signature of the great scientist so overelaboration and overparameterization is often the mark of mediocrity.” (Journal of the American Statistical Association, 1976, http://www.jstor.org/stable/2286841,  retrieved 26 Sept 2013)

    George Box said that so much better than I would have.  While he was referring to science and statistics, his advice applies to Enterprise Architecture rather well. 

    What it means is this: if you have two models, both that capture the USEFUL elements needed to describe something, and one is simpler than the other, go simple.  In other words, I don’t care what is “correct.”  I care what is useful. 

    Be forewarned: you send me a model that is a more detailed elaboration of my own model, with more elements and more relationships but which does not capture USEFUL knowledge more clearly, or convey information in a more accurate manner, I will reject it.  Additional detail is not useful unless you can demonstrate value. 

    In order to demonstrate value, you need to show me two sets of information: one captured in the existing model and one captured in your more elaborate model.  You then need to describe to me how that information, in context, is less useful the way I captured it, and more useful the way you captured it.   Then, I will add complexity to the EBMM.  Yes, it’s a high bar.  The EBMM is complex enough as it is.

    On the other hand, if you send me a model and you can demonstrate that you can use fewer elements to capture knowledge or describe intent than I did, I will not only listen, I’ll probably take a swing at removing stuff from the EBMM.  That’s a much lower bar for you, and a high bar for me.  I need to prove to myself (and you, if you are willing to put up with me) that the complexity in the EBMM is justified.  I will make things as simple as possible, but no simpler.

    Simplicity in practice

    Many folks have asked me why the EBMM doesn’t have entities for “database” or “network node” (or name your IT entity-of-the-day).  “It’s not a complete Enterprise Architecture model”, is the usual cry.  I usually point out that they are not looking at the right viewpoint.  The primary viewpoint, which most people are aware of, doesn’t show every element.  On the other hand, the IT Traceability viewpoint (below) has all the technical elements that an enterprise architect needs to model the technology landscape at an architectural level. (click the image to enlarge).

    IT Traceability Viewpoint 4.1

    Simplification one: the model is for Enterprise Architects, not IT management

    But wait, they cry, where’s the entity for a database!  Where’s the SharePoint Server (or the active directory server or the service bus, yada yada yada). 

    Challenge accepted.  In the metamodel view above, information is managed within the context of an application.  Prove to me that you need to illustrate the element that gives you heartburn in a different way than I have captured.  Consider two questions: (a) Can an existing element be used? or (b) Is that element relevant in an enterprise architecture setting?

    I can consider SQL Server, BizTalk, SharePoint, SAP, Dynamics, and many other systems to be “platforms” to be used by applications.   I can consider a server to be a “host” but I can also consider entire environments (like a DMZ or even the Azure cloud) as a host.  

    So, no, I don’t have elaborate details that go further “down the stack” to the point of illustrating network nodes, because I don’t need them.  IT management does need those details.  That’s what a Configuration Management Database (CMDB) is for.  The EA repository may overlap with the CMDB but these two critters are quite distinct.  (topic for another post).

    Simplification two: the model minimizes transitive relationships

    A transitive relationship is of the form

    A relates to B, B relates to C, therefore A relates to C.

    I want to see the relationships between A and B, and between B and C. 

    However, if you send me a model, please be aware of your transitive relations.  Don’t ILLUSTRATE the relationship between A and C unless it is NOT easily derived.  For example, look at the diagram above.  We could say that a Business process demands a system interaction point.  A system interaction point is described in a use case or user story.  Therefore, the relation between a business process and a use case can be easily derived.  Note, however, there is no “relationship arrow” on the model.  It is transitive, so there is no need to add the relation.

    Minimizing transitive relationships reduces the complexity of the model substantially.  Realize that this is a conceptual model.  Nearly all concepts can be described using transitive relations (and many are). Rather than have a model where “everything relates to everything,” this simple practice makes the model readable and usable. 

    On the other hand, some transitive relationships should be captured.  These would be the relationships that are NOT easily derived because of their complexity or underlying meanings.  For example, in the diagram above, an application uses a platform, and a platform is deployed on a host. I also illustrate the transitive relation (application is deployed on host).  Why?  Because platforms are optional.  It is possible to create an application that is NOT on a platform.  However, the relationship to a host is not optional.  Since this detail is not easily derived from observing the model, I illustrated both relations. 

    Important note: when I discuss business capabilities, I say things like “you should map people, process, tools and information” yet in the model, I only illustrate the connections between the capability and process, and capability and tools.  That’s because the relation between capability and people is transitive (through process).  The relation between capability and information is similarly transitive (also through process).  I follow my own rules. 

    Conclusion

    For those folks kind enough to offer feedback on the Enterprise Business Motivation Model, I want to say, first and foremost, thank you.  I listen to every opinion and I care about every detail.  It is a labor of love.  Each new insight offers me an opportunity to refine the model, and I may make changes simply because you taught me something.

    That said, if you are focused on seeing a change to the model as a result of your research, I will expect you to be cognizant of the context and concepts expressed in this blog post.  I certainly will be.

  • Inside Architecture

    Ten Ways to Kill An Enterprise Architecture Practice

    • 7 Comments

    Have you seen practices that you know could kill an Enterprise Architecture practice?  I have.  A recent LinkedIn thread asked for examples, and I came up with my top ten.  I’d love to hear your additions to the list.

    How to screw up an EA practice

    1. Get a senior leader to ask for EA without any idea of what he is going to get for it. If necessary, lie. Tell leaders that EA will improve their agility or reduce complexity without telling them that THEY and THEIR BUSINESS will have to change.
    2. Set no goals. Allow individual architects to find their own architecture opportunities and to do them any way they want.   Encourage cowboy architecture.
    3. Buy a tool first. Tell everyone that they need to wait for results until the tool is implemented and all the integration is complete.
    4. Get everyone trained on a "shell framework" like Zachman. Then tell your stakeholders that using the framework will provide immediate benefits.
    5. Work with stakeholders to make sure that your EA's are involved in their processes without any clear idea of what the EA is supposed to do there. Just toss 'em in and let them float.
    6. Delete all the data from your tool. Give no one any reason why. You were just having a bad hair day.
    7. Get in front of the most senior people you can, and when you get there, tell them how badly they do strategic planning.
    8. Change your offerings every four months. Each time, only share the new set of architectural services with about 20% of your stakeholders.
    9. Create a conceptual model of the enterprise that uses terms that no one in the enterprise uses. Refer to well known business thinkers as sources. When people complain, tell them that they are wrong. Never allow aliases.
    10. Every time you touch an IT project, slow it down. Occasionally throw a fit and stop an IT project just for fun. Escalate as high as you can every time. Win your battles at all costs.


    Your career will be short. :-)

  • Inside Architecture

    Enterprise Architects are more than “problem solvers”

    • 7 Comments

    One of the most common mistakes that people make about Enterprise Architects is the notion that we are problem solvers.  Yes, EA solves problems, but to frame EA in those terms is like saying that an ER Doctor is a bandage changer. 

    To help clarify the distinction between a “problem solver” and an Enterprise Architect, I will illustrate the logical argument for both, and show their differences.

    Problem Solver Enterprise Architect
    Task: understand the problems and solve them Task: understand the opportunities for the enterprise to be better aligned to its vision and focus attention on them.

    Methods:

    • Find people who know what the problems are, and ask them.
    • Look for root causes to those specific problems, narrowing focus to the ones that contribute to a desirable outcome.
    • Describe solutions to those problems

    Methods:

    • Collect and analyze information to understand the organization.
    • Design the organization to meet the desired level and type of value delivery.
    • Design ways to change the organization and ask why they didn’t already change on their own.
    • Look for root causes and underlying challenges.
    • Focus attention on the obstacles that prevent normal mechanisms from addressing the problem.
    Results: well understood problems that are commonly ignored get  solved (without addressing “why they were ignored”). Results: opportunities that no one wants to see or problems that people are afraid to solve are discussed and addressed.

     

    The left column is what business analysis is for.  It is what solution architecture is for.  It is NOT what Enterprise Architecture is for.  I don’t care how good you are at doing the stuff on the left.  I don’t care how well it has worked for you in the past while working as an EA.  The “raison d'être” of EA is not to solve well-understood problems.  It exists to find out why the organization hasn’t seen the obstacles that actually prevent success, hasn’t removed them,  and hasn’t figured out how to cope with them.

    Five blind men describe an elephant, each in different ways.  The EA is the sixth blind man.  He listens to the other five and says “the problem is not that an elephant is like a fan or a rope or a wall… the problem is that it is standing in the living room, and dropping large amounts of waste on the floor.  Problem solvers try to find a better way to feed the elephant and remove it’s waste.  Enterprise Architects asks why everyone is standing in the same room as an elephant.

Page 1 of 1 (3 items)