<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>EA - Enterprise Architecture in Action</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/" />
    <link rel="self" type="application/atom+xml" href="http://www.infosysblogs.com/ea/atom.xml" />
    <id>tag:www.infosysblogs.com,2010-03-19:/ea//13</id>
    <updated>2011-09-23T10:16:18Z</updated>
    <subtitle>Using Enterprise Architecture to achieve competitive advantage through IT. Are you successful?</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.34-en</generator>

<entry>
    <title>Cloud Services - Design Considerations</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/12/cloud_services_-_design_consid.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.5124</id>

    <published>2010-12-10T09:40:48Z</published>
    <updated>2011-09-23T10:16:18Z</updated>

    <summary><![CDATA[ By Brahma Acharya We&nbsp;all realize that SOA and Cloud computing go hand in hand and are complementary in nature. After all we talk, about everything as a service (XaaS) in the Cloud world. So the immediate question that comes...]]></summary>
    <author>
        <name>Brahma Acharya</name>
        
    </author>
    
        <category term="SOA in the Real World" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cloudcomputing" label="Cloud Computing" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="soa" label="SOA" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<font size="3"> 
<p><strong><font style="FONT-SIZE: 0.8em">By Brahma Acharya</font></strong></p>
<p><font style="FONT-SIZE: 0.8em">We&nbsp;all realize that SOA and Cloud computing go hand in hand and are complementary in nature. After all we talk, about everything as a <i>service</i> (XaaS) in the Cloud world. So the immediate question that comes to mind is, would the service that has been designed to be consumed in-house would serve equally well if it were hosted on the cloud? The answer apparently is "<i>Not really</i>". Services designed as per SOA principles (clear contract, standalone functionality) would probably be much easier to migrate to Cloud, but there certainly is a need to re-look at some of the design patterns that will be crucial in cloud orienting the services. Let's identify some of the crucial ones.</font></p></font>]]>
        <![CDATA[<font size="3"> 
<p><font style="FONT-SIZE: 0.8em"><strong>Data Storage</strong>: Conventional services assume that transactional data would be stored typically in&nbsp;a normal RDBMS. However that might not be the best way moving forward to the cloud. You can sure host RDBMS on the cloud but infinite scalability becomes a problem as the data store is still centralized. Depending on your cloud platform check if it makes more sense in storing data in platform specific storage (Ex: <i>Azure Table Storage</i> and <i>Amazon Elastic Block Store</i>).</font></p>
<p><font style="FONT-SIZE: 0.8em"><strong>Enhanced algorithm</strong> (Use less compute power): This in my opinion is something which we should have been practicing all along. But we all come across smelly code and&nbsp;its associated in-efficiencies. That still did work in the conventional environment. But with Cloud, we pay for the compute cycles. So non-optimized code and algorithms result in direct cost to the organization. So the next time around when you see someone do a one to one string compare before sorting them or putting them in a hashtable , it would be worth taking the extra effort and time and getting it modified even if it means missed deadline. </font></font><font size="3"><font style="FONT-SIZE: 0.8em"><strong>Messaging and Queuing</strong>: With services now being hosted on the cloud, extra care needs to be taken to ensure that the messages are not lost even if for some reason the underlying services are down. Remember, you are talking about cloud, where your capability is limited by the underlying cloud providers. Queuing provides you the additional layer of reliability where the messages are never lost and you have a robust implementation even on the cloud.</font></p>
<p><font style="FONT-SIZE: 0.8em"><strong>Idempotent Capability</strong>: The same request even if sent multiple times should only be processed once. Though this is something which we have implemented in our conventional applications, the requirement is more so in a cloud transactional service. It wouldn't be a bad idea to send some unique identifiers in service headers for critical transactions to implement this capability.</font></p>
<p><font style="FONT-SIZE: 0.8em"><strong>Security - Federated model</strong>: This I am sure would be faced by almost all Cloud architects. While moving services to the cloud, you would surely want to authenticate and authorize the requestor. It probably is a good idea to leverage your existing LDAP rather than creating one from scratch on the cloud. A federated LDAP (ex: ADFS) would surely help.</font></p>
<p><font style="FONT-SIZE: 0.8em"><strong>Multi-tenancy</strong>: Multi-tenancy is going to be commonplace on the cloud environment especially in the SAAS world. So if you want to design services that would be used by multiple consumers in similar manner, do have multi-tenancy at the core of your design</font></p>
<p><font style="FONT-SIZE: 0.8em"><strong>Integration</strong>: In all likelihood, your cloud services need to interact with your in-house services. A conventional middleware might just work but do look at the intricacies like transaction maintenance, seamless security, back-end data integration etc. Microsoft has come up with the Azure Bus specifically designed for the purpose</font></p>
<p><font style="FONT-SIZE: 0.8em">I am sure there could be more to the list. But this gives an idea about the intricacies that one can broadly expect while moving to the cloud</font>.</p></font>]]>
    </content>
</entry>

<entry>
    <title>SOA Appliance - Opportunities and Barriers</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/11/soa_appliance_-_opportunities.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.5123</id>

    <published>2010-11-17T13:46:33Z</published>
    <updated>2011-09-23T10:16:18Z</updated>

    <summary>by Infosys SOA Architect Community One of the biggest concerns that our clients highlight to us in any large scale SOA implementation is performance. &quot;Will my application meet the NFRs? Will it scale up as I have more and more...</summary>
    <author>
        <name>Brahma Acharya</name>
        
    </author>
    
        <category term="SOA in the Real World" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="soaappliance" label="SOA Appliance" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p>by <strong><u>Infosys SOA Architect Community</u></strong></p>
<p>One of the biggest concerns that our clients highlight to us in any large scale SOA implementation is performance. "Will my application meet the NFRs? Will it scale up as I have more and more service consumers?". These are the most commonly asked question from our clients. And there is a reason for that. Web services technology have become the de-facto standard to create and expose services. Web services, be it SOAP based or REST based rely heavily on XML suite of technologies. XML is notoriously bulky and is slow to process (yes..there are optimization but that is another story) thereby making SOA applications slow performing. And Performance is something nobody wants to compromise on. Then there are concerns of security and complex deployment process which are more pronounced in a SOA based application.</p>]]>
        <![CDATA[<p>That limitation is now being addressed by specialized products commonly referred as "<i>SOA appliance</i>". The core objective of these appliances is to accelerate XML processing thereby making web services perform faster. 　These appliance come in two flavors; hardware based (ex: IBM's DataPower) and software based (ex: Intel's SOAExpress). Let's understand both of these in a little more detail.</p>
<p><strong><u>Hardware SOA appliance:</u></strong></p>
<p>At the heart of a hardware SOA appliance is a specialized hardware that is meant to perform only a specific task, that of XML processing. Specialized hardware (read processor, memory, disk) is built to understand and act on XML. Which means these are special class computers which cannot do general purpose computing. All the overheads of multiple layers that come with 　software execution (like runtime, web servers, libraries and OS) simply disappear making the processing fast, really fast. This concept is best understood by drawing an analogy with the network devices like routers and load balancers. These devices are made to tackle only a specific function, that of packet routing and handling http requests. Similarly the hardware SOA appliance is meant to process and act on XML. So if you are using the appliance as a façade for validating the XML requests for message level security, doing protocol transformation and preventing schema tampering, you are making proper use of the appliance. On top of it the use of the appliance immensely helps in quicker deployment. However, if you are planning to use the appliance to make it your SOA backbone (read full-fledged ESB or middleware application), that is not the right choice. The hardware appliances do give you the capability to do all sorts of message transformation using XSL and XPath, provide capability to connect to DB and even capability to orchestrate. Though these all can be done (and some vendors claim that this has been successfully done), it should be avoided for the following reasons:</p>
<p><em>Maintainability</em>: Imagine having all your business logic in XML/XSL. How readable and maintainable would that be? After all there is a reason why the high level languages were created in the first place. Assembly language is blindingly fast and gives you absolutely full control over what you can do with your program. But it is little difficult (being euphemistic here J) to code and maintain. Similarly it would be a good idea to refrain from putting any business logic in this layer</p>
<p><em>Flexibility: </em>The amount of locking that you run into by using the hardware appliance is very high. This statement might raise many eyebrows. After all how many times have you changed your platform once you have decided on one. However the case of hardware appliance is little different. Falling back to our original analogy of routers and LBs, we do see organizations moving from one product to the other depending on the latest technologies, performance and support. If you use a HW SOA appliance that possibility is almost zero, unless of course you choose to re-write the entire logic that you have already written. Over and above if you access DB to do transformation and mediation, you are in bigger trouble</p>
<p><em>Taking advantage of increasing processing capabilities: </em>Moore's law has stood test of time for more than three decades now with computing power doubling every couple of years. With parallel processing and multi-core processing gaining momentum, the hardware appliance might just not be geared to handle that. So you end up losing the advantages of performance</p>
<p><strong><u>Software SOA Appliance:</u></strong></p>
<p>These follow the original paradigm of developing customized software. They bundle all the pain points that we have talked about and customize their software to take advantage of the underlying processor. For ex: Intel SOAE (expressway) is pre-optimized to use the Intel SSE4.2 instructions which is supported by Intel Core i7 processor based servers. Intel claims that installing this add-on itself will improve the performance of the existing applications by a great deal (actual number depends on the use-case). With that the above mentioned limitation of the hardware SOA appliance is addressed to some extent. But again, it is important to remember that this is not meant to replace your core SOA infrastructure!!</p>
<p><strong><u>Infosys Take:</u></strong></p>
<p>We believe the use of SOA appliances would continue to generate much interest within the SOA community in the coming days. Having one appliance address the majority of the pain points is a great selling point. However the SOA appliance should be seen as an add-on to your SOA infrastructure rather than a replacement. Do not look at these appliances as full-fledged ESB<font color="#1f497d"> </font>or middleware solution. You might end up fitting a square peg to a round hole.</p>]]>
    </content>
</entry>

<entry>
    <title>To ESB or Not to ESB</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/11/to_esb_or_to_esb.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.5122</id>

    <published>2010-11-11T13:18:49Z</published>
    <updated>2011-09-23T10:16:18Z</updated>

    <summary>by Infosys SOA Architect CommunityESB has become the de-facto architectural standard in any large scale SOA implementation and with good reason. But does that entitle the usage of ESB for all and sundry? Is the usage of ESB actually detrimental...</summary>
    <author>
        <name>Shubhankar Sumar</name>
        
    </author>
    
        <category term="SOA in the Real World" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="esb" label="ESB" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="esbornotesb" label="ESB or Not ESB" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="soaandesb" label="SOA and ESB" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<div>by <b><u>Infosys SOA Architect Community</u></b></div><div><br /></div><div><div>ESB has become the de-facto architectural standard in any large scale SOA implementation and with good reason. But does that entitle the usage of ESB for all and sundry? Is the usage of ESB actually detrimental to the very concept of SOA in the long run? Here is a thought provoking article by Michael Poulin on the subject:</div><div><br /></div><div><a href="http://www.ebizq.net/blogs/service_oriented/2009/08/does_esb_fit_with_business_service.php">http://www.ebizq.net/blogs/service_oriented/2009/08/does_esb_fit_with_business_service.php</a></div><div><br /></div><div>An ESB provides the VETRO capabilities on the messages which means an ESB can</div><div>-<span class="Apple-tab-span" style="white-space:pre">	</span><b>V</b>alidate the message for authenticity and correctness</div><div>-<span class="Apple-tab-span" style="white-space:pre">	</span><b>E</b>nhance the message if necessary</div><div>-<span class="Apple-tab-span" style="white-space:pre">	</span><b>T</b>ransform the message if the service provider and service consumer differ</div><div>-<span class="Apple-tab-span" style="white-space:pre">	</span><b>R</b>oute messages to the appropriate service providing virtualization</div><div>-<span class="Apple-tab-span" style="white-space:pre">	</span><b>O</b>rchestrate services and provide a new set of services</div></div><div><br /></div>]]>
        <![CDATA[<div>We asked Infosys' SOA architect community and posed the following questions:</div><div><br /></div><div><ul><li>Does ESB act only as a mediator implementing the mediator pattern? Does it not become orthogonal to the concept of Service Orienting an enterprise. The objective of providing a well defined interface is precisely that the consumers are well aware of the message structure that they need to provide. So where is the need for mediation? If you start modifying/mapping the messages too much then are you actually getting the business logic inside the ESB?</li></ul><ul><li>Another selling point is that an ESB provides complete de-coupling between the consumers and the providers and theoretically one should be unaware of the other. While the technical aspect of this makes sense, what is the actual functional usage. Would a consumer ever want to use a service which it doesn't know of and let the ESB take decision on its behalf?</li></ul><ul><li>How much practical is it to aggregate services to form new functionality? The re-usability part really comes in the data services but is it not just objects?</li></ul><ul><li>Do you think ESB is old wine in a new bottle and is the old middleware + web services capability?</li></ul></div><div><br /></div><div>We got some very insightful responses to the questions posed above. Though everyone believes that the usage of ESB is kind of a requirement from an implementation perspective, we do need to be careful in our implementation approach. Following are some viewpoints why and where you should really go ahead with an ESB and the pitfalls that you need to be aware of:</div><div><br /></div><div><ul><li>Treat ESB first as a concept and an Architecture Pattern. ESB should be seen as one of the SOA enablers. Having an ESB will obviously not service orient an enterprise. The focus should still be on service identification, definition and Governance</li></ul><ul><li>However, once you have the services it is almost certain that you would need to integrate them with the consumers. Which means you need to address the usual integration requirements (read VETRO capabilities) that are non-functional and cut across multiple services. As a matter of fact that is what has given birth to SOA specific products like ESB, service registry etc. Other than integration, there are important aspects like policy enforcement, security, non repudiation etc which can be in the ESB or specialized appliances. Providing location transparency, virtualizing services, aggregation are critical to SOA adoption and are prevalent ESB capabilities</li></ul><ul><li>We have seen in SOA initiatives where the service consumer and provider are completely de-coupled from each other meaning the consumer doesn't know anything about the provider and the vice versa. An ESB facilitates this kind of requirement. However a word of caution. It is recommended that while taking such an approach the ESB agents should &nbsp;make clear about SLAs, availability, load etc to the consumers and providers. Without that there would be mismatch in expectations that might lead to failed SOA initiatives. There might also be a need that the consumers actually make a decision as to which service needs to be invoked. It is recommended that QoS, security and other capabilities be a part of the contract itself so that the consumers are actually aware what they are getting from the service</li></ul><ul><li>We recommend a BPM layer on top of the ESB integration layer which will have the business process choreography. The individual work-steps in BPM can invoke services hosted on the ESB. Having a BPM will add immense value to business wherein they have much better control on the business processes and will give them an opportunity to manage, monitor and optimize the same</li></ul></div><div><br /></div><div>So yes...ESB can be termed as middleware + web services capability and that is the reason why you see pretty much all the middleware products of yore have now an SOA or ESB component.</div><div><br /></div>]]>
    </content>
</entry>

<entry>
    <title>Use of Agile in Enterprise Architecture</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/03/use_of_agile_in_enterprise_arc.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.871</id>

    <published>2010-03-28T11:47:49Z</published>
    <updated>2010-04-07T11:41:05Z</updated>

    <summary>Agile methods can be successfully applied to all sorts of Enterprise Architecture activities, but to illustrate its applicability I’ll look at how agile applies to the development of a standard technology platform for application development.  What I mean by a technology platform is a set of standard technology components and reference architectures that can be used by application development projects within the organization, such as a platform for e-commerce applications, or a platform for Java-based, web development, etc.</summary>
    <author>
        <name>Jerry Larivee</name>
        
    </author>
    
        <category term="Best Practices" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p>- <a href="http://www.linkedin.com/in/akajerry"><span>Jerry Larivee</span></a></p><p>At this risk of sounding like a management, motivational speaker there is one consistent piece of advice that I give to IT organizations over and over and over again when undertaking large initiatives: start small and build in incremental steps.<span>&nbsp; </span>This is particularly true for Enterprise Architecture groups.<span>&nbsp; </span>It is in this spirit that I recommend the adoption of agile methods within the Enterprise Architecture groups, even if agile is not used within the application development groups of the organization.</p><p>Agile methods can be successfully applied to all sorts of Enterprise Architecture activities, but to illustrate its applicability let&rsquo;s look at how agile applies to the development of a standard technology platform for application development.<span>&nbsp; </span>What I mean by a technology platform is a set of standard technology components and reference architectures that can be used by application development projects within the organization, such as a platform for e-commerce applications, or a platform for Java-based, web development, etc.</p><p>While we&rsquo;re on the subject of using agile development, I&rsquo;ll also cover what considerations one might take into account while defining a technology platform to maximize the benefits of agile methods in application development.</p><p>First let me level-set with quick a definition of agile.</p>]]>
        <![CDATA[<p>If you are familiar with agile, feel free to skip forward.<span>&nbsp; </span>If you&rsquo;d like to read a more thorough explanation of agile I suggest reading &ldquo;<a href="http://books.google.com/books?id=G8EL4H4vf7UC&amp;dq=extreme+programming+explained&amp;printsec=frontcover&amp;source=bn&amp;hl=en&amp;ei=-0itS4m6GcP_lge6-4yQAQ&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=4&amp;ved=0CBsQ6AEwAw#v=onepage&amp;q=&amp;f=false"><span>Extreme Programming Explained: Embrace Change</span></a>&rdquo; by Kent Beck.<span>&nbsp; </span>Even though it&rsquo;s about one specific agile method, <a href="http://en.wikipedia.org/wiki/Extreme_Programming"><span>XP</span></a>, it&rsquo;s a great one-evening-read that covers the core of agile.</p><p>The definition I use is made up of eight simple ideas:</p><ol><li><strong>Small release and rapid feedback cycle</strong> &ndash; By moving stuff into production use as quickly as possible you start to realize benefits quicker and you get feedback sooner.&nbsp; Most importantly you don&rsquo;t wait until months have passed to realize the project is failing.</li><li><strong>Don&rsquo;t be afraid to change the requirements</strong> &ndash; As you put releases out and get feedback, you&rsquo;ll refine your understanding of what the customer wants and the customer will refine their understanding of what is required.&nbsp; This can be a good thing, embrace it.</li><li><strong>Continuous customer interaction</strong> &ndash; By keeping the customer involved you allow for that rapid feedback.</li><li><strong>Define releases based on a functionally complete set of features</strong> - Each release should demonstrate a function of the complete system from the perspective of the customer.&nbsp; I.e. the customer should be able to look at the release and test it against their expectations without someone explaining why this or that doesn&rsquo;t work yet.&nbsp; This goes against a lot of old school engineering practices that say build your entire infrastructure first and then build the functionality.&nbsp; The reality is sometimes we build infrastructure that we never use.&nbsp; A corollary to this is that before we start building we should know how to test, so when the customer defines the requirement we need to also define a test case.</li><li><strong>Don&rsquo;t be afraid to refactor</strong> &ndash; One of the reasons we tend to build out infrastructure before functionality is because we like to write a piece if code, test it, call it done, lock it away in a source control system and don&rsquo;t change it again.&nbsp; This works fine if you follow the approach of build all the infrastructure first and then the functionality and you don&rsquo;t change any of the requirements mid-stream.&nbsp; Since we&rsquo;ve already accepted the fact that requirements will change and we&rsquo;re not building out infrastructure until we need it we have to be flexible and allow for the refactoring of code that was already released.</li><li><strong>Automate testing as much as possible</strong> &ndash; The main reason we fear refactoring is we&rsquo;re afraid we might break something by mistake.&nbsp; The solution: automated regression testing. &nbsp;&nbsp;If it&rsquo;s easy to test if broke something you&rsquo;ll be more confident in your refactoring.</li><li><strong>Continuous integration</strong> &ndash; Since most projects have multiple developers and we&rsquo;re allowing them to refactor code as required we need to synchronize as often as possible.&nbsp; Practically this means a shared environment with all the automated build and test capabilities.&nbsp; Ideally the integration build and test process should be push button.</li><li><strong>Keep it simple</strong> &ndash; Underlying everything in agile is the basic belief that the simplest solution is the best.&nbsp; Don&rsquo;t implement a general purpose spreadsheet if all you need is the ability to sum a column of numbers.&nbsp; Don&rsquo;t build out infrastructure if you don&rsquo;t need it.&nbsp; Don&rsquo;t design complete abstractions when a simple abstraction will do.&nbsp; Don&rsquo;t write hooks for 15 features you haven&rsquo;t thought of yet into something. Etc.</li></ol><p>So let&rsquo;s look at how each of these ideas can be applied to defining a platform:</p><blockquote><p><strong>Small releases and rapid feedback</strong> &ndash; I always recommend to organizations starting to defined standards to start slow.&nbsp; Don&rsquo;t define more standards than the organization needs, has the ability to absorb or has the ability to support.</p><ul><li>If you have only one application that uses a rules engine in your entire portfolio, there&rsquo;s no sense defining a standard around rules engines and certainly no sense is holding up the development of a reference architecture until you&rsquo;ve figured out how to incorporate the rules engine into it. </li><li>Organizations absorb standards by writing new applications that use them, if there aren&rsquo;t any applications in the pipe for development to use a standard it won&rsquo;t get used and by the time it does it might be out of date. </li><li>If you tell someone they have to use AJAX you also need to tell them how to use AJAX.&nbsp; If you don&rsquo;t have the bandwidth to provide the support to a standard think twice about defining it.</li></ul><p>As you put out standards see how they are used and get feedback from actual application developers.&nbsp; If they are also using agile methods you shouldn&rsquo;t have to wait long for feedback.</p><p><strong>Changing Requirements</strong> &ndash; Platforms change whether we want them to or not: technology evolves, vendors update their software, and new applications have new requirements.&nbsp; No matter what methodology you use for platform development you have to plan for change.&nbsp; This is often called the &ldquo;technology adoption lifecycle&rdquo; every company that is serious about managing standards has some version of it.</p><p><strong>Continuous customer interaction</strong> &ndash; This should be even easier for platform development than application development since the customers are members of IT who speak the same language as the platform developers.&nbsp; There&rsquo;s little reason why platform development should not be getting constant input from the application development community.</p><p><strong>Functionally complete feature sets</strong> &ndash; A platform is essentially infrastructure so defining a functionally complete feature set is probably something a platform developer will have an easier time of than an application developer.&nbsp; A platform should address specific needs of the application development, maintenance and operations.&nbsp; Some thought should be put into what those needs are and what the minimum feature set required to develop those releases are.&nbsp; One complication for platforms is that often times they are build on vendor products which have lots of features you don&rsquo;t really need.&nbsp; Part of defining a platform is setting the rules around which features of a vendors product&nbsp;should be encouraged, which ones allowed and which ones discouraged or even banned.&nbsp; This is something that is often missed in platform development; the results are applications that are irrevocably tied to a specific vendor&rsquo;s product.</p><p><strong>Refactoring</strong> &ndash; Not that I want to discourage the use of refactoring, but a word of caution here is prudent.<span>&nbsp; </span>Good platforms are designed to be modular with well defined interfaces between the modules and most important clean Application Programmer Interfaces (API) exposed for the developer using the platform.<span>&nbsp; </span>When refactoring within a platform it is ok to change the interfaces between modules in the platform, but be very judicious when changing the externally exposed APIs.</p><p><strong>Automated testing</strong> &ndash; This is just good practice, I don&rsquo;t care what you&rsquo;re developing.&nbsp; And the infrastructure guys will love you if you develop an automated test for validating a deployed platform.</p><p><strong>Continuous integration</strong> &ndash; Another good practice, and again the infrastructure guys will take whatever assistance they can get in automating the deployment of a platform.</p><p><strong>Keep it simple</strong> &ndash; There&rsquo;s an old saying about the US Supreme Court that says the court can withstand anything except ridicule.&nbsp; Basically it means that if the court makes decisions and nobody follows them, they become meaningless. &nbsp;&nbsp;As a result the court tends to look for the simplest way to resolve any issue figuring that it will also be the most readily accepted by all parties.&nbsp; The same is true of platform developers.&nbsp; If no one uses the platform it becomes meaningless, thus a good platform is both modular and minimalist, thus allowing for piecemeal adoption as an alternative to wholesale rejection.</p></blockquote><p>As promised, while we&rsquo;re on the subject let&rsquo;s look at how a standardized technology platform can support agile application development.</p><blockquote><p><strong>Small releases and rapid feedback</strong> &ndash;&nbsp;Part of a platform definition should include the release mechanism.&nbsp; If releasing a new application onto a platform is a four week task, then the idea of small, rapid releases will not be very efficient.&nbsp; The platform should be designed to allow for releases as quickly and effortlessly as possible.</p><p><strong>Changing Requirements</strong> &ndash;&nbsp;One of the most contentious parts of any application development project is defining non-functional requirements (NFR).<span>&nbsp; </span>Project shouldn&rsquo;t be focusing on NFRs that much in the first place; most NFR should already be defined at the enterprise-level (i.e. availability, security, monitoring, etc.).<span>&nbsp; </span>By building enterprise-level NFR compliance into the platform, the application development team can focus on functional requirements.</p><p><strong>Continuous customer interaction</strong> &ndash; The platform needs to support development. &nbsp;&nbsp;The development group shouldn&rsquo;t have to figure out how to make a &ldquo;beta&rdquo; version of the application available to the customer, the platform should have that mechanism already.</p><p><strong>Functionally complete feature sets</strong> &ndash; This is one of the fundamental reasons why we build platforms.&nbsp; A lot of the infrastructure issues will be common across applications and to the extent that the platform is complete out of the box the application developers can jump straight into functionality development knowing all the basic infrastructure is there already.</p><p><strong>Refactoring</strong> &ndash;&nbsp;If the platform is modular it will support refactoring the application in smaller increments.<span>&nbsp; </span>Often times the scope of a given increment will be influenced by the scope of the modules within the underlying platform.</p><p><strong>Automated testing</strong> &ndash; The platform can do a lot to support automated testing; this should be included as a requirement in the platform development.&nbsp; Also, there should be a simple way to validate a platform has not been corrupted as well as mechanisms to support the regression testing of an application when the underlying platform changes.&nbsp; How many times do we defer taking&nbsp;vendor updates because we&rsquo;re afraid it&rsquo;ll break something?</p><p><strong>Continuous integration</strong> &ndash; Again the platform can do a lot to support continuous integration.&nbsp; Most immediately if the platform can easily be virtualized that solves a host of resource issues.&nbsp; Also, the easier it is to deploy the platform the easier it is to refresh our environment if we&rsquo;re afraid we corrupted something during testing.</p><p><strong>Keep it simple</strong> &ndash; Developers are assumed to have a certain base knowledge set, but they&rsquo;ll need to learn a few things about the platform if it&rsquo;s the first time they use it or if it&rsquo;s been updated.&nbsp; The platform developer should try to minimize this learning curve.&nbsp; It&rsquo;s just good practice.</p></blockquote><p>A final word about the adoption of agile for Enterprise Architecture work, this one&rsquo;s for the finance guys.<span>&nbsp; </span>One complaint about agile application development is that it doesn&rsquo;t fit well within generally accepted practices for deciding when it is acceptable to capitalize application development and when to treat it as an expense.<span>&nbsp; </span>To make matter worse the general practice is: when in doubt treat it as an expense.<span>&nbsp; </span>Unfortunately this has the result that when comparing agile to waterfall, agile looks less attractive from a financial perspective.<span>&nbsp; </span>Fortunately since Enterprise Architecture work is treated an expense in most cases anyway, this isn&rsquo;t really a problem.<span>&nbsp; </span>In fact, agile&rsquo;s focus on small releases, put into production quickly will allow your EA effort to deliver return on investment more quickly; that&rsquo;s always a good thing.</p>]]>
    </content>
</entry>

<entry>
    <title>Architects are Right-Brain Thinkers</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/03/architects_are_right_brain_thi.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.870</id>

    <published>2010-03-19T05:57:44Z</published>
    <updated>2010-04-07T11:41:05Z</updated>

    <summary>The programmer’s skill is analysis, but the core architect’s skill is synthesis.  In his book “A Whole New Mind: Why Right Brainers will Rule the Future” Daniel Pink points out that analysis is a left-brain skill, but synthesis is a right-brain skill.  This starts to explain the challenge that most organizations face in trying to “grow” architects.  The traditional developer evolutionary path focuses on training the left-brain, but a good architect requires both a well developed right-brain as well as left-brain.</summary>
    <author>
        <name>Jerry Larivee</name>
        
    </author>
    
        <category term="Organization" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p>- <a href="http://www.linkedin.com/in/akajerry">Jerry Larivee</a></p><p>In the recent Garner report &ldquo;<a href="http://www.gartner.com/DisplayDocument?doc_cd=174157">Ten Criteria for Choosing an External Service Provider for Your EA Effort</a>&quot;, 3 of the 10 criteria related directly to the architects from the External Service Provider (ESP): </p><blockquote><p><em>6.5 Does the ESP Have a Standard Approach for Identifying and Developing Architects Within Its Pool of Consultants? </em></p><p><em>6.6 Does the ESP Have a Standard Way of Describing Architects' Levels of Competence? </em></p><p><em>6.7 Does the ESP Have a Consistent Way of Staffing the Right Architect With the Right Skills on the Right Project?</em></p></blockquote><p>Gartner is quite right to include these in their criteria.<span>&nbsp; </span>No issue has nagged the Architecture profession in general and the Enterprise Architecture discipline in particular as the challenge of identifying and developing architects.</p><p>I&rsquo;ve often said that we play a cruel joke on most architects at some point in their career.<span>&nbsp; </span>Since most architects start as developers they spend years learning to take large problems and efficiently break them down into smaller and smaller pieces until finally they get to a level of detail that they can readily translate into code.<span>&nbsp; </span>Then after having proved their analysis skills sufficiently they are promoted to architect and told to do everything they used to do except backwards.</p><p>The programmer&rsquo;s skill is analysis, but the core architect&rsquo;s skill is synthesis.<span>&nbsp; </span>This is not to say that architecture doesn&rsquo;t require a great deal of analysis, but the critical step in architecture is often re-assembling the pieces into new higher-level constructs in order to get to that which is &ldquo;architecturally significant&rdquo;.<span>&nbsp; </span>This is synthesis.</p><p>In his book &ldquo;<a href="http://www.danpink.com/whole-new-mind">A Whole New Mind: Why Right Brainers will Rule the Future</a>&rdquo; Daniel Pink points out that analysis is a left-brain-directed skill, but synthesis is a right-brain-directed skill.</p>]]>
        <![CDATA[<p>This starts to explain the challenge that most organizations face in trying to &ldquo;grow&rdquo; architects.<span>&nbsp; </span>The traditional developer evolutionary path focuses on training the left-brain, but a good architect requires both a well developed right-brain as well as left-brain.</p><p>(This is an EA blog and not a neuroscience blog, so if you want to understand all the differences between the left-brain and the right-brain I suggest reading &ldquo;A Whole New Mind&rdquo;, but suffice it to say that the left-brain is sequential and logical, but the right-brain is holistic or non-sequential and intuitive.)</p><p>Diving deeper into &ldquo;A Whole New Mind&rdquo;, Mr. Pink describes six essential &ldquo;senses&rdquo;, as he calls them, which are all right-brain-directed aptitudes.<span>&nbsp; </span>He argues that these senses complement our left-brain-directed reasoning and are essential to success in the new &ldquo;conceptual era&rdquo; that we now find ourselves entering.</p><p>Whereas he describes the value of these senses in a generic context, I&rsquo;ll describe their value to the architect.</p><ol><li><strong>Design</strong> &ndash; In order for a system to be successful it must first of all be usable and second of all it must be used.<span>&nbsp; </span>A system that merely delivers function may not meet either of these criteria.<span>&nbsp; </span>Particularly when implementing a system that changes the way people work, it is important to design a system that compels the user to explore the new functionality and incorporate it into their normal way of working.<span>&nbsp; </span>One could argue the Blackberry and the iPhone have very similar functionality, but whereas as the Blackberry took nearly a decade to become ubiquitous, the iPhone achieved the same within its first year.<span>&nbsp; </span>Why?<span>&nbsp; </span>Design.</li><li><strong>Story</strong> &ndash; Architects often have the skill of being able to hold an enormous amount of complexity in their heads at one time, but the successful architect can convey this complexity to others in a way that is simple.<span>&nbsp; </span>The unsuccessful architects is often frustrated by the fact that their audience cannot appreciate or even understand the elegant models they develop to manage complexity no matter how many times they take them through the details.<span>&nbsp; </span>But the successful architect uses metaphor and story to convey their message.</li><li><strong>Symphony</strong> &ndash; Can anyone doubt that architects must be big picture thinkers?<span>&nbsp; </span>The sense of symphony is to see the whole composition, to understand how a change in each component will affect the whole.</li><li><strong>Empathy</strong> &ndash; As any fan of Star Trek knows, humans are not known for being logical.<span>&nbsp; </span>An architect&rsquo;s ability to really put himself/herself in the shoes of the user is enormously important.<span>&nbsp; </span>This ability is a form of empathy, feeling with the user not just feeling for the user.</li><li><strong>Play</strong> &ndash; The notion of play has lost much of its frivolous taboo in recent years.<span>&nbsp; </span>Much research points to the effectiveness of games at teaching problem solving skills.<span>&nbsp; </span>In some case games can themselves be used as problem solving techniques. <span>&nbsp;</span>And last but certainly not least, the value of &ldquo;fun&rdquo; has been shown to be significant in boosting productivity, facilitating adoption of new ideas and ways of working, and even enhancing the retention of knowledge.<span>&nbsp; </span>When the LoJack system was first deployed one factor leading to its adoption was that police officer found it fun to use the system; tracking down a stolen car took on a video game-like quality and thus the police embraced it whole heartedly.<span>&nbsp; </span>An Architect should be able to incorporate the right mix of seriousness and play in the systems he/she designs.</li><li><strong>Meaning</strong> &ndash; Although the current &ldquo;Great Recession&rdquo; has caused many people and corporations to focus more on survival, this will likely prove to be a minor blip in a trend that has seen the developed world search out for meaning in life as it feels more and more comfortable that its basic material needs will be met.<span>&nbsp; </span>This applies to both individuals as well as corporations; how many corporations today have adopted corporate value statements that include the responsibility of the corporation to society as a whole.<span>&nbsp; </span>Enterprise Architects are well position to help balance the fiduciary responsibility of a corporation to its shareholder with these socially-conscious corporate value statements.</li></ol><p>All this might lead one to conclude what many have always feared, that architects cannot be grown; they must be found.<span>&nbsp; </span>Fortunately as Mr. Pink points out one can develop their right-brain skills just as we have learned to develop our left-brain skills.<span>&nbsp; </span>He offers exercises for developing the six senses in his book.</p><p>So I believe architects can be grown, but to do so requires a program that develops both left-brain and right-brain skills.<span>&nbsp; </span>And whereas experience does count for a lot in the discipline of architecture, I&rsquo;m not so convinced that the experience one acquires from years of being a developer or a project manager is what one needs to be a good architect.</p><p>It is my hope that the architect profession evolves to the point where architect training starts much earlier in the career of individuals.<span>&nbsp; </span>In fact I would hope (and I believe there are schools working on this) that architecture evolves to the point where colleges and universities offer IT and Enterprise Architecture degrees just as they offer building architecture degrees.<span>&nbsp; </span>And these degrees will develop both left-brain and right-brain skills just as current day design school do.</p>]]>
    </content>
</entry>

<entry>
    <title>5 Questions for IT Organizations to worry about</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/03/5_questions_for_it_organizatio.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.5121</id>

    <published>2010-03-11T08:57:24Z</published>
    <updated>2011-09-23T10:16:18Z</updated>

    <summary>Changes are taking shape. Some are evident, many are like undercurrents, yet not prominently visible but slowly moving the needle, like global warming. I&apos;m talking about the changes in the industry with respect to future of IT and IT organizations. Where businesses stand today and what they need in future, how much ready are IT organizations to make it happen for them?</summary>
    <author>
        <name>Rakesh Mishra</name>
        
    </author>
    
        <category term="Enterprise Concerns" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p>Changes are taking shape. Some are evident, many are like undercurrents, yet not prominently visible but slowly moving the needle, like global warming. I'm talking about the changes in the industry with respect to future of IT and IT organizations. Where businesses stand today and what they need in future, how much ready are IT organizations to make it happen for them? </p>]]>
        <![CDATA[<p>While today we mostly ask the questions in terms of new technologies as far as the IT organizations are concerned for their readiness, I think its going to be far more fundamental that we will need to worry about going forward since the changes happening around will make many of the existing models, methods and patterns of IT services irrelevant. Lot of this has to be do with the changing expectations of how IT will be used in future, how products and technologies in IT are going to be like and how businesses are going to structure themselves to make business happen on IT driven business operation eco-system. Needless to say, that this eco-system is not just applications but digital devices, sensors and all that you can think of. In recent past I had quite diverse conversations with organization leadership teams, especially in the context of Business value strategy. Using that as a background and seeing what else is happening around, here is what I think should be top 5 worry for the IT organizations that are providing services to their business owners.</p><ol><li><strong>What is the cost that your organization is paying for your constraints?</strong> - constraints could be your service levels in terms of response time, could be quality, could be ability to resolve business challenges. Most important thing is that you as IT organization, are you aware of cost that business pays for every constraint that you bring on the table? You may not be watching but trust me, one who is paying the cheque for your services is watching it. Check it out.</li><li><strong>Given a chance of better &lsquo;service provider&rsquo; today, will Business owners replace you?</strong> - Don't get surprised. Many organizations treat their internal IT organization as yet another IT services provides and pretty much deal with them like one. Organizations have kind of got into mindset of looking for better options if their internal IT organization is not able to perform upto the mark. Options are always there, its just matter of making the decision. Its all going to be 'business value' game and every one will have to earn the cheque through business value delivery and not just by 'doing things'. Serious stuff, I think.</li><li><strong>Will you remain relevant &lsquo;tomorrow&rsquo; with changing patterns of technology evolution?</strong> - Changes are happening rapidly and some of them will change the game for businesses. Linking back to previous point, you as service organization, how much are you ready to enable your businesses to leverage the new technologies without reading putting much to stake in terms of risk? If you do not evolve, new technologies will make you irrelevant in terms of your servicing capabilities and point# 2 will make it even more serious.</li><li><strong>Are you busy solving your internal problems or are you solving business problems?</strong> - Watch out where are the leaders and managers of your IT organizations spending their time on. If they are busy sorting out their internal issues and not really providing leadership in resolving business challenges through IT capabilities, there is lot of wastage happening. Its not more affordable. </li><li><strong>How much can your business organization rely on you for their future bets?</strong> - Probably THE most crucial question that IT organizations need to think of. Can their businesses rely on them to capably provide support for the future business bets of the organization? Businesses are in transition and hence no one really knows how things are going to be turned out in future. But they are picking up their best bets and playing on it. If IT organizations are not able to support the future bets, that's lot to lose, big stake. So first, as IT organization, are you aware what those big business bets are for your organization and secondly, are you ready to make those bets happen from your end?</li></ol><p>Is this scary? It should be. But again, its meant to show the good news also. While it is scary, it also means that current way of doing is not going to sustain so you have option to change the game. That's exciting part of it. You get to be part of the change and not just being part of the change but leading the change. Can you ask for more?</p>]]>
    </content>
</entry>

<entry>
    <title>“Information as service” is a strategic enterprise level initiative in service orientation journey</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/02/information_as_service_is_a_st.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.5119</id>

    <published>2010-02-27T14:05:58Z</published>
    <updated>2011-09-23T10:16:18Z</updated>

    <summary><![CDATA[
    By Murteza Salemi
  Information  in SOA world is often considered only within the context of specific services  and processes whilst the most awaited gains and benefits of SOA investment is  business information availability throughout the organization and to its  partners and regulators. When an organization embarks on SOA and integrates its  internal systems across LOB&rsquo;s it will soon discover that there are inconsistencies  in its information that was not visible before as it was hidden within various silo  applications and data sources.]]></summary>
    <author>
        <name>Shubhankar Sumar</name>
        
    </author>
    
        <category term="SOA in the Real World" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[  <p>  <strong>By Murteza Salemi</strong><br /></p>
<p>Information  in SOA world is often considered only within the context of specific services  and processes whilst the most awaited gains and benefits of SOA investment is  business information availability throughout the organization and to its  partners and regulators. When an organization embarks on SOA and integrates its  internal systems across LOB&rsquo;s it will soon discover that there are inconsistencies  in its information that was not visible before as it was hidden within various silo  applications and data sources.</p>]]>
        <![CDATA[<p>  &nbsp;SOA focuses mainly on mapping service  components to business processes, and on mapping business processes to business  services. However, during this process the quality of the data involved is  either ignored or given low priority. Implementing and running services on top  of distinct legacy systems, applications and repositories, each with their own  levels of data quality and without cross-system de-duplication and cleansing, results  to an SOA solution that looks great on the surface but internally hold poor  data quality. How can one, for instance, implement an enterprise wide Customer Service  or Product Service when parts of the customer and product data are scattered  over several data sources with different levels of data consistency, and  without proper data matching and de-duplication? Which data source should the  service pick its data from for further processing? <br />
  Without  having MDM in terms of information services in place to cater for data quality  and consistency, applying service oriented architecture can make the matter  worse and have unpleasant and in some cases dire consequences for an  organisation. This is simply due to now having services that expose incorrect,  un-trusted, duplicated and un-cleansed data that is consumed by many more  consumers than when there was no SOA in place. As SOA is a strategic enterprise  wide initiative, MDM needs to be considered at the same level rather than a  specific project implementation for a specific line of business.<br /><br />
  Of  course it is quite possible to implement MDM without services or SOA  architecture. Instead of building services to maintain and retrieve the master  data, ETL (extract, transform and load) tools could be used to build the  required master data management solution. Data can be standardized, validated,  de-duplicated and cleansed whilst it is being pushed into an MDM underlying  data model. However, the ETL job batches that implement such a solution would  quickly become fairly complicated in any approach to the same level of data  quality as can be achieved by a set of well-designed information services. <br />
  &nbsp;In a rather simple scenario a non-SOA MDM  approach might work &nbsp;but it will not have  the advantages of being real-time services as &ldquo;information as service&rdquo; would  offer. Such a non-SOA solution approach will hinder the smooth integration  between this solution and the rest of the enterprise business processes as  otherwise it could be easily achieved by SOA approach. Capabilities such as  instant updates with proper transactional (two-phased commit,  XA  compliant) control would not be available. Security, data visibility, and data  entitlements would be hard to control if data access is done directly to the  database, and so forth. <br /> <br />
  In  short, MDM implemented as &ldquo;information as service&rdquo; will complement the goal of  service orientation and push SOA to reach its full potential for an  organisation. Information that is trusted and delivered in-line and in context can be  an accelerator to innovation, enabling organisations to optimize their  operations, reduce their risk, and discover new business opportunities. Simply  by improving visibility into business operations and core business data,  companies are better equipped and armed to compete effectively. Information  integration through MDM solves this by giving processes, people and  applications a single view of the truth.&nbsp;SOA&nbsp;enables this single view to be  made accessible to the entire enterprise, ensuring that consistent&nbsp;governance&nbsp;is always in place and&nbsp;<a name="467" id="467"></a><a name="indexterm.F599FBC9-264C-4E05-972E-6EDB42" id="indexterm.F599FBC9-264C-4E05-972E-6EDB42"></a>enforced. It  also offers more flexibility to change, by insulating application changes from  information changes.</p>
<p>&nbsp;</p>]]>
    </content>
</entry>

<entry>
    <title>Rules of Evidence for Architecture</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/02/rules_of_evidence_for_architec.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.869</id>

    <published>2010-02-02T18:18:50Z</published>
    <updated>2010-04-07T11:41:05Z</updated>

    <summary>A common pitfall that IT organizations fall into when trying to formalize the practice of architecture is to setup an architecture review broad (ARB) without proper foundation; specifically without setting down the rules of evidence for architecture.  This post doesn&apos;t try to define a strict formula for these rules of evidence for architecture; instead it just focuses on some of the basics.</summary>
    <author>
        <name>Jerry Larivee</name>
        
    </author>
    
        <category term="Best Practices" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p>- <a href="http://www.linkedin.com/in/akajerry">Jerry Larivee</a></p><p>Yesterday I had jury duty; one of only two civic duties enumerated in the US Constitution &ndash; the other being voting (ok paying taxes might count as three, but let&rsquo;s not go there).<span>&nbsp; </span>Anyway, several hours of sitting in a court house did get me thinking about the &ldquo;rules of evidence&rdquo; for architecture.</p><p>A common pitfall that IT organizations fall into when trying to formalize the practice of architecture is to setup an architecture review broad (ARB) without proper foundation; specifically without setting down the rules of evidence for architecture.<span>&nbsp; </span>In ancient times the village elders or some monarch dispensed justice without formal legal structure, but I&rsquo;ve yet to see an ARB that wielded this kind of absolute authority over IT projects.</p><p>So just as modern courts are governed by <a href="http://www.law.cornell.edu/rules/fre/">rules of evidence</a>, the ARB must define what is to be presented as part of an architecture review and what criteria is to be used to judge the fitness of what&rsquo;s presented.<span>&nbsp; </span><a href="http://www.opengroup.org/togaf/">TOGAF</a><span>&trade;</span> provides a succinct description of the function of an &ldquo;<a href="http://www.opengroup.org/architecture/togaf9-doc/arch/chap47.html">Architecture Board</a>&rdquo; without trying to define any strict formula for an ARB to follow.<span>&nbsp; </span>Nor will I try.<span>&nbsp; </span>Instead I&rsquo;ll just focus on some of the basics.</p>]]>
        <![CDATA[<h3>Standards</h3><p>A common ARB function is to ensure conformance to standards.<span>&nbsp; </span>If the organization has not defined any standards or has failed to define standards that are relevant to the projects that the ARB will review, then this part of the review becomes little more than a debate between architects.<span>&nbsp; </span>It may be a debate in good faith, but that&rsquo;s called a design review and whereas I&rsquo;m all in favor of architects reviewing each other work and giving feedback, this process generally lacks the kind of demonstrable benefits that are required to justify anything beyond the most cursory investment of resources in the ARB.</p><p>I mentioned the importance of standards being relevant.<span>&nbsp; </span>Standards are defined because they either solve a common problem, thus saving time and resources from having to solve the same problem over and over again, or they support some other architectural objective such as security or ease of integration.<span>&nbsp; </span>If one can&rsquo;t demonstrate how either of these is the case for a project under review, then the standard is not relevant and enforcing conformance becomes a challenge.</p><p>When deciding where to start with defining standards it&rsquo;s a good idea to look in three areas:</p><ol><li>Look at what is in common use in the organization today.<span>&nbsp; </span>This represents a set of successfully applied solutions to a set of known problems.<span>&nbsp; </span>It also represents technology that is already familiar to the organization and skills sets that are already available.</li><li>Look at the pipeline of projects in development or under consideration.<span>&nbsp; </span>This represents a set of problems that will need to be solved in the near future, but be sure to look for common problems, not simply interesting ones or even the hard ones.</li><li>Look at known architecture priorities of the organization.<span>&nbsp; </span>E.g. improving security, enhanced analytics capabilities, or improved integration between systems.</li></ol><h3>Architecture Artifacts</h3><p>A well defined set of standards is not the only requirement for a successful ARB.<span>&nbsp; </span>Defining what has to be brought into the review is also important.<span>&nbsp; </span>Besides allowing the project team to appropriately prepare for an architecture review it also ensures that the ARB get&rsquo;s a complete and accurate picture of the project under review and solutions being proposed.</p><p>For many a project teams, an architecture review is nothing more than a hurdle to be passed with as little delay or disruption to the project plan as possible.<span>&nbsp; </span>Thus the project team is often incentivized to game the review process, not to embrace it.<span>&nbsp; </span>Gaming the review process is usually just a matter of presenting those aspects of the project that are most well understood and avoiding those areas that are less understood when presenting the project to the ARB.<span>&nbsp; </span>This is only possible when the material to be presented is left up to the discretion of the project team.</p><p>Defining what architecture artifacts should be brought into a review should be based on the artifacts that are already being created as a part of the project.<span>&nbsp; </span>The challenge here is that many an organization lacks a really well defined architecture methodology that all projects follow.<span>&nbsp; </span>Exactly what type of artifacts should be a part of a project architecture methodology, I&rsquo;ll leave for another (much longer) posting.<span>&nbsp; </span>The key is that when defining the artifacts that should be created as part of the project and brought into the architecture review one should keep in mind what information about what aspect of the project or the proposed solution each artifacts is communicating and how each artifacts is used in future steps in the process.</p><h3>Scope</h3><p>The scope of the architecture review also needs to be defined.<span>&nbsp; </span>Is it just about application architect? Does it cover data and information architecture?<span>&nbsp; </span>Does it cover infrastructure?<span>&nbsp; </span>For whatever scope is defined for the ARB, the appropriate standards and artifacts need to be defined.<span>&nbsp; </span>Also the ARB needs to include subject matter experts across the full scope of the ARB.</p><p>Many organizations divide the architecture review process across multiple boards.<span>&nbsp; </span>This separation of concerns can be useful in ensuring that each area of concern is fully addressed, but it can also provide an additional burden for the project team to have to prepare multiple reviews.<span>&nbsp; </span>When choosing to separate concerns it is still important to have some coordinating function to ensure that all the appropriate concerns are addressed; this is often delegated to whatever general project governance process exists.</p><h3>Outcomes</h3><span>Finally it&rsquo;s important to have some understanding of what kinds of outcomes to expect from the ARB.<span>&nbsp; </span>In the legal world there are appeal processes, sentencing guidelines and concepts such as &ldquo;<a href="http://www.answers.com/topic/double-jeopardy">double jeopardy</a>&rdquo; that guide the outcome of a trial and what may happen next.<span>&nbsp; </span>Whatever the possible outcomes are they should be supportive of the fundamental objectives for creating the ARB.</span>]]>
    </content>
</entry>

<entry>
    <title>Transformation, Inertia and Enterprise Architecture</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/01/transformation_inertia_and_ent_1.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.868</id>

    <published>2010-01-28T17:23:56Z</published>
    <updated>2010-04-07T11:41:05Z</updated>

    <summary><![CDATA[- Jerry Larivee&nbsp;Justice Potter Stewart said that he couldn&rsquo;t define pornography, but &ldquo;I know it when I see it&rdquo;.&nbsp; I often feel the same about the term &ldquo;enterprise transformation&rdquo;.&nbsp; Not that there haven&rsquo;t been many attempts at defining transformation; I...]]></summary>
    <author>
        <name>Jerry Larivee</name>
        
    </author>
    
        <category term="Best Practices" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p>- <a href="http://www.linkedin.com/in/akajerry">Jerry Larivee</a>&nbsp;</p><p>Justice Potter Stewart said that he couldn&rsquo;t define pornography, but &ldquo;I know it when I see it&rdquo;.&nbsp; I often feel the same about the term &ldquo;enterprise transformation&rdquo;.&nbsp; Not that there haven&rsquo;t been many attempts at defining transformation; I just feel that most fall short of addressing the vernacular use of the word.&nbsp; Particular they don&rsquo;t address just what is it about transformational projects that make them harder than any other large project.&nbsp; Nor do they help identify when &ldquo;transformation&rdquo; is required.</p><p>So let me posit a different term: inertia.&nbsp; Often when we use the term &ldquo;transformation&rdquo; what we are really talking about is significant or sudden change in inertia.&nbsp; Consequently the role of Enterprise Architecture can be defined in terms of how it is used to manage inertia in an enterprise.</p>]]>
        <![CDATA[<h1>Transformation Overcomes Inertia</h1><p>Enterprises develop inertia over time.&nbsp; And just as inertia keeps a gyroscope from changing direction, inertia stops enterprises from changing themselves.&nbsp; Transformation is about overcoming inertia to change direction.</p><p>Inertia is not always a bad thing.&nbsp; Inertia can be very valuable in keeping an enterprise on track. When we talk about institutionalizing change we are talking about creating inertia that will keep the enterprise from reverting back to its old ways.&nbsp; In this case inertia is the gyroscope that keeps the organization moving in the right direction.&nbsp; It guides future decisions as processes and systems are updated.</p><p>Thus not all change is a change in direction.&nbsp; Some change may be a course correction or a detour around a temporary obstacle.&nbsp; Some change may be simply to keep going the same way but more efficiently or faster.&nbsp; These changes may nor require a change in inertia at all, or may require only minor changes in inertia.</p><p>However, when a change in direction is significant or sudden inertia will become a major obstacle to change.&nbsp; This requires an effort of Herculean proportions; this requires transformation.</p><h2>Types of Bad Inertia</h2><ul><li>Organizational Inertia &ndash; This is about people resisting change.</li><ul><li>Managers and executives resist change when they fear they will lose power because of it.</li><li>Employees resist change when they fear they will lose their job because of it.</li><li>But mostly people fear change because they lack confidence in the portability of their existing skill set and their own ability to adapt or learn new skills</li></ul><li>Financial Inertia &ndash; This is about the cost of change. Pre-existing investments in capital and resources make change expensive:</li><ul><li>We just built that factory last year.</li><li>We just implementation that system.</li><li>We&rsquo;re still depreciating that expense.</li></ul><li>Process Inertia - The &ldquo;we always do it that way&rdquo; syndrome.</li><li>System Inertia - We do it that way because that the only way the system supports and the system is too hard to change.</li></ul><h1>Strategy Sets the Course, Execution is the Journey</h1><p>When we talk about direction for an enterprise we are talking about strategy.&nbsp; Strategy does not simply specify a straight line direction; strategy defines a course from where we currently are to where we want to go.</p><p>Execution is how we translate strategy into action.&nbsp; When strategy and execution are aligned the enterprise moves smoothly along the course laid out in the strategy.&nbsp; Over time strategy changes and execution must change with it, but if inertia has built up and is not properly accounted for strategy and execution can drift out of alignment.&nbsp; The problem is not that we don&rsquo;t know we need to change direction; the problem is we can&rsquo;t change direction as easily as expected.</p><p>Take the example of a car driving on an icy road.&nbsp; If the road suddenly curves the driver will see it and know that he/she must change direction to match the curve.&nbsp; So he/she turns the wheel of the car, but the ice on the road has robbed the tires of the traction required to execute that turn; the car continues to go straight.&nbsp; The driver continues to turn the wheel for the expectation is that turning the wheel will cause the car to turn.&nbsp; Finally the tires may summon enough traction to execute a turn, but at this point the driver may have over turned the wheel and the car turns more than required.&nbsp; Anyone who has lived and driven in a cold winter climate knows how this story ends.</p><p>Unfortunately unlike the driver of the car on the icy road, it is not as easy to recognize when the enterprise has failed to change direction as desired.&nbsp; Often times the enterprise fails to respond to even what are considered minor changes in strategy. This failure to respond may go unnoticed as may the next change in strategy and the next.&nbsp; Left unattended the misalignment between strategy and execution grows over time.&nbsp; Worse yet as execution deviates from strategy making strategy changes become harder because the assumed starting point may not be correct.</p><p>Back to the analogy of the car on the icy road; since the normal feedback associated with turning the wheel is not available, the driver turns the wheel randomly until he/she is no longer certain in which direction the wheels are pointing.&nbsp; This is an enterprise skidding out of control.</p><h1>The Role of EA in Avoiding the Car Wreck</h1><p>It&rsquo;s popular to talk about Enterprise Architecture as aligning business and IT.&nbsp; Like &ldquo;transformation&rdquo; that has always struck me as too vague.&nbsp; I prefer to talk about EA as aligning execution to strategy.</p><p>So if we define transformation either in terms of change to strategy or re-alignment of execution to strategy, the role of EA in transformation becomes one or more of the following:</p><ol><li>Avoiding misalignment of strategy and architecture in the first place.</li><li>Recognizing when there is misalignment between strategy and architecture.</li><li>Identifying specific misalignment between execution and strategy.</li><li>Root cause analysis in the misalignment of execution and strategy.</li><li>Designing new modes of execution that align with strategy.</li><li>Identifying and minimizing the potential for creating bad inertia in the execution of strategy, in particular avoiding System Inertia, one of the most common and troublesome forms of inertia.</li></ol>]]>
    </content>
</entry>

<entry>
    <title>On the intricacies of composing the word “Architecture”</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/01/on_the_intricacies_of_composin.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.867</id>

    <published>2010-01-15T10:24:02Z</published>
    <updated>2010-04-07T11:41:05Z</updated>

    <summary><![CDATA[As a participant of many discussions on Enterprise Architecture &ndash; the most insightful I had the opportunity to take part in as a member of the Open Group Architecture Forum &ndash; I found that attempting &nbsp;to define terms like &ldquo;Enterprise...]]></summary>
    <author>
        <name>Thomas Obitz</name>
        
    </author>
    
        <category term="Best Practices" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p><span>As a participant of many discussions on Enterprise Architecture &ndash; the most insightful I had the opportunity to take part in as a member of the Open Group Architecture Forum &ndash; I found that attempting <span>&nbsp;</span>to define terms like &ldquo;Enterprise Architecture&rdquo; or &ldquo;Business Architecture&rdquo; tends not to result in conclusion. While part of these divergencies are due to different contexts of the participants, most of them seem to stem from the ambiguous semantics associated both with the construct of a compound in English language, as well as with the ambiguous use of the word &ldquo;architecture&rdquo;<a name="_ftnref1"></a><span class="MsoFootnoteReference"><span><span class="MsoFootnoteReference"><span>[1]</span></span></span></span>.</span></p><span><p><span>Hence, I thought it would be helpful to describe these uses of the composite &ldquo;XYZ architecture&rdquo; in the context of the Enterprise Architecture discipline. This should facilitate communication between Enterprise Architects by raising awareness for these diverging connotations. It by no means suggests favouring either of these semantics.</span></p></span><p><span>In the following, I try to evaluate the semantic dimensions of &ldquo;architecture&rdquo; compounds &ndash; as a framework for structuring discussions, and facilitating communication. Subsequent postings will evaluate divergent interpretations of terms commonly used in the context of enterprise architecture, and provide recommendations how to handle these interpretations in interactions between architects.</span></p><p><span>Please contribute your own views on how the word architecture is used. It will be extremely interesting to gather additional aspects of the term.</span></p><p><span>Kind Regards</span></p><p><span>Thomas Obitz - </span><span>Principal Architect</span></p><h1><span>Composing &ldquo;Architecture&rdquo;<br /></span></h1><p><span>Within the IT community, the term &ldquo;architecture&rdquo; traditionally is used in one of three ways: One is as a characterization of an object (the &ldquo;architecture&rdquo; of a cathedral), the second is to describe the process of designing these architectures<a name="_ftnref2"></a><span class="MsoFootnoteReference"><span><span class="MsoFootnoteReference"><span>[2]</span></span></span></span>.<span>&nbsp; </span>The third meaning &ndash; the profession of the architect &ndash; today is derived from the second<a name="_ftnref3"></a><span class="MsoFootnoteReference"><span><span class="MsoFootnoteReference"><span>[3]</span></span></span></span>.</span></p><p><span>In the characterizing context, an XYZ architecture can be (without claiming completeness)<br /></span><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>the architecture of an XYZ (Enterprise Architecture - Architecture of an Enterprise)<br /></span><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>an architecture for an XYZ (Enterprise Architecture - Architecture for an Enterprise)<br /></span><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>an architecture describing the XYZ aspects of something (Information Architecture - Architecture describing the information assets of an Enterprise)<br /></span><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>an architecture describing the aspects of &ldquo;something&rdquo; which are relevant for (constructing) an XYZ (Information System Architecture)<br /></span><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>an architecture consisting of XYZs (Process Architecture - Architectural description consisting of process models)<br /></span><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>an architecture in the state XYZ (Target Architecture)<br /></span><span>As an art, we find &ldquo;XYZ architecture&rdquo; as<br /></span><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>architecture using an XYZ approach (Enterprise Architecture &ndash; doing architecture using Enterprise Architectual approaches, even for a smaller unit than an enterprise, or for a government)<br /></span></p><h2><span>Architecture of an XYZ (constitutional)<br /></span></h2><p><span>&nbsp;</span><span>ISO 1471 talks about the &ldquo;architecture of software intensive systems&rdquo;, which was usually abreviated into &ldquo;software architecture&rdquo;. This straightforward interpretation has been transferred to the field of Enterprise Architecture only recently. The &ldquo;Architecture of an Enterprise&rdquo; therefore may describe the relevant aspects of an enterprise, the way an organization is structured, how its departments interact, and how they generate value.<br /></span></p><h2><span>Architecture for an XYZ (demarcational)<br /></span></h2><p><span>&nbsp;</span><span>The terms &ldquo;Enterprise Architecture&rdquo;, &ldquo;Departmental Architecture&rdquo; or &ldquo;Line of Business Architecture&rdquo; can be used to describe the scope an architecture is relevant to. An &ldquo;industry architecture&rdquo; is an architecture not of, but relevant to a specific industry. If used in this way, &ldquo;Enterprise Architecture&rdquo; does not explain what aspects it describes, but just that it applies to the enterprise as a whole. This missing description, however, can be inserted between the two terms: An Enterprise IT architecture describes the IT landscape for the enterprise, an Enterprise Data Architecture its data assets.<br /></span></p><h2><span>Architecture describing the XYZ aspects of something (projective)<br /></span></h2><p><span>&nbsp;</span><span>&ldquo;Enterprise Business Architecture&rdquo; can be used to describe the business aspects of an organization, i.e. the aspects related to achiving its vision and purpose. Enterprise Information Architecture describes the information related aspects of an organization, including their relationship to other architectures.<br /></span><span>This use of XYZ architecture focuses on the aspects of architecture related to a specific concern. It therefore comprises the projection of architecture to a viewpoint or set of viewpoints, and hence is highly dependent on stakeholder concerns.<br /></span></p><h2><span>Architecture describing the aspects of &ldquo;something&rdquo; which are relevant for (constructing) an XYZ (contextualized)<br /></span></h2><p><span>&nbsp;</span><span>When John Zachman wrote his famous paper &ldquo;<a name="OLE_LINK2"></a><a name="OLE_LINK1"></a><span>A framework for Information Systems Architecture</span>&rdquo;<a name="_ftnref4"></a><span class="MsoFootnoteReference"><span><span class="MsoFootnoteReference"><span>[4]</span></span></span></span>, he spoke about much more than just information systems. His framework considers the context in which an organization builds such systems, and which influence their gestalt.<br /></span><span>It is common to perform such contextualization in many compositions of the term architecture, and this approach can be considered as an extension of the constitutional use of the compound.<br /></span></p><h2><span>Architecture consisting of XYZs (compositional)<br /></span></h2><p><span>&nbsp;</span><span>When talking about &ldquo;Process Architecture&rdquo;, we are by and large talking about a documentation set composed of process documents. A similar thinking is behind the (outdated) perception of data architecture as a corporate data model.<br /></span></p><h2><span>Architecture in the state XYZ (state)<br /></span></h2><p><em><span>&nbsp;</span></em><em><span>Using the terms &ldquo;as is&rdquo; or &ldquo;target&rdquo; architecture describes a state in the development of architecture.</span></em><em><span><br /></span></em></p><h2><span>Architecture using an XYZ approach (method)<br /></span></h2><span>Architecture using a specific approach, or a specific framework (TOGAF architecture)<br /></span><h2><span>Architecture organized in an XYZ fashion (organizational setup)<br /></span></h2><p><span>Federated architecture is a way of performing architecture activities in a specific organizational setup. It can be used both for architectural deliverables (where deliverables of a higher level are detailed at the next level) as well as for a way of doing architecture (with a defined distribution of responsibilities between layers).<br /></span></p><div><br /><hr width="33%" size="1" /><div><a name="_ftn1"></a><span class="MsoFootnoteReference"><span><span><span class="MsoFootnoteReference"><span>[1]</span></span></span></span></span><span> </span><span>This paper assumes that the meaning of he compound &ldquo;XYZ architecture&ldquo; actually can be analysed as a specialization of the meaning of &ldquo;architecture&rdquo; by the term &ldquo;XYZ&rdquo;. This is not self-evident. Linguistically, we assume that XYZ architecture is an endocentric compound with the head &ldquo;architecture&rdquo;.<span>&nbsp; </span>Its semantics could be structured in a completely different way: An exocentric compound has a meaning which relates to another, elided term (a redhead is not a head, but a red-headed person). And even interpreted formally as an endocentic compound, the combination of two words can attract a meaning over time which is detached from its constituents &ndash; a &ldquo;blackboard&rdquo; is not just a board which is black, it is a thing with a special purpose (and actually tends to be green). For a long time, &ldquo;Enterprise Architecture&rdquo; has been used in a way which was rather defined by its use in the IT and IT analyst community, than influenced by its constituent terms. For details on the semantics of composition, refer to </span><span><a href="http://en.wikipedia.org/wiki/Compound_(linguistics)"><span>http://en.wikipedia.org/wiki/Compound_(linguistics)</span></a></span><span>.</span></div><div><span><div><span><div id="ftn2"><a name="_ftn2"></a><span class="MsoFootnoteReference"><span><span><span class="MsoFootnoteReference"><span>[2]</span></span></span></span></span><span> This paper will not try to define the term architecture to any further extent, nor will it try to define any of the terms architecture is composed with, as such definitions do not further the understanding of the challenges resulting from their composition.</span><span><br /></span></div><div id="ftn3"><p class="MsoFootnoteText"><a name="_ftn3"></a><span class="MsoFootnoteReference"><span><span><span class="MsoFootnoteReference"><span>[3]</span></span></span></span></span><span> In the IT space, everybody who claims to do &ldquo;architecture&rdquo; &ndash; whatever he defines it to be &ndash; is considered an architect. In traditional &ldquo;building&rdquo; architecture, the profession comprises of aspects like specific business models, codified education, professional bodies, and a legal framework to enforce these structures.</span></p></div><div id="ftn4"><a name="_ftn4"></a><span class="MsoFootnoteReference"><span><span><span class="MsoFootnoteReference"><span>[4]</span></span></span></span></span><span> John A. Zachman, </span><span>A framework for Information Systems Architecture, IBM Systems Journal Vol 26 Issue 3 pp276-292, 1987<br /></span></div></span></div></span></div></div>]]>
        
    </content>
</entry>

<entry>
    <title>Creating Practical Standard Architectures</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2010/01/creating_practical_standard_ar.html" />
    <id>tag:www.infosysblogs.com,2010:/ea//13.866</id>

    <published>2010-01-11T02:57:42Z</published>
    <updated>2010-04-07T11:41:05Z</updated>

    <summary>Whereas the goal of defining standard architectures within an organization has many advantages not the least of which are: reduced technology complexity within the organization, increase reuse of both components and skill sets throughout the organization, decrease risk, and decrease cost.  Unless you happen to be the Federal government of the United States of America don’t look for general solution, focus on the problems in your organization and the tools already at your disposal to develop more specialized solutions that give more immediate benefit.</summary>
    <author>
        <name>Jerry Larivee</name>
        
    </author>
    
        <category term="Best Practices" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[A colleague posed this problem statement recently: <blockquote><p><em>&ldquo;Identify 10-12 [application] &lsquo;architectures&rsquo; that are standard.<span>&nbsp; </span>The challenge is to build a decision tree to drive the ideal architecture.</em></p><blockquote><p><em>Q1: Are there any defined set of enterprise architectures?<br /></em><em>Q2: Are there any decision analysis mechanism (like that for determining architecturally significant requirements in ATAM) already available?&rdquo;</em></p></blockquote></blockquote><p>I&rsquo;ve seen a few companies attempt to do similar although not quite this ambitiously.<span>&nbsp; </span>Most organizations have started by identifying common architects that are already in use within the organization and generalizing them.&nbsp; This has the decided benefit that the architects represent technology components already known to the organization and have proven implementations against use cases relevant to the organization.&nbsp; I fear any effort to define a standard set of architectures outside the context of a well define problem domain (i.e. the environment of a given enterprise) would be too abstract to be practically applied within any given IT organization.</p>]]>
        <![CDATA[<p>The second challenge is describing the architects in standard ways that are well understood by everyone using the architectures.&nbsp; Here there are some good works to start with:</p><ul><li>The TOGAF Technical Reference Model defines a core taxonomy for describing the components and conceptual structure of an architecture.&nbsp; <a href="http://www.opengroup.org/architecture/togaf9-doc/arch/chap43.html">http://www.opengroup.org/architecture/togaf9-doc/arch/chap43.html</a></li><li>FEA (Federal Enterprise Architecture) defines a set of Reference Models for describing the important elements of architecture in consistent ways. <a href="http://www.whitehouse.gov/omb/e-gov/fea/">http://www.whitehouse.gov/omb/e-gov/fea/</a></li><li>There are several good catalogs of common enterprise architecture patterns:</li><ul><li><p>Fowler: Patterns of Enterprise Application Architecture&rdquo; <a href="http://martinfowler.com/eaaCatalog/">http://martinfowler.com/eaaCatalog/</a></p></li><li><p>Hohpe &amp; Woolf: &ldquo;Enterprise Integration Patterns&rdquo; <a href="http://www.eaipatterns.com/">http://www.eaipatterns.com/</a> </p></li></ul></ul><p>The last part of the problem is even more challenging:<span>&nbsp; </span>Given a problem how does one pick the appropriate architecture?&nbsp; </p><p>Methods like ATAM are designed to evaluate a given architecture against a given set of requirements. &nbsp;So using ATAM would require evaluating each standard architecture against the given requirement set and picking the one that fits the best; this would be impractical in the real world for more than two or three architecture.&nbsp; I&rsquo;m not sure that inverting the function is possible in a generalized way.&nbsp; However, if as said before, one narrows the problem domain to a single enterprise and a sufficiently small set of architectures one may be able to define such a function.</p><p>The other challenge for picking an architecture based on any given problem is ensuring that the problem has been broken down appropriately first.&nbsp; Most large enterprises have complex problems, but the successful solution is not an equally complex solution but rather a collection of simple solutions.&nbsp; Each one of these solution components may map to a different standard architecture.&nbsp; This componentizing of the solution also simplifies the process of matching problems to architectures since it means both simpler problems and simpler architectures.&nbsp; Complexity is the enemy.</p><p>Another technique for managing the complexity is to divide the standard architectures into layers.&nbsp; If one limit the problem domain to defining standard physical architects (disk, memory, CPU, networks, I/O, etc.) then this starts to sound a lot more doable.&nbsp; This may not be the ultimate goal, but it's the start the first step in a layered approach that starts with defining standard physical architects, then standard application architectures, data architects, process architectures, security architecture, etc.&nbsp; Thus the process of mapping a problem to a standard architecture would actually involve picking an appropriate architecture from each layer.&nbsp; One may find that each layer has a relatively small set of standard architectures, but in combination the layered architectures represent dozens of complete architectures.&nbsp; The FEA Reference Models sort of takes this approach.</p><p>So whereas the goal of defining standard architectures within an organization has many advantages not the least of which are: reduced technology complexity within the organization, increase reuse of both components and skill sets throughout the organization, decrease risk, and decrease cost.<span>&nbsp; </span>Unless you happen to be the Federal government of the United States of America don&rsquo;t look for general solution, focus on the problems in your organization and the tools already at your disposal to develop more specialized solutions that give more immediate benefit.<span>&nbsp; </span>Where there is some effort, there is some success.</p>]]>
    </content>
</entry>

<entry>
    <title>SOA wishlist for Santa Claus...(and food for thought for rest of us)</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2009/12/soa_wishlist_for_santa_clausan.html" />
    <id>tag:www.infosysblogs.com,2009:/ea//13.5120</id>

    <published>2009-12-21T08:43:28Z</published>
    <updated>2011-09-23T10:16:18Z</updated>

    <summary>I know it’s not fair to pull Santa into the SOA groove but I decided to take a shot to post my top priority wish list for SOA to Santa…just in case if this works, I may solve the world hunger (in SOA context of course) someday….so those who want to have fun, most welcome to read this post, others can take it seriously (including Santa)..</summary>
    <author>
        <name>Rakesh Mishra</name>
        
    </author>
    
        <category term="SOA in the Real World" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[I know it&rsquo;s not fair to pull Santa into the SOA groove but I decided to take a shot to post my top priority wish list for SOA to Santa&hellip;just in case if this works, I may solve the world hunger (in SOA context of course) someday&hellip;.so those who want to have fun, most welcome to read this post, others can take it seriously (including Santa)..]]>
        <![CDATA[<ol><li><strong>Simplify the scope of SOA</strong> (and so our lives who need to deal with it day in and day out) &ndash; SOA is perfect example of the one of the &lsquo;Doom signs&rsquo; that I talked about my another blog &rdquo;<a href="http://www.infosysblogs.com/bpm-eai/2009/11/are_we_growing_on_a_fundamenta.html" target="_blank"> Are we growing on a fundamentally doomed DNA for tomorrow's IT eco-system</a>&rdquo; . As SOA become popular stuff, there seems to be SOA solution for everything in the life, including marriage problem (that&rsquo;s slight exaggeration but you know what I&rsquo;m talking about). It basically meant that the global SOA framework has millions of stuff to be designed, looked after and &lsquo;reengineered&rsquo; to make it work in SOA way. I think that&rsquo;s way too much. So if there is only one wish that Santa is going to grant, that will be to simplify the scope of SOA so that millions of engineers and consultants who are spending countless hours on SOA with clients can save lot of precious time and energy and deliver exactly as much is needed exactly how it is meant to be.</li><li><strong>Let SOA investments be absolutely business (performance) goal driven</strong> (and given to IT to meet the goals than meeting the specifications only) &ndash; I think Santa can relate to this easily. He doesn&rsquo;t give X-mas gifts to children just like that. He knows what goals he has for those children. SOA investments are somewhat like that. Many of the SOA programs don&rsquo;t really have well defined business goals and in fact for many of such programs, there aren&rsquo;t any expectations from business at all. That scares me a lot while nearly 60% (don&rsquo;t count on this number, it just means majority of it) of the SOA intellectual teachings on the web say that SOA is all about business and yet, most of the SOA programs don&rsquo;t have any clearly defined measurable business goals that are used to define, design and deploy the SOA capabilities.</li><li><strong>Give us freedom from &lsquo;technology minefield&rsquo; to focus on architecture and business</strong> &ndash; That&rsquo;s another issue with Santa. He fortunately or unfortunately doesn&rsquo;t need to rely on technology as such to get his Christmas stuff done. So he will need to spend some more time with me to understand how technology minefields are blocking the focus on the core through which value is created &ndash; Architecture and Business engineering. It seems majority of consumers are badly occupied solving technology problems in order to free up their thinking CPU for going to next step of SOA. </li><li><strong>May every IT portfolio competently adopt SOA as core</strong> of their part of the IT architecture (and save the world from the complications of yet another competency center) &ndash; this is endless debate but because it is my wish list, I think I&nbsp; can be free to ask Santa to make it happen, some may like, others may not. If you fall into any of these two categories (likes and dislikes), you just can&rsquo;t miss reading my another blog (and post your comments of likes and dislikes both welcome equally) &ldquo;<a href="http://www.infosysblogs.com/soa/2008/08/who_needs_the_soa_competency_c.html#more" target="_blank">Who Needs the SOA Competency Center in this world?</a>&rdquo;&nbsp;</li><li><strong>Make&nbsp;all the vapor stuff disappear</strong> (and bless the real stuff no matter how small that might be) &ndash; Unfortunately Santa has not spent any of his time following the fun in the IT industry so it is going to be very difficult for him to understand the problem of a thick vapor layer that has engulfed the real-stuff behind SOA across the globe. So I don&rsquo;t mind spending time with him and I&rsquo;m sure when he understands the seriousness of the vapor problem (no less than global warming and ozone layer depletion in my view), he may not mind casting spell to make all the vapor disappear. Current rate of disappearance is very slow and it is big time hindering the focus on what really SOA could do/should do.</li><li><strong>Orient the top brains (and minds) towards serious and selfless collaboration</strong> to create next breakthrough innovation with SOA &ndash; I mean, how long can industry be talking about the same thing again and again and again and yet again. SOA is a good thing and it has been very kind to industry to give new hopes, new excitement and new view-points. But it got to be moving forward. We all are making small small steps for that but I think it will be just great if top brains across the globe could unite and bring forward best of the innovation in this space that can transform the industry. SOA needs it. Otherwise we all will be sitting in our own small corners and beating our own drums for all small stuff that we could do and our time will be up. We all are selfish to some extent in our business space and competitive landscape so I thought I will leverage the divine power to resolve this problem.</li><li>Save me from feeling guilty of not having &ldquo;seven&rdquo; wishes. It seems everyone has either top 7 or top 10 for whatever they want to say. Unfortunately I got stuck at 6th and I could not figure out what my 7th wish could be. I hope Santa doesn&rsquo;t mind that.</li></ol><p>So that&rsquo;s all I have. It is very difficult for me to anticipate what will be going in the people&rsquo;s head when they read this blog (so risk is entirely mine) but if you have your wish-list for Santa for SOA for 2010 and beyond then treat this blog space as your home and share with us what your wishes are. Who knows, Santa just might be listening to all this and it could turn out to be a rather serious affair. Wish all of you a great X-mas ahead!</p>]]>
    </content>
</entry>

<entry>
    <title>IBM SOA Stack – Scope for Simplification</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2009/11/ibm_soa_stack_scope_for_simpli.html" />
    <id>tag:www.infosysblogs.com,2009:/ea//13.5118</id>

    <published>2009-11-26T13:18:36Z</published>
    <updated>2011-09-23T10:16:18Z</updated>

    <summary><![CDATA[by Rajat BhatlaI had attended a workshop on understanding IBM SOA technologies at IBM South Bank London a few months ago. &nbsp;At the time I was also on a project where we were defining an enterprise SOA based landscape. &nbsp;So...]]></summary>
    <author>
        <name>Guest Author</name>
        
    </author>
    
        <category term="SOA in the Real World" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p>by <strong>Rajat Bhatla</strong></p><p>I had attended a workshop on understanding IBM SOA technologies at IBM South Bank London a few months ago. &nbsp;At the time I was also on a project where we were defining an enterprise SOA based landscape. &nbsp;So it was quite a good timing with live practical experience on one side and IBM on the other. It proved a rich learning experience, combined with interactions with SOA practitioners from different streams, hands on labs and highly experienced IBM staff. In this post I&rsquo;ll just focus on the Websphere stack of tools that we were exposed to, and my takeaway feelings about the set of products that we did hands on with. <br /></p>]]>
        <![CDATA[<p>&nbsp;</p><p>More or less accurately, the IBM SOA stack comprises of the following,<br />Stack comprises of<br /></p><ul><li>Rational Application Developer</li><li>Integration developer (Eclipse)</li><li>Service Registry and Repository</li><li>Process Server</li><li>Business Process Fabric</li><li>Business Monitor</li><li>Business Space</li><li>ESB</li><li>Business Rule engine (inbuilt)</li><li>Business Integration Server</li></ul><p>&nbsp;</p><p><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)">There was a guiding case study that took us through implementation aspects of each of these tools in building an SOA enabled enterprise stack. &nbsp;There was little coding, mostly configuration around these tools. It was a 3 day workshop, but even then with the number of tools to go through quite packed.<br /></span>  </p><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)" /><p style="margin-bottom: 13.5pt; line-height: 16.8pt" class="MsoNormal"><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)">Some of my key observations from the experience,</span></p>  <p>&nbsp;</p><ul><li><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)">As you might see from the outset, for someone unaccustomed to working with the IBM stack, it has a rather &ldquo;elaborate&rdquo; feel to it. At a high level it seems that modularity offered by providing layer-wise components is useful, but the associated complexity is a bit harder to digest. &nbsp;IBM likely has a sound basis for configuring stack in this way. Possibly better suited to problems and projects of huge scale, where you can afford to dedicate teams to a particular application layer. &nbsp;But, far more often development happens with small teams, and individual developers spanning the all layers of a development. Burdening then with 7 tools to manage their end to end isn&rsquo;t a Project Manager&rsquo;s productivity tip.<br /></span></li></ul><p>  </p><ul><li><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)">The core Process server, ESB and App server is basically a Russian doll configuration of one tool built over the other.&nbsp; But if you have to acquire BPM and ESB capability it seems that you have to buy each one separately.&nbsp; Is it not possible for Websphere to be sold as a Core + Plugin configuration?&nbsp; e.g. &nbsp;1) Websphere standalone, 2) Websphere with ESB plug-in and 3) Websphere with ESB and Process Server plugins. Is it, that if it is done this way, clients will not need to buy all the three and then not need to buy some more hardware to stack them on top of each other? May be I am being too harsh, but my argument is that if I need a car with a sat-nav I don&rsquo;t go a buy a new car; I buy a sat-nav. My feel of looking at the 3 products was that they all share a common framework and can possibly be bundled up as one.<br /></span></li></ul><blockquote><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)"><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)"><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)">In fact a question had been asked that&nbsp;Process server and ESB appear to be very similar products to the point of BPM looking like a rebadged version of ESB, so what is the distinction? One of the main answers was that Process Server should be used for Stateful orchestrations and ESB for stateless orchestrations. Well, is it then left to the user to define a distinction for himself while having paid extra licensing costs for each layer of the stack?</span></span></span></blockquote><p>  </p><p>  </p><ul><li><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)">Thirdly, is it not possible for business fabric, business monitor and business space functions to be woven into the business process server itself? Not just tool integration but inclusive in process server license as well. <br /></span></li></ul><p><br /><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)"><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)"><br /><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)">Depending upon initial build requirements of a project one may may need a variable set of tools to start with from this list, chances are as requirements grow in complexity remaining ones will be needed as well.</span></span></span></p><p><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)">In enterprise architecture, tools are enablers of implementation. When tools become too complex, the effort in adapting to the tools distracts from the core architecture itself and increases cost to business.</span></p><p><span style="font-size: 8.5pt; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(75, 93, 103)">In meeting this premise better, I feel IBM &nbsp;SOA stack needs to be configured or packaged in a way that makes it feel light, more integrated, easy to adapt to and cost effective.<br /></span></p><p>  </p>    <p>&nbsp;</p><p>&nbsp;</p>]]>
    </content>
</entry>

<entry>
    <title>The SOA Architectural Challenges in Practice</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2009/11/the_soa_architectural_challeng.html" />
    <id>tag:www.infosysblogs.com,2009:/ea//13.5108</id>

    <published>2009-11-15T22:27:24Z</published>
    <updated>2011-09-23T10:16:17Z</updated>

    <summary>by Murteza SalemiReflecting on my recent engagement within educational sector I touched and felt the SOA architectural challenges again. Going to the workshops to understand the requirements and business processes it was quite evident that the challenges for an SOA...</summary>
    <author>
        <name>Guest Author</name>
        
    </author>
    
        <category term="SOA in the Real World" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p>by <strong>Murteza Salemi</strong></p><p>Reflecting on my recent engagement within educational sector I touched and felt the SOA architectural challenges again. Going to the workshops to understand the requirements and business processes it was quite evident that the challenges for an SOA architect do not stop with solving only the technical sides of the SOA architecture. The architect must also coordinate and guide the enterprise&rsquo;s collaboration between business processes, people, information, and technology to ensure the focus remains on achieving enterprise&rsquo;s goals rather than anything else.<br />&nbsp;</p>]]>
        <![CDATA[<p><br />The organisation have a vision and key business drivers that when implemented through SOA it will require a consistent interpretation as it is put on the ground for development. Metrics and dashboards are tangible to business stakeholders to see their vision has translated to real effects.<br />&nbsp;The actual development of SOA will take place step-by-step and project by project. Services that are developed in one and today&rsquo;s project must satisfy future requirements and need, and today&rsquo;s project must be able to leverage the services developed in yesterday&rsquo;s project. <br /></p><p>Services present the capabilities and the structure of business processes, applications, systems, etc. One typical challenge faced in an organisation is that business processes are intertwined with legacy systems and applications and the obvious consequence of this tight coupling is that it is no longer possible to design one without changing the other. Thus, building SOA architecture must not be considered as purely technical exercise but it is also a business exercise that requires the active participation of key business stakeholders. The immediate impact of business involvement is validation and verification of business services required for development.<br /></p><p>Building SOA architecture is a long term journey and should not interrupt the core business functionalities from delivering value and making revenues. SOA will not be built from scratch but it will be depending upon a set of processes and legacy systems. In practice this means that existing business processes and systems will evolve gradually into an SOA and changes are introduced incrementally and rigorously.<br /></p>]]>
    </content>
</entry>

<entry>
    <title>SOA Service Management (Part 1):  Viewpoints of Complexity</title>
    <link rel="alternate" type="text/html" href="http://www.infosysblogs.com/ea/2009/11/soa_service_management_part_1.html" />
    <id>tag:www.infosysblogs.com,2009:/ea//13.5107</id>

    <published>2009-11-12T21:57:04Z</published>
    <updated>2011-09-23T10:16:17Z</updated>

    <summary><![CDATA[By Anuj Sethi&nbsp;I would like to begin by stating that the title above can be interpreted in multiple ways (yes it&rsquo;s the word &lsquo;Service&rsquo;). Hopefully by the end of this blog you will be able to appreciate why I have...]]></summary>
    <author>
        <name>Guest Author</name>
        
    </author>
    
        <category term="SOA in the Real World" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.infosysblogs.com/ea/">
        <![CDATA[<p>By <strong>Anuj Sethi</strong></p><p>&nbsp;I would like to begin by stating that the title above can be interpreted in multiple ways (yes it&rsquo;s the word &lsquo;Service&rsquo;). Hopefully by the end of this blog you will be able to appreciate why I have stated so. <br />&nbsp;<br />In most organisations the&nbsp;IT part has two sub-organisations: One responsible for design/develops the software&nbsp;(equivalent of a car manufacturing plant, at some level) and another which&nbsp;actually support the running software (equivalent of a car service station). The focus of this blog is on the latter.<br /><br /></p>]]>
        <![CDATA[IT Service Management (as defined by&nbsp;Wikipedia) is a &lsquo;discipline of managing IT systems, philosophically centred on the customer's perspective of IT's contribution to the business&rsquo;. So it&rsquo;s a bit more than supporting client machines, servers, databases and network.<br />&nbsp;<br />A key&nbsp;problem of 'Service Orientation' within IT (including the business part of IT)&nbsp;is bringing in&nbsp;is the explosion of terminology and acronyms. The main reasons of this are 1) vastness of this topic&nbsp;and 2) lack of standardisation. <br /><br />Thus within the space of ITSM and now SOA Service Management there exist&nbsp;an endless list of new and existing terminologies which amplify the problem there by making it probably more complex than it actually is. <br />&nbsp;<br />...'SOA Service Management', 'Runtime governance', 'Change time governance', 'Service Lifecycle Management', 'IT Service Management', 'ITIL', 'Production Support', 'Managed IT' , 'Infrastructure Management'....<br />&nbsp;<br />I cover some points below which describe what is giving birth to this complexity/confusion&nbsp;in Service Management space with respect to SOA. Overall I believe some complexity&nbsp;is real,&nbsp;however some of it is perceived. It&rsquo;s this way due to differences resulting from various viewpoints. <br />&nbsp;<br /><strong>1) Understanding and Interpretation of the word 'Service' </strong>(in context of IT) is not consistent within and across the organisations.&nbsp;Thus at some point every IT organisation is required to define 'Service' in their context,&nbsp;one&nbsp;that gets well accepted within the organisation. Once this is done,&nbsp;the problem gets somewhat simplified.<br />&nbsp;<br /><strong>2) Maturity of IT Service Management discipline.</strong> Although adoption of ITSM/ITIL disciplines is on the rise, not all organisation are in higher maturity state yet. It&rsquo;s fair to state that an organization that has already employed an ITSM and ITIL implementation will have a much easier time defining and implementing runtime SOA governance and service management. Note the key benefit these frameworks provide is 'Governance' through policies and processes. This is building block for SOA service management.<br /><br />To further complicate matters, nowadays there exist multiple&nbsp;frameworks to choose from and decide what&nbsp;&amp; where&nbsp;to use and how they will work together. For e.g.: ITIL, COBIT, MOF, BS15000 ..etc<br />&nbsp;<br />Well ITSM maturity posses the bigger question of overall maturity of IT Governance itself, but let&rsquo;s not go digress there.<br />&nbsp;<br /><strong>3) Proliferation of vendors in the IT estate.</strong> This one is quite obvious, if you have multiple vendors in the existing IT Management estate the&nbsp;complexity is probably already high. Every vendor has viewpoints on how their products are best used, thereby influencing the processes. Seamless integration and transparency are hurdles to cross in all dimensions of ITSM, i.e. Change Management, Release Management, Incident Management, Monitoring...etc.<br />Importantly we all are well aware that product vendors are always on the constant look out of means to sell new products, new versions of existing products. Thus new terminologies, acronyms are born as each vendor tries to differentiate and market the new shiny toys. (SOA momentum is helping them now than any time before.)<br />&nbsp;<br /><strong>4) Operating model complexity.</strong> Another dimension of complexity is introduced due to the operating model of organisations. Typically a lot of IT Support / Infrastructure management is outsourced to multiple vendors under various contracts. Bringing these together into one way of operating/working is a gigantic task which goes beyond architecture/technology. Imagine, this would not be a problem if entire IT support across all architectural layers is outsourced to one single vendor.<br />&nbsp;<br /><strong>5) Increased number of moving parts.</strong>&nbsp;I think this is sometimes exaggerated. &quot;...very dynamic nature of SOA, many components, recombined for reuse..&quot; Yes it&rsquo;s true the number of parts will increase and their management will become critical. However if you look at existing IT service management, it&nbsp;deals with many moving parts even today. A critical application has at least following moving parts: middleware, web/application servers, runtime environments, database, operating systems, hardware, network etc. <br />&nbsp;<br /><strong>6) Inconsistent understanding of SOA within the organisation.</strong> This is somewhat related to point#1, but with SOA adoption usually accompanied with concepts of Reusability - &lsquo;lifecycle view of all assets&rsquo; and Agility &ndash; &lsquo;iterative nature of processes&rsquo;. This is quite a change from existing ways of working. Without adequate education and awareness within the overall IT organisation it&rsquo;s difficult to pull people together towards the new way of working once it&rsquo;s designed.<br />&nbsp;<br /><strong>7) New architecture style</strong> so more complex management of running software. There exists a belief that SOA is new; so application/service management will be done completely differently and there will be huge impact on IT Support/Operate organisations. <br /><br />I have a contrary opinion that existing IT Support organisation will find it easier to adopt SOA than the design/development organisation. Going back to Wikipedia definition of ITSM, IT support/management became &lsquo;Service Oriented&rsquo; quite few years back and standardisation of same is on the rise. If anyone has had a look at ITIL v3, which is in existence for last 18 months, can appreciate this better. I will cover this more in my future blogs.<br />&nbsp;<br /><strong>Lastly 8) Existing IT Architecture Maturity.</strong> If the existing IT application architecture state is making IT support/ITSM complex and inefficient, this will not improve by SOA adoption. Things will become more complex initially before reaching a managed state as the SOA adoption increases and standard processes are adopted.<br />&nbsp;<br />In the next blog I plan to cover what are the best approaches to manage the complexity of service management in an end to end &lsquo;Service Oriented&rsquo; environment. <br /><br />Meanwhile, feel free agree or disagree with my thoughts and document your views about what adds complexity in this space.<br /><br />]]>
    </content>
</entry>

</feed>

