<?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; agile</title>
	<atom:link href="http://weblog.tetradian.com/tag/agile/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>Architecting the enterprise backbone</title>
		<link>http://weblog.tetradian.com/2011/06/17/architecting-the-enterprise-backbone/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=architecting-the-enterprise-backbone</link>
		<comments>http://weblog.tetradian.com/2011/06/17/architecting-the-enterprise-backbone/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 20:16:53 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[IT governance]]></category>
		<category><![CDATA[IT-architecture]]></category>
		<category><![CDATA[whole-of-enterprise]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=1777</guid>
		<description><![CDATA[Software-architect extraordinaire Simon Brown kindly pointed me to the InfoQ article &#8216;Agile and Architecture Conflict&#8216;, which summarised the views of various folks on the &#8216;agile vs architecture&#8217; debate, including myself, Simon and another of my regular co-creators (co-conspirators? ), Jan van Til, all of us looking at different aspects of the idea that agility needs [...]]]></description>
			<content:encoded><![CDATA[<p>Software-architect extraordinaire <a title="Simon Brown (@simonbrown) on Twitter" href="http://twitter.com/simonbrown" target="_blank">Simon Brown</a> kindly pointed me to the InfoQ article &#8216;<a title="InfoQ: Agile And Architecture Conflict" href="http://www.infoq.com/news/2011/06/agile-architecture-conflict" target="_blank">Agile and Architecture Conflict</a>&#8216;, which summarised the views of various folks on the &#8216;agile vs architecture&#8217; debate, including myself, Simon and another of my regular co-creators (co-conspirators? <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ), <a title="Jan van Til (@emovere) on Twitter" href="http://twitter.com/emovere" target="_blank">Jan van Til</a>, all of us looking at different aspects of the idea that <a title="Post: 'Agility needs a backbone'" href="http://weblog.tomgraves.org/index.php/2011/04/03/agility-needs-a-backbone/" target="_blank">agility needs a backbone</a> in order to serve the needs of the enterprise well.</p>
<p>The InfoQ article included a really important question: <em>&#8220;But how does it all tie up in the real world?&#8221;</em> In other words, what <em>is</em> this &#8216;backbone&#8217;? How does it work? And how do we define it, build it, maintain it, use and reuse it to support enterprise agility? So from my admittedly architecture-oriented side of the fence, here are some suggestions towards a practical answer.</p>
<p><strong>Step 1</strong>: <em>It&#8217;s all about the enterprise</em>. In effect, the backbone represents the core of <a title="Slidedeck 'What is an enterprise?' on Slideshare" href="http://www.slideshare.net/tetradian/what-is-an-enterprise" target="_blank">the organisation&#8217;s relationship with the enterprise</a>. Agility only makes sense if it directly supports the enterprise, and that relationship with the extended-enterprise. So to make any sense of this, we need to identify what that extended-enterprise <em>is</em> &#8211; in other words the deep-&#8217;Why&#8217; for the organisation and its relationship with others, as expressed in its business-model, system-interfaces and so on. There are quite a few ways to do this: I typically use a workshop based on the sequence <a title="Slidedeck 'Vision, Role, Mission, Goal' on Slideshare" href="http://www.slideshare.net/tetradian/vision-role-mission-goal-a-framework-for-business-motivation" target="_blank">Vision, Role, Mission, Goal</a> (there&#8217;s more detail on this in various of my books, such as <a title="Book 'Doing Enterprise Architecture: process and practice in the real enterprise'" href="http://tetradianbooks.com/2009/03/doing-ea/" target="_blank"><em>Doing EA</em></a> and <em><a title="Book 'Mapping the Enterprise: modelling the enterprise as services with the Enterprise Canvas'" href="http://tetradianbooks.com/2010/11/ecanvas/" target="_blank">Mapping the Enterprise</a></em>), but there are plenty of other options.</p>
<p>What we need to end up with at the end of this step is some kind of vision-descriptor (about the extended-enterprise, <em>not</em> solely the organisation!), and an overview of the various players and key assets, activities and resources in use throughout that extended-enterprise. That becomes our starting-point for the next step.</p>
<p><strong>Step 2</strong>: <em>What part do we play in the enterprise?</em> For what assets, activities and resources do others come to us and our organisations, or which we need from others? In the IT part of the organisation, this should tell us the types of information of which we need to keep track. We need to take a note at this point to try to distinguish between information whose structure remains stable and is used by many different areas of the organisation and its partners &#8211; because those items are likely candidates for the &#8216;backbone&#8217;.</p>
<p><strong>Step 3</strong>: <em>What enterprise items are unique to this organisation, and/or to its immediate partners or competitors?</em> For example, the national mail-provider (Australia Post, Royal Mail, USPS etc) will usually have the responsibility &#8216;on behalf of the nation&#8217; to maintain an up-to-date list of addresses, locations, post-codes and even probable addressees; Google maintains huge physical data-storage capacity and unique search-algorithms; Amazon builds and maintains a vast index and repository of opinions about products. Any such &#8216;unique items&#8217; are almost certain candidates for the &#8216;backbone&#8217;. Note that these items can be much more than data alone: for example, the armed forces in principle represent unique capabilities for the nation, not just weaponry, but communications, logistics, field-hospitals and much more besides. We may also be able to identify some of these items by reviewing business-processes and other activities: for example, a national mail-provider will also maintain street post-boxes, which represent a &#8216;unique enterprise asset&#8217;.</p>
<p>In some ways what we&#8217;re looking for here are similar to &#8216;<a title="Wikipedia on Core competency" href="http://en.wikipedia.org/wiki/Core_competency" target="_blank">core competencies</a>&#8216; and the like &#8211; yet it&#8217;s also sufficiently different that we need to take care not to get too sidetracked down that route. For example, equivalents for some data-items, such as industry-wide product- or service-identifiers, may also be held by competitors, by suppliers, or even by customers. The point here is that they&#8217;re unique within the shared-enterprise &#8211; which again makes them key candidates for inclusion in the &#8216;backbone&#8217;.</p>
<p><strong>Step 4</strong>: <em>What enterprise items are essential to our work for and contribution to this enterprise, and will need to be shared across our organisation?</em> For example, if we are a commercial organisation, we&#8217;re very likely to have customer-records and service- or inventory records; almost every organisation will have HR records, organisational-structure records, account-codes, and so on. The point is that these are items that will need to be shared by everyone, in a consistent way &#8211; because if it&#8217;s <em>not</em> described and handled consistently, it&#8217;s almost certain to cause problems. If they&#8217;re essential to the business of the organisation, and shared across the organisation, they need to be in the &#8216;backbone&#8217;.</p>
<p><strong>Step 5</strong>: <em>Using all of the items identified in the previous steps, define the &#8216;backbone&#8217;.</em> We would typically do this through the tools and techniques of the various domain-architectures: data-architecture, applications-architecture, process-architecture, organisational-architecture, brand-architecture and so on. (Notice, by the way, that not everything needs to be in the backbone! We don&#8217;t try to record everything in &#8216;excruciating detail&#8217;, in classic Zachman style &#8211; instead, this applies only to the items that really <em>are</em> core to the organisation and enterprise as a whole.) We may well need to do a &#8216;clean-up&#8217; at this point to improve consistency and reduce duplication, such as described in TOGAF and the like. Once any item is included in the backbone, it should be placed under strict governance and change-control, with an explicit item-owner. Each backbone item should also be included in an explicit glossary and thesaurus, which itself should be subject to strict governance and change-control. The scope of governance depends on the context: in some cases it may be constrained to a single business-function or business-discipline, but in others the scope may need to be organisation-wide, or even broader.</p>
<p><strong>Step 6</strong>: <em>Define the interfaces to the &#8216;backbone&#8217;</em>. This is where service-oriented architectures come into their own &#8211; IT-SOA, service-based process interfaces, and so on &#8211; with explicit service-catalogues and the like. Anyone who uses the information or other items (process-functions, assets etc) will need clear rules and, in many cases, development-support, on how to use the item, and the conditions under which it may be changed. There&#8217;s nothing particularly new in this: it&#8217;s fairly straightforward service-architectures, except that it should not necessarily be constrained only to information or IT.</p>
<p><strong>Step 7</strong>: <em>Define the spectrum of governance from waterfall-control to free-form agile, and the conditions that apply to change-projects and experiments at each point along that spectrum.</em> In other words, define a flexible form of governance across the change-space, in which, for example, &#8216;Shadow IT&#8217; would be explicitly encouraged as long as it&#8217;s outside of clearly-defined bounds. Provide support to enable agile projects to identify non-negotiable constraints such as regulation or mandatory standards.</p>
<p><strong>Step 8</strong>: <em>Define governance needed to migrate new items into the backbone</em>. This is an important part, because the core will slowly change &#8211; some things will be dropped, but new processes and information-stores and the like that have proven both useful and reusable out in the agile space will be valuable in the core. As they move more towards the backbone &#8211; i.e. become shared by more people, and those crosslinks become more business-critical &#8211; they would also move &#8216;upward&#8217; in terms of strictness of governance, from free-form agile towards waterfall-control.</p>
<p>The end-point of all of this is that we end up with a layered structure: a core that has a set of defined content with defined interfaces that can be be accessed anywhere required, and all tightly controlled; then a mid-layer in which interfaces tend to be shared across a more limited range; and finally agile hacks and mashups that may well be used only for one business-unit or even for one short- to medium-term purpose, but which still accesses the backbone for anything that <em>is</em> and needs to be common across the whole organisation. Some people might see this as somewhat hierarchical, but in fact it isn&#8217;t: mashups can connect to other mashups as required, perhaps bypassing the backbone completely. The point is that the backbone interfaces are guaranteed not to break (or, if they do need to change, then anyone who might be affected by the change would know about it in advance); the mid-range interfaces are not guaranteed; whilst the agile-layer interfaces &#8211; if they exist at all &#8211; can be all but guaranteed that they <em>will</em> break at some point. <em>And it doesn&#8217;t matter that they might break</em> &#8211; that&#8217;s the whole point. In other words, whilst the backbone must usually be as &#8216;fail-safe&#8217; as we can make it, and the mid-layer must &#8216;fail gracefully&#8217;, the agile layer is intentionally designed to be &#8216;safe-fail&#8217; &#8211; we often <em>want</em> it to fail, so as to learn from the &#8216;failure&#8217;, and adapt and retry accordingly.</p>
<p>This also resolves some of the classic fights between &#8216;the IT department&#8217; &#8211; the conventional big-IT systems &#8211; and the &#8216;shadow-IT&#8217; of little Excel quick-and-dirty kludges and local databases and HTML5/JSON/NoSQL hacks. In this scheme, each has their explicit place, with their own governance, their own role: each <em>needs</em> the other, and hence needs to respect the other, too. And it also clarifies the role and place of upcoming technologies: cloud, for example, has a really strong place in the agile context &#8211; but is often likely to be a <em>very</em> bad idea for the backbone.</p>
<p>So that&#8217;s my understanding of all of this: a way to unify architecture and agile, linking process-management, asset-management, information-management and everything else via a systematic enterprise-scope architecture, to support agility wherever it&#8217;s needed, and in whatever form is needed.</p>
<p>Something to play with, anyway: comments/feedback/suggestions, anyone?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/06/17/architecting-the-enterprise-backbone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agility needs a backbone</title>
		<link>http://weblog.tetradian.com/2011/04/03/agility-needs-a-backbone/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agility-needs-a-backbone</link>
		<comments>http://weblog.tetradian.com/2011/04/03/agility-needs-a-backbone/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 14:48:50 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agility]]></category>
		<category><![CDATA[business architecture]]></category>
		<category><![CDATA[business-IT divide]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[effectiveness]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[metamodel]]></category>
		<category><![CDATA[strategy]]></category>
		<category><![CDATA[taxonomy]]></category>
		<category><![CDATA[values]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/?p=1658</guid>
		<description><![CDATA[Something that&#8217;s been concerning me quite a bit over the past year or so in enterprise-architecture has been the over-obsession with agility: agility for its own sake, perhaps, without much thought behind it, much thought about why or how we need to be so agile. No matter what it is, it seems &#8211; whether in [...]]]></description>
			<content:encoded><![CDATA[<p>Something that&#8217;s been concerning me quite a bit over the past year or so in enterprise-architecture has been the over-obsession with agility: agility for its own sake, perhaps, without much thought behind it, much thought about <em>why</em> or <em>how</em> we need to be so agile.</p>
<p>No matter what it is, it seems &#8211; whether in IT-architectures, business-models, the organisation as a whole &#8211; agility of any kind is promoted as &#8216;the answer&#8217;. With the increasing hype around cloud-based computing, there&#8217;s been plenty of talk amongst the less-realistic IT-centric &#8216;enterprise&#8217;-architects that EA itself is redundant. And perhaps that large organisations don&#8217;t even need an IT department any more.</p>
<p>Which, to be blunt, is just plain stupid.</p>
<p>It&#8217;s not an &#8216;either/or&#8217;. It&#8217;s a &#8216;both/and&#8217;. Sure, over-rigid structures can be a real problem. But agility often needs a backbone to give it some direction &#8211; something to push against so it that can do more than merely flop about at random. As usual, it&#8217;s a question of balance &#8211; getting the right balance between the solid bone and the agile muscle.</p>
<p>Which is where enterprise-architecture comes into the picture, to help create a proper sense of the whole <em>as</em> whole.</p>
<p>To extend that simple metaphor, yes, it&#8217;s true that there are a few creatures, or parts of creatures, that consist only of agile muscle, pushing against itself:  the octopus, the cuttlefish, the elephant&#8217;s trunk. But most muscle needs <em>something</em> to provide an anchor around which or against which to push and pull. And if we want both agility <em>and</em> speed &#8211; as so many companies do &#8211; then we&#8217;re even more likely to need a backbone: think of the cat, the cheetah, the snake. If you want high efficiency, you&#8217;re going to need the right kind of balance between rigid and flexible: think of the kangaroo, that uses <em>less</em> energy the faster it goes. If you want agility in the air &#8211; a swallow, a falcon &#8211; you&#8217;re going to need another kind of balance, another subtle trade-off between rigidity, flexibility, lightness and strength. Many other examples there, of course.</p>
<p>And for large organisations, the much-hated &#8216;IT Department&#8217; provides a key part of that backbone. You may not <em>like</em> it; you may not like its seemingly slow, lumbering rigidity, its need to get everything right, everything certain. But without it, that organisation is going nowhere. Even if everything in IT could somehow shift to the cloud and to all employee-provided technology &#8211; which would involve some massive shifts in itself, for HR and pay and expenses and tax-issues and the rest &#8211; there&#8217;ll still need to be someone who sets up and maintains the wi-fi networks, the security-policies, the software licenses and all the other myriad of &#8216;keeping the lights on&#8217; issues that are so often forgotten by the cloud crew. (Yes, folks, even with everything-cloud there&#8217;ll still be some software-licenses to worry about: not <em>everything</em> can go onto the cloud, &#8216;cos you still have to <em>connect</em> to the cloud somehow&#8230;)</p>
<p>A <a title="Slidedeck 'What is an enterprise?' on Slideshare" href="http://www.slideshare.net/tetradian/what-is-an-enterprise" target="_blank">real enterprise-architecture</a> would show us that the backbone consists of a variety of different things that can link together in different ways to create different kinds of flexibility:</p>
<ul>
<li>the vision and values of the extended-enterprise, to which the organisation aligns itself &#8211; its core &#8216;Why&#8217;</li>
<li>the core &#8216;things&#8217;, information,  services, events and places that are most relevant to that enterprise &#8211; its core &#8216;What&#8217;, &#8216;How&#8217;, &#8216;When&#8217; and &#8216;Where&#8217;</li>
<li>the structures of relationships implemented through the organisation and its partnerships with others &#8211; its core &#8216;Who&#8217;</li>
</ul>
<p>That backbone gives us something around which we can build agility. We can try all kinds of different business-models &#8211; as long as they align to that core &#8216;Why&#8217;. We can work on many different kinds of &#8216;things&#8217;, physical, virtual or otherwise &#8211; as long they link back to the core &#8216;things&#8217; of the extended-enterprise. We can work with all kinds of information &#8211; but we <em>must</em> be able to link it back to the core-information that defines the scope of the enterprise.</p>
<p>Which, once we think about that for more than a few minutes, makes it plain that no business larger than the smallest start-up should ever even <em>consider</em> storing all of its business-critical data on someone else&#8217;s cloud. Not without some really solid questions on escrow, reverse-backup, long-term migration, jurisdictions, business-continuity, disaster-recovery and the rest, at any rate.</p>
<p>And no-one - not even the smallest start-up &#8211; should ever consider outsourcing any part of its core-strategy to anyone else. <em>Ever</em>. Whether to the cloud, to some mob of external consultants, to some government department, or to anything else. Outsourcing your strategy is a really quick way to commit commercial suicide&#8230;</p>
<p>Agility takes place out at the edge: things happen fast there. But in so many, many cases they can <em>only</em> happen fast out there because the core takes care to move slowly, cautiously, providing the solid, certain backbone for the agile edge to push against. And as in living bodies, getting the right balance between them can be a literal make-or-break. A point that it&#8217;s probably wise not to forget?</p>
<p><em>Update, twenty minutes later:</em></p>
<p>Typical. I&#8217;ve been working on the ideas behind this post for months, and been brewing how to describe it for at least a week. And literally five minutes after I post it, along comes a really nice summary of some other key issues around agility versus &#8216;the backbone&#8217;: Mark Ferraro&#8217;s <a title="Mark Ferraro: 10 Dynamics of Effective Agile Organizations'" href="http://grandview.rymatech.com/mark-ferraro/197-10-dynamics-of-effective-agile-organizations.html" target="_blank">&#8217;10 Dynamics of Effective Agile Organizations</a>&#8216;. Well, at least the link is here now, anyway: hope it&#8217;s useful?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2011/04/03/agility-needs-a-backbone/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>TOGAF and SOA</title>
		<link>http://weblog.tetradian.com/2008/07/02/togaf-and-soa/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=togaf-and-soa</link>
		<comments>http://weblog.tetradian.com/2008/07/02/togaf-and-soa/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 12:05:41 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[togaf]]></category>
		<category><![CDATA[Zachman]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2008/07/02/togaf-and-soa/</guid>
		<description><![CDATA[This one&#8217;s another follow-up to another new comment to a rather old post &#8211; namely Manish Joshi&#8217;s comment today to the post on &#8216;Zachman and TOGAF revisited&#8216; from back in August last year: My focus is on extending TOGAF to include SOA. My approach was to add SOA as a cross-cutting architecture (cutting across BA,ISA,TA [...]]]></description>
			<content:encoded><![CDATA[<p>This one&#8217;s another follow-up to another new comment to a rather old post &#8211; namely <a href="http://weblog.tomgraves.org/index.php/2007/08/08/zachman-and-togaf-revisited/#comment-17519" title="Manish Joshi comment">Manish Joshi&#8217;s comment</a> today to the post on &#8216;<a href="http://weblog.tomgraves.org/index.php/2007/08/08/zachman-and-togaf-revisited/" title="Post on 'Zachman and TOGAF'">Zachman and TOGAF revisited</a>&#8216; from back in August last year:</p>
<blockquote><p>My focus is on extending TOGAF to include SOA.</p>
<p>My approach was to add SOA as a cross-cutting architecture (cutting across BA,ISA,TA &amp; also the governance of TOGAF (since SOA also needs SOA governance).</p>
<p><a href="http://weblog.tomgraves.org/index.php/2007/08/08/zachman-and-togaf-revisited/#comment-9146" title="Roland Ettema comment">Roland [Ettema]</a> has also suggested a nice approach above of having SOA in place of IA and making IA a horizontal.</p>
<p>How do you guys compare these 2 approaches and is there any other way around for customizing TOGAF for SOA ?</p></blockquote>
<p>As many people have discovered the hard way, trying to use the standard TOGAF methodology for SOA seems to work well at first, but will suddenly hit intractable problems that just don&#8217;t make sense if we come from an IT-centric perspective. (In fact if we come from that perspective alone it&#8217;s almost impossible to see <em>why</em> they don&#8217;t make sense &#8211; which is why SOA so often seems so damn&#8217; hard&#8230;) The actual reason is three-fold:</p>
<ol>
<li>an iterative approach &#8211; e.g. an Agile methodology &#8211; suits SOA developments best, but TOGAF&#8217;s methodology (despite its claims to be iterative) is still essentially a &#8216;big bang&#8217; approach to architecture development</li>
<li>the TOGAF methodology purports to describe the whole of &#8216;enterprise architecture&#8217;, but in fact describes a very narrow IT-centric subset &#8211; too narrow even for an IT-centric SOA, let alone a full &#8216;service-oriented enterprise&#8217;</li>
<li>the TOGAF framework still draws heavily on Zachman, which itself draws on technologies that are at least twenty years old &#8211; long before the days of interactive user-interfaces and layered servers, let alone current SOA web-services and service-buses</li>
</ol>
<p>To resolve items #1 and #2, we need to rework the first half the TOGAF methodology &#8211; Phases A to D &#8211; with a few lesser amendments in the Preliminary Phase and Phases E to H:</p>
<ul>
<li>for item #1 &#8211; agile &#8211; we split the existing Phase A in half, moving the &#8216;architecture vision&#8217;, documentation, framework skeleton and<em> overall</em> authorisation into the Preliminary Phase, with Phase A amended to focus only on the needs of the specific iteration</li>
</ul>
<ul>
<li>for item #2 &#8211; methodology &#8211; we expand the scope of TOGAF&#8217;s layering of &#8216;business architecture&#8217;, &#8216;information systems architecture&#8217; and &#8216;technical architecture&#8217;:
<ul>
<li>&#8216;business architecture&#8217; describes the overlighting <em>business</em> concerns &#8211; i.e. Zachman&#8217;s &#8216;contextual&#8217; and &#8216;conceptual&#8217; layers, with some touch into the &#8216;logical&#8217; layer, and <em>not</em> the generalised &#8216;everything not-IT&#8217; grab-bag as described in the present TOGAF 8.1 spec</li>
<li>&#8216;information-systems architecture&#8217; becomes the common interface layer &#8211; i.e. Zachman&#8217;s &#8216;logical&#8217; and &#8216;physical&#8217; layers, but <em>across every aspect of the enterprise, not just the IT</em> [Roland Ettema's placing of SOA here is just one possible subset of this]</li>
<li>&#8216;technology architecture&#8217; becomes the detail-layers <em>across the whole enterprise, not just the IT</em> &#8211; e.g. skills, logistics, vehicles, and much else besides, right down to the real-time operations layers</li>
</ul>
</li>
</ul>
<p>We could use these amended layers as the content and focus for Phases B to D respectively. The catch is that, once we&#8217;re tackling a true whole of enterprise scope, we end up with a requirement for an almost endless stream of stakeholder reviews within each phase. So for purely practical reasons I&#8217;d recommend using an alternate split for Phases B to D, as &#8216;As-Is&#8217;, &#8216;To-Be&#8217; and &#8216;Gap Analysis&#8217; respectively: with this split, the stakeholder reviews become the phase boundaries.</p>
<p>To resolve item #3, we need to rework Zachman itself &#8211; a <em>major</em> rework, since a bit of careful analysis shows not only that he&#8217;s missing a layer at the top, but an entire <em>dimension</em> of depth (which I&#8217;ve described as &#8216;segments&#8217;), and also the original content and descriptions for several of his columns are, frankly, a scrambled mess. (His latest revision in effect quadruples the complexity of his framework without addressing any of the core underlying problems &#8211; and he&#8217;s still stuck in the metaphor of &#8216;<em>engineering</em> the enterprise&#8217;, which does not and cannot work with the complexity and dynamics of real-world systems. But that&#8217;s another story for another time&#8230;)</p>
<p>But in that rework, what we <em>don&#8217;t</em> do is add more columns. The basic principle of What, How, Where, Who, When, Why is sound &#8211; the catch is that they don&#8217;t necessarily correlate directly with <em>anything</em> in the real world. Instead, we focus on Zachman&#8217;s valid principle that &#8216;architecture is primitives; solutions come from composites&#8217;. An interface, for example is a <em>composite</em> &#8211; it doesn&#8217;t sit in a single Zachman cell. (Depending on the context, it&#8217;s a composite of How and Who, plus probably When and What as well.)  EA-toolset vendors have made this worse by trying to shoehorn all their models into single columns or single cells. If you add &#8216;interface&#8217; as a column &#8211; which I&#8217;ve seen several people do &#8211; you end up with a Zachman-like muddled mixture of primitives and composites, which is <em>not</em> a good idea. It may <em>look</em> fine at first, and may <em>seem</em> to make solution design easier; but it really does cause utter chaos later down the track, when the technology changes on you, or when you try to model alternate implementations such as for disaster recovery. In short, <em>don&#8217;t shoehorn</em>: primitives are primitives, composites are composites &#8211; don&#8217;t mix them up.</p>
<p>So for SOA, what we need first is an exercise in meta-models and meta-architecture: we start from primitives of the Zachman frame &#8211; single cells &#8211; and build a layered set of root-composites (meta-patterns) that describe our key entities. (Meta-architecture is a swine to get your head around, but if you want your solutions to be &#8216;future-proofed&#8217; you can&#8217;t afford to skip over this stage.) Services are a good place to start: they&#8217;re composites of How (functions) and Who (capabilities), whilst the messages and trigger-events are composites of What and When. We then build cross-linking composites (functional patterns) that are closer to our implementation layer: a web-service, for example, links a service definition with a message definition with an interface definition. That gives us our logical layer, which we can still specify in a true implementation independent manner &#8211; which is what we need for, say, disaster recovery planning. <em>Then</em> we can describe entities (implementation patterns) for the the implementation specific physical layer. <em>Then</em> we can do our SOA designs &#8211; which may well traverse IT-based and non-IT-based processes. But because they&#8217;re all anchored all the way back to the root-primitives, we have a straightforward trail of derivation and dependency to guide redesign when (not &#8216;<em>if</em>&#8216;&#8230;) we get hit by a change of technology, or context or whatever.</p>
<p>To see how this works, have a look at my presentation for the last TOGAF conference: &#8216;<a href="http://www.tetradian.com/download/togaf_ea-soe_apr08_FV.pdf" title="'EA and the service-oriented enterprise'">Enterprise architecture and the service oriented enterprise</a>&#8216; (PDF, 850kb) &#8211; it summarises all of this, together with a broader view of &#8216;service oriented architecture&#8217;.</p>
<p>I&#8217;m also working on a book on this &#8211; <em>Bridging the Silos: enterprise architecture for IT architects</em> &#8211; which tackles this general problem of extending TOGAF and Zachman to whole of enterprise architecture. It&#8217;s taking a little longer than I&#8217;d hoped <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  but there&#8217;s a PDF of a partial draft already available up on the Tetradian Books website, at <a href="http://tetradianbooks.com/2008/04/silos-ebook/" title="Bridging the Silos e-book">tetradianbooks.com/2008/04/silos-ebook/</a> &#8211; any comments much appreciated!</p>
<p>Hope this helps, anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2008/07/02/togaf-and-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

