<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tom Graves / Tetradian &#187; archimate</title>
	<atom:link href="http://weblog.tetradian.com/tag/archimate/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.tetradian.com</link>
	<description>Random ramblings over the metaphoric edge</description>
	<lastBuildDate>Mon, 21 May 2012 17:28:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>On Archimate 2.0</title>
		<link>http://weblog.tetradian.com/2012/02/29/on-archimate-2-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=on-archimate-2-0</link>
		<comments>http://weblog.tetradian.com/2012/02/29/on-archimate-2-0/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 15:18:36 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[business-IT divide]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[enterprise canvas]]></category>
		<category><![CDATA[togaf]]></category>

		<guid isPermaLink="false">http://weblog.tetradian.com/?p=4710</guid>
		<description><![CDATA[Archimate 2.0 is now available &#8211; its formal release was at the end of January 2012, during the Open Group conference in San Francisco. I&#8217;ve been a bit busy in the meantime, so this is the first chance I&#8217;ve had to do a proper review. Why Archimate? Archimate aims to be the standard notation for all [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Beta-version of mobile-compatible site for formal specification for Archimate 2.0" href="http://pubs.opengroup.org/architecture/archimate2-doc/m/" target="_blank">Archimate 2.0</a> is now available &#8211; its formal release was at the end of January 2012, during the Open Group conference in San Francisco. I&#8217;ve been a bit busy in the meantime, so this is the first chance I&#8217;ve had to do a proper review.</p>
<h3>Why Archimate?</h3>
<p>Archimate aims to be <em>the</em> standard notation for all enterprise-architecture work, bridging an important gap between free-form whiteboard-style sketches and detail-layer executable models.</p>
<p>The catch is that it all depends on what&#8217;s meant by the term &#8216;enterprise-architecture&#8217;&#8230; which is not a trivial point, as Len Fehskens explained on the Open Group blog early last year, in his seminal post &#8216;<a title="Len Fehskens (Open Group): 'Enterprise Architecture's Quest For Its Identity'" href="http://blog.opengroup.org/2011/03/10/enterprise-architecture%E2%80%99s-quest-for-its-identity/" target="_blank">Enterprise Architecture&#8217;s Quest for its Identity</a>&#8216;.</p>
<p>The short answer is that version 1.0 of Archimate was a very good fit for what Fehskens describes as &#8216;EITA&#8217; &#8211; enterprise <em>IT</em>-architecture. It was <em>not</em> a good fit for <em>whole-enterprise</em> architecture &#8211; a literal &#8216;architecture of the enterprise&#8217; &#8211; because in essence everything in Archimate 1.0 centred around IT, and it had no real means to describe anything that did not in some way directly impact upon IT.</p>
<p>For a logistics context, for example, we could model how <em>information</em> about a package would move through the system, but not the physical package <em>itself</em>: so there was no real way describe any of the scenarios by which the parcel and the record of that parcel might become misaligned &#8211; or, perhaps more importantly, become realigned. (In the real world, that kind of misalignment still happens way too often for anyone to be comfortable or complacent about it &#8211; as can be seen in so many Twitter-complaints with the &#8216;#fail&#8217; hashtag. It&#8217;s a very real business-problem &#8211; and usually a problem that is rooted somewhere deep within the architecture of the enterprise. Which is why it <em>is</em> our problem.)</p>
<p>There were also several key items that were missing from the Archimate metamodel that were going to be needed by anyone aiming to bridge the infamous business/IT-divide &#8211; particularly about motivation. (There&#8217;d been some coverage of that in the earlier versions of Archimate, but were dropped in the 1.0 release, perhaps to improve its alignment with the TOGAF 9 metamodel.)</p>
<p>The underlying anatomy of Archimate is also somewhat problematic. As I explained somewhen mid last year in a long post, &#8216;<a title="Post 'Unravelling the anatomy of Archimate'" href="http://weblog.tomgraves.org/index.php/2011/08/04/unravelling-archimate-anatomy/" target="_blank">Unravelling the anatomy of Archimate</a>&#8216;, to me there are what seem to be several fundamental flaws in the structure of its metametamodel that <em>actively</em> constrain its use to an IT-oriented view of enterprise-architecture. And there seems to be no easy way to resolve those flaws without going a long way down into the internals and starting again. The surface-layer can look much the same &#8211; and certainly remain backwards-compatible &#8211; but the internals would need to be <em>very</em> different to make Archimate usable for the kind of business-oriented enterprise-architecture that so many more EAs are moving towards now.</p>
<p>So when I first found out about the revision for this new version, my attitude was &#8216;high hopes but not high expectations&#8217;. And that&#8217;s pretty much what&#8217;s happened &#8211; except that there&#8217;ve been some been <em>very</em> useful additions, some of them in places that I didn&#8217;t expect.</p>
<p>So for those of us working in whole-enterprise architectures, there&#8217;s good-news, and there&#8217;s bad-news. And <em>there&#8217;s quite a lot of good-news</em>, and nothing in the bad-news that we wouldn&#8217;t have expected, so let&#8217;s get the latter out of the way first.</p>
<h3>Bad-news: there&#8217;s no fundamental move away from IT-centrism</h3>
<p>The bad-news it that we&#8217;re still stuck with the same inane IT-centrism as before &#8211; right from the very first sentence of the specification:</p>
<p style="padding-left: 30px;">An architecture is typically developed because key people have concerns that need to be addressed by the business and IT systems within the organization. &#8230; Architecture descriptions are formal descriptions of an information system, organized in a way that supports reasoning about the structural and behavioral properties of the system and its evolution.</p>
<p>There&#8217;s a <em>lot</em> more to any enterprise than just its IT-based information-systems, but in essence that&#8217;s all that this new version of Archimate would allow us to handle. And that annoyingly-arbitrary constraint is carried through into the same old pseudo-layering of Business, Application and [IT] Technology, in which &#8216;Business Layer&#8217; is a similarly arbitrary and annoyingly-incomplete placeholder for &#8216;anything not-IT that might affect IT&#8217;. Not only absurd, but now <em>seriously</em> out-of-date for current EA practice &#8211; as even Open Group would freely admit, given the nominal focus of many of the presentations at the San Francisco conference and elsewhere</p>
<p>Sigh.</p>
<p>And they&#8217;ve used the same &#8216;plug-in&#8217; concept for all the new add-ons as in the TOGAF 9 metamodel &#8211; which is a nice idea, but there&#8217;s nothing to support it in the existing Archimate metametamodel. So the result is that the underlying architecture has become yet <em>more</em> fragmented &#8211; which is going to make it even harder to do the fundamental rework of the architecture that <em>must</em> be done it&#8217;s to be usable forward into the future.</p>
<p>Oh well.</p>
<p>But that&#8217;s about the sum-total of the bad-news, and none of it was unexpected, so let&#8217;s move on to what <em>is</em> good in the new release.</p>
<h3>Good-news: the Motivation extension</h3>
<p>This wasn&#8217;t unexpected, but it&#8217;s still very good news: we can now link any architectural-entity explicitly to the reasons why it exists, and in a manner that allows for formal rigour between all of those interrelationships, roughly in line with the <a title="OMG (Object Management Group): Business Motivation Model (BMM)" href="http://www.omg.org/spec/BMM/" target="_blank">Business Motivation Model</a> (BMM). The new entities are a subset of the BMM, but still eminently usable:</p>
<ul>
<li>Stakeholder</li>
<li>Driver</li>
<li>Assessment</li>
<li>Goal</li>
<li>Requirement</li>
<li>Constraint</li>
<li>Principle</li>
</ul>
<p>In the Business layer we can link these to the existing entities for Value and Meaning, to create a (mostly)-complete trail of derivation for business-purpose. No equivalents in the other two layers, but it probably doesn&#8217;t matter as long as entities there <em>are</em> linked up into the Business layer, either direct or via the new Motivation entities.</p>
<p>The only thing that&#8217;s bizarre about this is the whole idea of treating motivation as an &#8216;extension&#8217;, rather than core. To use Simon Sinek&#8217;s term, surely we should <em>always</em> &#8217;<a title="Simon Sinek: 'Start With Why'" href="http://startwithwhy.com" target="_blank">start with why</a>&#8216;?</p>
<h3>Good-news: the Implementation &amp; Migration extension</h3>
<p>This one&#8217;s likewise <em>very</em> good news, and I wasn&#8217;t expecting it at all. This gives us a means to model the <em><a title="Post 'The no-plan plan: architecture-dynamics'" href="http://weblog.tetradian.com/2011/10/21/the-no-plan-plan-architecture-dynamics/" target="_blank">dynamics</a></em> of an architecture &#8211; the way in which the architecture itself undergoes change. Again the new entities here are only a subset of what we really need for this, but they&#8217;re certainly enough with which to get started:</p>
<ul>
<li>Work-Package</li>
<li>Deliverable</li>
<li>Plateau (for example, an &#8216;intermediate state&#8217; at some predefined time-horizon)</li>
<li>Gap</li>
</ul>
<p>It <em>does</em> make sense to describe this as an &#8216;extension&#8217;, because we don&#8217;t need it to describe a particular configuration or &#8216;state&#8217; of an architecture &#8211; though we do need it whenever the architecture is to change.</p>
<p>The <em>really</em> good-news about this is that it provides a nice graphic workaround for the fact that almost none of the existing toolsets handle architecture-dynamics in any useful way. And if the toolset-vendor implements the appropriate &#8216;hooks&#8217;, this would also provide a solid anchor-point for cross-links into project-management tools and the like. Nice.</p>
<h3>Good-news: the Location entity, and other minor amendments</h3>
<p>A <em>Location</em> entity had been included in the earliest iterations of Archimate, but for some unfathomable reason it was dropped long before the Version 1.0 release; it now makes a very welcome and very necessary return.</p>
<p>A glance at Zachman should give the reason why it&#8217;s so important: without it, we have no means to describe the &#8216;<em>where</em>&#8216; of the architecture, whether in virtual, physical or any other form.</p>
<p>The Location entity is arbitrarily placed in the Business layer &#8211; which makes no sense, of course, because location should apply to <em>everything</em>, but it&#8217;s probably the only way that it can be handled within that absurd IT-oriented &#8216;layering&#8217;. Despite that placement, it <em>is</em> allowed to connect with every other entity, mostly via &#8216;assignment&#8217; or &#8216;association&#8217; relationships.</p>
<p>The other oddity is that there&#8217;s no explicit distinctions between types of location &#8211; particularly virtual versus physical, which is extremely important even in IT-architecture. No doubt this can be handled within toolsets via attributes, but it <em>is</em> a distinction that needs to be addressed.</p>
<p>There are a few other clean-ups down in the Technology layer, mostly new types of IT-specific relationships for newer technologies. To me the most significant item is Infrastructure Function &#8211; significant mainly because its stated purpose is to reinstate some much-needed structural symmetry in the underlying metametamodel for Archimate.</p>
<h3>What next?</h3>
<p>The specification ends with a &#8216;Future Directions&#8217; chapter, which summarises some ideas about what could be added in future. Which is all fine: except they <em>still</em> don&#8217;t include anything that would make it more usable for the non-IT aspects of enterprise-architecture.</p>
<p>At the very least, if Archimate is to be usable for what it purports to do, we <em>need</em> it to be able to cover the symmetric equivalents of Application and Technology in the non-IT space &#8211; and <em>not</em> try to dump it all into &#8216;Business&#8217;, where most of it does <em>not</em> belong. The core partitionings that we need in an architecture are:</p>
<ul>
<li>role-type &#8211; passive-structure, behaviour and active-structure</li>
<li>asset-type &#8211; physical-object, virtual-information, human-relation</li>
<li>agent-type &#8211; physical-machine, IT-system and/or human-process</li>
</ul>
<p>Role-type is the nominal core of current Archimate. But asset-types are in effect conflated into and scrambled within Technology, Application and Business layers respectively; and the only agent-type fully acknowledged is IT-system, with the others either ignored (physical-machine) and/or arbitrarily shunted into the Business &#8216;layer&#8217; (human-process). This makes it all but impossible, for example, to use Archimate to describe business-process redesign or process-fallback where the existing or alternate implementation-methods would use machines or manual-processes; it makes it impossible to describe a business-continuity plan for a context where the IT is out of action; it still leaves it impossible to describe that logistics paralleling-problem between physical parcel versus information about the parcel. This are <em>real</em> needs in any viable enterprise-architecture, and we <em>need</em> a notation that can cover them. Hence, if Archimate <em>is</em> to be the notation of choice for EA, it <em>needs</em> to address these concerns: there is simply no other option.</p>
<p>From assorted snippets of conversation with various colleagues I know that such concerns <em>are</em> being explored in the discussions for the next version of TOGAF, currently code-named &#8216;TOGAF Next&#8217;. So if Archimate is to keep aligned with TOGAF, any putative &#8216;Archimate Next&#8217; would have to follow suit. So I do still have high hopes for something useful and usable happening there; is it too unreasonable this time to have high expectations as well?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2012/02/29/on-archimate-2-0/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>More on that enterprise-architecture &#8216;help needed&#8217;</title>
		<link>http://weblog.tetradian.com/2011/08/15/more-on-that-ea-help-needed/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=more-on-that-ea-help-needed</link>
		<comments>http://weblog.tetradian.com/2011/08/15/more-on-that-ea-help-needed/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 16:01:34 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Complexity / Structure]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[Futures]]></category>
		<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[effectiveness]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[enterprise canvas]]></category>
		<category><![CDATA[metamodel]]></category>
		<category><![CDATA[metaphor]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[narrative]]></category>
		<category><![CDATA[narrative knowledge]]></category>
		<category><![CDATA[paradigm]]></category>
		<category><![CDATA[taxonomy]]></category>
		<category><![CDATA[toolset]]></category>
		<category><![CDATA[user-experience]]></category>
		<category><![CDATA[user-interface]]></category>
		<category><![CDATA[values]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=2028</guid>
		<description><![CDATA[Given the responses to my previous post &#8216;Guess I could do with some help here&#8230;&#8216;, seems it&#8217;d be useful if I clarify a bit more what kind of help I most need. (Or we need, rather, as an industry and discipline: probably the only &#8216;I&#8217;-part here is that I seem to be one of the [...]]]></description>
			<content:encoded><![CDATA[<p>Given the <a title="Comments to post 'Guess I could do with some help here...'" href="http://weblog.tomgraves.org/index.php/2011/08/10/could-do-with-some-help-here/#comments" target="_blank">responses</a> to my previous post &#8216;<a title="Post 'Guess I could do with some help here...'" href="http://weblog.tomgraves.org/index.php/2011/08/10/could-do-with-some-help-here" target="_blank">Guess I could do with some help here&#8230;</a>&#8216;, seems it&#8217;d be useful if I clarify a bit more what <em>kind</em> of help I most need. (Or <em>we</em> need, rather, as an industry and discipline: probably the only &#8216;I&#8217;-part here is that I seem to be one of the few at present who&#8217;s asking these questions?)</p>
<p>To be honest, we don&#8217;t need much help in thinking about the <em>nature</em> of enterprise-architecture or the like: that&#8217;s already well covered, and it&#8217;s actually quite straightforward anyway.</p>
<p>Where we need help is in rethinking the <em>toolsets</em> that we use for enterprise-architecture and the like.</p>
<p>To me it&#8217;s clear that if we&#8217;re to make sense of the enterprise, and support viable decision-making about the true whole-enterprise-scope within which our organisations operate, we&#8217;re going to need some kind of holographic approach to modelling.</p>
<p>We already have plenty of frameworks for enterprise-architecture. We also have plenty of methodologies to work with those frameworks. Each of those is constrained to some variously narrow view into this holographic space, and usually constrained by placing some particular point as &#8216;the centre&#8217; &#8211; hence IT-centrism, business-centrism, health-and-safety-centrism and so on. And those constraints <em>are</em> useful in practice: no doubts whatsoever about that. So to my mind there&#8217;s nothing whatsoever that&#8217;s inherently &#8216;wrong&#8217; about any of those frameworks or methods, other than their own occasional <a title="Post 'Unravelling the anatomy of Archimate'" href="http://weblog.tomgraves.org/index.php/2011/08/04/unravelling-archimate-anatomy/" target="_blank">internal inconsistencies</a> and than that they too-often position their own very limited perspective on reality as &#8216;the only possible&#8217; view on reality. That&#8217;s the only problem there, and it&#8217;s very easy to fix, by acknowledging the value of a single viewpoint <em>as</em> a viewpoint yet <em>also</em> insisting on cross-viewpoint generics. We can <em>choose</em> anywhere as &#8216;the centre&#8217;, for some given purpose, yet must <em>also</em> insist that everywhere and nowhere is &#8216;the centre&#8217;, all at the same time.</p>
<p>Hence, as such, <em>we don&#8217;t need any new frameworks or methodologies for enterprise-architecture</em>. We have more than enough of them already, to be honest.</p>
<p>What we <em>do</em> need are better ways to manage and make sense of the information we have about this &#8216;enterprise-hologram&#8217;.</p>
<p>Which is where toolsets come into the picture. And <em>that</em>&#8216;s the part that I really need help on &#8211; or <em>we</em> need help on, rather, because it&#8217;s definitely too large a context for any one person, or even any one group, to tackle on their own.</p>
<p>What we need most is clarity on the question we&#8217;re aiming to address. I think it&#8217;s an Einstein quote that says &#8220;if I had an hour to solve a problem, I would spend the first fifty-nine of those minutes on the question, and only the last minute on the answer&#8221; &#8211; because the right answer tends to fall out all by itself when we have clarity on the question.</p>
<p>One thing we <em>do</em> know, though, is that there are many different players all trying to tackle different aspects of the <em>same</em> enterprise-holograph &#8211; for example:</p>
<ul>
<li>enterprise-architecture and all the other domain-architectures and solution-architectures &#8211; an emphasis on structure and purpose, and how they link together to deliver useful value</li>
<li>knowledge-management &#8211; an emphasis on how knowledge-items link together (especially narrative-knowledge, stories and &#8216;subjective truth&#8217;)</li>
<li>change-management &#8211; how everything changes and can be changed over time</li>
<li>process-management &#8211; how activities link together, and entities flow between them, to add value across supply-chains, value-networks and so on</li>
<li>service-management &#8211; the human and technical aspects of keeping everything going and &#8216;on purpose&#8217;</li>
<li>futures and other business-intelligence &#8211; how to trawl through the enterprise-space for sensemaking and the like</li>
<li>simulation, &#8216;gamification&#8217; and other skills-development &#8211; how to apply &#8216;what-if&#8217; to any part of the overall context</li>
<li>skills-management &#8211; identifying the skills needed, and the training and/or recruiting needed to cover present or future gaps</li>
<li>performance-management &#8211; identifying required metrics and their impacts (especially, to avoid &#8216;gaming the system&#8217;)</li>
<li>governance &#8211; identifying requirements and responsibilities, assuring assignment and ability to comply, and verifying compliance</li>
</ul>
<p>In principle, yes, they&#8217;re all views or viewpoints into the same overall context. Yet each of those views also carries information or requirements that are specific to that view alone &#8211; in other words, more like an orthogonal dimension. And there are a lot of those distinct dimensions in there &#8211; an <em>n</em>-dimensional space, where <em>n</em> could literally be any number. (Certainly a lot more than are accessible in the simple flat images so typical of so many current &#8216;EA&#8217;-toolsets, anyway.)</p>
<p>Then there are all the different <em>uses</em> for all those distinct views: an architectural view shows us relationships between structure and purpose, for example, but do we need that view to decide on future strategy, to plan investment, to compare different implementation-options in trade-off analysis, to guide scenarios and substitutions in planning business-continuity and disaster-recovery? The views we&#8217;d use might at first seem similar, but the focus and emphasis and model-dynamics in each case might be very different.</p>
<p>At first glance this all might seem impossibly huge. Yet it&#8217;s not as hard as it seems. Most of the technology we&#8217;d need to deal with all of this complexity does already exist. Despite the huge spread of the overall <a title="Post 'The toolset-ecosystem'" href="http://weblog.tomgraves.org/index.php/2011/01/26/toolset-ecosystem/" target="_blank">toolset-ecosystem</a>, most of the key software components we&#8217;d need are already easily available, at little or no direct cost, running on a wide-range of easily-available existing devices. Conceptually speaking, the underlying data-structures are straightforward enough: for example, it could be done with little more than freeform tagging in an object-database of some kind, with some kind of filters applied to the tagging. The same applies to search, and filtering: pretty much everything we need already exists somewhere, if we knew where to look. And even if display-technologies are not yet quite capable of showing a true <em>n</em>-dimensional holographic space, they&#8217;re certainly capable of simulating one. Given the right people and the right ideas, the technology side really isn&#8217;t all that hard these days.</p>
<p>But if the technology isn&#8217;t hard, the user-experience part <em>is</em> hard. And seems to me that <em>that&#8217;s</em> where we most need to focus our attention at the moment.</p>
<p>In many cases, we simply don&#8217;t have the right metaphors for model-relationships:</p>
<ul>
<li>some of it can be usefully described as a <em>matrix</em> &#8211; but it&#8217;s definitely more than a simple matrix as per Zachman</li>
<li>there are some contexts in which a metaphor of hierarchical <em>layers</em> will sort-of make sense &#8211; but it&#8217;s definitely more than a simple &#8216;stack&#8217; as per TOGAF or Archimate, or even a multi-axis matrix-stack as per CapGemini IAF</li>
<li>there are <em>flows</em> of information and materials &#8211; yet it&#8217;s much more than a simple supply-chain</li>
<li>there are identifiable <em>relationships</em>, including realisation, aggregation and so on &#8211; yet much of it tends to follow a <a title="Wikipedia on modal logic" href="http://en.wikipedia.org/wiki/Modal_logic" target="_blank">modal logic of possibility</a> rather than solely a simple true/false logic of presence or absence</li>
<li>there are identifiable trails of <em>derivation and decomposition</em> &#8211; yet there&#8217;s more to it than a simple Zachman layering, or the classic &#8216;current state&#8217; versus &#8216;future state&#8217;</li>
</ul>
<p>And perhaps more important, we don&#8217;t yet have adequate user-interface metaphors:</p>
<ul>
<li><em>drag-and-drop</em> for entities can be misleading &#8211; is it a class or an instance? how do we link back an instance back to a parent class? are we editing the instance only, or the whole class? are we affecting other instances elsewhere? or other versions of the same nominal instance? what happens if the parent disappears over time, but the instance continues as re-linked to something else?</li>
<li><em>notations</em> can be confusing &#8211; especially where the same nominal entity would appear in multiple views with different notations or visualisations or images</li>
<li><em>aggregation</em> (as in Zachman primitives versus composites, TOGAF ABBs versus SBBs [Architectural Building Blocks versus Solution Building Blocks]) can be very confusing &#8211; especially where entities can recombine in many different forms, and at different levels of abstraction or realisation</li>
<li><em>zooming</em> (as per <a title="Prezi zoomable presentation-editor" href="http://www.prezi.com" target="_blank">Prezi</a>) works well to describe a &#8216;containment&#8217; or hierarchical concept of structural-decomposition &#8211; but it&#8217;s hard to make sense, if entities aren&#8217;t fully &#8216;contained&#8217;, or if there are more than two orthogonal axes</li>
<li><em>timelines</em> (as in Gantt-chart relationships, or Apple <a title="Apple: 'Mac 101: Time Machine'" href="http://support.apple.com/kb/HT1427" target="_blank">OS-X Time Machine</a> backup/restore) provide a good means to step through time-related views &#8211; yet the views themselves may change over time</li>
<li><em>multi-axis user-controls</em> work well for up to three or four exactly-orthogonal dimensions &#8211; but become exponentially harder to use with increasing numbers of dimensions and other variables, and probably cannot cope when the dimensions themselves blur into each other</li>
</ul>
<p>In short, we urgently need new user-interface metaphors to navigate through <em>n</em>-dimensional holographic space, where the nature of the space <em>itself</em> may change as we go.</p>
<p>(Oh, and it has to be easy to use, too, such that both the navigation <em>and</em> what&#8217;s visible in the view will make immediate sense to anyone. Of course.)</p>
<p>To use another Einstein quote, &#8220;Everything must be made as simple as possible, but not more simple&#8221;. Simple to use; yet <em>actively</em> dissuade overly-simplistic &#8216;solutions&#8217; such as IT-centrism and the like.</p>
<p><em>That&#8217;s</em> the challenge.</p>
<p>And that&#8217;s also where Agile and the like come into the picture &#8211; and, most of all, people who are experienced in Agile-style software-development for toolsets and the like. We seem to have quite a lot of methodologists and the like around here, who tend to be great on the theory. But what we need most are developers who know how to think seriously-sideways <em>and put it into practice</em>.</p>
<p>We can&#8217;t just talk it into existence: we <em>need</em> to get past the &#8216;talking about it&#8217; stage now. Given the blunt fact that we&#8217;re very unlikely to get it right first time, we need something to play with, to <em>test</em> in real-world practice, to review and rethink our ideas, to help us clarify what the question <em>really</em> is that we&#8217;re facing here.</p>
<p>More thinking-about-thinking, about the theory and the like, well, yes, we&#8217;re always going to need it, it&#8217;s always going to be a &#8216;nice to have&#8217;, and so on. But right now, we&#8217;ve done more than enough thinking-about-thinking: it&#8217;s time to get down to the <em>doing</em>, of creating this new kind of toolset.</p>
<p>Anyone interested in helping with that? Please?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/08/15/more-on-that-ea-help-needed/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Two kinds of Why</title>
		<link>http://weblog.tetradian.com/2011/08/05/two-kinds-of-why/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=two-kinds-of-why</link>
		<comments>http://weblog.tetradian.com/2011/08/05/two-kinds-of-why/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 10:01:58 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Complexity / Structure]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[Futures]]></category>
		<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[effectiveness]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[enterprise canvas]]></category>
		<category><![CDATA[metamodel]]></category>
		<category><![CDATA[mythquake]]></category>
		<category><![CDATA[narrative]]></category>
		<category><![CDATA[paradigm]]></category>
		<category><![CDATA[story]]></category>
		<category><![CDATA[taxonomy]]></category>
		<category><![CDATA[values]]></category>
		<category><![CDATA[worldview]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=2003</guid>
		<description><![CDATA[What is &#8216;Why?&#8217; And why, anyway? &#8220;Oh no, not again&#8220;, do I hear you cry? Actually, it&#8217;s not as bad as that: it&#8217;s not going to be yet another of those long tedious technical posts &#8211; honest! (It is a sort-of technical question, I&#8217;ll admit. And, in the event, quite long. But interesting to just [...]]]></description>
			<content:encoded><![CDATA[<p>What is &#8216;Why?&#8217; And why, anyway?</p>
<p>&#8220;Oh no, not <em>again</em>&#8220;, do I hear you cry? Actually, it&#8217;s not as bad as that: it&#8217;s not going to be yet another of those long tedious technical posts &#8211; honest! <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>(It <em>is</em> a sort-of technical question, I&#8217;ll admit. And, in the event, quite long. But interesting to just about everyone, I hope.)</p>
<p>What <em>do</em> we mean by &#8216;Why&#8217;? It&#8217;s a question that&#8217;s been puzzling me for quite a while &#8211; not least because enterprise-architecture is in some ways <em>all</em> about the shared &#8216;<em>why</em>&#8216; of an enterprise, and how we express that &#8216;Why&#8217; in practice.</p>
<p>That kind of &#8216;Why&#8217; is <em>energising</em>, and <em>engaging</em>. &#8220;<a title="Website for Simon Sinek's book 'Start With Why'" href="http://www.startwithwhy.com/" target="_blank">Start with Why</a>&#8220;, says Simon Sinek &#8211; and in terms of how things really happen in enterprise, he&#8217;s right. If we start with why, things do indeed <em>happen</em>, and usually happen well.</p>
<p>But then I look at the &#8216;Why&#8217; column in <a title="Wikipedia on Zachman Framework" href="http://en.wikipedia.org/wiki/Zachman_Framework" target="_blank">Zachman</a>: &#8216;Why&#8217; is business-rules, it says. Gosh. Wow. Exciting&#8230; (To be honest, my heart just sinks. Doesn&#8217;t yours?) Business-rules? &#8211; seriously, where&#8217;s the fun in that? Kind of the exact <em>opposite</em> of engaging, really. Something&#8217;s gone missing there, clearly&#8230;</p>
<p>That&#8217;s not quite fair, of course. Up at the top, Zachman describes &#8216;Why&#8217; as a list of Goals. Not <em>quite</em> as unexciting as business-rules. (But close&#8230;) Yet there&#8217;s something kinda odd here&#8230; kinda like a sudden sideways jump&#8230; different things all mixed up together in the same space&#8230;?</p>
<p>And I hit up against the same problem when working on the <a title="Quick-reference sheet for Enterprise Canvas" href="http://tetradianbooks.com/2010/12/ecanvas-summary/" target="_blank">Enterprise Canvas</a> concept, a year or so ago. The same Start with Why: the &#8216;vision&#8217; for the extended-enterprise is the core &#8216;Why&#8217; from which everything else flows. That &#8216;Why&#8217; is <em>emotive</em>, it <em>means</em> something: for the right kind of &#8216;Why&#8217;, people <em>are</em> willing, even eager, to get out of bed way too early on a cold dark dreary workday morning. It <em>matters</em>. It sits <em>above</em> everything else. And yet, to make sense of the content and activities of the service that we&#8217;d represent on an Enterprise Canvas module, there&#8217;s that same dull boring &#8216;Why&#8217; again: decisions, principles, rules and regulations, all that kind of stuff. Where&#8217;s the fun gone? How come we&#8217;ve lost the <em>why</em> from the Why?</p>
<p>I&#8217;ve been bouncing up against an answer on this in several previous posts over the past while, such as one about <a title="Post 'Principles, values, ends and means'" href="http://weblog.tomgraves.org/index.php/2010/10/01/principles-values-ends-means/" target="_blank">principles in enterprise-architecture</a>, and another on the relationship between <a title="Post 'Notes on architecture versus design'" href="http://weblog.tomgraves.org/index.php/2011/05/20/architecture-versus-design-2/" target="_blank">architecture, design and implementation</a>. But perhaps a better answer came up over the past couple of days, when trying to <a title="Post 'Unravelling the anatomy of Archimate'" href="http://weblog.tomgraves.org/index.php/2011/08/04/unravelling-archimate-anatomy/" target="_blank">unravel the anatomy of Archimate</a> and, in particular, struggling to make sense of the split between what in Archimate they call Intentional Concepts versus Extensional Concepts.</p>
<p>Intentional Concepts are, as the name suggests, about <em>intent</em>. Extensional Concepts are about what we <em>do</em> with that intent &#8211; about how we extend that intent out into real-world practice. In Archimate, Intentional Concepts are entities such as Value, Meaning and Reason. And the important point is that these are viewed as <em>separate</em> from &#8216;the action&#8217;. Yet down in the details of that &#8216;the action&#8217;, we again come across another kind of &#8216;reasons&#8217; &#8211; all those business-rules and so on. (Archimate doesn&#8217;t model any of that as yet, but that&#8217;s another story.) So again we&#8217;ve got this kind of sideways jump: &#8216;Why&#8217; is <em>above</em> everything, as Intent; yet it&#8217;s <em>also</em> just another part <em>of</em> that &#8216;everything&#8217;, as Extension, the ways things work together.</p>
<p>The obvious answer: we&#8217;re dealing with two different kinds of &#8216;Why&#8217;. Or two different sides of the same &#8216;Why&#8217;, perhaps.</p>
<p>One side of Why creates a question: literally, it <em>starts</em> a &#8217;quest&#8217;. For most of us, that&#8217;s the exciting bit.</p>
<p>The other side of Why is the answer to the question, the <em>end</em> of the quest. That was the question, here&#8217;s the answer: The Decision. End of story. For most of us, that&#8217;s when the fun ends: a sense of relief, perhaps, that there&#8217;s no more need to quest, but also, well, no more need to quest&#8230; Final. That&#8217;s it. Full Stop. (or Period, if you speak the US version of English). An ending, that somehow ends up in a bunch of rules, with No Questions Allowed any more. A Why To End All Whys.</p>
<p>Kind of like the braces round a mathematical function: <em>a=func(x,y)</em> and all that. The opening-brace ( begins the question: what&#8217;s <em>x</em>? what&#8217;s <em>y</em>? what do we do with them? &#8211; exciting, new, gosh, wow! And then we hit the closing-brace ) that ends the question: its kind of &#8216;nothing more to say&#8217;, really. We have the answer, the decision. Nothing more to do. Oh. Oh well. (Except that in much of maths, and in computing too, we have parentheses within parentheses within parentheses: <em>q=some(func(x,y), also(y,z, andalso(b,c)))</em> &#8211; quests within quests! Fun within <em>more</em> fun &#8211; hooray! <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p>So we <em>do</em> have two different kinds of &#8216;Why&#8217; &#8211; and they go into different places in our architecture.</p>
<p>One kind of &#8216;Why&#8217; &#8211; the question, the &#8216;(&#8216; &#8211; goes <em>above</em> the Zachman space, goes <em>above</em> the Enterprise Canvas, goes into Archimate as <em>intention</em>. Think of it as a row above everything, or a backplane, or something like that: whichever way we view it, it pervades <em>everything</em>.</p>
<p>The other kind of &#8216;Why&#8217; &#8211; the &#8216;)&#8217;, the decision &#8211; goes into the Zachman space as just another column, goes into Archimate as <em>extension</em>. Each decision is specific, explicit: it literally cuts off other choices in that context. We can connect it to things, show how it affects other things, but it doesn&#8217;t <em>pervade</em> everything in the way that the question does.</p>
<p>In that sense, it <em>does</em> make sense to put them in different places. (And also &#8211; <em>very</em> important &#8211; not to forget the <em>intention</em>. Zachman ignores it, or loses it somehow in its strange sideways jump; Archimate all but abandons it, when it squeezes all of its Intentional Concepts into the literal meaninglessness of Passive Structure; and Business Model Canvas doesn&#8217;t even bother, but seemingly assumes that the only &#8216;Why&#8217; that matters is &#8216;How do we make money?&#8217; The &#8216;questing Why&#8217; is literally emotive, the source of all motivation: if we don&#8217;t explicitly include it in our enterprise models, we&#8217;ve just shut out any reason for anyone to be engaged in our whatever-it-is. Perhaps not a wise mistake&#8230;?)</p>
<p>In another sense, though, it&#8217;s still the <em>same</em> &#8216;Why&#8217;. Just different faces &#8211; or phases &#8211; of the same quest. That&#8217;s where so much of the confusion comes, because often where we place it is more about how we choose to look at it than anything else. Looking &#8216;downward&#8217;, we see a stream of decisions: &#8220;because so-and-so&#8230; therefore&#8230; therefore&#8230; therefore&#8230;&#8221;. Looking upward, we see a stream of reasons: &#8220;because&#8230; because&#8230; because&#8230;&#8221; &#8211; ultimately ending up in the the unquestionable &#8216;Because!&#8217; of the enterprise-vision or whatever. (I tend to place only that ultimate &#8216;Because!&#8217; and its immediate implied-values as that uppermost layer of the enterprise-model; everything else ends up at various levels of that Extensional side-column of &#8216;Why&#8217;.) The <a title="Knowledge Genes website" href="http://www.knowledgegenes.com/Welcome.aspx" target="_blank">Knowledge Genes</a> structure also describes this Janus-faced relationship well, though in a different way: move leftward towards the question of Why, rightwards towards the decisions of How. The same &#8216;Why&#8217;, and yet different; a different &#8216;Why&#8217;, and yet the same.</p>
<p>Two kinds of &#8216;Why&#8217;.</p>
<p>That are <em>also</em> the same &#8216;Why&#8217;.</p>
<p>Now why is that, I wonder&#8230;? <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/08/05/two-kinds-of-why/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Unravelling the anatomy of Archimate</title>
		<link>http://weblog.tetradian.com/2011/08/04/unravelling-archimate-anatomy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unravelling-archimate-anatomy</link>
		<comments>http://weblog.tetradian.com/2011/08/04/unravelling-archimate-anatomy/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 20:42:20 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Complexity / Structure]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[business-IT divide]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[IT-architecture]]></category>
		<category><![CDATA[IT-centrism]]></category>
		<category><![CDATA[marc lankhorst]]></category>
		<category><![CDATA[metamodel]]></category>
		<category><![CDATA[taxonomy]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=1989</guid>
		<description><![CDATA[The Archimate notation aims to be the standard to be used by everyone in enterprise-architecture and related fields. But what exactly is its anatomy &#8211; its underlying structure? And if it&#8217;s aimed at enterprise-architecture, what is it about that structure that makes it seem only to support IT-architecture, and in such an awkwardly IT-centric way? (Apologies, [...]]]></description>
			<content:encoded><![CDATA[<p>The <a title="Archimate Forum on Open Group website" href="http://www.opengroup.org/archimate/" target="_blank">Archimate</a> notation aims to be the standard to be used by everyone in enterprise-architecture and related fields. But what exactly is its anatomy &#8211; its underlying structure? And if it&#8217;s aimed at <em>enterprise</em>-architecture, what is it about that structure that makes it seem only to support <em>IT</em>-architecture, and in such an awkwardly IT-centric way?</p>
<p>(Apologies, folks, because, yes, this is going to be another one of those very long, very technical posts&#8230; Skip it if you&#8217;re not interested, of course, though I believe this actually <em>is</em> important for anyone involved in enterprise-architecture and the like.)</p>
<p><span id="more-1989"></span>To anyone working in enterprise-architectures, Archimate ought to be the first point we turn to when starting to model any aspect of the enterprise. Unlike Zachman, for example, it places just as much attention to the &#8216;lines&#8217;, the connections <em>between</em> the &#8216;boxes&#8217; (the &#8216;things&#8217;) of the architecture as it does to the &#8216;boxes&#8217; themselves. That&#8217;s <em>hugely</em> important &#8211; and almost unique in the enterprise-architecture space.</p>
<p>But to me, and to many others, it just&#8230; I don&#8217;t know&#8230; just doesn&#8217;t seem to <em>work</em>? Something doesn&#8217;t quite <em>gel</em>&#8230; something like that, anyway. It gives the sense that it <em>ought</em> to be right, that it <em>ought</em> to work &#8211; but somehow it just&#8230; doesn&#8217;t. And that sense of it not-quite-working gets more and more extreme the more we try to move outward from anything but the most IT-centric of architecture views. Odd. Very odd.</p>
<p>A couple of weeks back I wrote a post on this &#8211; &#8216;<a title="Post 'Is Archimate too IT-centric for enterprise-architecture?'" href="http://weblog.tomgraves.org/index.php/2011/07/23/is-archimate-too-it-centric-for-ea/" target="_blank">Is Archimate too IT-centric for enterprise-architecture?</a>&#8216; &#8211; one outcome of which was a very gentlemanly discussion with one of Archimate&#8217;s key originators, Marc Lankhorst. One of the outcomes of that discussion was that Marc very kindly sent me a copy of one of the key formal papers on Archimate, &#8216;The Anatomy of the Archimate Language&#8217;, by Marc Lankhorst, H.A. (Erik) Proper and Henk Jonkers, in <em>International Journal of Information System Modeling and Design</em>, 1(1), 1-32, January-March 2010. (I don&#8217;t think it&#8217;s available on-line, but it&#8217;s worth hunting out from somewhere, anyway.)</p>
<p style="padding-left: 30px;">What follows is perhaps somewhat unfair to Marc, in a way, because I know he&#8217;s away on vacation at the moment, and probably can&#8217;t reply for some weeks. Point is that I just wanted to get this down straight away before I forget it&#8230; <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  &#8211; and <em>definitely</em> no slur is intended, though I&#8217;ll have to say that I really <em>am</em> worried by what I&#8217;ve seen. If Marc won&#8217;t be able to reply for a while, perhaps Erik or Henk could join in on this instead?</p>
<p>So I&#8217;ve been reading that &#8216;Anatomy&#8217; paper over the past couple of days &#8211; and after doing that, I&#8217;d have to say that I&#8217;m at the point where I don&#8217;t know whether I should just sit down and cry&#8230;</p>
<p>Yes, it really <em>is</em> that serious. Sorry, but it is. Yes, I do understand that the organisations who were the main drivers for this were &#8216;the usual suspects&#8217; &#8211; banking, insurance and tax &#8211; which would have skewed things anyway quite a long way down the IT-centric path. Even beyond that, though, something went <em>seriously</em> wrong there &#8211; and I have no idea why. I don&#8217;t know <em>why</em> certain decisions were made, but it&#8217;s evident that a number of decisions <em>were</em> made, from about halfway through the metamodel design-process, that completely cripple the whole framework. In effect, they change the underlying structure of Archimate from something that&#8217;s clear, simple, yet immensely powerful and usable across the whole enterprise-architecture space, into something that&#8217;s so arbitrarily constrained that it&#8217;s usable only for a tiny subset of the architecture space, and that it crumples into a tangled, all-but-unusable mess the moment we move outside of that scope.</p>
<p>Those decisions do seem to be described in the &#8216;Anatomy&#8217; document. But to me they don&#8217;t make any sense at all, and to be blunt I can&#8217;t see how anyone <em>could</em> make those decisions other than as a temporary kludge to get something just-about-usable out of the door. That happens often enough under real-world pressure, of course. But that &#8216;temporary&#8217; kludge &#8211; if that&#8217;s what it was &#8211; was somehow allowed to remain unchallenged and unchanged within the structure, such that when it was later taken over as a standard, no further review seems to have taken place, and the kludge itself was mistaken for &#8216;fact&#8217;. Which leaves us with the problems that we&#8217;re facing with Archimate right now, where it really <em>isn&#8217;t</em> usable for <em>enterprise</em>-architecture.</p>
<p>It <em>is</em> fixable. It&#8217;s even fixable in a form that retains backwards-compatibility with the current v1.0 standard. (And probably with the upcoming v2.0 too, but I don&#8217;t as yet have access to the information needed to be certain of that.) But the first point is that we need to acknowledge <em>that</em> it doesn&#8217;t work at present, and <em>why</em> it doesn&#8217;t work at present. Once we&#8217;ve done that, I believe it&#8217;s actually quite straightforward to show what we need to do to make it work again.</p>
<p>What I&#8217;ll do here is go through the underlying structure, step by step, exactly as specified in the &#8216;Anatomy&#8217; document. (As above, I don&#8217;t think that the document is available on-line, so I&#8217;ll have to ask you to trust me on this: Erik or Henk or one of the other designers should be able to correct me if I get it wrong, anyway.)</p>
<p>I&#8217;ll show the design-decisions at each stage, and make some suggestions [shown in square-braces, like this] as to how &#8216;defensible&#8217; each of those decisions would be, as measured against the full scope of whole-of-enterprise architecture. (There&#8217;s no point in looking at a narrower scope, since anything less would create the kind of arbitrary-subset boundaries that we&#8217;re already struggling with at present.)</p>
<p>So, go to it.</p>
<h3>The anatomy of Archimate</h3>
<p>The Archimate metamodel is defined using <a title="Formal website for Object Role Modelling notation" href="http://www.orm.net/" target="_blank">Object Role Modelling</a> (ORM2) notation &#8220;as graphical representations of underlying logical theory&#8221;.</p>
<p style="padding-left: 30px;">[Agreed: it's a better choice than, say UML or <a title="OMG Meta-Object Facility metametamodelling framework" href="http://www.omg.org/mof/" target="_blank">MOF</a>, in my opinion.]</p>
<p><em><strong>Level 0</strong></em>: define an entity called &#8216;Element&#8217;, which in essence could be anything at all.</p>
<p style="padding-left: 30px;">[An obviously necessary first step.]</p>
<p><em><strong>Level 1</strong></em>: define two types of Element, called &#8216;Concept&#8217; and &#8216;Relation&#8217;.</p>
<p style="padding-left: 30px;">[These are core definitions for just about any type of metamodel - though note that these are the <em>only</em> root-Elements defined.]</p>
<p>A Concept represents just about any kind of &#8216;thing&#8217; &#8211; in any sense of &#8216;thing&#8217; &#8211; whereas a Relation is a link between &#8216;things&#8217;.</p>
<p style="padding-left: 30px;">[Ditto.]</p>
<p>The definition-term for the relationship implied by a Relation link is described as the &#8216;fact&#8217; of the relationship.</p>
<p style="padding-left: 30px;">[May be specific to ORM, but no complaints here, anyway.]</p>
<p>A Relation can be used to link any Concept to any Concept: &#8220;A Concept is related to another Concept if and only if the first Concept is source of some Relation which has as destination the second Concept.&#8221;</p>
<p style="padding-left: 30px;">[Again, this is common to most types of metamodel that I've seen.]</p>
<p>A Relation can be used to create a link where the <em>same</em> Concept is both &#8216;source&#8217; and &#8216;destination&#8217;, as in recursion.</p>
<p style="padding-left: 30px;">[The recursion is a useful design-decision, though note that it <em>is</em> a decision - not an inherent logical corollary of anything else.]</p>
<p>A Relation can only be used to link between Concepts; a Relation cannot be used to link to another Relation.</p>
<p style="padding-left: 30px;">[Again, this is a useful design-decision, though one that <em>does</em> impose a significant constraint from now on. Within ORM itself, for example, Relations <em>are</em> allowed to link to other Relations.]</p>
<p><em><strong>Level 2</strong></em>: Because &#8220;the domains we are interested in tend to be large and complex&#8221;, four specialisations of the default relation-fact &#8216;<em>is related to</em>&#8216; are defined. These more-specific relations are &#8216;<em>is realisation of</em>&#8216; (the inverse of abstraction); &#8216;<em>is specialisation of</em>&#8216; (specialisation), &#8216;<em>is aggregation of</em>&#8216; and &#8216;<em>is composed of</em>&#8216; (aggregation/composition).</p>
<p style="padding-left: 30px;">[This again <em>is</em> a design-decision, though one that's common to many other notations such as UML. These specialisations are additional to rather than substitutes for '<em>is related to</em>', and other relation-facts remain possible, hence no absolute constraint is passed on here. Note that in the Archimate standard, the default relation '<em>is related to</em>' is termed an Association.]</p>
<p><em><strong>Level 3</strong></em>: An either/or specialisation is applied to all Concepts: a Concept may be either an Intentional Concept (subjective, &#8216;Why&#8217;) or an Extensional Concept (objective, usually &#8216;What&#8217; or &#8216;How&#8217;).</p>
<p style="padding-left: 30px;">[This is another design-decision that is not an inherent corollary of anything else. No particular complaints here - though as we'll see, almost all Archimate entities are Extensional Concepts.]</p>
<p>Two additional specialisations of &#8216;<em>is related to</em>&#8216; support this separation of concepts: a &#8216;<em>has</em>&#8216; relationship may exist between an Intentional Concept and an Extensional Concept; and a &#8216;<em>uses</em>&#8216; relationship may exist between two Extensional Concepts.</p>
<p style="padding-left: 30px;">[Again, this pair of specialisations don't constrain anything as such, though note that there is no equivalent, for Intentional Concepts, of the Extensional <em>'uses</em>' relationship.]</p>
<p><em><strong>Level 4</strong></em>: Specialisations are applied to both Extensional Concepts and Intentional Concepts.</p>
<p>An either/or specialisation is applied to Extensional Concepts: each must be either Passive Structure (e.g. object), Behaviour (e.g. action, verb etc), or Active Structure (e.g. agent, subject etc).</p>
<p style="padding-left: 30px;">[Because this is a strict either/or, this is probably the first design-decision that really <em>does</em> constrain further development of the metamodel: this is probably <em>the</em> core design-decision that's visible right the way through the final Archimate notation. I have no particular objection to this, other than to note that it <em>is</em> arbitrarily constrained from now on, because it doesn't seem to allow for the possibility that something might exist that would not fit into any of those three categories, or might straddle more than one of the categories.]</p>
<p>Two additional specialisations of &#8216;<em>is related to</em>&#8216; support this separation of concepts: an &#8216;<em>is accessed by</em>&#8216; relationship may exist between a Passive Structure concept and a Behaviour concept; and a &#8216;<em>has assigned</em>&#8216; relationship may exist between an Active Structure concept and a Behaviour concept.</p>
<p style="padding-left: 30px;">[Note that no specific relationship is defined between Active Structure and Passive Structure, though it seems probable that the default '<em>is related to</em>' could still apply.]</p>
<p>Three specialisations are applied to Intentional Concept, providing the entities Meaning, Value and Reason. These represent single concepts, <em>not</em> categories, and are <em>not</em> specifically aligned to the Passive Structure, Behaviour or Active Structure of the Extensional Concepts. No additional specialisations of relationships are defined between these entities, and since no specific relationships are defined between Intentional Concepts, the only available relationship between them is the default &#8216;<em>is related to</em>&#8216;.</p>
<p style="padding-left: 30px;">[It's at this point that the structural integrity of Archimate starts to break down, because we have clearly-defined and 'defensible' specialisations in the Extensional Concepts area, and seemingly arbitrary and 'indefensible' specialisations in the Intentional Concepts. It's actually worse in the final metamodel-definition for Archimate v1.0, because the distinction between Extensional Concept and Intentional Concept disappears from view, and the Meaning and Value entities are then arbitrarily parked under Passive Structure, as if they were Extensional Concepts. And for no clear reason, the Reason entity is arbitrarily dropped from the entire metamodel, with the result that Archimate then has no means to describe requirements, business-rules for processes, or any kind of business-decision or business-reason - placing an absurd constraint on what Archimate is able to model. The upcoming Motivation extension promised for v2.0 <em>may</em> resolve some of this, but only some, because the linkage appears to have been lost right down at this fairly deep level of the metamodel.]</p>
<p><em><strong>Level 5</strong></em>: An either/or specialisation is applied to Extensional Concepts only, splitting them into two categories: &#8216;external&#8217; (e.g. Service, Interface), and &#8216;internal&#8217; (e.g. Object, Function, Role).</p>
<p style="padding-left: 30px;">[It's unclear as to whether or not this split applies only to the Behaviour and Active Structure categories: the 'Anatomy' document asserts that it does not apply to the Passive Structure category, although in fact an External Passive Structure entity 'Representation' <em>is</em> defined in the final metamodel, applying only to the Business layer. Again, this is 'special case on special case' without any defensible rationale, leading to even further fragmentation of the core metamodel.]</p>
<p>A mandatory &#8216;<em>uses</em>&#8216; relationship applies from an Internal Active Structure entity (e.g. Role) to an External Active Structure entity (e.g. Interface). A mandatory &#8216;<em>is realised by</em>&#8216; relation applies from an Internal Behaviour entity (e.g. Function) to an External Behaviour entity (e.g. Service). An Internal Behaviour entity and Internal Active Structure entity may be assigned to each other; likewise External Behaviour and External Active Structure; but <em>not</em> Internal Behaviour to External Active Structure, or External Behaviour to Internal Active Structure. Internal Passive Structure may have an &#8216;<em>is accessed by</em>&#8216; relationship with Internal Behaviour or External Behaviour, but not either Internal Active Structure or External Active Structure.</p>
<p style="padding-left: 30px;">[We're now starting to drown in special-cases of special-cases of special-cases... Metamodel integrity is seriously falling apart by this stage, especially as none of these design-choices appear to be a required logical corollary of anything else that has gone before.]</p>
<p><em><strong>Level 6</strong></em>: Another either/or specialisation is applied, to categorise entities into Individual or Collective. In principle this is orthogonal both to the Passive Structure / Behaviour / Active Structure split, and to the Internal / External split. In practice, this seems to apply solely to Internal Behaviour (Collective, as Interaction) and to External Active Structure (Collective, as Collaboration) and Internal Active Structure (Individual, as Actor). The Collaboration entity has a &#8216;<em>has assigned</em>&#8216; relationship with Interaction, which seems to break the previous rule that External Active Structure cannot link to Internal Behaviour &#8211; though confusingly Collaboration is also shown as an &#8216;<em>is aggregation of</em>&#8216; specialisation of the Internal Active Structure entity Role.</p>
<p style="padding-left: 30px;">[To be blunt, I'm lost here, and I suspect most other people would be lost here, too. There's almost no metamodel-integrity left in this at all: there <em>is</em> still a nominal structure behind it, but it's so arbitrarily constrained, without any apparent defence of any of the constraints, that all that remains is yet more special-cases on special-cases on special-cases... However, the relationship between Role and Actor is something that we'll need to come back to later, because to me it's a key part of how to restructure this into something that <em>can</em> work.]</p>
<p><em><strong>Level 7</strong></em>: The architectural space is now split into three layers: Business, Application, and Technology. The metamodel structure as described is replicated in each of these layers.</p>
<p style="padding-left: 30px;">[The replication of the metamodel in each of the spaces makes sense, but nothing else does. <em>Nothing.</em> Let's be absolutely blunt about this: there is not the slightest shred of defence as to why the architecture-space should be partitioned in this way. There is no reason given as to why it should be these three layers; there is no reason given as to why there should only be three layers; there is no reason given as to why they should be layers at all, or why these partitions should be in layer-like relationships with each other. <em>This part of the Archimate metamodel is the outcome of a non-defensible set of arbitrary a-priori assertions, based on no logical corollary from anything, nor, it seems, any fundamental facts about the nature of the overall architecture space.</em> This is probably <em>the</em> primary source of the limited usability of Archimate, but compounded with the inconsistencies introduced by all the variously-arbitrary constraints from before, it should be no surprise if the final end-result is a crippled, near-unusable mess. Okay, not actually 'unusable': it's unfair to say that, because it presumably <em>did</em> satisfy the immediate needs of the initial clients, and it <em>does</em> align reasonably well with the inherent IT-centrism of TOGAF 9 and the like. So yes, it does satisfy <em>some</em> needs - but, as evidenced above, at a cost of near-unusability for any other purpose and/or any other architectural scope. I'm sorry, but that <em>is</em> true... and we do need to stop pretending otherwise. <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  ]</p>
<p>Given that these partitions are in vertical layered relationships to each other, the External entities in each layer will link &#8216;upward&#8217; to the Internal entities in the layer &#8216;above&#8217;. Hence a Passive Structure entity may have an &#8216;<em>is used by</em>&#8216; relationship with Passive Structure in the layer above (note that there is no distinction between Internal and External for Passive Structure); an External Behaviour entity (e.g. Service) may have a <em>&#8216;uses</em>&#8216; relationship with Internal Behaviour (e.g. Function) in the layer above; and likewise an External Active Structure (e.g. Interface) may have a &#8216;<em>uses</em>&#8216; relation with Internal Active Structure (e.g. Role) in the layer above. A Passive Structure entity may also have an &#8216;<em>is realised by</em>&#8216; relationship with the Individual Internal Active Structure entity Actor.</p>
<p style="padding-left: 30px;">[These relationships do sort-of make sense - but as such they <em>only</em> make sense within a presumed layered structure, and <em>don't</em> make sense in any other type of structure. There is, however, another way to look at this, as we'll see later. Note that the '<em>is realised by</em>' rather than '<em>uses</em>' relationship between Passive Structure (Object) and Actor implies that Actor is actually closer in nature to Passive Structure than to Active Structure, where it was somewhat arbitrarily placed before; this too suggests an alternative structural option that we'll explore later.]</p>
<p><em><strong>Level 8</strong></em>: Specific entities and relationships are defined for each of the layers, based on the underlying structure of the metamodel.</p>
<p style="padding-left: 30px;">[I won't go into this in detail: it's all in the Archimate formal-standard, anyway. But I'm going to have to be rude here, and describe this part of the metamodel as 'disaster-area', because in practice that's exactly what it is.</p>
<p style="padding-left: 30px;">I'm struggling to find a kinder way to put this, but I'm sorry, because it really <em>does</em> have to be said. Fact is that by this stage what we have in front of us as the Archimate 'anatomy' is little more than a bunch of fairly arbitrary entities with a bunch of fairly arbitrary-seeming relationships, with no real rhyme or reason to any of it. There <em>isn't</em> any real structure here, because it's been so fragmented by special-cases and arbitrary inconsistencies and <em>a-priori</em> assertions that it's lost almost all connection to the work that's gone before: all that's left are some incomplete aspects of the original Passive Structure / Behaviour / Active Structure split, and of the Internal / External split, together with a few half-explained fragments of the Individual / Collective split. All of the Intentional entities are arbitrarily shoved into the Passive Structure of the Business Layer, with no reason given as to why this has been done, and with no connection to either of the other layers; the Reason entity has been lost, hence there is no way, for example, to show a requirements-derivation trail for anything. And a few extra entities are added, such as Event and Junction, which, useful though they are, have no explicit linkage back to any of the previously-defined underlying structure - which means we're forced to treat them as unexplained special-cases too.</p>
<p style="padding-left: 30px;">As is usual in IT-centrism, the Business layer is clearly used as an arbitrary grab-bag for 'anything not-IT'; Process appears in this layer only, again with no explanation as to why it is there or even what it is. As in Zachman, the only Passive Structures supported are various manifestations of data - no physical objects, for example. In the 'lower' layers, the metamodel is cluttered with arbitrary specialisations of entities, some of which - Network and Node, for example - seemingly appear from nowhere with no apparent explanation other than that someone presumably saw a need for each; and also cluttered with a bewildering variety of special-case relationships or constraints on relationships.</p>
<p style="padding-left: 30px;">And in essence, human-activities occur only in the Business layer, information-activities only in the Application layer, and (a specific subset of) machine-activities occur only in the Technology layer. There is no means to model anything that does not fit these assumptions, and there is no way to model an end-to-end process without jumping between layers almost at random - a fact which in itself indicates that these should <em>not</em> be viewed as layers.</p>
<p style="padding-left: 30px;">I could go on, but you'll see the point already...? And why I said right back at the beginning that I didn't whether to just give up and cry...?]</p>
<p>And that completes the summary of the current anatomy of Archimate. Sorry again, but &#8216;ouch&#8230;&#8217;</p>
<p>Which leads to the obvious question: what the heck can we do to make it right?</p>
<h3>Rethinking the anatomy of Archimate</h3>
<p>Let&#8217;s again go through it step by step, using the same <em>Levels</em> structure from the &#8216;Anatomy&#8217; document, and again adding comments in indented square-braces.</p>
<p>(For some of the background reasoning that I&#8217;ve used here, perhaps take a look at <a title="Post 'Bindedness in metamodels'" href="http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/" target="_blank">some</a> <a title="Post 'Meanderings on metamodels'" href="http://weblog.tomgraves.org/index.php/2009/04/24/on-ea-metamodels/" target="_blank">of</a> <a title="Post 'Time for open-source enterprise-architecture?'" href="http://weblog.tomgraves.org/index.php/2008/09/20/open-source-ea/" target="_blank">the</a> <a title="Post 'Next-generation toolsets for enterprise-architecture?'" href="http://weblog.tomgraves.org/index.php/2010/08/30/nextgen-toolsets-for-ea/" target="_blank">various</a> <a title="Post 'More metamodel stuff'" href="http://weblog.tomgraves.org/index.php/2009/05/26/more-metamodel/" target="_blank">posts</a> I&#8217;ve done on EA-metamodel themes over the past few years, or the more-detailed &#8216;<a title="Website/wiki for 'Open-source EA toolset'" href="http://ea.openfutures.org/OsEATools" target="_blank">proposal for an open-source EA-metamodel</a>&#8216; that I worked on for some while a couple of years ago.)</p>
<p>First, though, we need some clarity on the purpose of this cleaned-up Archimate. Hence start with a few assertions to set the scene:</p>
<p><em><strong>Assertion 1</strong></em>: Architecture is &#8220;the fundamental organisation of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution”.</p>
<p style="padding-left: 30px;">[The quote is from the ISO/IEC 42010 standard. I don't fully agree with that assertion, but it <em>is</em> the core definition of architecture upon which the existing Archimate standard is based, so we need to keep to it for backwards-compatibility. Note, though, that this definition says nothing whatsoever about the purported centrality of IT, nor does it specify any particular boundaries to 'the system' or, for that matter, 'the environment' within which 'the system' will operate. This <em>is</em> a definition that's broad enough to support an architecture with a true whole-of-enterprise scope.]</p>
<p><em><strong>Assertion 2</strong></em>: The primary purpose of the metamodel, and the notation(s) upon which it is based, is to enable modelling of an architectural context in terms of its perceived structural components, their relationships to each other and the context, and to the guiding principles that apply in that context. In short, the relationships between structure and purpose in an architectural context.</p>
<p style="padding-left: 30px;">[This imposes explicit constraints on the purpose, role and content of the metamodel. However, it <em>is</em> a direct corollary of the previous assertion, and it <em>is</em> the (broader version of) the basis for the current Archimate, so we need it for backwards compatibility. Note, though, that it <em>doesn't</em> impose any specific constraint or structure on <em>what</em> is to be modelled - it does <em>not</em> force us down the IT-centric path, or even assert that there 'is' any content or scope that must be considered as 'the centre' for the architecture.</p>
<p style="padding-left: 30px;">It's important to note what <em>isn't</em> covered by or included within this structure-oriented purpose-definition for the metamodel - and perhaps should be. Three key examples are:</p>
<p style="padding-left: 30px;">- <em>dynamics</em>: flows and sequences, as would be used in simulation</p>
<p style="padding-left: 30px;">- <em>transitions</em>: changes in the structure, as in the classic notion of 'as-is' to 'to-be'</p>
<p style="padding-left: 30px;">- <em>governance</em>, especially for transitions: project-management and the like - such as would nominally be covered by the Project extensions apparently proposed for Archimate v2.0</p>
<p style="padding-left: 30px;">As we go on, I'll include comments on where support for these requirements could perhaps be added to the metamodel, but the main focus right now is backwards-compatibility with the existing Archimate, to cause the minimum disruption for toolset-vendors and the like.</p>
<p style="padding-left: 30px;">My own personal aim is that this 'cleaned-up Archimate' would be able to support the full expansion of a business-model (e.g. in Business Model Canvas) to a static(ish) structure-description at an <em>enterprise</em>-architecture level, including supply-chains, value-networks, linkage to extended-enterprise (including non-clients and anti-clients), detail-layer modelling, values-mapping, end-to-end process description, customer-journey description, implementation-tradeoff analysis, and business-continuity/disaster-recovery planning. Support for a lot of other requirements - such as the dynamics, transitions and change-governance above - would be a definite bonus, but for Archimate-equivalence I don't think it's a central need right now.]</p>
<p><em><strong>Assertion 3</strong></em>: Consistency in the metamodel is paramount.</p>
<p style="padding-left: 30px;">[This is essential to avoid the 'disaster-area' inconsistency of arbitrary special-cases of special-cases that bedevils the existing Archimate metamodel.]</p>
<p>To support consistency, the following rules will be applied:</p>
<p><em>Rule A)</em> All entities &#8211; including Concepts and Relations &#8211; will be defined in terms of &#8216;inheritance&#8217; from previously-defined entities.</p>
<p style="padding-left: 30px;">[This is straightforward, but it means that we do need to be careful what kind of partitioning we apply. The 'inheritance' concept also makes it possible to create a much simpler yet more versatile metamodel for EA toolsets.]</p>
<p><em>Rule B)</em> The full inheritance-tree of an entity &#8211; including relations and attributes &#8211; will be available to all entities derived from or based on that entity, unless explicitly blocked.</p>
<p style="padding-left: 30px;">[The point of this assertion is that we're not allowed to simply churn out special-cases, as in the current Archimate. If we want to constrain something, we need to give a reason to do so, and we need to <em>explicitly</em> block something that we don't want that entity to inherit - which makes it clear that it <em>is</em> constrained.]</p>
<p><em>Rule C)</em> A limited form of multiple-inheritance is supported, in that attributes derived from partitionings that are described as orthogonal to each other may be combined within any entity-type built upon those orthogonal partitionings. By default, an entity-type would inherit <em>all</em> attributes from the parents, unless one or other of the root-partitions is excluded, in matrix-fashion; individual attributes may also be explicitly blocked, as above. By default, these constraints applied to an entity-type <em>will</em> apply to to any of its derived &#8216;child&#8217; entity-types.</p>
<p style="padding-left: 30px;">[In effect, this is what happens with the existing Archimate metamodel, to create entity-types such as Business-layer Internal Collective Extensional Behaviour - otherwise known as 'Business Process'. But in the existing metamodel, the mapping is not transparent, and is not handled in a consistent way - both of which problems are resolved by this rule.]</p>
<p><em>Rule D)</em> Entity-types may be categorised as &#8216;abstract&#8217;, in that no displayable instantiation may be made from that specific entity-type (though see the note about &#8216;null-object&#8217; in <em>Rule F</em> below). The constraint would be applied at the entity-type level, by explicit blocking as above, and would <em>not</em> be automatically inherited in &#8216;child&#8217; entity-types derived from that entity-type.</p>
<p style="padding-left: 30px;">[This is mainly about minimising confusion in the modelling process: in most cases we only want a specific sub-set of entities to be available, not every possible parent in every derivation-tree. There <em>are</em> a few special-cases for which it may be useful to permit modelling with instances of abstract-classes, so in EA toolsets it would probably be best to implement this as a default behaviour that can be overridden if required, rather than an absolute constraint.</p>
<p style="padding-left: 30px;">This also enables us to support valid placeholders for entity-types that 'should' exist, according to the metamodel logic, but for which we do not yet have an apparent need. This resolves a consistency-problem seen often in the current Archimate structure, where categories are arbitrarily dropped from the metamodel, and hence seemingly cannot be retrieved in contexts where such entities <em>are</em> then needed - as was the case with the arbitrary abandonment of the External Passive Structure category and the subsequent re-inclusion of the Representation entity for the 'Business' layer only.]</p>
<p><em>Rule E)</em> In notation, the visualisation(s) of each of the parent-entities will be available for display in each derived entity. A default visualisation (notation view) will be required for each entity, whether or not it is usually instantiated or derived-from. It is strongly recommended &#8211; but not mandatory &#8211; that entities permit multiple visualisations of themselves, both at the &#8216;class&#8217; and &#8216;instance&#8217; level.</p>
<p style="padding-left: 30px;">[This is perhaps a bit abstruse, but it enables us to show the 'same' entity at different levels of abstraction. The recommendation about 'multiple visualisations' is to resolve a problem frequently encountered in modelling for different audiences: we need to show an appropriate visualisation - a computer, a fork-lift truck, a picture of a handshake or whatever - whilst still maintaining the formal rigour of the underlying model.]</p>
<p><em>Rule F)</em> Even for &#8216;abstract classes&#8217; that are not usually displayable, a &#8216;null-object&#8217; must always be available for every entity-type, such as to indicate a placeholder for something that will be added to, or will be removed from, the model at some future point. Within modelling, and in an EA toolset, it should be permissible to convert a &#8216;null-object&#8217; to a real (i.e. valid) entity of the respective entity-class or any derived class. For automated verification of models, such null-objects should cause a warning to be generated, but &#8211; other than for executable models &#8211; should not cause the verification to fail.</p>
<p style="padding-left: 30px;">[This is to support two very common requirements in architecture-modelling: the process of modelling itself, and modelling of transitions from 'as-is' to 'to-be' etc. During modelling, we often want to describe an entity whose full details are not yet known, or the end-point of a link for which the source-entity is already modelled: this enables us to add a 'legal' placeholder to the model, but which will still warn us about the model's actual incomplete state. Much the same applies in transitions, when developing transition-maps between 'as-is' and some 'to-be': we often need a placeholder for an entity that at present does not exist, or that will no longer exist in the 'to-be' context.]</p>
<p><em>Rule G)</em> The metamodel supports a concept of &#8216;sets&#8217;. These are of two distinct types &#8211; exclusive, and intersecting &#8211; and typically represent the overall viewpoint of a specific group stakeholders. Exclusive-sets are created in groups &#8211; such as &#8216;layers&#8217; &#8211; which each incorporate the current structure of the metamodel, but in which subsequent specialisations (derived entity-types) are specific to that set only. Intersecting-sets &#8211; such as a security-view, or a process-view &#8211; incorporate a selected subset of entities from across the <em>whole</em> of the current metamodel, regardless of exclusive-set boundaries. (In effect, there is always one &#8216;intersecting-set&#8217; that consists of all of the entities represented in the entirety of the current metamodel.) A set may or may not permit further specialisation of entities that would be specific to that set alone.</p>
<p style="padding-left: 30px;">[This is both to support the concept of 'layers' as in the current Archimate, and also to break out of their current IT-centric stranglehold. Personally I think that the concept of layers is dangerously misleading, but if we <em>want</em> to use layers, we can. In my opinion the only valid approach is to use intersecting-layers to describe the architecture 'world' from selected viewpoints - and unlike the current Archimate metamodel, this <em>does</em> provide proper support for that. In essence, the existing Archimate 'viewpoints' and 'views' are sets that can only use existing entities - in other words, are not permitted <em>within themselves</em> to create new specialisation-entities - so this mechanism does fully support that requirement as well.]</p>
<p><em><strong>Assertion 4</strong></em>: The metamodel is defined using Object Role Modelling (ORM2) notation.</p>
<p style="padding-left: 30px;">[This is an obviously-necessary requirement for compatibility with the existing Archimate metamodel. To be honest, I won't actually use the proper ORM notation here - I'll use text-descriptions instead - but the point is that it <em>should</em> be possible to model all of what follows in 'legal' ORM notation.]</p>
<p>Which brings us to the start of the <em>Level</em> structure of the original document.</p>
<p><em><strong>Level 0</strong></em>: Define an entity called &#8216;Element&#8217;, which in essence could be anything at all.</p>
<p><em><strong>Level 1</strong></em>: Define two types of Element, called &#8216;Concept&#8217; and &#8216;Relation&#8217;. A Concept represents just about any kind of &#8216;thing&#8217; &#8211; in any sense of &#8216;thing&#8217; &#8211; whereas a Relation is a link between &#8216;things&#8217;. The definition-term for the relationship implied by a Relation link is described as the &#8216;fact&#8217; of the relationship. A Relation can be used to link any Concept to any Concept, including to the same Concept, as in recursion; a Relation cannot be used to link to another Relation.</p>
<p><em><strong>Level 2</strong></em>: Four specialisations of the default relation-fact &#8216;<em>is related to</em>&#8216; are defined. These more-specific relations are &#8216;<em>is realisation of</em>&#8216;, &#8216;<em>is specialisation of</em>&#8216;, &#8216;<em>is aggregation of</em>&#8216; and &#8216;<em>is composed of</em>&#8216;.</p>
<p style="padding-left: 30px;">[All of <em>Level 0</em> to <em>Level 2</em> is unchanged, exactly as in the original 'Anatomy' specification. Not a surprise, since it's all very much root-level stuff.</p>
<p style="padding-left: 30px;">By the way, note that general-purpose Archimate entities such as Group and Junction are actually defined as 'closed' (non-extensible) specialisations of Concept, right down at this level.]</p>
<p><em><strong>Level 3</strong></em>: An either/or specialisation is applied to all Concepts: a Concept may be either an Intentional Concept (subjective, &#8216;Why&#8217;) or an Extensional Concept (objective, usually &#8216;What&#8217; or &#8216;How&#8217;). Two specialisations of the default-relation support this separation of concepts: a &#8216;<em>has</em>&#8216; relationship may exist between an Intentional Concept and an Extensional Concept; and a &#8216;<em>uses</em>&#8216; relationship may exist between two Extensional Concepts.</p>
<p style="padding-left: 30px;">[Again, this is exactly as in the original 'Anatomy' specification. However, we probably <em>do</em> need to define permissible relationships between Intentional Concepts, and possibly right down at this level: typical relationship-types would include the <a title="NETLAB paper 'Conceptual relationships for encoding thesauri' etc" href="http://www.desire.org/results/discovery/rdfthesschema.html" target="_blank">RDF core set for thesauri</a> - '<em>BroaderTerm</em>', '<em>NarrowerTerm</em>', '<em>Use</em>', '<em>UsedFor</em>', '<em>RelatedTerm</em>' - plus requirements-oriented relationships such as '<em>isA</em>', '<em>extends</em>', '<em>implements</em>' and '<em>conflictsWith</em>'. We also need to take some care that, having in effect split 'Why' from everything else, we don't simply forget it - as happened in the current Archimate!]</p>
<p>//<em>An aside</em>: At this point I&#8217;m going to have to deviate somewhat from the &#8216;Anatomy&#8217; level-numbering in <em>Level 4</em> to <em>Level 6</em>, because there&#8217;s a core point &#8211; almost casually glossed-over in the document &#8211; which renders the notion of &#8216;levels&#8217; invalid for this part of the metamodel. This is that much of what is defined in that stage consists of sets of either/or splits that are nominally <em>orthogonal</em> to each other &#8211; and hence <em>must</em> be considered to be at the <em>same</em> level in the metamodel. Part of the &#8216;Anatomy&#8217; <em>Level 4</em> &#8211; on specialisations for the Intentional Concepts &#8211; should remain as that level-number; everything else in the original <em>Level 4</em> to <em>Level 6</em> will go into subsections of an amended <em>Level 5</em>. For consistency with the &#8216;Anatomy&#8217; document, &#8216;Level 6&#8242; will be dropped, so that we realign with &#8216;Anatomy&#8217; at <em>Level 7</em>.//</p>
<p><em><strong>Level 4</strong></em>: Three specialisations are applied to Intentional Concept, providing the entities Meaning, Value and Reason. These represent single concepts, not categories: they exist primarily to provide backward-compatibility with Archimate v1.0. (See &#8216;Level 3&#8242; above regarding relationship-types.)</p>
<p style="padding-left: 30px;">[Further specialisations, expansions and relations of Intentional Concept should be definable, sufficient to cover everything in a required Motivation extension (as promised for Archimate v2.0), or preferably a more complete motivation-model such as Nick Malik's <a title="Website for Enterprise Business Motivation Model" href="http://motivationmodel.com/wp/" target="_blank">Enterprise Business Motivation Model</a>.</p>
<p style="padding-left: 30px;">Note that this general category of Intentional Concepts <em>must</em> always remain distinct from any category or sub-category of Extensional Concepts: for example, they must <em>not</em> be bundled in with Passive Structure, as in standard Archimate. Additionally, if the <em>Level 5a</em>-recommendation to define a Decisions category of Extensional Concepts is followed, care should be taken to ensure that those are not confused with Intentional Concepts: both are 'Why' in Zachman terms, but Intentional Concepts describe the <em>emotive</em> 'Why' of motivation, whereas the Decision Extensional Concepts describe the <em>active</em> 'Why' associated directly with Behaviour and Active Structure.]</p>
<p><em><strong>Level 5a</strong></em> (&#8216;Level 4&#8242;): An either/or specialisation is applied to Extensional Concepts: each must be either Passive Structure (e.g. object), Behaviour (e.g. action, verb etc), or Active Structure (e.g. agent, subject etc). Two additional specialisations of &#8216;<em>is related to</em>&#8216; support this separation of concepts: an &#8216;<em>is accessed by</em>&#8216; relationship may exist between a Passive Structure concept and a Behaviour concept; and a &#8216;<em>has assigned</em>&#8216; relationship may exist between an Active Structure concept and a Behaviour concept.</p>
<p style="padding-left: 30px;">[This provides the required direct backwards-compatibility with the current Archimate, though we may well need to be cautious about the specialisation of relationships here. From a Zachman perspective, note that this split is equivalent to 'What', 'How' and the capabilities-aspect of 'Who' - which leads us into the next point:]</p>
<p>It is strongly recommended that this split be extended to include three further specialisations or categories &#8211; Location, Agent and Decision &#8211; with an optional further extension to include Event. These would also map to the Zachman &#8216;Where&#8217;, agent-aspect of &#8216;Who&#8217;, &#8216;Why&#8217; and &#8216;When&#8217; respectively, to support full alignment with the Zachman taxonomy.</p>
<p style="padding-left: 30px;">[I'll admit I haven't yet done the detailed work needed to identify all the relationships here, though some of them already exist in the Archimate canon - '<em>triggers</em>', for example, as an outgoing relation from Event.</p>
<p style="padding-left: 30px;">One of the complications is that this isn't a true 'either/or' split, because the closer we get to real-world implementation, the more we're likely to come across entities that straddle two or more categories. In such cases, the entity-behaviour would be that it acts as an aggregation (composition?) of all of its component-categories.]</p>
<p>The entities would need to support sub-categories that identify other characteristics, such as in line with the schema in the following diagram. The &#8216;columns&#8217; here correspond respectively to Passive Structure, including Agent (&#8216;Asset&#8217;); Behaviour (&#8216;Function&#8217;); Location; Active Structure (&#8216;Capability&#8217;); Event; and Decision:</p>
<p style="text-align: center;"><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/01/single-row-extZachman.png"><img class="aligncenter size-full wp-image-1560" title="single-row-extZachman" src="http://weblog.tomgraves.org/wp-content/uploads/2011/01/single-row-extZachman.png" alt="" width="429" height="192" /></a></p>
<p style="padding-left: 30px;">[The purpose of this is to break from of the IT-centrism that cripples the current Archimate. This schema enables us to cover the <em>whole</em> enterprise scope, without any arbitrary constraints.</p>
<p style="padding-left: 30px;">The two groupings here relate to the 'asset-type', and the 'decision/skill-type'. The asset-type distinctions identify fundamentally-distinct attributes of 'things': for example, a physical object is 'alienable' - if I give it to you, I no longer have it - whereas a virtual item such as data is 'non-alienable' - if I give it to you, I also still have it. Functions act on different asset-types; locations are defined in terms of schemas of the same categories of asset-types; and so on. Capabilities and decision-types relate to the level of complexity that the respective entities can address. (Note that a capability acts on asset-types with specific skill-levels - i.e. <em>both</em> groupings apply in that case.) These are, however, non-exclusive: a printed book, for example, is an object (Passive Structure, in Archimate terms) that is both a physical 'thing' <em>and</em> virtual information, and has to be managed in accordance with the nature of <em>both</em> asset-type categories.</p>
<p style="padding-left: 30px;">Relationships across this schema will need further research, but one additional item that would often be required in an IT-oriented context would be a '<em>represents</em>' relation with other Passive Structure entities. For example, an information-item might have a '<em>represents</em>' relationship with a physical object (such as a parcel in a logistics context) or a real-person (as in a CRM or HRM system). (Note that this is <em>not</em> the same as the Representation entity: that's External Passive Structure, not a relationship.)</p>
<p style="padding-left: 30px;">Two further complications arise concerning the Agent category (of which the Archimate entity Actor is one example). Every Capability (or Active Structure, in Archimate terms - usually clustered into an individual Role or collective Collaboration) is enacted by an Agent. As implied in the permitted-relations discussed in the earlier review of <em>Level 6</em>, what Archimate describes as 'Actor' is actually treated as Passive Structure - <em>not</em> Active Structure. This is correct: the Active Structure is ultimately enacted by or embedded in some kind of 'thing', such as a Device or Application package. This is the actual non-IT-centric meaning of the Zachman 'Who': in the terms of the schema above, the Agent is or is represented by an Asset (i.e. Passive Structure). However, the human Actor represents a special-case, because real-people are not and should <em>never</em> be described as Assets: instead, the organisational and/or human <a title="Sidewise post: 'The relationship is the asset'" href="http://sidewise.biz/2009/07/relationship-as-asset/" target="_blank">relationship with that person is the asset</a> in that context - the link to the person via a relational-Asset, not 'person-as-asset'.]</p>
<p><em><strong>Level 5b</strong></em> (&#8216;Level 5&#8242;): Another either/or specialisation is applied to Extensional Concepts, splitting them into two categories: &#8216;external&#8217; (e.g. Representation, Service, Interface), and &#8216;internal&#8217; (e.g. Object, Function, Role).</p>
<p style="padding-left: 30px;">[The idea of 'external' versus 'internal' is a good one, though it needs a better explanation and exploration in the light of the <em>Level 5a</em> extended-categorisation and schema above. For example, a Service is the outward expression of a Function (Archimate 'Behaviour') and a Capability (Archimate 'Active Structure', as Role).</p>
<p style="padding-left: 30px;">However, the inconsistent mapping of internal versus external in Archimate's Passive Structure does point to a real issue, that there are some cases where treating this as a true exclusive either/or split does not make sense. The real purpose of the split is to identify appropriate relationships, in particular 'inbound' versus 'outbound' relationships across set-boundaries, such as in the layered structure of Business / Application / Technology in current Archimate: an Internal entity accepts 'inbound' relations, and an External entity accepts 'outbound' relations. If we treat this split not as a strict either/or, but as an attribute which is normally either/or but <em>may</em> be both or neither (much as described for <em>Level 5c</em> below), then an entity which is 'both' may support both 'inbound' <em>and</em> 'outbound' relations.</p>
<p style="padding-left: 30px;">Further exploration will be needed to establish appropriate relationship-types across the categories and between internal/external split, without drowning in special-cases.]</p>
<p><em><strong>Level 5c</strong></em> (&#8216;Level 6&#8242;): An <em>attribute</em> to distinguish individual versus collective entities may be applied, to select between (at least) four distinct conditions: &#8216;always Individual&#8217;, &#8216;always Collective&#8217;, &#8216;variable&#8217;, or &#8216;not relevant&#8217;. (The &#8216;not relevant&#8217; case should be the default, and could probably be considered to be &#8216;implicit Individual&#8217; for many/most modelling purposes.) The state of the attribute <em>may</em> affect the validity of certain relation-types such as &#8216;<em>is aggregation of</em>&#8216;. Specialisations may be used to enforce the state of this attribute &#8211; e.g. Process as a collective of Service, or Collaboration as a collective of Role &#8211; but this is <em>not</em> a simple either/split.</p>
<p style="padding-left: 30px;">[Further exploration will be needed to establish appropriate entities and relationship-types across the categories and between internal/external split without drowning in special-cases. Note that collectives may occur in any category: for a example, a Product may be a collective made up of many Components.]</p>
<p><em><strong>Level 6</strong></em>: &#8220;This section intentionally left blank&#8221;.</p>
<p style="padding-left: 30px;">[See the '//...//' note above <em>Level 4</em>.]</p>
<p><em><strong>Level 7</strong></em>: To retain compatibility with Archimate v1.0, three exclusive-sets (see <em>Assertion 3, Rule G</em>, above) are defined, labelled Business, Application, and Technology. The metamodel structure as described is replicated in each of these sets. An additional intersecting-set (again, see <em>Rule G</em>) is defined at the same time to incorporate all specialisation defined in each of those exclusive-sets, plus any additional elements required beyond those three exclusive-sets.</p>
<p style="padding-left: 30px;">[This allows us to break out of the IT-centric box defined by the current Archimate, and enables what is, in effect, an infinitely-extensible architecture-space, to which we could apply further exclusive-sets and/or intersecting-sets as required.</p>
<p style="padding-left: 30px;">Relationships between sets would typically use the 'inbound'/'outbound' structure as summarised for <em>Level 5c</em> - i.e. 'inbound' relations may only connect with Internal entities, and 'outbound' relations to External entities. This enables us to emulate the 'layers' concept in Archimate v1.0, without actually constraining always to that type of inter-set relationship.]</p>
<p><em><strong>Level 8</strong></em>: Specific entities and relationships are defined for each of the sets, based on the underlying structure of the metamodel.</p>
<p style="padding-left: 30px;">[Yes, in principle, this is exactly the same as in the earlier review. The difference is that it doesn't force us into IT-centrism, and the rules in <em>Assertion 3</em> above would apply: consistency and integrity of the metamodel is paramount, all special-cases must be described and defended, and so on. We are <em>not</em> allowed to permit the underlying metamodel to be all but ignored, as in some ways does appear to have been the case with the current Archimate.</p>
<p style="padding-left: 30px;">I haven't given point-for-point examples here: there are about 30 entities defined for Archimate 1.0, together with a dozen distinct relationship-types, hence describing exactly how each one of those would be mapped into this metamodel would probably take a post as long as this one again. But to me at least it's clear how to support every one of the existing Archimate entities and relationships within the metamodel structure described above, <em>without</em> breaking any of the integrity-rules or creating any non-defensible special-cases. That structure also provides a better fit for what I've seen described as upcoming in Archimate v2.0 - particularly the positioning of the Location entity as a generic category, rather than as a single entity that is allowed to bounce around across the various layers. (Using Location as a category also resolves another special-case problem in the existing Technology layer, because Network and Node become re-flagged as the collective and individual of a particular type of virtual-Location.)]</p>
<p>So: that&#8217;s it for now. I&#8217;m well aware that this isn&#8217;t complete yet: for example, there <em>is</em> more work still to be done here on clarifying and simplifying the structure and connection-rules for inter-entity relationships. There&#8217;s also work to be done on support for dynamics and transitions, as mentioned in <em>Assertion 2</em> earlier &#8211; though for transitions the &#8216;null-entity&#8217; concept described in <em>Assertion 3 Rule F</em> should help a lot.</p>
<p>But I hope this is enough to get people started of rethinking and refining, such that we can end up with an Archimate that we actually <em>can</em> use for real enterprise-scope architectures.</p>
<p>Thanks very much for keeping going all the way through this marathon: hope it made some degree of sense, anyway. <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Over to you &#8211; comments/suggestions, anyone?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/08/04/unravelling-archimate-anatomy/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Assets and Resources</title>
		<link>http://weblog.tetradian.com/2011/08/01/assets-and-resources/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=assets-and-resources</link>
		<comments>http://weblog.tetradian.com/2011/08/01/assets-and-resources/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 13:20:36 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Complexity / Structure]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[business model canvas]]></category>
		<category><![CDATA[enterprise]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=1978</guid>
		<description><![CDATA[More on translating Business Model Canvas to Archimate etc. (Yes, it&#8217;s another of those long, interminable technical posts &#8211; my apologies, though they are necessary&#8230;) This one picks up on a couple of sort-of-mistakes that I&#8217;ve made in the previous post, &#8216;Questions on business-model to enterprise-architecture&#8216;, and which need a bit more clarity in explanation. [...]]]></description>
			<content:encoded><![CDATA[<p>More on translating Business Model Canvas to Archimate etc. (Yes, it&#8217;s another of those long, interminable technical posts &#8211; my apologies, though they <em>are</em> necessary&#8230;)</p>
<p>This one picks up on a couple of sort-of-mistakes that I&#8217;ve made in the previous post, &#8216;<a title="Post 'Questions on business-model to enterprise-architecture'" href="http://weblog.tomgraves.org/index.php/2011/07/31/questions-on-bizmodel-to-entarch/" target="_blank">Questions on business-model to enterprise-architecture</a>&#8216;, and which need a bit more clarity in explanation. In particular, it&#8217;s about specific points in relation to two of Stuart Boardman&#8217;s questions:</p>
<ul>
<li>an Asset as a type of a Resource &#8211; specifically as a Resource for which &#8220;the respective service is responsible&#8221;;</li>
<li>a Capability also as a type of Resource.</li>
</ul>
<p>A key part of this relates to what goes into the Key Resources section in Business Model Canvas, and how we translate and model the respective items in Archimate.</p>
<p>This will no doubt be another long one &#8211; sorry&#8230; &#8211; hence more after the &#8216;Read more&#8230;&#8217; break.</p>
<h3><span id="more-1978"></span>Resources in Business Model Canvas</h3>
<p>Business Model Canvas is about business, and in essence is in the language of business. Perhaps that seems obvious at first &#8211; but it has some implications that aren&#8217;t obvious at all, that are very important indeed to anyone working with detailed design.</p>
<p>Implementation folks need precision, exactness, certainty &#8211; because very often that&#8217;s the difference between what works, and what doesn&#8217;t. But the whole point of the kind of strategic language used in Business Model Canvas is that it&#8217;s blurry, <em>un</em>certain, cluttered with clunky not-quite-categories and &#8216;you-know-what-I-mean&#8217; mixups of service versus function versus capability versus process and so on. At that level, allowing that kind of clumsy clunkiness to exist is often what makes the difference between what works, and what doesn&#8217;t. But the clash between those two very different mindsets can life very, uh, <em>interesting</em>, for enterprise-architects and others who have to bridge the gap&#8230;</p>
<p>Business Model Canvas starts with a Value Proposition. No problem there. Yet the first questions any implementer will ask are:</p>
<ul>
<li>What do we <em>do</em> to create value?</li>
<li>What do we <em>use</em> to create value?</li>
</ul>
<p>In Business Model Canvas, that&#8217;s what we would list under Key Activities, and Key Resources.</p>
<p>Key Activities are what we <em>do</em>. In Archimate terms, that&#8217;s <em>Behaviour</em>, as a service, function, process, interaction. (We won&#8217;t explore these any further in this post.)</p>
<p>Key Resources are what we <em>use</em>. Anything that we would use in doing something is a &#8216;resource&#8217;. This includes what we use to do things <em>to</em>, and what we use to do things <em>with</em>. Archimate splits these into two parts: the &#8216;things&#8217; that we use which Archimate calls <em>Passive Structure</em>, such as an object, a contract, a product and so on; and what we use to act on those things, which Archimate calls <em>Active Structure</em>, as roles, interfaces, actors and suchlike.</p>
<h3>Capability as Resource</h3>
<p>A capability is &#8216;the ability to do something&#8217; &#8211; an active part of what we would <em>use</em> to do something. In Business Model Canvas, we would describe this as a Resource, because it&#8217;s something that is <em>available</em> to use, but not the activity itself.</p>
<p>A capability is part of the <em>structure</em> of work, rather than the <em>doing</em> of work. Hence it&#8217;s what Archimate would call <em>Active Structure</em> &#8211; except that it doesn&#8217;t use the term &#8216;capability&#8217; at all. Instead, if we accept that capability is &#8216;the ability to do something&#8217;, then it&#8217;s sort-of-implied in <em>Business Role</em> (Business layer), <em>Application Component</em> (Application layer) and <em>Device</em> (Technology layer).</p>
<p style="padding-left: 30px;">Note that those entities in the respective layers could also be described as capabilities embedded in a real-person, in IT-software, and in a machine. Those distinctions become important when we look at Assets later.</p>
<p>A capability is a Resource that, with some provisos, we translate into Archimate as an aspect of the &#8216;things&#8217; of Active Structure. Or, to put it the other way round, each of the &#8216;things&#8217; of Active Structure has capabilities. That capability is exposed through an Interface, to say <em>how</em> it will do something; and linked to a Function (or Process, or Interaction), to say <em>what</em> it will do to something; then both Function and Interface are linked together to provide a Service.</p>
<p>Anything that Business Model Canvas terms as &#8216;Key Resources&#8217; is something that is available to be used within the business-model. Anything that Archimate terms as &#8216;structure&#8217; &#8211; whether &#8216;passive&#8217; or &#8216;active&#8217; &#8211; is a resource. Capability is active structure that is a resource because it is something that available to use.</p>
<h3>Asset and Resource</h3>
<p>Over on the other side of Archimate is its <em>Passive Structure</em>, are the &#8216;things&#8217; to which or with which something is done. This forms the bulk of the remainder of the Business Model Canvas&#8217; &#8216;Key Resources&#8217;.</p>
<p style="padding-left: 30px;">There are a few other Zachman-like items that don&#8217;t really fit into either Key Activities or Key Resources, though they <em>are</em> needed for modelling of implementation. These include key <em>events</em> for the business-model, key <em>decisions</em> (but not decision-making itself, which is a capability and/or an activity), and some types of <em>locations</em>. Archimate places <em>Event</em> as a class of Behaviour (somewhat oddly, because it&#8217;s a <em>trigger</em> for behaviour rather than a behaviour as such); the current version of Archimate doesn&#8217;t cover anything else, but the upcoming version is expected to include an entity for Location, and may cover some aspects of decisions in the proposed Motivation extension. (We won&#8217;t explore these any further in this post either.)</p>
<p>For most of these other Resources, I&#8217;ve found it useful to map them in terms of two specific dimensional sets of attributes:</p>
<ul>
<li>entity in focus is <em>tangible</em> versus <em>non-tangible</em></li>
<li>focus is on the <em>entity</em> itself, versus emotive <em>relationship</em> between a real-person and this entity</li>
</ul>
<p>I&#8217;ve suggested in the other post that a Resource becomes an Asset when someone has an explicit responsibility for the appropriate maintenance and/or use of that resource. A clear illustration of this responsibility is implicit in the &#8216;assets and liabilities&#8217; column of a balance-sheet &#8211; where a &#8216;liability&#8217; is in relation to an asset for which the organisation accepts responsibility without actually the ownership of it.</p>
<p>This gives us four key categories of asset-&#8217;primitives&#8217;: <em>physical</em> (tangible entity), <em>virtual</em> (non-tangible entity), <em>relational</em> (person to/with tangible entity), and <em>aspirational</em> (person to non-tangible entity).</p>
<p>A <strong>physical-asset</strong> is tangible, hence also &#8216;alienable&#8217;: it is transferred from one owner to another by physical exchange of the entity. Responsibility for the asset rests with the person who holds it. It&#8217;s relatively simple to build a property-model based on &#8216;rights of exclusion&#8217; around physical-assets. (We&#8217;ll ignore for the moment the ethics or sustainability of doing &#8211; the point is that the alienable nature of physical-assets makes it <em>possible</em> to do so.)</p>
<p>A <strong>virtual-asset</strong> is non-tangible, hence also &#8216;non-alienable&#8217;. (IT systems work almost entirely with virtual-assets.) Non-alienability means that the way we create a sort-of transfer is by making a copy of the entity at the destination for the &#8216;exchange&#8217;, and optionally deleting the original copy at the &#8216;source&#8217;: there is no actual <em>transfer</em> of &#8216;the entity&#8217; as such. Again, responsibility for the asset rests with each person who holds each independent copy of the asset. It is extremely hard (perhaps impossible) to build a viable property-model based on &#8216;rights of exclusion&#8217; to virtual-assets (i.e. &#8216;intellectual-property&#8217;), because the <em>nature</em> of virtual-assets requires that a new copy be created at every transfer. Attempts at exclusion require ever-more-cumbersome structures that are, by definition, ultimately self-defeating; business-models that rely on such exclusion are inherently fragile and may well be delusory, &#8220;held together by nothing more than smoke-and-mirrors and lawyers&#8217; bluff&#8221;.</p>
<p>A <strong>relational-asset</strong> exists between a real-person and another tangible entity. (The other entity is often another real-person, but not necessarily so: it&#8217;s useful here to consider the emotional attachment people have to physical objects or places or animals as other variants on the same theme. We could also be pedantic and say that the source-entity does not always have to be a real-person: a dog, for example, is certainly capable of forming emotional attachment to people, to places, to other animals and also to tangible objects &#8211; and each of those connections would technically be a potential relational-asset.) The asset is undeniably &#8216;real&#8217;, yet cannot actually be transferred to any other person, because it exists <em>between</em> the source and destination. (Conditions can be provided under which an equivalent relational-asset can be created, but the asset itself cannot be transferred as such.) Responsibility for the maintenance of the asset rests with <em>both</em> parties to the asset: if <em>either</em> party abandons that responsibility, the asset will cease to exist. Because of all these factors, it is extremely unwise to attempt to build a property-model based on &#8216;rights of exclusion&#8217; around these assets, because it literally makes no sense: it can only be made to <em>seem</em> to make sense by treating &#8216;the Other&#8217; as a &#8216;possessable&#8217; physical object or as a subordinate subject of self &#8211; as unfortunately does occur in much employment-law, for example, or contract-law. (The well-meant phrase &#8220;our people are our greatest asset!&#8221; only makes sense when those people are slaves&#8230; it is essential to understand that it&#8217;s not the <em>person</em> that is the asset here, but <a title="Sidewise post: 'The relationship is the asset'" href="http://sidewise.biz/2009/07/relationship-as-asset/" target="_blank">the <em>relationship</em> with that person</a>.)</p>
<p>An <strong>aspirational-asset</strong> exists sort-of &#8216;between&#8217; but actually <em>from</em> a real-person <em>to</em> or towards a non-tangible or abstract entity. As with a relational-asset, both entities must exist in some sense in order for the asset to exist, even though the &#8216;far-end&#8217; of the asset-relationship is technically &#8216;imaginary&#8217;. This latter point is crucial for <em>brands</em> and similar types of aspirational-assets, where the non-tangible entity is maintained by a third-party: if the &#8216;owner&#8217; abandons the entity, or even changes the entity in some way, any aspirational-assets linked to that entity may well be lost. As with relational-assets, an aspirational-asset cannot be transferred as such to another person, but conditions may be created in which an equivalent relationship may emerge. Likewise the nature of aspirational-assets is often very poorly understood in business-models, and are often mis-framed as if one or both ends of the relationship are physical &#8216;possessions&#8217;: attempts to build a property-model based on aspirational-assets &#8211; such as &#8216;goodwill&#8217; in relation to a business &#8211; are often delusory at best.</p>
<p>Many real-world assets (perhaps most?) are composites of these categories; each composite takes on the attributes of <em>all</em> of its component categories. A printed book, for example, is both a physical-asset (the book-object itself) <em>and</em> a virtual-asset (the information contained in the book): it is therefore subject to all the constraints that apply to physical objects (inventory, deterioration, alienable location etc) <em>and</em> information-objects (transfer-by-copy, if only into the reader&#8217;s personal memory). A customer of a shop has both a relational-asset link with the employees of the shop <em>and</em> an aspirational-asset link to the shop itself (the abstract-entity or <em>idea</em> of &#8216;the shop&#8217;): the business will in effect leverage the relational-asset to strengthen the aspirational-asset.</p>
<p style="padding-left: 30px;">Note that all of these asset-primitives or composites could be represented on an Archimate &#8216;Business&#8217;-layer diagram as a <em>Business Object</em>. Unfortunately, the effective <a title="Post 'Is Archimate too IT-centric for enterprise-architecture?'" href="http://weblog.tomgraves.org/index.php/2011/07/23/is-archimate-too-it-centric-for-ea/" target="_blank">IT-centrism of Archimate</a> at present means that it can only portray an IT-specific sub-class of virtual-assets in the &#8216;Application&#8217; and &#8216;Technology&#8217; layers (as <em>Data Object</em> and <em>Artifact</em> respectively). This makes it impossible to describe a complete business-model in Archimate without resorting to unsupported &#8216;kludges&#8217; to create non-standard Archimate entities to represent those other asset-types in the detail-layers of the model. We <em>need</em> a better solution than this in Archimate or any future equivalent.</p>
<p>In evaluating business-models or enterprise-models, note carefully the points above about the viability (or rather, the <em>non</em>-viability) of business-models that go against the inherent asset-type natures of the assets in scope for the business-model.</p>
<p>Also beware that many existing business-models rely extensively or entirely on a notion of &#8216;anti-possession&#8217;, of use of but <em>non</em>-responsibility for specific types of resources: a perceived &#8216;right&#8217; to pollute, for example, or to extract personal benefit <em>by</em> socialising other business costs. (In Enterprise Canvas terms, this is an expropriation arising via a mismatch between the full set of between stakeholder-Investors versus a much smaller subset as Beneficiaries.) Increasing transparency, increasing awareness of environmental and other costs, and increasing availability of alternate information-sources beyond organisations&#8217; own control, all tend increasingly to expose any covert &#8216;cost-export&#8217; process; the resultant social and legal pressure from that exposure is likely to render non-viable any business-model that depends on such dysfunctional processes, and needs to be understood as a very high <a title="Wikipedia on kurtosis-risk" href="http://en.wikipedia.org/wiki/Kurtosis_risk" target="_blank">kurtosis-risk</a> to that business-model.</p>
<p>Okay, better stop there: more than enough already. Very technical, I know, but I hope it&#8217;s useful to someone?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/08/01/assets-and-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Questions on business-model to enterprise-architecture</title>
		<link>http://weblog.tetradian.com/2011/07/31/questions-on-bizmodel-to-entarch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=questions-on-bizmodel-to-entarch</link>
		<comments>http://weblog.tetradian.com/2011/07/31/questions-on-bizmodel-to-entarch/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 09:57:56 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Complexity / Structure]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[business model canvas]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[peter bakker]]></category>
		<category><![CDATA[stuart boardman]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=1966</guid>
		<description><![CDATA[Following up on one of the previous posts on Business Model Canvas and Archimate, British/Dutch enterprise-architect Stuart Boardman sent in a comment with a stream of questions that it seems would be worthwhile to reply to in detail here. You advocate starting (“for now”) with one Business Service. How are we to determine what this [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste"><span>Following up on one of the previous posts on </span><a title="Post 'Business Model Canvas to Archimate (the short version)'" href="http://weblog.tomgraves.org/index.php/2011/07/26/bmcanvas-to-archimate-short" target="_blank">Business Model Canvas and Archimate</a><span>, British/Dutch enterprise-architect <a title="Stuart Boardman (@ArtBourbon) on Twitter" href="http://twitter.com/ArtBourbon" target="_blank">Stuart Boardman</a> sent in a </span><a title="Stuart Boardman comment to post 'Business Model Canvas to Archimate (the short version)'" href="http://weblog.tomgraves.org/index.php/2011/07/26/bmcanvas-to-archimate-short/#comment-59843" target="_blank">comment</a> with a stream of questions that it seems would be worthwhile to reply to in detail here.</div>
<blockquote><p>You advocate starting (“for now”) with one Business Service. How are we to determine what this business service represents? If the typical enterprise had one single, tightly defined core business, it would be easy but as that’s not usual, I’m unclear how one would define this.</p></blockquote>
<p>In the adaptation from Business Model Canvas to Archimate, if we start with one <em>Business Service</em> entity, that entity would then represent either the business-model as a whole, or else one of the subsidiary models in a multi-part business-model. If the latter, we would come back later and build equivalent cross-maps for the other subsidiary models. We &#8216;define&#8217; the service only in the sense that we choose that as the place to start modelling: the content for that &#8216;service&#8217; is defined already from what we&#8217;ve developed on the Business Model Canvas.</p>
<p>The reason for starting just with one <em>Business Service</em> entity is that, when we first start doing this kind of cross-map, it&#8217;s often complicated enough already just with the one. As we gain more experience with the cross-map process, we can go straight to a model that looks more like a real-world structure right from the beginning, but that level of detail can often seem overwhelming at first &#8211; especially to others when they see the model for the first time. We&#8217;ll almost certainly need to decompose it into multiple <em>Business Service</em> entities later, but it&#8217;s best to keep it simple at the start! <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<blockquote><p>Why did you pick Activity as the genericization of Application? I see an activity as a much more fine grained thing. (IT) Applications typically perform many activities (and I’m only talking about externally visible activities here). That’s actually one of the reasons I am uncomfortable about the IT focus on applications rather than services. But that’s another discussion. This point might just be semantics, in which case don’t worry.</p></blockquote>
<p>To use the famous phrase, &#8220;it seemed like a good idea at the time&#8221;&#8230; to me there&#8217;s nothing special about that choice of &#8216;Activity&#8217; versus any other equivalent term. The main point was that I wanted a term that could describe the same something-being-done, as done by any combination of real-people, machine and/or IT &#8211; not just the strongly IT-oriented term &#8216;Application&#8217;.</p>
<blockquote><p>You say a Capability is “the ability to work on specific types of asset”. Can you give an example? I’m not following what you mean by “working on” an Asset.</p></blockquote>
<p>This relates to <a title="Post 'Rethinking Zachman - the 'Who' column'" href="http://weblog.tomgraves.org/index.php/2007/08/14/zachman-who-column/" target="_blank">part of the rework</a> I did some time back on making the Zachman columns fit more closely to what happens in the real-world, and specifically relates to what Zachman describes as the &#8216;Who&#8217; column. To me Zachman&#8217;s column-structure has never made sense, because it kind of randomly conflates different things into the same spaces, and the &#8216;Who&#8217; column is particularly problematic. Business-folks also tend to use terms such as &#8216;process&#8217;, &#8216;service&#8217;, &#8216;function&#8217;, &#8216;capability&#8217; and even &#8216;unit&#8217; as almost random sort-of-synonyms for each other but at different levels of abstraction or decomposition &#8211; a further muddying of the waters that <em>really</em> doesn&#8217;t help when trying to disentangle the resultant mess!</p>
<p>There are several fundamentally different things going on in that context:</p>
<ol>
<li>What is being changed or used or referenced or otherwise worked on or worked with;</li>
<li>The rules that govern what changes are to take place, and how those changes should take place;</li>
<li>The ability to work on (create changes to) whatever-it-is;</li>
<li>The ability to make appropriate decisions about how those changes are taking place (the skill-level or decision-level).</li>
</ol>
<p>Item 1 is what I term an <em>Asset</em> &#8211; more about that in a moment, when we look at Stuart&#8217;s next question.</p>
<p>Item 2 is what I term a <em>Function</em>, because it&#8217;s essentially as in a mathematical function &#8211; <em>a=resultofdosomethingwith(x,y)</em>. It define<em>s</em> the parameters that will be used (i.e. providing labels for Asset-types), but in essence everything else is encapsulated inside the function (i.e. black-box).</p>
<p>The specific combination of item 3 and 4 is what I term a <em>Capability</em>, because it&#8217;s the <em>ability to do something</em> at a specific level of skill and decision-making. (This is similar to the way that Stuart defines it below &#8211; &#8220;the ability to perform some activity/task/service&#8221; &#8211; but with a bit more specificity and taxonomic precision.) In the human context, capabilities are often clustered or bundled into Roles and/or Responsibilities &#8211; the latter of which are, literally, &#8216;response-abilities&#8217;. That&#8217;s the <em>human</em> side of skill and ability, which is why it fits as more consistent meaning at the detail-layer than Zachman&#8217;s &#8216;Who&#8217;.</p>
<p>We bring a Function and a Capability together to form a <em>Service</em>. On its own, a Function is always abstract: it needs a Capability to make it actually <em>do</em> something. And on its own, a Capability literally has no function: the Function provides a context in which the Capability can be put to work. A Service may present the same Function interface but with different underlying Capabilities &#8211; hence, for example, a Service that can handle any level of insurance-claim, with low-value claims processed entirely by IT-based Capability but higher-value claims requiring human intervention with a different Capability implementing a higher skill-level and decision-making authority.</p>
<p>A <em>Process</em> is just a sequence of changes provided by Services, that are regarded as related in some way (hence &#8216;choreographed&#8217; etc). It may be a predefined sequence (as in most IT-driven processes); or it may be almost entirely freeform, requiring high skill-levels; or anywhere between those two extremes, using any appropriate combination of human, machine and/or IT capabilities.</p>
<p>This is yet another example where IT-centrism has scrambled people&#8217;s understanding of what&#8217;s actually going on here. The problem arises because Function and Capability and, often, Process, are all blurred together within a software-application, whereas in a human or even a machine context the distinctions are much more necessary and explicit. We <em>need</em> to be able to distinguish between them for key architectural concerns such as trade-off analysis for implementations or load-balancing, and business-continuity/disaster-recovery.</p>
<blockquote><p>When you say an Asset is a Resource for which “the respective service is responsible”, how do we determine which service that is and what does responsible mean?</p></blockquote>
<p>A Resource is simply something that can be used in some way: anything that exists in some form or other is a potential Resource for some kind of business-model. A resource becomes an Asset within some type of ownership-model: in the crudest possible sense, it&#8217;s an Asset if we own it. Some things &#8211; air, for example, or time &#8211; can be resources but can&#8217;t be Assets because we can&#8217;t own them as such.</p>
<p>We then hit up against the complexities of contrasting different ownership-models, particularly possession-based (i.e. what we&#8217;d usually think of as &#8216;property-rights&#8217;) versus responsibility-based. I won&#8217;t go into those distinctions in detail, but in essence all of this actually revolves around roles and responsibilities. The whole point of the business-model is we say that we will deliver the Value Proposition via the Channels to the Customer Segments. If we expand that statement into more precise taxonomic detail, what it means is that we declare responsibility (&#8216;response-ability&#8217;) to deliver value to the shared-enterprise, by doing something (Key Activities) with Assets (i.e. resources for which we also have responsibility), and then, via some defined mechanism (i.e. Channels), passing the responsibility for those value-added Assets to the enterprise-stakeholders referred to as &#8216;Customer Segments&#8217;. That second definition probably seems horribly long-winded and pompous, but that&#8217;s the level of detail that we actually need when we&#8217;re going to design a real-world implementation.</p>
<blockquote><p>I’m uncomfortable with Capability as a Resource. A Capability seems like an abstract concept, the ability to perform some activity/task/service. A resource is something that gets used – whether consumable or not. I realize that, if I’m right, we may have a gap in the Business Model Canvas, which doesn’t seem to have a place for Capabilities.</p></blockquote>
<p>Perhaps the best way to explain this is that well-meant phrase &#8220;Our people are our greatest asset&#8221;. (In reality, it&#8217;s the <em>relationship</em> with the person that is the asset, but that&#8217;s <a title="Sidewise post 'The relationship is the asset'" href="http://sidewise.biz/2009/07/relationship-as-asset/" target="_blank">another story</a>.) The point here is that the skills and abilities of the person, the machine, the IT-application or whatever &#8211; the set of available &#8220;ability to perform some activity/task/service&#8221; &#8211; is definitely &#8220;something that gets used&#8221; in the organisation, and hence &#8216;resources&#8217; from the organisation&#8217;s perspective. So it&#8217;s not a gap in the Business Model Canvas &#8211; it&#8217;s what we would include under the Key Resources banner.</p>
<blockquote><p>In fact in general one of the things you’ve done (deliberately or otherwise) is to highlight a weakness in the Canvas, when it comes to dealing with extended enterprise. I mentioned this in another comment. Of course it’s possible but it requires one to think outside of the boxes (boundaries) in the Canvas. In particular the relationship with Partners seems to be unidirectional and rather more resource than service based. By doing the mapping this becomes clearer. So either we say that it’s OK just to work with the Canvas’s implicit support for extended enterprise or we need to address that (or rather ask Alex Osterwalder to do so). The first option means from my perspective that we then need to find a way to handle it explicit in the Archimate (or any similar) mapping. You were dealing with some of these issues in your post on non-profit enterprises and the Canvas.</p></blockquote>
<p>There&#8217;s a real danger of being unfair here, so I ought to reiterate that <em>Business Model Canvas works very well indeed for the task that it was designed to do</em>. That task is about getting people to think and innovate about how their business-model operates, in a kind of integrated, big-picture way, all with the simplicity needed for rapid brainstorming and pre-prototyping and the like in a free-form workshop or cafe context. To me it&#8217;s a business-architecture tool, with a very specific purpose: we really have no right to complain that it isn&#8217;t a good fit for whole-scope enterprise-architecture, or for detail-layer implementation, because it was never designed for those kinds of uses.</p>
<p>If we need to link it into methods and tools and the like for those other uses, it&#8217;s<em> our</em> responsibility to get those cross-mappings to work &#8211; not Alex&#8217;s. That&#8217;s what this bunch of posts has been about: going <a title="Post 'From business-model to enterprise-architecture'" href="http://weblog.tomgraves.org/index.php/2011/07/26/from-biz-model-to-ea/" target="_blank">downward</a> to Archimate and suchlike, and <a title="Post 'Upwards and sideways from business-model'" href="http://weblog.tomgraves.org/index.php/2011/07/29/upwards-sideways-from-bizmodel/" target="_blank">upward</a> to Business Motivation Model and beyond.</p>
<p>The same applies to using Business Model Canvas for business-models for government or non-profits. The fundamental structure of the Canvas is geared towards commercial organisations, and there&#8217;s nothing wrong with that. If we want to use the Canvas outside of a commercial context, it&#8217;s <em>our</em> responsibility &#8211; not Alex&#8217;s &#8211; to make the appropriate <a title="Post 'Using Business Model Canvas for non-profits'" href="http://weblog.tomgraves.org/index.php/2011/07/16/bmcanvas-for-nonprofits/" target="_blank">amendments</a>. (Alex did set up a website a couple of years back to explore &#8216;<a title="Website for 'Business Models Beyond Profit'" href="http://www.businessmodelsbeyondprofit.com/" target="_blank">business-models beyond profit</a>&#8216; &#8211; and although it doesn&#8217;t seem to have gone any further in the last eighteen months or so, I know he does have a deep personal interest in that space.) So again, we do need to be fair here.</p>
<p>The only &#8216;weakness&#8217; in the Business Model Canvas as such is its implicit asymmetry on the Key Partners side of the model: in my opinion those relationships need to be understood as exactly symmetrical with the Customer Segments side, not least because we can make or break a business on supply-side as easily as on customer-side. That asymmetry also makes it more difficult to visualise a full supply-chain, or the role of the business-model within an overall value-network. Much the same applies to its orientation towards resources rather than services, and (especially in the Canvas&#8217; implementation in the <a title="Business Model Toolbox iPad app for Business Model Canvas" href="http://www.businessmodelgeneration.com/toolbox" target="_blank">BMTBox</a> iPad app) the low priority given to modelling of flows and transactions.</p>
<p>But I do acknowledge both of those as trade-offs to preserve simplicity: that kind of structure does make it easier to focus on <em>this</em> organisation&#8217;s business-model, without getting too distracted by anyone else. For the Enterprise Canvas, I made different trade-offs: it&#8217;s explicitly symmetrical, and it&#8217;s explicitly designed around services, but it <em>is</em> also more complex &#8211; especially once we use it to go into recursive service-decomposition or inter/intra-service coordination or flows-modelling or role-mapping or values-dependencies and the like. It&#8217;s designed for those uses, and Business Model Canvas isn&#8217;t &#8211; but that <em>doesn&#8217;t</em> make Business Model Canvas &#8216;wrong&#8217; as such. Using Enterprise Canvas for multi-layered enterprise-modelling also requires a different mindset and skillset, than those needed for roughing out business-models on Business Model Canvas &#8211; the difference between whole-enterprise architecture and domain-specific business-architecture, in fact. Sure, we can use Enterprise Canvas to develop business-models, and it actually fits that need very well: but it&#8217;s not specifically designed for that purpose &#8211; whereas Business Model Canvas is. &#8216;Horses for courses&#8217;, really.</p>
<p>I hope that makes some degree of sense, anyway, and that it answers those questions well enough for now?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/07/31/questions-on-bizmodel-to-entarch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why business-model to enterprise-architecture?</title>
		<link>http://weblog.tetradian.com/2011/07/27/why-bizmodel-to-ea/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-bizmodel-to-ea</link>
		<comments>http://weblog.tetradian.com/2011/07/27/why-bizmodel-to-ea/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 06:31:15 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Complexity / Structure]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[Futures]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[business model]]></category>
		<category><![CDATA[business model canvas]]></category>
		<category><![CDATA[business-IT divide]]></category>
		<category><![CDATA[effectiveness]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[enterprise canvas]]></category>
		<category><![CDATA[metamodel]]></category>
		<category><![CDATA[narrative]]></category>
		<category><![CDATA[operations]]></category>
		<category><![CDATA[strategy]]></category>
		<category><![CDATA[tactics]]></category>
		<category><![CDATA[togaf]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=1932</guid>
		<description><![CDATA[Yes, I admit it: I&#8217;ve been kinda pouring out the posts lately. Sorry&#8230; But why all this fuss about business-models and enterprise-architecture? What&#8217;s the point about the bottom-line not being the baseline to work from? If everyone&#8217;s selling something to someone, is there really any difference between a for-profit and a non-profit business-model? And who [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, I admit it: I&#8217;ve been kinda pouring out the posts lately. Sorry&#8230;</p>
<p>But why all this <a title="Post 'What do we mean by business-architecture?'" href="http://weblog.tomgraves.org/index.php/2011/07/14/what-is-business-architecture/" target="_blank">fuss</a> <a title="Post 'Rethinking the layers in enterprise-architecture'" href="http://weblog.tomgraves.org/index.php/2011/07/25/rethinking-layers-in-ea/" target="_blank">about</a> <a title="Post 'What's my own business-model?'" href="http://weblog.tomgraves.org/index.php/2011/07/15/whats-my-own-business-model/" target="_blank">business</a>-<a title="Post 'More on business-models'" href="http://weblog.tomgraves.org/index.php/2011/07/21/more-on-business-models/" target="_blank">models</a> and <a title="Post 'Do enterprise-architects design the enterprise?'" href="http://weblog.tomgraves.org/index.php/2011/07/21/do-eas-design-enterprise/" target="_blank">enterprise-architecture</a>? What&#8217;s the point about the <a title="Post 'Why the bottom-line doesn't come first in enterprise-architecture'" href="http://weblog.tomgraves.org/index.php/2011/07/19/why-bottom-line-doesnt-come-first-in-ea/" target="_blank">bottom-line</a> not being the baseline to work from? If everyone&#8217;s <a title="Post 'Where marketing meets enterprise-architecture'" href="http://weblog.tomgraves.org/index.php/2011/07/08/market-meets-ea/" target="_blank">selling</a> something to <a title="Post 'Who is the customer?'" href="http://weblog.tomgraves.org/index.php/2011/07/14/who-is-the-customer/" target="_blank">someone</a>, is there really any difference between a <a title="Post 'Trust and the enterprise'" href="http://weblog.tomgraves.org/index.php/2011/07/23/trust-and-the-enterprise/" target="_blank">for-profit</a> and a <a title="Post 'Using Business Model Canvas for non-profits'" href="http://weblog.tomgraves.org/index.php/2011/07/16/bmcanvas-for-nonprofits/" target="_blank">non-profit</a> business-model? And who would <em>want</em> to go <a title="Post 'From business-model to enterprise-architecture'" href="http://weblog.tomgraves.org/index.php/2011/07/26/from-biz-model-to-ea/" target="_blank">from Business Model Canvas</a> to <a title="Post 'Is Archimate too IT-centric for enterprise-architecture?'" href="http://weblog.tomgraves.org/index.php/2011/07/23/is-archimate-too-it-centric-for-ea/" target="_blank">Archimate</a>, <a title="Post 'From Business Model Canvas to Archimate (the short version)'" href="http://weblog.tomgraves.org/index.php/2011/07/26/bmcanvas-to-archimate-short/" target="_blank">anyway</a>? Is <em>anyone</em> <a title="Post 'To understand shared-enterprise, look for the tattoos'" href="http://weblog.tomgraves.org/index.php/2011/07/20/ea-look-for-the-tattoos/" target="_blank">interested</a> in any of this <a title="Post 'Enterprise Debt and the Shirky Principle'" href="http://weblog.tomgraves.org/index.php/2011/07/18/enterprise-debt-and-shirky-principle/" target="_blank">technical</a> <a title="Post 'Enterprise-architecture - let's keep it simple'" href="http://weblog.tomgraves.org/index.php/2011/07/20/ea-lets-keep-it-simple/" target="_blank">stuff</a>?</p>
<p>I suppose it all comes down to this quote from Chris Potts:</p>
<blockquote><p>The devil is in the detail, but the angel is in the architecture.</p></blockquote>
<p>People <em>like</em> building business-models. It&#8217;s wonderfully abstract, and it&#8217;s fun &#8211; like playing with model-trains, where the passengers are only imaginary and the trains really <em>can</em> run on time. Unfortunately (or fortunately?) the real world is a bit different from that&#8230;</p>
<p>Real-world detail can break the best-looking business-model without even breaking out a sweat. We <em>need</em> to know that detail &#8211; or at least have a better sense of that detail &#8211; before committing ourselves and others to a lot of hard work and ultimate heartache.</p>
<p>Yet we also need to avoid drowning in the detail &#8211; otherwise we&#8217;ll never get started. Analysis-paralysis, and all that.</p>
<p>Which is where architecture comes into the picture. Formal discipline, yet without overt formality. Patterns help us break through the problems. We simplify, without being simplistic. And we model to reduce the muddle, to cut through the chaos and complexity of all that devilish detail.</p>
<p>Perhaps even more, <a title="Post 'The enterprise is the story'" href="http://weblog.tomgraves.org/index.php/2010/01/26/the-enterprise-is-the-story/" target="_blank">it&#8217;s about the story</a>: the story of each action, and the story of the enterprise itself. If we get clear on the story, the sensemaking becomes a lot simpler.</p>
<p>As I understand it, architecture comes down to a single idea: everything works better when they work together, in pursuit of purpose, a clear aim in mind. Everything connects with everything else. It&#8217;s the detail of <em>how</em> everything connects with everything else, of <em>how</em> we get everything to work with everything else, that I&#8217;ve been focussed on here.</p>
<p>A lot of detail, I know: but sometimes that <em>is</em> the nature of the beast. Fact is that architecture isn&#8217;t <em>all</em> nice pretty abstracts and nice pretty pictures &#8211; sometimes there <em>is</em> a lot of petty picky detail, and sometimes we just gotta face that fact&#8230; sorry&#8230; <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Hope it&#8217;s been useful to someone, anyway?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/07/27/why-bizmodel-to-ea/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Business Model Canvas to Archimate (the short version)</title>
		<link>http://weblog.tetradian.com/2011/07/26/bmcanvas-to-archimate-short/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bmcanvas-to-archimate-short</link>
		<comments>http://weblog.tetradian.com/2011/07/26/bmcanvas-to-archimate-short/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 20:50:23 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Complexity / Structure]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[business model canvas]]></category>
		<category><![CDATA[enterprise]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=1927</guid>
		<description><![CDATA[The previous post, &#8216;From business model to enterprise-architecture&#8216;, turned out to be another of my monster essays. Sorry&#8230; The detail&#8217;s there if you need it, but if you just want to do the translation from Business Model Canvas to Archimate, without worrying too much about the &#8216;Why&#8217; behind it, here&#8217;s the short version. Step 1: [...]]]></description>
			<content:encoded><![CDATA[<p>The previous post, &#8216;<a title="Post 'From business-model to enterprise-architecture'" href="http://weblog.tomgraves.org/index.php/2011/07/26/from-biz-model-to-ea/" target="_blank">From business model to enterprise-architecture</a>&#8216;, turned out to be another of my monster essays. Sorry&#8230; <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>The detail&#8217;s there if you need it, but if you just want to do the translation from Business Model Canvas to Archimate, without worrying too much about the &#8216;Why&#8217; behind it, here&#8217;s the short version.</p>
<h3>Step 1: Start with a business-model on Business Model Canvas</h3>
<p>That part&#8217;s straightforward enough for most folks here, I imagine?</p>
<h3>Step 2: Separate out the players on the business-model</h3>
<p>Start an Archimate diagram at the Business layer (the &#8216;Why&#8217; layer).</p>
<p>Represent each Key Partner from the Business Model Canvas by a <em>Business Actor</em> entity on the Archimate diagram.</p>
<p>Likewise, represent each Customer Segment by a <em>Business Actor</em> entity.</p>
<p>(We will also need <em>Business Role</em> and <em>Business Interface</em> link-entities for each of these business-actors, but we&#8217;ll come back to that in a moment.)</p>
<p>The remaining cells of the Business Model Canvas &#8211; this organisation &#8211; can for now be represented by a single <em>Business Service</em> entity.</p>
<h3>Step 3: Expand the detail for the interfaces of the business-model</h3>
<p>Represent each Value-Proposition offer by a <em>Product</em> entity, optionally with an associated <em>Value</em> entity to describe why this offer would be of value to a customer-segment. Link these Product entities to the organisation&#8217;s <em>Business Service</em>.</p>
<p>Represent each Customer Relations item and Channel with the following:</p>
<ul>
<li><em>Business Interface</em> entity, linked on one side to the organisation&#8217;s <em>Business Service</em>, and on the other side to a <em>Business Role</em> assigned to the respective customer-segment <em>Actor</em></li>
<li><em>Business Interaction</em> entity, also linked to the Business Service and to a customer-segment&#8217;s Business Role</li>
<li><em>Business Object</em> entity &#8211; indicating the content of the flow between the organisation and the customer-segment, optionally associated with a <em>Meaning</em> entity and/or <em>Contract</em> entity &#8211; linked to the respective <em>Business Interaction</em></li>
</ul>
<p>Represent each Revenue Stream in a similar way, as a &#8216;back-channel&#8217; through which value is returned to the organisation. Each back-channel will include its own <em>Business Interface</em>, <em>Business Interaction</em>, and <em>Business Object</em>, with the latter probably linked to the same <em>Contract</em> as for the respective <em>Business Object</em> in the main transaction channel.</p>
<p>Repeat the same process on the supplier-side, with matching Business Interface and Business Role entities for each Key Partner, and Business Interface, Business Interaction, Business Object and Contract entities for each external Cost Structure item. The respective channels and supplier-relations services are only implicit in Business Model Canvas, but you&#8217;ll need to add the respective <em>Business Interaction</em> and <em>Business Object</em> entities on that side, together with any needed <em>Contract</em> entities.</p>
<h3>Step 4: Expand the Key Activities</h3>
<p>Extend the Archimate diagram down to the Applications layer (the &#8216;How&#8217; layer). In particular, we&#8217;ll use this layer to model the Key Activities in the Business Model Canvas.</p>
<p>We have a problem at this point: Archimate&#8217;s &#8216;Applications&#8217; layer only knows about IT, and we need it to cover a much broader range of types of &#8216;How&#8217;. This is because an activity in a business-model could be done by <em>any</em> combination of people, IT and ordinary machines, and to understand the trade-offs between different ways of doing things &#8211; different types of &#8216;How&#8217; &#8211; we need to model them in much the same way in each case.</p>
<p>To do this, we need to change the Archimate entities for this layer from the IT-specific ones in the standard, to more generic ones that will work with any type of implementation. In most cases, all we need to do is change the prefix of the name from &#8216;Application&#8217; to the generic &#8216;Activity&#8217;. This gives us the following entities to model our Key Activities:</p>
<ul>
<li><em>Activity Object</em> (generic of <em>Data Object</em>): represents an object (or subject) to be created, accessed, changed, deleted or otherwise worked on in a business-activity &#8211; may be physical, virtual, relational or any combination of those as required</li>
<li><em>Activity Service</em> (generic of <em>Application Service</em>): the &#8216;exposed&#8217; part of an activity that connects with a <em>Business Function</em> in the Business layer</li>
<li><em>Activity Function</em> (generic of <em>Application Function</em>): a &#8216;chunk&#8217; of activity that is visible only within this layer</li>
<li><em>Activity Interaction</em> (generic of <em>Application Interaction</em>): a unit of behaviour where two or more components or modules come together to act on an <em>Activity Object</em></li>
<li><em>Activity Interface</em> (generic of <em>Application Interface</em>): a point where an activity can connect with its environment &#8211; particular to access or exchange <em>Activity Objects</em></li>
<li><em>Activity Module</em> (generic of <em>Application Component</em>): a defined unit of activity in a structural sense, such as specified in an ISO9000-style Work Instruction</li>
<li><em>Activity Collaboration</em> (generic of <em>Application Collaboration</em>): a temporary configuration of two or more modules to perform collaborations</li>
</ul>
<p>Link these entities as appropriate, using the respective standard Archimate relationship-links.</p>
<h3>Step 5: Expand the Key Resources</h3>
<p>Extend the Archimate diagram down to the Infrastructure layer (the &#8216;With-What&#8217; layer). In particular, we&#8217;ll use this layer to model the Key Resources in the Business Model Canvas.</p>
<p>One of the frames we use extensively in our own enterprise-architecture is an extended and adapted version of Zachman, which uses the categories Asset, Function, Location, Capability, Event and Decision. In general, the Key Resources section in Business Model Canvas relates to Assets, Locations (physical, virtual, relational, and various combinations), and Capabilities (the abilities or facilities used to the work or within which or through the work takes place).</p>
<p>Again, the Archimate standard only knows about Assets, Locations and Capabilities that relate to IT: we need to extend this to include any other types we may need in the business-model &#8211; including buildings, machines, and individual people&#8217;s skills.</p>
<p>An Asset can be defined simply as a resource for which the respective service is responsible and can put to use as required.</p>
<p>A Capability is the ability to work on specific types of Asset using a specific level of competence and skill.</p>
<p>A Location is a node within some type of location-schema. Locations may be of any asset-type or resource-type, or any combination of these.</p>
<p>A network is a schema that describes a set of Location nodes, specific relationships between those nodes, and, often, the types of Assets than can be transferred on pathways of connection between those nodes.</p>
<p>An infrastructure is thus a clustering of Assets, Capabilities and Locations, often in network-relationships.</p>
<p>Given these, we would represent the Key Resources via the following Archimate entities, adapted as appropriate:</p>
<ul>
<li>The <em>Artifact</em> entity may represent any type of real-world Asset.</li>
<li>The <em>Infrastructure Service</em> entity may represent the exposed available behaviour (Capability) of any cluster of related Assets, Capabilities and Locations, linked to any <em>Activity Function</em> in the Application layer.</li>
<li>The <em>Infrastructure Interface</em> entity can represent the exposed interface for an <em>Infrastructure Service</em>, as linked to any <em>Activity Interface</em> in the Application layer.</li>
<li>The <em>System Software</em> entity is merely one very specific example of a generic Capability entity, and can be used (preferably retitled) to represent any Capability.</li>
<li>The <em>Device</em> entity represents a type of Asset that can be used in and for specific activities, as &#8216;active structure&#8217;: a hammer, a power-drill, a fork-lift truck and an ordinary &#8216;dumb&#8217; telephone are a <em>Device</em> in this sense.</li>
<li>The <em>Network</em>, <em>Node</em> and <em>Communication Path</em> entities respectively represent a schema for connections between Location nodes, a node within that schema, and a connection-path through which specific types of Asset (<em>Artifact</em> entity) may be transferred between nodes.</li>
</ul>
<p>As in the Application layer, the types of relationships that Archimate permits between these more generic entities and their derived specialisations should remain essentially unchanged.</p>
<h3>Step 6: Apply enterprise-architecture disciplines as required</h3>
<p>Use standard enterprise-architecture techniques &#8211; such as the methods and tactics outlined in TOGAF Phases B-D &#8211; to review the resultant architecture portrayed in the Archimate model(s), and make any recommendations for changes to the business-model itself.</p>
<p>Use standard project/architecture techniques &#8211; such as the methods and governance outlined in TOGAF Phases E-G &#8211; to define and monitor change-projects to implement the agreed business-model.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/07/26/bmcanvas-to-archimate-short/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>From business-model to enterprise-architecture</title>
		<link>http://weblog.tetradian.com/2011/07/26/from-biz-model-to-ea/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=from-biz-model-to-ea</link>
		<comments>http://weblog.tetradian.com/2011/07/26/from-biz-model-to-ea/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 13:22:05 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Complexity / Structure]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[business-IT divide]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[enterprise canvas]]></category>
		<category><![CDATA[metamodel]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[togaf]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=1910</guid>
		<description><![CDATA[Okay, I think I&#8217;m finally getting somewhere, on looking for a way to connect a business-model to enterprise-architecture, to provide a full link between top-down intent and bottom-up real-world constraints. This specific part goes from the business-model downwards, from Business Model Canvas to Archimate, and thence to BPMN, UML and other detail-layer models. (There&#8217;s another [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, I think I&#8217;m finally getting somewhere, on looking for a way to connect a business-model to enterprise-architecture, to provide a full link between top-down intent and bottom-up real-world constraints.</p>
<p>This specific part goes from the business-model downwards, from Business Model Canvas to Archimate, and thence to BPMN, UML and other detail-layer models. (There&#8217;s another part needed to link <em>upward</em>, connecting that work back up through Business Motivation Model and the like to the core shared-enterprise, but I&#8217;ll have to deal with that in another post.)</p>
<p>As you&#8217;ll see, I&#8217;ve had to twist Archimate somewhat in a few places, to provide workarounds for its <a title="Post 'Is Archimate too IT-centric for enterprise-architecture?'" href="http://weblog.tomgraves.org/index.php/2011/07/23/is-archimate-too-it-centric-for-ea/" target="_blank">current IT-centrism</a>, but otherwise everything exactly follows the existing standards. The keys that enable and to some extent validate those adaptations are two assertions:</p>
<ul>
<li><em>everything is a service</em> (an assertion supported explicitly by the design of Archimate itself)</li>
<li><em>everything is recursive</em> (a principle that enables pattern-based modelling, such as the concept of &#8216;<a title="Post 'Rethinking the layers in enterprise-architecture'" href="http://weblog.tomgraves.org/index.php/2011/07/25/rethinking-layers-in-ea/" target="_blank">layers</a>&#8216; used in Archimate, TOGAF etc)</li>
</ul>
<p>The &#8216;how-to&#8217; that follows after the break is the current outcome of a lot of exploration over the past weeks, months and years, a lots of posts and conversations on this blog and elsewhere, and a lot of in-person discussion with a lot of people, many of whom have explicitly asked to remain anonymous. I do believe it&#8217;s in a usable state right now, but it should still be regarded as &#8216;in beta&#8217; at best: use with some caution, and please send me any feedback and suggestions.</p>
<p>In parallel with both Business Model Canvas and Archimate, this may be considered to be under a Creative Commons licence. It&#8217;s probably not yet stable enough to attach to a CC license-type in a formal manner, but for now please assume non-commercial, share-alike and attribution-requested for the parts described here.</p>
<p>More after the &#8216;Read more&#8230;&#8217; break, anyway.</p>
<h3><span id="more-1910"></span>Step 1: Develop a business-model</h3>
<p>The term &#8216;<a title="Post 'What's my own business-model?'" href="http://weblog.tomgraves.org/index.php/2011/07/15/whats-my-own-business-model/" target="_blank">business-model</a>&#8216; here means a semi-detailed overview of what the organisation does in its business with others, and the offers and value-types that are exchanged. A strong recommendation that the model should be developed in the <a title="Wikipedia on Business Model Canvas" href="http://en.wikipedia.org/wiki/Business_Model_Canvas" target="_blank">Business Model Canvas</a> format, using the associated methods described and/or summarised in the book <em><a title="Website for book 'Business Model Generation'" href="http://www.businessmodelgeneration.com/book" target="_blank">Business Model Generation</a></em>. (The book is currently available in at least 18 languages.)</p>
<p>Here&#8217;s an example Canvas from <a title="Post 'More on business-models'" href="http://weblog.tomgraves.org/index.php/2011/07/21/more-on-business-models/" target="_blank">an earlier post</a>:</p>
<p><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/07/Tetradian-bizmodel-jul11_sml.png"><img class="aligncenter size-medium wp-image-1871" title="Tetradian-bizmodel-jul11_sml" src="http://weblog.tomgraves.org/wp-content/uploads/2011/07/Tetradian-bizmodel-jul11_sml-300x206.png" alt="" width="300" height="206" /></a></p>
<p>Identify the flows that take place between the various entities in the model. This example (from the same earlier post) shows only the connections, but also identify and record what would traverse these flows in order to enact the intent of the model:</p>
<p><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/07/Tetradian-bizmodel-jul11-consult_sml.png"><img class="aligncenter size-medium wp-image-1873" title="Tetradian-bizmodel-jul11-consult_sml" src="http://weblog.tomgraves.org/wp-content/uploads/2011/07/Tetradian-bizmodel-jul11-consult_sml-300x206.png" alt="" width="300" height="206" /></a></p>
<p>All of this would typically be developed in a workshop context, or in a cafe-type setting with a notepad or a software toolset such as the <a title="BMTBox (Business Model Toolbox) app for iPad" href="http://www.businessmodelgeneration.com/toolbox" target="_blank">BMTBox</a> app.</p>
<h3>Step 2: Re-map the overall business-model as related services</h3>
<p>Split the Canvas into a core for the organisation that executes the business-model, and separate entities for each of the Customer Segments and Key Partners:</p>
<p style="text-align: center;"><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/07/bmc-to-ecanvas-basic.png"><img class="aligncenter size-full wp-image-1919" title="bmc-to-ecanvas-basic" src="http://weblog.tomgraves.org/wp-content/uploads/2011/07/bmc-to-ecanvas-basic.png" alt="" width="394" height="302" /></a></p>
<p>In Enterprise Canvas, each of these would be mapped as nodes (services) in a value-network, all in relation to each other and the the overall vision for the shared-enterprise:</p>
<p><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/07/tetradian-row2.png"><img class="aligncenter size-full wp-image-1921" title="tetradian-row2" src="http://weblog.tomgraves.org/wp-content/uploads/2011/07/tetradian-row2.png" alt="" width="500" height="236" /></a></p>
<p>The Business Model Canvas typically shows only the immediate links in the supply-chain or value-network, but in Enterprise Canvas we could also extend the node-relationships as required:</p>
<p style="text-align: center;"><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/07/supply-chain.png"><img class="aligncenter size-full wp-image-1920" title="supply-chain" src="http://weblog.tomgraves.org/wp-content/uploads/2011/07/supply-chain.png" alt="" width="499" height="176" /></a></p>
<p>In Archimate, at the highest level, the organisation and its combined business-model can be represented as a single <em>Business Service</em>; the [BMC] Customer Segments and Key Partners can be represented as <em>Business Actor</em> entities, each of whom takes on one or more <em>Business Role</em> positions, and connect to the service presented by the organisation via <em>Business Interface</em> relationships:</p>
<p><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/07/tetradian-r2-arch.png"><img class="aligncenter size-full wp-image-1922" title="tetradian-r2-arch" src="http://weblog.tomgraves.org/wp-content/uploads/2011/07/tetradian-r2-arch.png" alt="" width="545" height="209" /></a></p>
<h3>Step 3: Expand the detail of the overall business-model</h3>
<p>From previous work, we can cross-map the Business Model Canvas onto Enterprise Canvas:</p>
<p><a href="http://weblog.tomgraves.org/wp-content/uploads/2010/11/ec-bmc-crossmap.png"><img class="aligncenter size-full wp-image-1454" title="ec-bmc-crossmap" src="http://weblog.tomgraves.org/wp-content/uploads/2010/11/ec-bmc-crossmap.png" alt="" width="492" height="369" /></a></p>
<p>The Archimate specification indicates that a unit exposes functionality <em>externally</em> as a <em>Business Service</em>, but represents <em>internal</em> functionality as a <em>Business Function</em>. In essence, this is a simple recursion: structurally, they are the same &#8211; the difference is in in where and how the interface is exposed, for example whether or not the related <em>Business Interface</em> requires an explicit <em>Contract</em>.</p>
<p>The simplest summary is that the overall functionality and relationships represented via a single Enterprise Canvas entity would be depicted in Archimate as a <em>Business Service</em>; but the constituent &#8216;cells&#8217; within that Enterprise Canvas would be depicted as Archimate <em>Business Function</em> entities:</p>
<p><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/07/archimate-ecanvas.png"><img class="aligncenter size-full wp-image-1923" title="archimate-ecanvas" src="http://weblog.tomgraves.org/wp-content/uploads/2011/07/archimate-ecanvas.png" alt="" width="465" height="162" /></a></p>
<p>The Archimate <em>Business Process</em> entity literally does not come into the picture at this level. A business-process is best understood as a pattern of activities that make use of services in some form of choreographed sequence: it is somewhat misleading to describe it as a structure in the same sense as other Archimate entities such as <em>Business Service</em> or <em>Business Interaction</em>, because in essence it&#8217;s a structure in <em>time</em> only. The term &#8216;business process&#8217; tends to be misused as a kind of variant of &#8216;service&#8217; or &#8216;function&#8217; or &#8216;capability&#8217;, and all of these terms seem to be used in an arbitrarily interchangeable manner, leading to much confusion in modelling and even in business practice: instead, precise <a title="Summary-sheet for extended-Zachman taxonomy" href="http://tetradianbooks.com/2008/12/silos-frame-ref/" target="_blank">taxonomic distinctions</a> are essential here. In that taxonomy, a service is a combination of function and capability, but for these purposes we can allow &#8216;service&#8217; and &#8216;function&#8217; to in effect be synonymous, as summarised above.</p>
<p>Given this, we can re-map the Business Model Canvas  / Enterprise Canvas [EC:] cross-map into Archimate (<em>italics</em>) entities as follows:</p>
<ul>
<li>The Value Proposition (EC: value-proposition) is represented by one or more <em>Product</em> entities, with related <em>Value</em> entities.</li>
<li>We have already mapped the Key Partner and Customer Segment entities as <em>Business Actor</em> / <em>Business Role</em> / <em>Business Interface</em> entities.</li>
<li>All of the Enterprise Canvas cells are mapped to <em>Business Function</em> entities with appropriate names (default: same names as in Enterprise Canvas); these also represent in part the Key Activities cell of the Business Model Canvas.</li>
<li>All of the Enterprise Canvas interface cells (customer-relations, customer-channels, value-return; supplier-relations, supplier-channels, value-outlay) also include <em>Business Interaction</em> entities (which may optionally replace the respective <em>Business Function</em> entity), each linked to a <em>Business Interface</em> entity, representing the channels and other interfaces to the overall service.</li>
<li>Each of the six channels (<em>Business Interface</em> entities) links to one or more <em>Business Object</em> entities, which in turn link to the <em>Business Interface</em> of a Customer Segment or Key Partner; each <em>Business Object</em> may optionally be linked to a <em>Meaning</em> entity.</li>
<li>Each Business Object entity attached to a customer-channel <em>Business Interface</em> should also be linked to one or more <em>Product</em> entities; the same may optionally apply to <em>Business Object</em> entities attached to the supplier-channel <em>Business Interface</em>.</li>
<li>The <em>Business Object</em> entities associated with a supplier-channel and value-outlay, or customer-channel and value-return, should be linked by a <em>Contract</em> entity, representing the required relationship between the respective Enterprise Canvas main-channel and back-channel (e.g. Business Model Canvas linkage between Value Proposition, Customer Channel. Customer Segment and Revenue Stream).</li>
</ul>
<p>In essence, using the suggested sort-of layers described in the previous post &#8216;<a title="Post 'Rethinking the layers in enterprise-architecture'" href="http://weblog.tomgraves.org/index.php/2011/07/25/rethinking-layers-in-ea/" target="_blank">Rethinking the layers in enterprise-architecture</a>&#8216;, this represents the content for the &#8216;Why&#8217; layer, which Archimate describes as the &#8216;Business&#8217; layer. To a significant extent, the &#8216;Key Activities&#8217; cell of Business Model belong in the &#8216;How&#8217; layer (which Archimate at present describes only as the largely IT-centric &#8216;Applications&#8217; layer), whilst much if not most of the &#8216;Key Resources&#8217; cell belong in the &#8216;With-What&#8217; layer (which Archimate at present describes only as the exclusively IT-centric &#8216;Infrastructure&#8217; layer).</p>
<p>More on that in the next steps. In the meantime, we can summarise the mappings as follows &#8211; from the Business Model Canvas for one class of offer (Value Proposition, or <em>Product</em>):</p>
<p><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/07/Tetradian-bizmodel-jul11-books_sml.png"><img class="aligncenter size-medium wp-image-1872" title="Tetradian-bizmodel-jul11-books_sml" src="http://weblog.tomgraves.org/wp-content/uploads/2011/07/Tetradian-bizmodel-jul11-books_sml-300x206.png" alt="" width="300" height="206" /></a>Then to the equivalent Enterprise Canvas for that segment of the overall business-model; and thence to a high-level (&#8216;Business&#8217; layer) Archimate model. [Apologies - I started work on these diagrams, but realised they would probably take an entire day each, and need a blog-post each of their own as well: leave this until later, perhaps?]</p>
<p>Note that this is for one category of offer only, from six categories shown in this overall business-model. The complete business-model for all of the offers in context would be a much larger and more complex Archimate model, even at the &#8216;Business&#8217; layer only.</p>
<h3>Step 4: Expand the Key Activities to Archimate &#8216;Application&#8217; detail</h3>
<p>In Archimate, each <em>Business Function</em> or the like in the Business (&#8216;Why&#8217;) layer is supported by (realised via) one or more <em>Application Service</em> entities within the Application (&#8216;How&#8217;) layer. We also have the same symmetry on the &#8216;active structure&#8217; side, with an <em>Application Interface</em> entity underpinning or implementing each <em>Business Role</em>; and, on the &#8216;passive structure&#8217; side a <em>Data Object</em> representing a more real-world form of a <em>Business Object</em>.</p>
<p style="text-align: center;"><img class="aligncenter" title="Archimate: Business/Application alignment" src="http://www.opengroup.org/archimate/doc/ts_archimate/ts_archimate_files/image077.png" alt="" width="630" height="189" />(cc) Open Group</p>
<p>The first point that this tells us is that each of the Enterprise Canvas cells and interfaces and flows will be represented by one or more Application-layer entities in Archimate. That part is straightforward enough.</p>
<p>But here we hit a problem with Archimate, because it assumes that activities at this level will <em>only</em> be enacted by IT. In the current structural assumptions in Archimate, activities that are enacted by real people are pushed upward into the Business layer, whilst activities enacted by non-IT technology (i.e. physical machines) are apparently deemed not to exist at all, or else shoved down into the Infrastructure (&#8216;With-What&#8217;) layer.</p>
<p>In principle, every activity could be implemented by any conceivable combination of &#8216;manual&#8217;-process, physical-machine and/or IT. Each of these categories of implementation &#8211; human, IT and machine &#8211; need to be assessed here as if at the <em>same</em> level, so as to identify the trade-offs between different implementations. We also need to be able to view as if &#8216;the same&#8217; in development and in disaster-recovery, where &#8211; for example &#8211; we would switch back and forth between a paper-and-pencil versus an IT implementation of what is functionally the <em>same</em> business-process. But Archimate at present doesn&#8217;t allow us to do that trade-off assessment: instead, it assumes that everything can be implemented <em>only</em> by IT. In effect, each of the Archimate entities in this layer is an IT-specific specialisation of a generic entity that does not exist. <em>This is a fundamental flaw in the design of Archimate</em> &#8211; and one that we need to resolve before we can use Archimate for the kind of true <em>enterprise</em>-scope assessments needed in reviewing the architectural implications of business-models.</p>
<p>The simplest solution here is to go back and recreate the &#8216;missing&#8217; generic entities of which the existing Archimate entities in this layer are the IT-oriented specialisations. Given that this layer is about the activities that enact business-functions and business-services, these generic entities could be labelled with an &#8216;Activity&#8217; prefix:</p>
<ul>
<li><em>Activity Object</em> &#8211; generic of <em>Data Object</em></li>
<li><em>Activity Service</em> &#8211; generic of <em>Application Service</em></li>
<li><em>Activity Function</em> &#8211; generic of <em>Application Function</em></li>
<li><em>Activity Interaction</em> &#8211; generic of <em>Application Interaction</em></li>
<li><em>Activity Interface</em> &#8211; generic of <em>Application Interface</em></li>
<li><em>Activity Module</em> &#8211; generic of <em>Application Component</em></li>
<li><em>Activity Collaboration</em> &#8211; generic of <em>Application Collaboration</em></li>
</ul>
<p>An <em>Activity Object</em> could perhaps be more accurately described as an &#8216;Activity Subject&#8217;, since it&#8217;s the subject of all activities, the entity which will be created, accessed, updated and/or destroyed through the respective activity. Again, note that this is the <em>generic</em>: this entity would usually be specialised in the model, to describe a physical object being worked on, a business-relationship being developed, a data-item being accessed or amended, and so on.</p>
<p>An <em>Activity Module</em> is a somewhat arbitrarily-bounded &#8216;chunk&#8217; of functionality, described in structural terms (&#8216;active structure&#8217;) rather than the action itself. For IT, this would typically be described as a &#8216;component&#8217; or (somewhat misleadingly) as a &#8216;service&#8217;. For a manual process, a typical &#8216;chunk&#8217; would be as described in a Work-Instruction (in <a title="Wikipedia on ISO-9000 quality-systems standard" href="http://en.wikipedia.org/wiki/ISO_9000" target="_blank">ISO-9000</a> terms), or possibly a somewhat more abstract Procedure. For a machine-based process, a more typical &#8216;chunk&#8217; would be the defined work within a given process at a single machine or workstation or cluster of workstations.</p>
<p>The types of relationships that Archimate permits between these more-generic entities (and hence between their derived specialisations) should remain essentially unchanged.</p>
<p>It may also be useful to include links and references to <em>location</em> &#8211; physical, virtual and/or relational. There is no <em>Location</em> entity in the current Archimate standard, but it is expected that one will be included in the upcoming Version 2, so there should be no problems with compatibility there.</p>
<p>A strong recommendation here to use the distinctions between Function and Capability as described in the <a title="Reference-sheet for extended-Zachman framework for whole-enterprise architecture" href="http://tetradianbooks.com/2008/12/silos-frame-ref/" target="_blank">extended-Zachman model</a> used in conjunction with <a title="Reference-sheet for Enterprise Canvas model-type" href="http://tetradianbooks.com/2010/12/ecanvas-summary/" target="_blank">Enterprise Canvas</a>. A <em>function</em> is a metaphoric &#8216;place&#8217; where an Activity Object will be accessed or changed, and that summarises the changes that will take place; whereas a <em>capability</em> is the competence and skill-level brought to bear on Activity Objects in order to enact the required changes. In most IT applications, these two aspects are merged together into the one item of functionality, hence the distinctions between them may seem too subtle for some people to notice; but for machines and, especially, for human processes, the distinctions are much more explicit, and very important. The <em>function</em> aspect relates to activity, and hence belongs in this layer, whereas the <em>capability</em> is in effect a type of &#8216;resource&#8217;, and hence belongs more properly in the equivalent of the Archimate &#8216;Infrastructure&#8217; layer. More on that when we look at the Key Resources section of the business-model, anyway.</p>
<p>I won&#8217;t go into more detail here of how to develop the model itself. Instead, refer to any of the Archimate reference-materials &#8211; such as the formal <a title="Open Group: Archimate formal standard" href="http://www.opengroup.org/archimate/doc/ts_archimate/" target="_blank">Archimate standard</a>, the documentation from the <a title="Archimate Foundation: 'Start Using Archimate'" href="http://www.archimate.nl/en/start_using_archimate/" target="_blank">Archimate Foundation</a>, or the free <a title="Archi free toolset for Archimate" href="http://archi.cetis.ac.uk/" target="_blank">Archi</a> toolset for Archimate &#8211; and then adapt using the generics and re-specialisation of entities as summarised above.</p>
<p>Each of the activities summarised in the Key Activities cell in the Business Model Canvas should be represented somewhere in this layer of the adapted-Archimate, linked appropriately to the services in each of the cells in the matching Enterprise Canvas.</p>
<h3>Step 5: Expand the Key Resources to Archimate &#8216;Infrastructure&#8217; detail</h3>
<p>We now go down one more level in the architectural recursion.</p>
<p>In Archimate, each <em>Application Function</em> or the like in the Application (&#8216;How&#8217;) layer is supported by (realised via) one or more <em>Infrastructure Service</em> entities within the Infrastructure (With-What&#8217;) layer. We also have the same symmetry on the &#8216;active structure&#8217; side, with an <em>Infrastructure Interface</em> entity underpinning or implementing each <em>Application Component</em>; and, on the &#8216;passive structure&#8217; side an <em>Artifact</em> representing the full concrete form of a <em>Data Object</em>.</p>
<p style="text-align: center;"><img class="aligncenter" title="Archimate: Application/Infrastructure alignment" src="http://www.opengroup.org/archimate/doc/ts_archimate/ts_archimate_files/image078.png" alt="" width="458" height="167" />(cc) Open Group</p>
<p>The implication here is that each of the Key Resources in the Business Model Canvas should be represented in some way within this layer. But here again we hit up against the current limitations of Archimate, because it assumes that the only relevant resources are those that can be described in terms of IT: devices, networks, system-software and so on. In the current structural assumptions in Archimate, the competencies and skills of real people are somehow pushed upward into the Business layer, whilst any other non-IT technology or physical resources, capabilities and infrastructures are apparently deemed not to exist at all. To be blunt, this is IT-centrism running wild, and presents <em>serious</em> problems for modelling at this layer.</p>
<p>In principle, every activity could be implemented by any conceivable combination of &#8216;manual&#8217;-process, physical-machine and/or IT- which means that we need the respective resources and infrastructures to match and underpin each implementation. As in the &#8216;How&#8217; layer, each of these categories of implementation &#8211; human, IT and machine &#8211; need to be assessed here as if at the same level, so as to identify the requirements and trade-offs between different implementations, including those needed for special-cases such as development and disaster-recovery.</p>
<p>But again, Archimate at present doesn&#8217;t allow us to do that trade-off assessment: instead, it assumes that everything can be implemented only by IT. Some of the entities in this layer are sort-of generic &#8211; <em>Infrastructure Service</em>, <em>Infrastructure Interface</em>, <em>Network</em>, <em>Node</em>, <em>Artifact</em> &#8211; but they&#8217;re kind of incomplete relative to the full infrastructure/resource set, and it&#8217;s clear that, as in the Application layer, they&#8217;re intended more to represent IT-specific specialisations of generic entities that aren&#8217;t available in the Archimate specification. <em>This is another fundamental flaw in the design of Archimate</em> &#8211; and one that, once again, we need to resolve before we can use Archimate for its purported purpose as an <em>enterprise</em>-architecture notation.</p>
<p>Because the IT-centrism here is more implied than overt, resolving this is not quite as straightforward as in the Application layer. Probably our best option here is to re-assess the whole structure from the perspectives of the expanded-Zachman used in Enterprise Canvas: Asset, Function, Location, Capability, Event and Decision. These are mostly self-explanatory, though note that each of these itself expands to cover the full ontological scope:</p>
<p style="text-align: center;"><a href="http://weblog.tomgraves.org/wp-content/uploads/2011/01/single-row-extZachman.png"><img class="aligncenter size-full wp-image-1560" title="single-row-extZachman" src="http://weblog.tomgraves.org/wp-content/uploads/2011/01/single-row-extZachman.png" alt="" width="482" height="216" /></a></p>
<p>These categories apply everywhere, yet there are also distinct emphases in each of the Archimate-style layers: Decisions, Events and, to a lesser extent, Functions in the Business layer; Functions and, to a lesser extent, Events, in the Applications layer; and Assets, Locations and Capabilities in this layer.</p>
<p>An <em>Asset</em> can be defined simply as a resource for which the respective service is responsible and can put to use as required. (In this context, there&#8217;s no real difference between assets and liabilities, other than in terms of availability, because in essence they&#8217;re variations on a theme of resource and responsibility.)</p>
<p>A <em>Capability</em> is the ability to work on specific types of Asset using a specific level of competence and skill. Note that in general, physical-machines can only work at a rule-based skill-level, IT typically at an algorithmic level, but in most cases only humans can act at guideline or principle-based skill-level. Also that almost by definition, physical-machines and IT are unlikely to be much use for working on relational or aspirational assets &#8211; a point that is often forgotten in the design and operation of many IT-based <a title="Wikipedia on Customer Relationship Management (CRM)" href="http://en.wikipedia.org/wiki/Customer_relationship_management" target="_blank">CRM</a> systems&#8230;</p>
<p>A <em>Location</em> is a node within some type of location-schema. These may be of any asset-type or resource-type, or any combination of these: for example, a room in a building will have both a physical location and a virtual location-identifier; an IT network-node will typically have an IP-address or equivalent, but also at a physical location; an organisational hierarchy is also a relational network; and so on. And whilst time is often referred to as an &#8216;asset&#8217; or a &#8216;resource&#8217;, it can&#8217;t be changed or transformed in the same way as for other assets, and hence is best understood as a type of Location rather than a resource. (An <em>Event</em> may be considered to occur <em>in</em> time, but is not in itself <em>of</em> time: the distinction may seem subtle, but can be very important in practice.)</p>
<p>A <em>network</em> is a schema that describes a set of Location nodes, specific relationships between those nodes, and, often, the types of Assets than can be transferred on pathways of connection between those nodes.</p>
<p>What we could term an <em>infrastructure</em> is thus a clustering of Assets, Capabilities and Locations, often in network-relationships.</p>
<p>This schema enables us to identify how the existing Archimate entities in the Infrastructure layer are somewhat-arbitrary IT-specific specialisations of the underlying generics:</p>
<ul>
<li>The Archimate <em>Artifact</em> entity is specified as a virtual-Asset, but can be repurposed to represent any type of real-world Asset.</li>
<li>The Archimate <em>Infrastructure Service</em> entity can be repurposed to represent the exposed available behaviour (Capability) of any cluster of related Assets, Capabilities and Locations, linked to any <em>Activity Function</em> in the Application Layer.</li>
<li>The Archimate <em>Infrastructure Interface</em> entity can be repurposed to represent the exposed interface for an <em>Infrastructure Service</em>, as linked to any <em>Activity Interface</em> in the Application Layer.</li>
<li>The Archimate <em>System Software</em> entity is merely one very specific example of a generic <em>Capability</em> entity.</li>
<li>The Archimate <em>Device</em> entity represents a type of Asset that can be used in and for specific activities, as &#8216;active structure&#8217;: a hammer, a power-drill, a fork-lift truck and an ordinary &#8216;dumb&#8217; telephone are each likewise a <em>Device</em> in this sense.</li>
<li>The Archimate <em>Network</em>, <em>Node</em> and <em>Communication Path</em> entities respectively represent a schema for connections between Location nodes, a node within that schema, and a connection-path through which specific types of Asset may be transferred between nodes.</li>
</ul>
<p>As in the Application layer, the types of relationships that Archimate permits between these more generic entities and their derived specialisations should remain essentially unchanged.</p>
<p>Again, I won&#8217;t go into more detail here of how to develop the model at this layer: instead, refer to the Archimate reference-materials, and adapt that to the generics and re-specialisations of entities as summarised above.</p>
<p>Each of the items summarised in the Key Resources cell in the Business Model Canvas should be represented somewhere in this layer of the adapted-Archimate, linked appropriately to the services in the Application layer, and thence the services and interfaces and the like in each of the cells in the matching Enterprise Canvas.</p>
<h3>Step 6: Apply enterprise-architecture disciplines to review the business-model</h3>
<p>What we have, as the outcome of this modelling exercise, is a full &#8216;to-be&#8217; description of the implemented architecture for the business-model. Which means that we can now turn to all the usual enterprise-architecture tools and techniques &#8211; <a title="TOGAF Architecture Development Method on-line" href="http://pubs.opengroup.org/architecture/togaf9-doc/arch/" target="_blank">TOGAF ADM</a>, <a title="Wikipedia on VPEC-T (Values, Policies, Events, Content, Trust)" href="http://en.wikipedia.org/wiki/VPEC-T" target="_blank">VPEC-T</a>, requirements-modelling and the rest &#8211; to evaluate and rethink what works and what doesn&#8217;t, and what&#8217;s needed to make it all work together well.</p>
<p>The question at the initial Business Model Canvas stage was whether the ideas made sense at the business level. The questions here are more about whether it would work in real-world practice, such as:</p>
<ul>
<li>What structures, capabilities, skills, equipment does this business-model need?</li>
<li>What exactly passes between each party in each flow &#8211; what are the Business Objects that are transferred and/or changed or exchanged? At what points in each process do these transfers take place? What mechanisms and functions are needed to ensure complete balance across the whole &#8216;Before&#8217; / &#8216;During&#8217; / &#8216;After&#8217; cycle of the whole transaction?</li>
<li>What structures and so on do we have already for this? What equipment and configurations and the like would need to be repurposed? What impacts would that have on existing operations and existing business-models?</li>
<li>What kinds of changes do each of the requirements demand &#8211; incremental, step-change or breakthrough? Has adequate allowance been made in the risk-assessments for the feasibility or achievability of any required breakthroughs?</li>
<li>Has sufficient attention been paid to the human aspects of the required business-model, including skills-development, retraining, redeployment and cultural change?</li>
<li>What intermediate stages would be required, in the transition from &#8216;as-is&#8217; to &#8216;to-be&#8217;? Has sufficient attention been paid to the probabilities that &#8216;there&#8217; may not in reality be the same as we expected when we aimed to get there?</li>
<li>Over what timescales could these changes be implemented? What timescales must apply if the business-model is to be viable?</li>
</ul>
<p>And so on: the usual stuff, really. <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>(There are some planned extensions to Archimate to deal with versioning and projects and the like, but I&#8217;ll cover that in the next part, that deals more with looking &#8216;upward&#8217; in the enterprise from the business-oriented view in Business Model Canvas.)</p>
<p>The point here is that this kind of modelling process enables us to do an iterative assessment and reassessment of the idea of the business-model and its real-world feasibility, implications and its implementation, bouncing back-and-forth between top-down (the &#8216;Why&#8217; of the Business Model Canvas) and bottom-up (the &#8216;How&#8217; and &#8216;With-What&#8217; of Archimate&#8217;s Application and Infrastructure layers). This is also where enterprise-architects would be <em>directly</em> engaged in the development of business-strategy and its real-world implementation &#8211; the &#8216;seat at the table&#8217; at the CxO level of the organisation that so many EAs seem to desire! <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>&#8212;-</p>
<p>So: that&#8217;s a suggested pattern and process for direct &#8216;translation&#8217; between Business Model Canvas and a more whole-enterprise adaptation of Archimate, using Enterprise Canvas as an intermediate layer. There&#8217;s another &#8216;how-to&#8217; to come, going in the other direction, to link Business Model Canvas &#8216;upward&#8217; to the shared-enterprise, but that&#8217;s it for now.</p>
<p>Many thanks for sticking with it this far, anyway. And over to you, if you would?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/07/26/from-biz-model-to-ea/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Rethinking the layers in enterprise-architecture</title>
		<link>http://weblog.tetradian.com/2011/07/25/rethinking-layers-in-ea/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rethinking-layers-in-ea</link>
		<comments>http://weblog.tetradian.com/2011/07/25/rethinking-layers-in-ea/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 07:15:36 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[archimate]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[business model canvas]]></category>
		<category><![CDATA[business-IT divide]]></category>
		<category><![CDATA[CapGemini IAF]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[enterprise canvas]]></category>
		<category><![CDATA[IT-centrism]]></category>
		<category><![CDATA[metamodel]]></category>
		<category><![CDATA[taxonomy]]></category>
		<category><![CDATA[togaf]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=1904</guid>
		<description><![CDATA[Still plodding away on ideas for a systematic process to translate a business-model in Business Model Canvas down into real-world architecture and implementation. (This links up with quite a few previous posts, such as &#8216;More on business-models&#8216;, &#8216;Enterprise-architecture &#8211; let&#8217;s keep it simple&#8216; and &#8216;Is Archimate too IT-centric for enterprise-architecture?&#8216;) [Note: this is a work-in-progress [...]]]></description>
			<content:encoded><![CDATA[<p>Still plodding away on ideas for a systematic process to translate a business-model in <a title="Wikipedia on Business Model Canvas" href="http://en.wikipedia.org/wiki/Business_Model_Canvas" target="_blank">Business Model Canvas</a> down into real-world architecture and implementation. (This links up with quite a few previous posts, such as &#8216;<a title="Post 'More on business-models'" href="http://weblog.tomgraves.org/index.php/2011/07/21/more-on-business-models/" target="_blank">More on business-models</a>&#8216;, &#8216;<a title="Post 'Enterprise-architecture - let's keep it simple'" href="http://weblog.tomgraves.org/index.php/2011/07/20/ea-lets-keep-it-simple/" target="_blank">Enterprise-architecture &#8211; let&#8217;s keep it simple</a>&#8216; and &#8216;<a title="Post 'Is Archimate too IT-centric for enterprise-architecture?'" href="http://weblog.tomgraves.org/index.php/2011/07/23/is-archimate-too-it-centric-for-ea/" target="_blank">Is Archimate too IT-centric for enterprise-architecture?</a>&#8216;)</p>
<p>[Note: this is a work-in-progress post, not a finished piece - I really do need discussion on this one!]</p>
<p>What’s come up this time is the usual struggle with the so-called ‘architectural layers’ in common EA frameworks such as TOGAF and Archimate:</p>
<ul>
<li>Business</li>
<li>Applications (in Archimate) or Information Systems (in TOGAF)</li>
<li>Infrastructure</li>
</ul>
<p>The problem is that, for me, these are ridiculously incomplete, and lead directly to IT-centrism – where IT is deemed to be the sole centre and basis for everything. That IT-centrism what creates most of the much-lamented &#8216;business/IT-divide&#8217;.</p>
<p>The corollary is that, because IT is placed as the centre for everything, and applications only run on IT, <em>everything else</em> has to be lumped into ‘business-architecture’, because it’s the only place it can go. Hence in TOGAF, for example, high-level business-strategy is bundled together with mid-level process and detail-level manual work-instruction, without any kind of distinctions between them, solely because it’s ‘not-IT’. And technology and infrastructure that <em>isn’t</em> computer-based – lorries, fork-lift trucks, assembly-lines, plumbing and wiring and even the buildings within which everything operates – don’t even get a mention anywhere.</p>
<p>This brings serious problems even in IT-specific architectures: for example, how can we usefully describe the overall architecture of a data-centre without mentioning power-supply or cooling or access-pathways? What’s the point of arguing about instant-on virtualization for data-servers if it takes a minimum of six months to construct the building that houses them? How do we describe disaster-recovery processes for when the IT is out of action, when the only metamodels available to us can only describe IT? To anyone doing real enterprise-scope architecture in the real-world, the myopic inanity of IT-centrism gets really frustrating after a while…</p>
<p>Hence why I’ve been ranting and raging so much about the limitations of TOGAF and the like over the past few years. It’s not because I’m ‘anti-IT’ – as some people have dismissed me – but because I’m trying to get things to work in the <em>real</em> world. A messy, chaotic, uncertain world in which IT is often unreliable at best, irrelevant at worst, and which, for the most part, is <em>not</em> centred on IT. Sigh…</p>
<p>So, in short, the conventional concepts of so-called ‘business-architecture’ are an unusable mess, and the ‘application’ and ‘infrastructure’ so-called ‘layers’ are too narrow in scope to make practical sense for anything other than the most IT-centric of IT-architectures. Hence, also in short, not so much useless as probably worse-than-useless for most real-world purposes.</p>
<p>Which means that we need to start again. Properly.</p>
<p>But from where? Using what as the layers?</p>
<p>(Or do we even need layers at all? Is even the <em>idea</em> of ‘layers’ misleading?)</p>
<p>There’s the Zachman layers, of course: Contextual, Conceptual, Physical, Logical, Implementation, Operations. That does make practical sense as a description of the process of <em>change</em>, but perhaps not so much about the architecture itself – the interrelated, interconnected <em>structure</em> of that which is in use.</p>
<p>What about structural-decomposition – from abstract to detail? Well, yes, that’s useful, certainly, but it doesn’t really tell us much more than Zachman does, and doesn’t help us to differentiate between different <em>kinds</em> of ‘thing’ – the distinctions that come up, if somewhat erratically, in Zachman’s columns of What, How, Where, Who, When and Why.</p>
<p>The ‘Why’, though, <em>does</em> lead to another suggestion: Simon Sinek’s principle of ‘<a title="Website for Simon Sinek book 'Start With Why'" href="http://www.startwithwhy.com" target="_blank">start with Why</a>’, and its layering of <em>Why</em>, <em>How</em> and <em>What</em>.</p>
<p>Because if we start with Why, and tweak the ‘What’ slightly to ‘With What’, we end up with an almost exact match to the Archimate / TOGAF layering &#8211; but this time a layering that is <em>not</em> IT-centric. And which <em>also</em> lines up with key parts of the Business Model Canvas:</p>
<ul>
<li><strong>Why?</strong> – about the choices and <em>Value Propositions</em> that drive ‘the business of the business’</li>
<li><strong>How?</strong> – about IT-applications, ‘manual’-processes and any other <em>Key Activities</em> that enact those choices and needs</li>
<li><strong>With What?</strong> – about any machines, equipment, buildings and other infrastructures and <em>Key Resources</em> upon which or through which those activities take place</li>
</ul>
<p>At first glance this has some parallels to the long-established CapGemini &#8216;<a title="CapGemini Integrated Architecture Framework" href="http://www.hr.capgemini.com/services/soa/enterprise/integrated/" target="_blank">Integrated Architecture Framework</a>&#8216; [IAF]:</p>
<p><img class="aligncenter" title="CapGemini Integrated Architecture Framework [ (c) CapGemini 2000-2006]" src="http://www.hr.capgemini.com/m/hr/img/SOA_IAF.png" alt="" width="451" height="302" /></p>
<p>(I have a vague recollection that there&#8217;s at least one more EA framework that uses a similar Why / How / With-What structure, but right now I can&#8217;t remember whose it is&#8230; <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  &#8211; my apologies to that person, anyway.)</p>
<p>But if we look more closely at those layers in IAF, it&#8217;s clear that they&#8217;re just a re-labelling of Zachman layers, with the old TOGAF-style layers sideways-on, and deeper &#8216;cross-cutting themes&#8217; such as security and governance further behind. (And actually that&#8217;s quite a good way to put it &#8211; which we&#8217;ll come back to in a moment.)</p>
<p>The point here is that if we use that Sinek-style categorisation of Why, How and With-What, we can cover just about <em>anything</em> that&#8217;s needed in the architecture: it <em>doesn&#8217;t</em> assume that the end-point is only about IT. And it still lines up well to Archimate: hence business-information (linked to Why) is represented in Archimate as a Business Object, its usage in processes (linked to How) is a Data Object, and its physical form (as a With What) is a Representation. Archimate <em>doesn&#8217;t</em> as yet have any entity to represent generic &#8216;physical Thing&#8217; or &#8216;thing that flows through processes&#8217; &#8211; such as we&#8217;d need to represent a parcel in a logistics context, for example &#8211; but the Why / How / With-What structure makes it easy to understand that Representation, Data Object and Business Object are just IT-oriented specialisations (in the UML sense) of each of the respective generic entities. It works. <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>But should we use layers at all &#8211; especially scope-defining layers such as &#8216;business&#8217;, &#8216;application&#8217; and &#8216;infrastructure&#8217;? In a sense, the IAF suggests not &#8211; any fixed notion of &#8216;layers&#8217; is misleading. A better way to describe is to say that the &#8216;layers&#8217; are merely areas of emphasis of attention: we separate those areas in order to &#8216;black-box&#8217; the internals of an area of scope so as to focus our attention on the interfaces between those areas of attention. The IAF shows a very good way to visualise this, with sets of viewpoints that are in effect orthogonal to each other. The only problem there with the IAF is that, yet again, it constrains the overall scope to IT alone &#8211; which renders it too limited for whole-enterprise architecture. If we imagine that, rather than that catch-all column labelled &#8216;Business&#8217;, we could have as many columns as we need &#8211; and as many &#8216;backplanes&#8217; that we might need, equivalent to the existing &#8216;Security&#8217; and &#8216;Governance&#8217; but covering <em>all</em> values in context for the enterprise &#8211; then something like IAF would make good sense.</p>
<p>I would suggest, though, that that simple categorisation would be a good place to start:</p>
<ul>
<li><em>Why</em> &#8211; &#8216;business&#8217;</li>
<li><em>How</em> &#8211; &#8216;applications&#8217;</li>
<li><em>With What </em>- &#8216;infrastructure&#8217;</li>
</ul>
<p>Use each of these not-quite-layers as a viewpoint for focus into the overall enterprise context, and use an adapted version of Archimate or an equivalent to model both within those &#8216;areas of interest&#8217; and to explore the connections between them.</p>
<p>Okay, that&#8217;s it for now: over to you, if you would?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/07/25/rethinking-layers-in-ea/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>

