<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.8.0 (http://www.squarespace.com/) on Sat, 07 Nov 2009 19:18:09 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>Enterprise Architecture Blog</title><subtitle>Enterprise Architecture Blog</subtitle><id>http://chiefarchitect.squarespace.com/ea/</id><link rel="alternate" type="application/xhtml+xml" href="http://chiefarchitect.squarespace.com/ea/"/><link rel="self" type="application/atom+xml" href="http://chiefarchitect.squarespace.com/ea/atom.xml"/><updated>2009-10-20T08:19:11Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.8.0 (http://www.squarespace.com/)">Squarespace</generator><entry><title>Picking up the pieces...</title><category term="data management"/><category term="design"/><category term="solution architecture"/><id>http://chiefarchitect.squarespace.com/ea/2009/10/20/picking-up-the-pieces.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/10/20/picking-up-the-pieces.html"/><author><name>Alan Inglis</name></author><published>2009-10-20T07:32:07Z</published><updated>2009-10-20T07:32:07Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Thank you to <a class="offsite-link-inline" href="http://www.infoadvisors.com/Home/tabid/36/BlogID/1/Default.aspx" target="_blank">Karen Lopez</a>&nbsp;for finding and praising a blog post by <a class="offsite-link-inline" href="http://www.simple-talk.com/author/anith-sen/" target="_blank">Anith Sen</a>. &nbsp;He writes about <a class="offsite-link-inline" href="http://www.simple-talk.com/sql/database-administration/five-simple--database-design-errors-you-should-avoid/" target="_blank">database design errors</a>, Karen disagrees with some of Anith's conclusions in <a class="offsite-link-inline" href="http://www.infoadvisors.com/Home/tabid/36/EntryId/389/Anith-Sen-Five-Simple-Database-Design-Errors-You-Should-Avoid.aspx" target="_blank">her blog</a> which goes to illustrate that design is a mix of art and science and that even experienced practitioners will disagree over details. &nbsp;</p>
<p>Anith observes that "an application can trespass on the field of data management" and that developers sometimes "treat the database as being a mere component of the &lsquo;application domain&rsquo;". &nbsp;Particular skills and experience are required to manage data and to create and maintain databases. &nbsp;Data management differs on at least two levels:</p>
<p><ol>
<li>At the programming level, being able to write an SQL statement is not the same being able to design a database. &nbsp;The set based thinking required to develop design a database effectively is very different to the procedural thinking required by most programming languages.</li>
<li>Databases have a different life-cycle to applications and they are often shared between applications.</li>
</ol></p>
<p>In my previous blog, <a href="http://chiefarchitect.squarespace.com/ea/2009/10/10/vive-la-difference.html">Vive la diff&eacute;rence</a>, I stated that we do not train people in design. &nbsp;I think this is a illustration of this point. &nbsp;We often don't teach an understanding of data management and its approaches. &nbsp;This results in designers and architects having a poor understanding of the role of databases in the application landscape and people like Anith having to pick up the pieces.</p>]]></content></entry><entry><title>Vive la différence...</title><category term="career"/><category term="design"/><category term="enterprise architecture"/><category term="solution architecture"/><id>http://chiefarchitect.squarespace.com/ea/2009/10/10/vive-la-difference.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/10/10/vive-la-difference.html"/><author><name>Alan Inglis</name></author><published>2009-10-10T12:25:35Z</published><updated>2009-10-10T12:25:35Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Tom Graves has summarised the differing roles of architects and designers in his blog <a class="offsite-link-inline" href="http://weblog.tomgraves.org/index.php/2009/10/09/architecture-versus-design/" target="_blank">What&rsquo;s the difference between architecture and design?</a>. &nbsp;It is an ongoing irritation to me that the two are confused. &nbsp;This not only devalues both disciplines, it has serious and deleterious effect on the quality of solutions delivered.</p>
<p>An architect as Tom states "faces towards strategy, structure and purpose, towards the abstract", the role is about ensuring we do the right thing. &nbsp;The designer "faces towards implementation and practice, towards the concrete", ensuring we do it right.</p>
<p>In 1990, <a href="http://www.kapor.com/">Mitch Kapor</a> delivered his <a class="offsite-link-inline" href="http://hci.stanford.edu/publications/bds/1-kapor.html" target="_blank">Software Design Manifesto</a>. &nbsp;He appealed for "design" to get the recognition it deserved as a critical profession in the creation of software solutions. &nbsp;I thing we have gone part way there. &nbsp;We have recognized, even if often misunderstood, the discipline of enterprise architecture. &nbsp;We recognize, but have little formal method, the act of solution architecture. &nbsp;But we still do not really recognize or train people in design. &nbsp;In my opinion, we seem to have gone backwards in training people in the logical technology independent fundamentals of good software design. &nbsp;Rather, we have encouraged technology obsession and limited the careers of good designers and architects.</p>
<p><em>For those who don't remember or don't know, Mitch is one of the fathers of the modern computing era, he was a founder of Lotus Development Corporation and the designer of Lotus 1-2-3, the "killer application" which made the personal computer ubiquitous in the business world in the 1980s.</em></p>]]></content></entry><entry><title>How to write technical documentation...</title><category term="documentation"/><category term="security"/><id>http://chiefarchitect.squarespace.com/ea/2009/9/28/how-to-write-technical-documentation.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/9/28/how-to-write-technical-documentation.html"/><author><name>Alan Inglis</name></author><published>2009-09-28T11:21:11Z</published><updated>2009-09-28T11:21:11Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Jeff Moser has written <a class="offsite-link-inline" href="http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html" target="_blank">an excellent article</a> describing how the Advanced Encryption Standard works. &nbsp;He uses an very accessible paradigm - the cartoon. &nbsp;He layers the description starting with a simple overview and progressively getting into more and more detail. &nbsp;Because the story is layered, it is complete at each stage before more detail is added. &nbsp; The audience has the opportunity to leave when they know enough.&nbsp;<br /></p>]]></content></entry><entry><title>Building enterprise architecture the right way</title><id>http://chiefarchitect.squarespace.com/ea/2009/9/14/building-enterprise-architecture-the-right-way.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/9/14/building-enterprise-architecture-the-right-way.html"/><author><name>Alan Inglis</name></author><published>2009-09-14T11:01:38Z</published><updated>2009-09-14T11:01:38Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Ken Karacsony writes an interesting article about the <a class="offsite-link-inline" href="http://www.computerworld.com/s/article/print/9137306/Building_your_enterprise_architecture_program_the_right_way?" target="_blank">practical use of business architecture</a> to shape business change correctly and contrasts this with a typical IT driven approach which can fail to address the correct issues.</p>]]></content></entry><entry><title>Enterprise Architecture Pitfalls</title><category term="analysts"/><category term="enterprise architecture"/><id>http://chiefarchitect.squarespace.com/ea/2009/9/4/enterprise-architecture-pitfalls.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/9/4/enterprise-architecture-pitfalls.html"/><author><name>Alan Inglis</name></author><published>2009-09-04T07:14:01Z</published><updated>2009-09-04T07:14:01Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p><a href="http://www.ebizq.net/blogs/bda/" target="_blank">Brenda Michelson</a> has put together a <a href="http://www.ebizq.net/blogs/bda/2009/09/enterprise_architecture_pitfal.php" target="_blank">good summary</a> of the recent <a href="http://search.twitter.com/search?q=%23eapitfall" target="_blank">Tweets</a> following <a href="http://www.gartner.com/it/page.jsp?id=1159617" target="_blank">Gartner&rsquo;s recent listing</a> of EA pitfalls.&nbsp;</p>
<p>The EA community seems to have come to the conclusion that Gartner has stated the obvious.&nbsp; The Tweets have provided &ldquo;real&rdquo; EA pitfalls based on the experience of practitioners.</p>
<p>If you read the blogs of the <a href="http://chiefarchitect.squarespace.com/enterprise-architecture-commun/" target="_blank">community of practitioners</a> then you will find not only the pitfalls but the solutions to them.&nbsp; These solutions have been discovered through the sweat and tears of those who have been there, made the mistakes, and got the scars.</p>
<p>The Twitterverse and Blogosphere has enfranchised the &ldquo;doers&rdquo; who previously didn&rsquo;t have a voice.&nbsp; But more importantly, the current generation of decision makers and key influencers understand the value of the information that is out there and freely available.</p>
<p>If you read the blogs, you won&rsquo;t get a neatly package &ldquo;answer&rdquo; to your problems.&nbsp; But you will, after some time and effort, get insight.&nbsp;&nbsp; You will have to work out for yourself what is relevant and what is not. You will have to work a little harder to get to a plan to take your organization further.&nbsp; But you will learn, and you may just have a plan that can deliver meaningful results.</p>
<p>The criticism of the identification of EA pitfalls follows very close behind similar criticism by the EA community of Tweeters of <a href="http://chiefarchitect.squarespace.com/ea/2009/8/16/ldquonothing-newrdquo.html" target="_blank">&ldquo;Emergent Architecture&rdquo;</a>.</p>
<p>The analysts need to demonstrate that they talking to the right people, that they are gathering the right information and finding genuine insights based on the experience of practitioners.&nbsp; If they can deliver better results quicker and cheaper than doing it yourself then they will have a valuable offering.&nbsp; The recent Twitter discussions suggest that they are behind the curve.</p>
<p>The analysts must engage and embrace those that do and know.&nbsp; If they don&rsquo;t then I suspect any deficiencies in their offerings will continue to be highlighted.</p>]]></content></entry><entry><title>Enterprise Solution Architecture Decision Making</title><category term="analysts"/><category term="enterprise architecture"/><category term="solution architecture"/><id>http://chiefarchitect.squarespace.com/ea/2009/8/16/enterprise-solution-architecture-decision-making.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/8/16/enterprise-solution-architecture-decision-making.html"/><author><name>Alan Inglis</name></author><published>2009-08-16T13:01:45Z</published><updated>2009-08-16T13:01:45Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Some years ago I was working as chief architect for a large organization.&nbsp; We were looking at implementing an enterprise scale package as part of a business transformation.&nbsp; I knew what capabilities I needed, I knew when I needed them and I knew what flexibility I had over timescales.&nbsp; I had a business roadmap covering business changes and benefits realized, I had mapped the technology capabilities required against it.&nbsp; We had chosen the package to act as our &ldquo;technology backbone&rdquo;.</p>
<p>We had a number of technology capabilities that could be implemented as customisations to the package, were provided as add-on modules or could be bespoked.&nbsp; My aims were to keep the IT and commercial landscape as simple as possible, keep license and delivery costs downs, and minimise timelines.&nbsp; This would drive me to a default decision of using the add-on modules.</p>
<p>We would be outsourcing the implementation to a tier 1 consultancy. As part of our implementation partner selection process, we asked them to provide feedback on the viability of this approach and to highlight any risks with their mitigations.&nbsp; There were several modules that our five potential implementation partners had told us were &ldquo;high risk&rdquo;.&nbsp; It was interesting that different modules were highlighted by different potential partners.&nbsp;&nbsp; I have summarized their responses:</p>
<table border="1" cellspacing="10" cellpadding="0" width="450" rules="all">
<tbody>
<tr>
<td width="146" valign="top"><strong><span style="font-family: Arial; font-size: x-small;">Module</span></strong></td>
<td width="123" valign="top"><strong><span style="font-family: Arial; font-size: x-small;">Risk</span></strong></td>
<td width="139" valign="top"><strong><span style="font-family: Arial; font-size: x-small;">Mitigation</span></strong></td>
</tr>
<tr>
<td width="146" valign="top"><span style="font-family: Arial; font-size: x-small;">Reference data management</span></td>
<td width="123" valign="top"><span style="font-family: Arial; font-size: x-small;">It&rsquo;s new            <br />It doesn&rsquo;t work</span></td>
<td width="139" valign="top"><span style="font-family: Arial; font-size: x-small;">Buy an alternative product</span></td>
</tr>
<tr>
<td width="146" valign="top"><span style="font-family: Arial; font-size: x-small;">High volume transaction data consolidation and load</span></td>
<td width="123" valign="top"><span style="font-family: Arial; font-size: x-small;">It&rsquo;s new</span></td>
<td width="139" valign="top"><span style="font-family: Arial; font-size: x-small;">Bespoke it</span></td>
</tr>
<tr>
<td width="146" valign="top"><span style="font-family: Arial; font-size: x-small;">Demand forecasting</span></td>
<td width="123" valign="top"><span style="font-family: Arial; font-size: x-small;">It&rsquo;s new            <br />It won&rsquo;t perform</span></td>
<td width="139" valign="top"><span style="font-family: Arial; font-size: x-small;">Buy an alternative product</span></td>
</tr>
<tr>
<td width="146" valign="top"><span style="font-family: Arial; font-size: x-small;">Reporting</span></td>
<td width="123" valign="top"><span style="font-family: Arial; font-size: x-small;">It won&rsquo;t perform</span></td>
<td width="139" valign="top"><span style="font-family: Arial; font-size: x-small;">Buy an alternative product</span></td>
</tr>
<tr>
<td width="146" valign="top"><span style="font-family: Arial; font-size: x-small;">Integration</span></td>
<td width="123" valign="top"><span style="font-family: Arial; font-size: x-small;">It won&rsquo;t perform</span></td>
<td width="139" valign="top"><span style="font-family: Arial; font-size: x-small;">Buy an alternative product</span></td>
</tr>
</tbody>
</table>
<p>I was put under pressure by the business to accept these recommendations because these vendors were the &ldquo;experts&rdquo;.</p>
<p>I wasn&rsquo;t very happy with these responses.&nbsp; I wanted to understand exactly what didn&rsquo;t work, what was unproven in the market, if there were technical or business workarounds, what the impact on the IT and business solution if we implemented these modules and things went wrong, and how should we manage the delivery risks.&nbsp; We asked each vendor to give more detail to substantiate their claims.&nbsp; We also talked to the package supplier, to existing users of the package and to some analysts.</p>
<p>I was &ldquo;allowed&rdquo; to delve into these recommendations further when I explained the potential cost impact of these &ldquo;mitigations&rdquo; which would have increased the overall business program costs by over 10%.&nbsp; Plus we would have had more build and integration would have increased the timeline and increased delivery risks.&nbsp; I could quantify the impact of using their solutions but they had challenged my baseline approach without quantifying the impact of the risks they had identified.</p>
<p>Now, let us look at each of these product &ldquo;risks&rdquo; in turn&hellip;</p>
<p><strong>Reference data management</strong> &ndash; it turned out that some implementation vendors were basing their assessment on an old version of the module that had acknowledged scalability issues.&nbsp; The new version was a well established product that had been acquired by the package vendor.&nbsp; The real issue was that the implementation vendors did not have any implementation experience. The new mitigation was to require them to have training and support from the package supplier, to limit the implementation to core functionality (i.e. not to try to do anything &ldquo;clever&rdquo;), and to get their design and implementation signed off by the package supplier.</p>
<p><strong>High volume transaction data consolidation and load</strong> &ndash; this module was not new, it had an established track record of success.&nbsp; The implementation vendors had either not implemented it or had very few staff available to implement it.&nbsp; Again we told the implementation vendors that they would be required to get training and support from the package supplier and to get their design and implementation signed off by the package supplier.</p>
<p><strong>Demand forecasting</strong> &ndash; this module was another recent acquisition for the package supplier so again there was little experience from the implementation vendors.&nbsp; However, this module did have performance issues.&nbsp; We worked with the package supplier and our infrastructure suppliers to develop an architecture that would deliver our non functional requirements.&nbsp; We also put some specific tasks into our implementation plan to test performance early enough in the roll out schedule to enable us to change course if necessary.&nbsp; If necessary we could retain our legacy solution longer than originally planned.&nbsp;</p>
<p><strong>Reporting</strong> &ndash; we were referred to a number of &ldquo;failed&rdquo; implementations of this module.&nbsp; I spoke to the managers at these sites to determine the root cause of the &ldquo;failures&rdquo;.&nbsp; In all cases it was poor <strong>logical</strong> design.&nbsp; The solutions would have failed using any technology.&nbsp; It was simply poor ETL specification, poor data warehouse design, poor data mart design, and poor implementation practice.&nbsp; There were no issues that could be attributed to the package modules.&nbsp; Perhaps the implementation vendors didn&rsquo;t want to admit that their design work had failed.&nbsp;&nbsp; Again we told the implementation vendors that they would be required to get their design and implementation signed off by the package supplier.</p>
<p><strong>Integration</strong> &ndash; the package had its own integration solution that linked all its modules together.&nbsp; It was a relatively immature solution when compared to specialized products when used to link in other applications.&nbsp; We judged this to be a critical threat to the program.&nbsp; We decided that our approach would be two pronged.</p>
<ol>
<li>We would plan to use the package vendor&rsquo;s integration solution but we would put some additional tasks into our implementation plan to test performance early enough in the roll out schedule to enable us to change course if necessary. </li>
<li>We would also work on an alternative solution from an other vendor. In this case, we agreed commercials early to prevent us being held to ransom later in the program. </li>
</ol>
<p>We went ahead with my original IT landscape, much lower costs than our vendors had recommended and a set of contingencies and risk management actions that secured successful delivery of the business benefits.</p>
<p>Implementation staff from the implementation vendors who have just rolled off a two year enterprise scale implementation program have product knowledge that is two years or more old.&nbsp; And they are not very quick to talk about their failed implementations.</p>
<p>Product vendors want to get their solutions out into the market.&nbsp; They also recognise that successful implementations are critical to their success.&nbsp; You have power over them to give enhanced support if you are going to implement any new features.</p>
<p>A lesson of <a href="http://chiefarchitect.squarespace.com/ea/2009/8/16/ldquonothing-newrdquo.html" target="_blank">my previous post</a> is that when you work with analysts you need to understand their methods to get a good understanding of whether they really have a solid grasp of the subject that you have engaged them to advise on.&nbsp; The information gathered about the success or failure of solutions will be based on projects started two or more years ago with previous product versions.</p>
<p>So who were the experts?&nbsp; We were! It was our business, our change program and our IT landscape.&nbsp; We had to invest to learning about the product releases that we would use.&nbsp; We had to be incisive in our questioning of the &ldquo;experts&rdquo; and to attempt to understand their agendas and biases.&nbsp; We had to be brave enough to make our decisions rather than take the easy way out and take the consultants&rsquo; and analysts&rsquo; advice.</p>]]></content></entry><entry><title>&amp;ldquo;Nothing new&amp;rdquo;</title><id>http://chiefarchitect.squarespace.com/ea/2009/8/16/ldquonothing-newrdquo.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/8/16/ldquonothing-newrdquo.html"/><author><name>Alan Inglis</name></author><published>2009-08-16T07:33:45Z</published><updated>2009-08-16T07:33:45Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>In case you missed it, <a href="http://www.gartner.com/it/page.jsp?id=1124112" target="_blank">Gartner have come up with the term “Emergent Architecture”</a> to describe what practicing enterprise architects having been doing for many years.&#160; </p>  <p>The following blogs cover the ground…</p>  <p><a href="http://blogs.zdnet.com/Hinchcliffe/?p=674" target="_blank">Dion Hinchcliffe - Pragmatic new models for enterprise architecture take shape</a></p>  <p><a href="http://bradapp.blogspot.com/2009/07/emergent-design-and-evolutionary.html" target="_blank">Brad Appleton - Emergent Design and Evolutionary Architecture – Resources</a></p>  <p><a href="http://leodesousa.ca/2009/08/gartners-emergent-architecture-is-this-really-a-new-approach/" target="_blank">Leo de Sousa - Gartner’s Emergent Architecture – Is this really a new approach?</a></p>  <p><a href="http://www.biske.com/blog/?p=670" target="_blank">Todd Biske - The Future of EA</a></p>  <p><a href="http://www.computerworlduk.com/community/blogs/index.cfm?entryid=2444&amp;blogid=27" target="_blank">Mike Rollings - Gartner wakes out of an EA induced coma...</a></p>]]></content></entry><entry><title>SOA - food for thought...</title><id>http://chiefarchitect.squarespace.com/ea/2009/8/7/soa-food-for-thought.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/8/7/soa-food-for-thought.html"/><author><name>Alan Inglis</name></author><published>2009-08-07T06:09:42Z</published><updated>2009-08-07T06:09:42Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>I think a couple of articles are worth a read if you are interested in making SOA a success. It is much harder this way but it might just create something of value...</p>
<p>The first is an article entitled <a class="offsite-link-inline" href="http://schneider.blogspot.com/2008/08/7-dirty-words-of-soa.html" target="_blank">The 7 dirty words of SOA</a> by <a class="offsite-link-inline" href="http://schneider.blogspot.com/" target="_blank">Jeff Schneider</a>in which he talks about the difference between "Business SOA" and "IT SOA".</p>
<p>The second by Boris Lublinsky states that <a class="offsite-link-inline" href="http://www.infoq.com/news/2008/07/Only1" target="_blank">Only 1 in 5 SOA Projects Actually Succeed</a>.</p>
<p>&nbsp;</p>]]></content></entry><entry><title>Think globally, act locally…</title><category term="enterprise architecture"/><category term="governance"/><category term="solution architecture"/><id>http://chiefarchitect.squarespace.com/ea/2009/6/9/think-globally-act-locally.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/6/9/think-globally-act-locally.html"/><author><name>Alan Inglis</name></author><published>2009-06-09T20:55:57Z</published><updated>2009-06-09T20:55:57Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>My blog on <a href="http://chiefarchitect.squarespace.com/ea/2009/5/17/what-good-looks-like.html" target="_blank">what good looks like</a> prompted a couple of blog posts that I would like to answer.&nbsp; My answers will be <em><span style="color: #000080;">inline</span></em>.&nbsp; They take a pragmatic viewpoint of a practicing executive level solution architect &hellip;</p>
<p>The first blog was written by Leo de Sousa and this had the title of <a class="offsite-link-inline" href="http://leodesousa.ca/2009/05/what-good-looks-like-follow-up/" target="_blank">What good looks like &ndash; follow up</a>.&nbsp; He asked the questions:</p>
<ul>
<li>How big a project would require this level of artefact creation? For small and possibly medium projects, the work to do the architecture may be more than delivering the project.       
<ul>
<li><em><span style="color: #0000a0;">This is a good point and I should have made the context clearer.&nbsp; I am not assuming that the artefacts exist as project artefacts but just that they exist.&nbsp; They may be at enterprise, line of business, program or project level.&nbsp; In the context of a project, I just want the information.&nbsp; My opinion is that this information should be created at an enterprise or line of business level and updated by projects and support teams.</span></em> </li>
</ul>
</li>
<li>Is there a subset of these artefacts that would be sufficient for small and medium projects?       
<ul>
<li><em><span style="color: #000080;">No!&nbsp; A smaller project will have fewer decisions, fewer deliverables and therefore the information produced will be less.</span></em> </li>
</ul>
</li>
<li>How would the next solutions architect find and assess the artefacts created?&nbsp; Need a searchable, secured repository - wiki?, blog?, SharePoint?, network file share?, knowledge base?       
<ul>
<li><em><span style="color: #000080;">It doesn&rsquo;t matter so long as architects, analysts, designers, developers, testers, etc can find what they need when they need it.&nbsp; All of those approaches listed can work with the appropriate implementations and disciplines and they can all fail.</span></em> </li>
<li><em><span style="color: #000080;">The key to this is not the repository, it is in most organizations the &ldquo;business as usual&rdquo; support team.&nbsp; They are the long term custodians of the IT solution and its relationship with the business.&nbsp; They keep the knowledge up to date and are responsible for handing that knowledge on to development teams when major changes are required.&nbsp; Ideally this is well supported by sound processes and tools and not critically dependent on individuals.</span></em>&nbsp;</li>
</ul>
</li>
</ul>
<p>He went on to make the points that the key factors for success are:</p>
<ul>
<li>ensuring that there is time for solution architects and enterprise architects to work together to do peer reviews: 1) pre-project, 2) technical reviews in a project and 3) post-project       
<ul>
<li><em><span style="color: #000080;">I absolutely agree and I find that this is one thing that can be&nbsp; very difficult to achieve.&nbsp; Enterprise architects tend to be in short supply and have to ration their time.&nbsp; Solution architects often do not take an enterprise view and fail to highlight critical enterprise architecture issues. A good triage process addresses the issue of rationing.</span></em>&nbsp;</li>
</ul>
</li>
<li>communication of agreed upon standards and principles is essential to build a common language       
<ul>
<li><em><span style="color: #000080;">The standards and principle help address the second issue and educate solution architects on the issues that are of enterprise significance.</span></em></li>
<li><em><span style="color: #000080;">I would go a little further, we also need common goals and an agreed approach to making rational compromises to help solution architects make the right decisions and recommendations.</span></em></li>
</ul>
</li>
<li>negotiating with functional managers to ensure time is allocated to every project for architecture       
<ul>
<li><em><span style="color: #000080;">This point is very important.&nbsp; It is easier where there is a recognition that the landscape will change significantly.&nbsp; It is equally necessary where the project extends an existing capability.&nbsp; </span></em></li>
<li><em><span style="color: #000080;">In any significant project there is the potential that a requirement will &ldquo;break&rdquo; the architecture (the break could could be in the business, applications, data or infrastructure).&nbsp; <a href="http://chiefarchitect.squarespace.com/ea/2009/6/9/how-to-make-it-right.html" target="_blank">My approach</a> to ensuring there is architectural effort has been to ensure that the project has enterprise and long term requirements captured to justify the &ldquo;extra&rdquo; effort.</span></em> </li>
</ul>
</li>
<li>regularly demonstrating value to the organization by taking an enterprise, long term view       
<ul>
<li><em><span style="color: #000080;">Every project has an enterprise and long term context.&nbsp; The key is to identify the stakeholders and requirements to express this.&nbsp; Then demonstrating value becomes meeting stakeholder requirements.</span></em> </li>
</ul>
</li>
</ul>
<p>The second blog was by Nick Malik and was entitled <a class="offsite-link-inline" href="http://blogs.msdn.com/nickmalik/archive/2009/05/30/why-good-doesn-t-happen.aspx" target="_blank">Why good doesn&rsquo;t happen</a>.&nbsp; He states that &ldquo;there is a flaw in the logic&rdquo; and the &ldquo;advice is incomplete&rdquo;.&nbsp; He examines my list of 10 artefacts (or 14 as he appears to prefer) from the perspectives of :</p>
<p><strong>Viewpoint 1</strong>: at the beginning, looking forward, defining project requirements</p>
<p><strong>Viewpoint 2</strong>: in the middle, looking back, trying to understand</p>
<p>He goes on to make the following points:</p>
<ul>
<li>If I create an artefact &ldquo;for the future&rdquo; that does not mean that the people, in viewpoint 2, will use it.&nbsp; He states there must be a design process that mandates that the artefact be used.&nbsp;  
<ul>
<li><em><span style="color: #000080;">The existence of a process today does not imply the existence of the same or any process in the future (the reverse applies too) so I am not sure that this point helps us much.</span></em>&nbsp; </li>
</ul>
</li>
<li>If there is not such a process then the artefact should not be produced because there is no business justification.       
<ul>
<li><em><span style="color: #000080;">The business justification is simply based on hard experience which tells me from past and current projects that I need this information to take cost, time and risk out of making significant changes to an existing solution.&nbsp; The project or program, through its governance process, is at liberty to de-scope these proposed deliverables.&nbsp; But, in the interests of making a fully informed decision, it is passing on cost, time and risk to the next project. </span></em></li>
</ul>
</li>
<li>In the context of the maintenance process, we should &ldquo;draw the requirements for documentation from that development process&hellip; <strong>not from a wish list</strong>.&rdquo;        
<ul>
<li><em><span style="color: #000080;">To be clear, the selection of artefacts is mine based on my experience of making large scale changes to existing architectures.&nbsp; It is not the &ldquo;wish list&rdquo; of an enterprise architect imposing his views on developers. </span></em></li>
</ul>
</li>
<li>The artefacts identified form &ldquo;some tiny part of a much larger ecosystem of information&rdquo;.       
<ul>
<li><em><span style="color: #000080;">I absolutely agree.&nbsp; The management of this eco-system is another subject.&nbsp; My preference is that we approach this using a federated approach that puts responsibility close to the point of consumption but also ensures coordination where necessary. </span></em></li>
</ul>
</li>
</ul>
<p>Finally, he makes the following suggestions as to how I should complete my advice:</p>
<ul>
<li>The artefacts &ldquo;need to be findable, consistent, and AUTOMATICALLY linked together in a way that minimizes the &ldquo;archaeology expedition&rdquo;&rdquo;       
<ul>
<li><em><span style="color: #000080;">This is a worthy aim.&nbsp; In many organizations this is a distant dream &ndash; perhaps a fantasy.&nbsp; If we are not on that road, I think we should do something today that makes things better, let us just have some information.&nbsp; And that is what I have tried to describe.&nbsp; I believe that the issue of inconsistent and out of date information is quicker and cheaper to solve than the problem of no information.</span></em> </li>
</ul>
</li>
<li>&ldquo;The data describes part of the architecture of the enterprise, and as such, needs to be maintained at the enterprise level, for the sake of engineering.&rdquo;       
<ul>
<li><em><span style="color: #000080;">It does <strong>not</strong> need to be maintained at enterprise level.&nbsp; It needs to be maintained where it has value to be maintained.&nbsp; It needs to be consistent across the enterprise where consistency has value.&nbsp; We should only engineer to the level where the engineering adds value and no further.&nbsp; I do not see the need for monolithic centralised approaches that require huge uninformed, unaccountable bureaucracies to operate.</span></em> </li>
</ul>
</li>
</ul>]]></content></entry><entry><title>How to make it right…</title><category term="enterprise architecture"/><category term="migration planning"/><category term="solution architecture"/><id>http://chiefarchitect.squarespace.com/ea/2009/6/9/how-to-make-it-right.html</id><link rel="alternate" type="text/html" href="http://chiefarchitect.squarespace.com/ea/2009/6/9/how-to-make-it-right.html"/><author><name>Alan Inglis</name></author><published>2009-06-09T13:02:27Z</published><updated>2009-06-09T13:02:27Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>There are times when your gut instinct tells you that a solution is wrong.&nbsp; The architecture or design is not clean, functionality seems to be in the wrong place, interfaces feel like they should be different, data is duplicated or tramped all over the landscape, the solution seems too complex, it appears inflexible, it seems to be storing up problems for the future.&nbsp;</p>
<p>However, convincing people that there is a problem and that an alternative approach is better can be difficult.&nbsp;&nbsp;&nbsp; The project or program has a momentum that is carrying it towards the creation of an expensive and avoidable legacy.</p>
<p>Before we consider what you should do let us quickly clarify what not to do!&nbsp; DON&rsquo;T&hellip;</p>
<ul>
<li>Get angry&ndash; it may be frustrating but you must be seen to be calmly working in the interests of the business. </li>
<li>Get negative &ndash; you must be seen to be passionately behind the business goals. </li>
<li>Don&rsquo;t waste your ammunition by putting forward weak unsubstantiated arguments.&nbsp; </li>
<li>Appeal to abstract architectural principles &ndash; while they may make perfect sense to architects, generally no-one really cares!&nbsp; (This may appear to be heresy &ndash; but I will return to this) </li>
<li>Lose credibility. </li>
</ul>
<p>Now let us look at how to move forward&hellip;</p>
<p>The first point is that within a project you don&rsquo;t normally have much time.&nbsp; You must be focused, effective and efficient in substantiating your gut instinct, preparing and delivering your argument to the right people, and getting a project to reconsider its course.</p>
<p><strong>Step 1: Determine your goal</strong></p>
<p>Find out when key decisions are taken, when the project becomes committed to a course of action (e.g. contracts get signed, resources are assigned, work starts, announcement are made, egos are on the line).&nbsp; This determines what you can achieve:</p>
<ul>
<li>You don&rsquo;t have time to understand the issues fully &ndash; your aim here is to make sure that decision makers have &ldquo;wiggle room&rdquo; and can change their mind at a later date rather than force through a bad solution. </li>
<li>You have time to frame the problem and present it to the right people &ndash; your goal is to persuade them to create time and make resources available to find the right way forward. </li>
<li>You have time and access to the resources you need to prepare a solution and get backing for it.&nbsp; This is rare ideal where you can be the leader. </li>
</ul>
<p><strong>Step 2: Understand the business drivers</strong></p>
<p>Its all about benefits&hellip; what are they? Are they increased revenue, reduced costs, keeping up with the market, reputation protection, risk reduction, regulatory or statutory changes?&nbsp; When are they due to be delivered?&nbsp; What has been promised to investors?&nbsp; Are there any regulatory or statutory deadlines?&nbsp; Whose ego is on the line?</p>
<p>The business case for a project is the obvious place to look.&nbsp; However, business cases should paint a prudent picture and are written to overcome a hurdle in the investment process.&nbsp; Expectation could be significantly different, there may be other hidden or implicit or intangible benefits that are much more compelling to the key stakeholders.&nbsp; Understanding the business sector and the stakeholders is key to getting a full and accurate understanding of business drivers.</p>
<p>Timing of benefits delivery is often a major driver for compromise.&nbsp; If your proposals are perceived to reduce the level of benefits or put the timing at risk, then you will probably lose credibility.</p>
<p><strong>Step 3: Understand which business drivers are threatened</strong></p>
<p>I was lead architect for a project where we were introducing a new channel for a client.&nbsp; I felt very uncomfortable in taking the current architecture forward but I couldn&rsquo;t pin point why.</p>
<p>The simplest solution to introduce the new channel was to extend the current solution.&nbsp; However, it felt like functionality was incorrectly distributed between applications and we would be making things worse.</p>
<p>What I needed to do was to identify the impact on the business drivers.&nbsp; I knew that the client was growing this part of the business but there was no clarity over how it would do so.</p>
<p>I knew how the application should have been built, I new how I wanted to take it forward.&nbsp; I could only make a vague case about enabling future business flexibility which would add cost and risk to the current project.</p>
<p>I managed to find a stakeholder, after much enquiry, who was prepared to very forcefully articulate the future direction of the business.&nbsp; He wasn&rsquo;t particularly senior, he was not a key decision maker, but he was respected and influential.&nbsp;&nbsp; He was very interested in the threats to this future and was prepared to sponsor a rethink.</p>
<p>I struck lucky which enabled me to challenge (via a proxy) the accepted thinking and get rational compromise to be made and a longer term roadmap to be developed.</p>
<p>If you can&rsquo;t make the case, then you have to accept the solution as is and move forward.</p>
<p><strong>A word on architecture principles&hellip;</strong></p>
<p>Each principle should have a rationale that is clearly based on business needs.&nbsp; If a solution violates a principle then look to the rationale to identify the business imperative that the principle is designed to support.&nbsp; While the principle may not interest many stakeholders, the underlying rationale should do.</p>
<p><strong>Step 4: Understand the stakeholders</strong></p>
<p>Architects often raise concerns where the longer term flexibility of solution has not been thought through or where a solution appears to cause problems in another area of the organisation.&nbsp;</p>
<p>As a solution architect, your responsibility is to ensure that the right solution for the organization is defined.&nbsp; &ldquo;Right&rdquo; is defined by the &ldquo;business&rdquo; &ndash; however, the &ldquo;business&rdquo; is an ambiguous concept.&nbsp; The justification for <strong>all</strong> architectural decisions must be &ldquo;to meet business requirements&rdquo;.</p>
<p>The key to resolving the architectural concerns is to involve all affected stakeholders in the project and ensure they express their requirements for the longer and shorter term.&nbsp; If you have all the key stakeholders who will be affected by a project in both the short and long term then you will be able get requirements, constraints and directives that provide the business rationale for architectural arguments.</p>
<p>Obviously, to get requirements from stakeholders you need to know who they are.&nbsp; If you already have a network of contacts then this will be easy.&nbsp; If you don&rsquo;t then you will need to find some allies to help you identify key stakeholders.</p>
<p>With business requirements to back your arguments, you can give the program or project manager the &ldquo;wiggle room&rdquo; they need to start to change the project remit to take into account architectural concerns.</p>
<p>If you can&rsquo;t get the business backing, then you have to accept the solution as is and move forward.</p>
<p><strong>Step 5: Address objections</strong></p>
<p>Sometimes there is push back that states &ldquo;this is scope creep&rdquo; or &ldquo;this project is for XYZ business unit&rdquo; or &ldquo;we haven&rsquo;t got time&rdquo;.</p>
<p>Scope is best dealt with by specifically de-scoping requirements with knowledge of all requirements and an understanding of the implications of de-scoping.&nbsp; The de-scoped requirements allow others to take appropriate action with the knowledge of the project.&nbsp; It enables a roadmap to be developed to address de-scoped items.&nbsp; Refusing to collect requirements is not a reasonable approach.</p>
<p>Limiting stakeholder involvement based on who the sponsor is or which business unit has get the major benefits is also not reasonable or wise.&nbsp; Proper stakeholder analysis is essential and all affected stakeholders should be invited to contribute requirements.</p>
<p>Time is a legitimate concern but the reality is that only a small amount of time is required.&nbsp;&nbsp; Architectural decision making normally requires high level direction across a broad area and perhaps more detailed requirements for small but critical areas.&nbsp; Key people can be seen on their own at time to suit them.&nbsp; You don;t always need workshops, it is amazing what can be achieved in 15 minutes if you try!</p>
<p><strong>Step 6: Drill down on the business impacts</strong></p>
<p>The initial "gut instinct&rdquo; about the solution that caused your concern should now be expressed as requirements that are at risk.&nbsp; They may be:</p>
<ul>
<li><strong>non-functional requirements</strong> about performance, scalability, security, reliability, etc </li>
<li><strong>business requirements</strong> relating to future proofing, broader business areas affected by the project, downstream project dependencies, etc </li>
</ul>
<p>You will need to understand the benefits of achieving and the impact of not achieving these requirements.</p>
<p><strong>Step 7: Frame your initial solution options</strong></p>
<p>Your solution options should include:</p>
<ul>
<li>The original <strong>baseline</strong> option that you were initially uncomfortable with.&nbsp; In addition, you will need to develop an outline roadmap that delivers the additional needs. </li>
<li>The <strong>ideal</strong> option, this will be perfect design that you would produce if you were starting again.&nbsp; You may have to rule this out immediately if the distance from reality to perfection is too great.&nbsp; But it does give you a benchmark. </li>
<li>A small number of options (realistic maximum is around 3) with outline roadmaps that provide different routes to meeting the business needs or different levels of compromise to those benefits. </li>
</ul>
<p>There should be significant differences between the options.&nbsp; They may have different:</p>
<ul>
<li>benefit levels </li>
<li>timing of benefits </li>
<li>business processes </li>
<li>levels of automation </li>
<li>business or IT risk levels </li>
<li>business or IT resource requirements </li>
<li>needs for business involvement </li>
<li>costs and cost profiles </li>
<li>lifetimes </li>
<li>components </li>
<li>configurations</li>
<li>data distributions</li>
<li>non-functional characteristics</li>
<li>interfaces </li>
<li>approaches to re-engineering </li>
<li>refactoring plans </li>
<li>etc. </li>
</ul>
<p>For each option a high level delivery plan with an initial assessment of business benefits and impacts with timing should be developed.</p>
<p>You now have the evidence to persuade key stakeholders that the program or project needs to take a step back and identify the best way forward.</p>
<p><strong>Step 8: Carry out a feasibility study</strong></p>
<p>All the previous steps typically have to be carried out rapidly and sometimes superficially because you may not have fully contained the momentum of the project or program.</p>
<p>If you have managed stakeholders and framed the options adequately then you should be in a position to investigate the identified options, identify the trade-offs, make a recommendation and develop the new solution architecture and roadmap.</p>
<p><strong>Finally, Expect the unexpected</strong></p>
<p>This will not go as planned.&nbsp; Despite logic, decisions you don&rsquo;t understand will be made.&nbsp; You will never get the full story.&nbsp; You will never fully understand the stakeholders and their motivations.</p>
<p>If you don&rsquo;t get what you want then accept defeat gracefully.</p>
<p>Be careful.</p>]]></content></entry></feed>