<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-34041837</id><updated>2008-08-10T12:57:44.889-04:00</updated><title type='text'>Firebrand Architect®</title><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default?start-index=26&amp;max-results=25'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>56</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-34041837.post-3735204456824508656</id><published>2008-07-21T18:44:00.002-04:00</published><updated>2008-07-21T18:47:59.516-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thinking'/><title type='text'>An expert is ...</title><content type='html'>My definition of an expert in any field is a person who knows enough about what's really going on to be scared.&lt;br /&gt;  - PJ Plauger&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.quotationspage.com/quote/33003.html"&gt;&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/07/expert-is.html' title='An expert is ...'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=3735204456824508656' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/3735204456824508656'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/3735204456824508656'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-2434642387910100024</id><published>2008-04-28T22:56:00.002-04:00</published><updated>2008-04-28T23:18:37.631-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stakeholders'/><category scheme='http://www.blogger.com/atom/ns#' term='organizational politics'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='humans aspects of software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Responsible Software Architecture'/><title type='text'>Tough crowd: architecting in a shadow of a challenged project</title><content type='html'>&lt;p class="MsoNormal"&gt;The human feelings is a decision making variable that software architects must consider when architecting or more importantly – when strategizing a software system. This is especially important in environments where users have technology based scars.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Situation: Users had (or still have) a bad experience with implementation, deployment, and support of an enterprise grade solution. The system was adopted by a large (7000 people) organization through a mandate – people use it on a daily basis because they are forced. This brute force approach has done a tremendous damage to users’ trust and any new IT investment will be severely challenged. &lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;Potential solution&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;1.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Recognize the pain your future users are feeling right now. Study the situation and learn their existing environment. Understand the challenges of that system – you may face them as well.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;2.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Clearly understand the business problem you will solve with a software solution. You must, absolutely must, get different perspectives on the problem from a full range of stakeholders – from executive owners to the solution end users. You must be convinced that this solution will solve a business problem. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;3.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Go an extra mile when documenting the quality attributes of the system to demonstrate through scenarios how your system will not have the frustrating elements of the existing system that scarred the users’ experience. Consider paying an extended attention to the usability quality attributes.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;4.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Architect your solution so that initial implementation steps can demonstrate progress early. Create a special view of the architecture (an abstract component connector view will work well) targeting your non-technical user base. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;5.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;When possible consider using software you can configure (e.g. COTS packages) to show progress early and often. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;6.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Conduct demos to the right audiences: the user base influencers. Demonstrate through actions how your approach to architecting and implementing is different than the experience your users had. Especially pay attention to the pain points your users have suffered with another solution. Ask for feedback. No. Demand feedback.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;7.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Remember that even if you get the architecture “right” it may be implemented wrong. On project you must stay fully engaged in the implementation and monitor conformance with the architecture as if your reputation was on the line. Actually, your reputation is on the line.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In this type of a situation it may be appropriate for an architect to pay a lot of attention to the user touchable interfaces (i.e. UI) before immersing one’s attention on creating a solid skeleton of a system that captures conceptual integrity of the system.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Do you have an experience to share where human perception played a role in your architecture related thinking? Leave a comment.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/04/tough-crowd-architecting-in-shadow-of.html' title='Tough crowd: architecting in a shadow of a challenged project'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=2434642387910100024' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/2434642387910100024'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/2434642387910100024'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-4321067539206615890</id><published>2008-04-24T01:10:00.006-04:00</published><updated>2008-04-28T08:17:28.982-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture discipline'/><title type='text'>How mature is the software architecture discipline?</title><content type='html'>&lt;p class="MsoNormal"&gt;In 1996 Professors David Garlan and Mary Shaw of the Carnegie Mellon University published an influential book: “Software Architecture – Perspectives on an Emerging Discipline”. In chapter 1 the authors discuss a model for the evolution of an engineering discipline. The diagram can be found &lt;a href="http://www.cs.cmu.edu/afs/cs/project/tinker-arch/www/html/1998/Lectures/02.history/base.004.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="Picture_x0020_0" spid="_x0000_i1025" type="#_x0000_t75" alt="base.004.gif" style="'width:390pt;height:301.5pt;visibility:visible;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\CONSTA~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.gif" title="base.004"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;img src="file:///C:/DOCUME%7E1/CONSTA%7E1/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif" alt="base.004.gif" shapes="Picture_x0020_0" border="0" height="402" width="520" /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Before discussing the diagram let’s establish a few key concepts. With respect to maturity of engineering disciplines based on pure sciences (e.g. chemical engineering) the software engineering discipline and to a greater extent software architecture discipline is generally considered to be very immature. But why? The authors state that “engineering practice enables ordinary practitioners create sophisticated systems that work … reliably.” Has the software architecture reached this state? &lt;/p&gt;  &lt;p class="MsoNormal"&gt;It’s important to note that engineering discipline practitioners make the bulk of money by solving routine design problems. Routine design aims at “solving familiar problems” and designing solutions by using the knowledge base from previous projects and experiences (e.g. an e-commerce shopping cart site). Innovative design aims at solving original and unique problems, such as controlling an unmanned helicopter through a remote control center. It’s important to note that with software architecture discipline the bulk of the money is made solving routine problems by ordinary practitioners.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;So how do engineering disciplines evolve?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The engineering disciplines evolve from ad hoc state in two steps. Initially, talented and passionate amateurs pioneer the discipline. They achieve their goals by all means necessary – usually irrationally using available resources. Later the routine production occurs. With time the need for advancement arises and supporting science for an engineering discipline emerges. The maturing science eventually turns into a “professional engineering practice,” where science will become the main driving force of a discipline.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;What will it take for the software architecture discipline to become mature? This question will be addressed in the future post. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Other ideas to think about: if software architecture discipline is not based on hard science at its higher levels of abstraction, will it ever reach the same level of maturity as a civil engineering?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/04/how-mature-is-software-architecture.html' title='How mature is the software architecture discipline?'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=4321067539206615890' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/4321067539206615890'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/4321067539206615890'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-3912254792513007691</id><published>2008-04-24T00:03:00.001-04:00</published><updated>2008-04-24T00:06:32.438-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thinking'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture discipline'/><category scheme='http://www.blogger.com/atom/ns#' term='humans aspects of software architecture'/><title type='text'>Software Architecture is about people</title><content type='html'>&lt;span style="font-size: 11pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;/span&gt;At its core the software architecture discipline is about people and our obstacles are a figment of our imagination.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/04/software-architecture-is-about-people.html' title='Software Architecture is about people'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=3912254792513007691' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/3912254792513007691'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/3912254792513007691'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-511923548526119069</id><published>2008-04-23T00:50:00.000-04:00</published><updated>2008-04-23T00:51:04.372-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture definition'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture paradigm'/><category scheme='http://www.blogger.com/atom/ns#' term='software architect'/><category scheme='http://www.blogger.com/atom/ns#' term='information sharing'/><title type='text'>Microsoft’s Architecture Journal 15</title><content type='html'>&lt;p class="MsoNormal"&gt;The latest issue of the Microsoft’s &lt;i style=""&gt;Architecture Journal &lt;/i&gt;is bound to rekindle the topic of maturity and purpose of the software / enterprise / technical / infrastructure / data architecture discipline. The issue is fresh off the &lt;a href="http://www.msarchitecturejournal.com/pdf/Journal15.pdf" target="_blank"&gt;press&lt;/a&gt;. Microsoft is correctly anticipating the onslaught of responses by setting up a special discussion &lt;a href="http://msdn.microsoft.com/architecture/role" target="_blank"&gt;forum&lt;/a&gt;. As of writing of this post the forum is not yet active, but once it becomes active the phrase tra-ta-ta-ta-ta will take on a whole new meaning.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/04/microsofts-architecture-journal-15.html' title='Microsoft’s Architecture Journal 15'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=511923548526119069' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/511923548526119069'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/511923548526119069'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-4263507152578845911</id><published>2008-04-23T00:01:00.000-04:00</published><updated>2008-04-23T00:04:18.065-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='quality attributes'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='ATAM'/><title type='text'>Software Architecture Assessment</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%; color: rgb(51, 51, 51);"&gt;Assessment of software architecture is necessary to judge its utility and applicability to the goals a system aims to achieve. Every architecture design &lt;em&gt;&lt;span style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;should &lt;/span&gt;&lt;/em&gt;be assessed by a non-partisan resource, but this practice has been adopted only at organizations with a very mature software engineering processes. There are no industry wide accepted methods for evaluating software architecture, but the Architecture Tradeoff Analysis Method (ATAM), developed by the SEI, is a well structured &amp;amp; rational approach for conducting architecture assessments.&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Benefits of a structured tradeoff analysis method&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;The principal benefit of the Architecture Tradeoff Analysis is an ability to see if a proposed overall software structure will live up to the user expectations. The tradeoff analysis helps one understand the strengths and weaknesses of a system. The ATAM method not only helps evaluate the current system architecture, but also helps with the design of architecture for a new system. This methodology helps designers to ask the right questions and solve critical issues early on in the project. Additionally, selecting the right degree of quality for a specific system fully utilizes the money spent by the customer, as the money spent in any one particular area of the system will be justified.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;The ATAM process helps developers discover tradeoffs and sensitivity points&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;The tradeoff points are defined as the dependencies between attributes. The sensitivity points are the areas of the system that will be significantly impacted if system architecture is changed. The tradeoff points are the breeding ground for the sensitivity points, because when architecture changes the connections between different attributes changes as well.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;One of the more obvious tradeoffs is the relationship between performance and security quality. Often the security quality is achieved by compromising performance; this is not a surprising statement as it’s general knowledge that making something secure requires a special effort. Even outside of the architectural context, securing a door in a house requires a purchase and installation of a lock – and that’s only the initial costs. The effort required to lock and unlock the door each time it’s open/closed is an additional cost/effort element. In this out of context example performance of the door can be increased by not installing a door lock. With no lock there is little security, as anyone can open the door with no trouble. The tradeoff points in this example are the presence of lock(s) and the speed at which a door may be opened (perhaps for security reasons it can only be opened at 1 foot per hour).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Key sensitive points are like the gauges that must be monitored by an architect each time a change to a software system is considered on an architectural level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Do you evaluate your software architecture?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;At the end of the day a systemic architecture evaluation method is up to the architect to decide. What matters is that an architect has a way to judge whether architecture is the right fit for a business problem at hand. Other evaluation methods exist and serve various purposes: SAAM, ALMA, FAAM, CBAM. Some even use &lt;a href="http://azgita.gov/enterprise_architecture/NEW/Software_Arch/Software_appendix_A.htm" target="_blank"&gt;this&lt;/a&gt; assessment form.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Post a comment if you evaluate software architecture. How do you do it?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/04/software-architecture-assessment.html' title='Software Architecture Assessment'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=4263507152578845911' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/4263507152578845911'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/4263507152578845911'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-493130266077416378</id><published>2008-04-19T18:20:00.000-04:00</published><updated>2008-04-19T18:22:19.584-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture definition'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture discipline'/><title type='text'>Boundaries between "Architecture", "Design", and "Implementation" formally defined</title><content type='html'>&lt;p class="MsoNormal"&gt;Insightful paper by Rick Kazman &amp;amp; Amnon Eden, presented at &lt;a href="http://cs.oregonstate.edu/icse2003/"&gt;ICSE 2003&lt;/a&gt;, that defines the boundaries between "Architecture", "Design", and "Implementation" by formalizing the ‘Intension and the Locality criteria, which imply that the distinction between architecture, design, and implementation is qualitative and not merely quantitative.’ &lt;span style=""&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Basic understanding of formal notation (esp. Zed) is necessary for enriched reading experience.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Download the paper from &lt;a href="http://www.softwarearchitectures.com/GO/LinkClick.aspx?fileticket=Akb9GCqzl90%3d&amp;amp;tabid=58&amp;amp;mid=419"&gt;SoftwareArchitectures.com&lt;/a&gt; or &lt;a href="http://www.sei.cmu.edu/staff/rkazman/ICSE03-1.pdf"&gt;SEI&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/04/boundaries-between-architecture-design.html' title='Boundaries between &quot;Architecture&quot;, &quot;Design&quot;, and &quot;Implementation&quot; formally defined'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=493130266077416378' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/493130266077416378'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/493130266077416378'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-3408215813838978652</id><published>2008-04-18T23:24:00.001-04:00</published><updated>2008-04-19T18:23:29.112-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architect'/><category scheme='http://www.blogger.com/atom/ns#' term='meetings'/><category scheme='http://www.blogger.com/atom/ns#' term='Solution architect'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture discipline'/><title type='text'>Microsoft's Architecture MVP Changes</title><content type='html'>&lt;p class="MsoNormal"&gt;In late February of 2008 Microsoft dissolved the Microsoft Architecture MVP award as part of realignment of the MVP program to be more product oriented. Dissolved is a wrong word … so read on. This came as a surprise to many award recipients - including myself – who lost a “nice to have” title. This development, however, had a very positive impact on the Architecture MVP community, because it forced the architects ask themselves some hard questions about their role in the community and the role Microsoft plays in the software architecture discipline. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;This post features some highlights from the ferociously bubbling listserv.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;At first there was confusion. Participants understood the reasoning behind moving towards a product oriented approach, but they couldn’t fathom the disappearance of the architecture competency. Then there was anger – well summarized by one of the participants: “I believe the shutdown of the MVP Architect program is just one more piece of evidence that … Microsoft does not appreciate the role of the architect in driving large buy decisions.” &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Then a word of wisdom came from &lt;a href="http://www.linkedin.com/in/simonguest"&gt;Simon Guest&lt;/a&gt;. In order for the MVP program to grow the structure has to change. MVPs will be aligned to a product, but will be able to select a discipline such as architecture. Simon then called for an open forum at the MVP summit in Redmond on April 15&lt;sup&gt;th&lt;/sup&gt;. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Identity crisis started to emerge – some participants, including Martin Fowler, voiced their reserved opinions about the value of the MVP award. Valid questions arose – why do architects communicate so little with each other? What role do architects play in organizations? What do they do for Microsoft? The consensus was clear – although there is a clear need for robust architecture communities the MVP award infrastructure didn’t make individual architects feel part of a single unit.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Finally discussion merged onto taking proactive steps to define the scope and purpose of the group. Familiar questions arose: how do we define different types of architects? What are the definitions of architecture and architect? Should we just take some definitions from IASA? Microsoft has established a work space where the discussion of these various topics will commence. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are no clear answers, but there are good questions – Microsoft is moving in the right direction albeit at its own pace.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/04/microsofts-architecture-mvp-changes.html' title='Microsoft&apos;s Architecture MVP Changes'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=3408215813838978652' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/3408215813838978652'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/3408215813838978652'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-5910180256695849763</id><published>2008-01-25T20:07:00.000-05:00</published><updated>2008-01-25T20:25:48.453-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture paradigm'/><category scheme='http://www.blogger.com/atom/ns#' term='lessons learned'/><category scheme='http://www.blogger.com/atom/ns#' term='thinking'/><category scheme='http://www.blogger.com/atom/ns#' term='human aspects of software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><title type='text'>Frank Lloyd Wright</title><content type='html'>&lt;span style="line-height: 115%; font-family: verdana;font-family:&amp;quot;;font-size:85%;"  &gt;Frank Lloyd Wright, one of the most famous American [building] architects of all time, worked on over 500 structures and left a few notes of wisdom for us to consider. While the comparison between software and building architecture breaks down pretty quickly, the quotes below apply to both disciplines.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;A great architect is not made by way of a brain nearly so much as he is made by way of a cultivated, enriched heart.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;All fine architectural values are human vales, else not valuable.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;An architect's most useful tools are an eraser at the drafting board, and a wrecking bar at the site.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;Every great architect is - necessarily - a great poet. He must be a great original interpreter of his time, his day, his age.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;Form follows function - that has been misunderstood. Form and function should be one, joined in a spiritual union.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;Get the habit of analysis - analysis will in time enable synthesis to become your habit of mind.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;Less is only more where more is no good.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;The architect must be a prophet... a prophet in the true sense of the term... if he can't see at least ten years ahead don't call him an architect.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;The architect should strive continually to simplify; the ensemble of the rooms should then be carefully considered that comfort and utility may go hand in hand with beauty.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;The truth is more important than the facts.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 115%; font-family: trebuchet ms;font-size:85%;" &gt;"Think simple" as my old master used to say - meaning reduce the whole of its parts into the simplest terms, getting back to first principles.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="line-height: 115%; font-family: verdana;font-family:&amp;quot;;font-size:85%;"  &gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/01/frank-lloyd-wright-one-of-most-famous.html' title='Frank Lloyd Wright'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=5910180256695849763' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/5910180256695849763'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/5910180256695849763'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-8644524917243699209</id><published>2008-01-23T23:26:00.000-05:00</published><updated>2008-01-23T23:27:29.534-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><title type='text'>Static, Runtime, Physical</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;For the spring 2008 semester I function as a distance education instructor for the Principles of Software Architectures course offered by the School of Computer Science at the &lt;a href="http://www.cmu.edu/"&gt;Carnegie Mellon University&lt;/a&gt; through the &lt;a href="http://strategic.isri.cmu.edu/"&gt;Institute for Software Research International&lt;/a&gt;. As I reviewed the course I fondly remembered the lectures by Prof. David Garlan and Tony Lattanze while pursuing my Masters in Software Engineering (IT) degree some years ago. At the same time I reflected on the architecture representation practices employed on some of the recent projects I’ve reviewed and sadly the state of affairs is looking pretty grim. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;It is still common to see software architecture designs mix incongruent design elements together, such as combining message flow process with a class diagram. As a gentle reminder, architecture of a software system is represented through a number of views that describe some angle of a system. There are many different views that can be chosen by an architect to represent some aspect of the system (e.g. process view, deployment view, decomposition view, etc.). No matter what view an architect chooses to document some aspect of architecture it’s critical to understand that most views can be classified into &lt;i style=""&gt;static&lt;/i&gt;, &lt;i style=""&gt;runtime&lt;/i&gt;, and &lt;i style=""&gt;physical&lt;/i&gt;. It is absolutely critical to maintain conceptual integrity of a given view; otherwise you may be comparing apples to oranges. If this is new to you read a copy of &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FSoftware-Architecture-Practice-Second-Bass%2Fdp%2F0321154959&amp;amp;tag=softwarearchi-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325%22%3EPPP%3C/a%3E%3Cimg%20src=%22http://www.assoc-amazon.com/e/ir?t=softwarearchi-20&amp;amp;l=ur2&amp;amp;o=1"&gt;Software Architecture in Practice, Second Edition&lt;/a&gt;, take this &lt;a href="http://strategic.isri.cmu.edu/v3/SkillsTraining/architecture.jsp"&gt;course&lt;/a&gt; from Carnegie Mellon, or take a &lt;a href="http://www.sei.cmu.edu/products/courses/saf.html"&gt;class&lt;/a&gt; from the Software Engineering Institute.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/01/static-runtime-physical.html' title='Static, Runtime, Physical'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=8644524917243699209' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/8644524917243699209'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/8644524917243699209'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-8727947117640018563</id><published>2008-01-20T23:15:00.001-05:00</published><updated>2008-01-20T23:15:53.732-05:00</updated><title type='text'>Evolving Opportunistic Solutions</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Opportunistic projects (software solutions) are the essence of the progress in all organizations. These projects provide valuable ad-hoc gains in productivity to the people who need help the most. Such projects usually don’t have a formal budget, have one or a few people running it, and usually reside outside of enterprise architecture environment or go against the formal way of doing things. But these projects exist because they provide the benefit the core IT organization cannot. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;One example may be auto generation of pre-canned reports for a loan processing clerk. In this case an existing FICO score provides good information about the risk level of a potential borrower, but a loan procession clerk may get an additional level of insight, and reduce risk to the bank, by looking into additional publically available information. Usually opportunistic solutions target a small specialized niche, such as pre-canned reports for farm machinery loans. But as loan officers across bank divisions talk to each other, they find out that these reports are insightful for other loan types, and eliminate the need to do manual research. Now all loan officers want these reports to be included as part of their loan application paperwork. Loan division chief requests the opportunistic software solution owners to provide reports to everyone. Will this work?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;A responsible software architect who recognizes this situation needs to act fast. There are many red flags in this scenario that may turn a well respected idea into a disaster. First, it should be clear that unless the designers of the opportunistic software solution thought about scalability and extensibility during design it may not be possible to produce more reports without rethinking entire approach. Perhaps the solution taps into an already overtaxed database system that goes offline periodically. Secondly, the growth problem may not only be technical in nature. May be the business process supported by the software solution is not scalable. It may be that the software generates reports and emails them to users automatically, but requests for reports are being processed manually. Perhaps the reactive response to support the requested increase in demand would be to add staff and throw hardware at the problem. That may last for some time, if system allows multiple users, but eventually the opportunistic solution will require features that can only be obtained from enterprise services (e.g. SMTP service, enterprise auditing, directory services, etc.).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The moral of the story: build on success of opportunistic solutions. Recognize patterns, analyze change impact, educate solution owners on the natural evolution of successful opportunistic solutions and on the differences between ad-hoc and enterprise solutions, understand how requested change fits into the existing and future organizational enterprise architecture, and finally show the solution owners that the demand for their service will only grow with time. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/01/evolving-opportunistic-solutions.html' title='Evolving Opportunistic Solutions'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=8727947117640018563' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/8727947117640018563'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/8727947117640018563'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-2333980521630888563</id><published>2008-01-19T18:25:00.001-05:00</published><updated>2008-01-19T18:38:47.923-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='quality attributes'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><title type='text'>Edward Hopper - Communicating the Essence</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.softwarearchitectures.com/blog/uploaded_images/p06-haskell_1b-783677.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://www.softwarearchitectures.com/blog/uploaded_images/p06-haskell_1b-783673.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="line-height: 115%;font-size:85%;" &gt;It’s &lt;/span&gt;&lt;span style="line-height: 115%;font-size:85%;" &gt;the architect’s job to decide and communicate which quality attributes need to be emphasized in order to achieve the overarching mission of a solution. Similarly the iconic American artist Edward Hopper, in his paintings, captured the essence of a scene while abstracting the negligent elements of the situation. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="Picture_x0020_2" spid="_x0000_s1028" type="#_x0000_t75" style="'position:absolute;margin-left:225.65pt;margin-top:165.95pt;width:240.3pt;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\CONSTA~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.jpg" title="hopphawk"&gt;  &lt;w:wrap type="square"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="Picture_x0020_1" spid="_x0000_s1027" type="#_x0000_t75" style="'position:absolute;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\CONSTA~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image003.jpg" title="p06-haskell_1b"&gt;  &lt;w:wrap type="square"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;span style="line-height: 115%;font-size:85%;" &gt;In painting &lt;i style=""&gt;Haskell’s House &lt;/i&gt;you clearly see that the artist chose to omit t&lt;/span&gt;&lt;span style="line-height: 115%;font-size:85%;" &gt;he wires from the electrical poles. The busy harbor behind the house is not depicted in the painting: the core emphasis is on the house. Also notice how the sun rays draw your attention on the house and you can almost forget about the mundane details of trees, landscaping, and electrical poles. A software architect has a similar job: capture the big picture (e.g. security, environment constraints, composition of services), but note the critical solution qualities (e.g. usability, performance). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="Picture_x0020_3" spid="_x0000_s1026" type="#_x0000_t75" style="'position:absolute;margin-left:1.5pt;margin-top:166.75pt;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\CONSTA~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image005.jpg" title="hopper_gas_4"&gt;  &lt;w:wrap type="square"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;span style="font-size:85%;"&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.softwarearchitectures.com/blog/uploaded_images/hopphawk-749423.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://www.softwarearchitectures.com/blog/uploaded_images/hopphawk-749421.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="line-height: 115%;font-size:85%;" &gt;I&lt;/span&gt;&lt;span style="line-height: 115%;font-size:85%;" &gt;n the infamous painting, &lt;i style=""&gt;Nighthawks&lt;/i&gt;, Edward Hopper uses light and shadows to concentrate viewer’s attention on the situation in a dinner. Notice lack of pedestrians, cars, or any other artifacts that would detract from the developing situation inside of a dinner. The viewer may dully acknowledge the presence of outside, but all the attention is concentrated on what is happening on the inside. Similarly an application architect that works in a mature design environment simply needs to acknowledge the presence of certain assumptions, but concentrate his work on the essence of a solution. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.softwarearchitectures.com/blog/uploaded_images/hopper_gas_4-799371.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://www.softwarearchitectures.com/blog/uploaded_images/hopper_gas_4-799367.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="line-height: 115%;font-size:85%;" &gt;The 1940 painting &lt;i style=""&gt;Gas&lt;/i&gt; shows a lonely attendant at a gas station. There are no cars fueling or on the road. &lt;span style=""&gt;The obvious, cars, is not commuicated.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="line-height: 115%;font-size:85%;" &gt;If you ever have a chance to see a collection of Edward Hopper’s paintings do not miss that chance. A closer look at the paintings can be found &lt;a href="http://www.nga.gov/exhibitions/2007/hopper/introduction/index.shtm" target="_blank"&gt;here&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="line-height: 115%;font-size:85%;" &gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/01/edward-hopper-communicating-essence.html' title='Edward Hopper - Communicating the Essence'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=2333980521630888563' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/2333980521630888563'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/2333980521630888563'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-438475348880192171</id><published>2008-01-12T15:00:00.000-05:00</published><updated>2008-01-13T20:01:55.921-05:00</updated><title type='text'>Enterprise Standards</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;What kind of hardware &amp;amp; software environment exists at company Foo and how do they handle similar challenges? How will organization Foo evolve over time? Few organizations publish their enterprise architecture specifications; after all, a refined purposeful architecture is a competitive asset. But some organizations publish such information. If you search for MS Word or PDF documents for keywords such as “Enterprise Architecture principles”, “enterprise standards”, “to-be EA”, you will find a few valuable resources. One example is an IT Standards document for the US state of &lt;a href="http://www.enterprise-architecture.info/Images/Documents/Information%20Technology%20Enterprise%20Standards.pdf"&gt;Kentucky&lt;/a&gt;. The freshness of the resources will vary, but discovering and learning from other organizations is a good way to gain new perspective and judge your organization’s software and enterprise architecture approaches.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2008/01/enterprise-standards.html' title='Enterprise Standards'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=438475348880192171' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/438475348880192171'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/438475348880192171'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-7418995664728726730</id><published>2007-12-19T23:59:00.000-05:00</published><updated>2007-12-20T00:05:59.578-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture paradigm'/><category scheme='http://www.blogger.com/atom/ns#' term='thinking'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture discipline'/><category scheme='http://www.blogger.com/atom/ns#' term='humans aspects of software architecture'/><title type='text'>Engineering elegance</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;I came across this quote on definition of engineering elegance by a French aviator and author &lt;a href="http://en.wikipedia.org/wiki/Antoine_de_Saint-Exup%C3%A9ry"&gt;Antoine de Saint- Exupéry&lt;/a&gt;: “A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.” &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Is this statement applicable to software architecture? Aren’t architects constantly trying to add features that fulfill more and more functional and non-functional requirements? Aren’t multiple layers of security always good? Wouldn’t installing a .NET framework 3.5, for example, is better than .NET 3.0, because it has more features?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Perhaps those who see the power in this quote are the architects who are able to truly understand the essence of a business problem; it is those who can skillfully control the scope. But is this applicable to the software architecture domain as it stands now? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/12/engineering-elegance.html' title='Engineering elegance'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=7418995664728726730' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/7418995664728726730'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/7418995664728726730'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-4898540487190380030</id><published>2007-12-16T22:58:00.000-05:00</published><updated>2007-12-16T23:04:44.729-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thinking'/><category scheme='http://www.blogger.com/atom/ns#' term='information sharing'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><title type='text'>Software Architecture Conferences and Events</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;The Software Engineering Institute maintains a comprehensive list of "upcoming conferences, workshops, and calls for     participation that explicitly include "software architecture" among their     topics of interest." This is a good place to start if you're looking for an opportunity to share thoughts with like minded individuals outside of your immediate circle of software architecture contacts. Research each event with care, as different user communities look at architecture from a different lens.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%; font-family: verdana;"&gt;&lt;span style="font-size: 10pt;"&gt;Constantin K.&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Firebrand Architect™ &lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;&lt;span style="font-size: 10pt; color: blue;"&gt;www.SoftwareArchitectures.com&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/12/software-architecture-conferences-and.html' title='Software Architecture Conferences and Events'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=4898540487190380030' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/4898540487190380030'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/4898540487190380030'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-7787449942461293971</id><published>2007-12-15T15:11:00.000-05:00</published><updated>2007-12-15T15:12:25.227-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Business architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='humans aspects of software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Responsible Software Architecture'/><title type='text'>Technical and Business Architecture</title><content type='html'>&lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;If architecting was only about solving a technical problem, then this discipline would be strictly under the computer science domain. What makes software architecture a child of the software engineering domain is the fact that an effective solution needs to solve business problem or achieve a mission. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;It’s clear that an architect has to work works very closely with all stakeholders in order to understand the root of the problem for which a solution has been envisioned. There are two core qualities that an architect must exhibit. First, an architect must have an implementable vision of the whole concept from start to finish (if you don’t who will?). Second, an architect must intelligently question the business problem that a customer is trying to solve. This is very important, because this will minimize the risk of the solution not fitting into the existing (or future) technical and business infrastructure. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;In mature organizations both software architects and business analysts speak a common language and work jointly to make sure a solution supports a business problem. In other organizations the burden often falls on the software architect to make sure that a solution design exhibits conceptual integrity from the business point of view. It’s not uncommon to have a group of business stakeholders individually represent what they want to see come out of the solution. But someone (business architect role) has to take ownership of the discrete needs and integrate them together into a comprehensive plan. Not every software architect is capable of deriving the root cause of a problem, and that’s OK. But a mature software architect would know when to bring in help to enable him to design the right solution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;Due to constraints thorough analysis is not always possible. This is where an architect must make a judgment call and make progress based on the known factors. In such situations it’s imperative to document risks and limitations of the solution so that the final result is judged against this segment of time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;Constantin K.&lt;br /&gt;Firebrand Architect™&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/12/technical-and-business-architecture.html' title='Technical and Business Architecture'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=7787449942461293971' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/7787449942461293971'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/7787449942461293971'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-4742173943288963370</id><published>2007-12-14T00:18:00.000-05:00</published><updated>2007-12-14T00:19:54.045-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='COTS'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture discipline'/><category scheme='http://www.blogger.com/atom/ns#' term='Responsible Software Architecture'/><title type='text'>Selecting COTS software under pressure (Forrester and Gartner)</title><content type='html'>&lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;This happens on many projects: everyone agrees that the core of a solution (e.g. workflow engine) will be purchased instead of built from scratch. This is an absolutely rational decision for most enterprise applications. The next question is which vendor to select. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;The rational approach is to identify the core functional requirements and key quality attributes that the solution must exhibit. This is an absolute must; because without understanding what you need you will not be able to objectively judge your options. The criteria on which you should evaluate you COTS software candidates must be granular and quantifiable to the degree that makes sense. Each criteria element needs to be weighed against all other chosen consideration elements so that all weights add to a whole. E.g. In case of workflow COTS software the number of concurrent workflow processes that the solution must support has to be at least 400 and this criterion has a 15% importance in relation to other selection elements. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;The next step is to conduct evaluation of the market space for available vendor solutions. A number of solutions will not meet the top selected criteria based on the marketing information from the vendor, but few will emerge as potential candidates. Since COTS software will be an integral part of the solution a targeted proof of concept should be implemented and results judged against the established criteria. The outcome of the test along with other evaluation criteria is used to make an objective and rational decision.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;If a decision on the COTS software absolutely has to be made in a period of time that doesn’t allow a proof of concept, then you should buy the intelligence from a third party that has done COTS software evaluation for you. Both Gartner (Magic Quadrant) and Forrester (The Forrester Wave) provide analysis of various COTS products that fulfill a particular segment of business applications (e.g. BPM tools). Each vendor solution is evaluated against a wide range of criteria. These reports provide very valuable insight, but without objectively understanding the needs of the solution you’re architecting it’s not possible to fully utilize the insight provided by a third party.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;In general a Gartner, Forrester, or another 3&lt;sup&gt;rd&lt;/sup&gt; party report should be used in any COTS software evaluation whether you’re pressed for time or not.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;Constantin K.&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Firebrand Architect™ &lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;&lt;span style="font-size: 10pt; color: blue;"&gt;www.SoftwareArchitectures.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/12/selecting-cots-software-under-pressure.html' title='Selecting COTS software under pressure (Forrester and Gartner)'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=4742173943288963370' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/4742173943288963370'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/4742173943288963370'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-6404962452933233465</id><published>2007-12-13T00:01:00.001-05:00</published><updated>2007-12-12T23:56:13.758-05:00</updated><title type='text'>Diplomacy</title><content type='html'>&lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;As an architect you’re often get placed in uncomfortable situations. One of such scenarios is facing the architect of a working system that you’re tasked with replacing. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;In this scenario your organization has an existing legacy system that still does a decent job of supporting the current needs of the business. The executives funded your project, because the legacy system cannot support the evolving business needs. You’re up to a real challenge. By definition your project will bring change into organization and any change will cause friction. On top of that you’re working against a benchmark – legacy system provided many years of reliable support. On top of that there may be people who have a high stake in maintaining the legacy system no matter what executives think. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;Even if you’re an expert in your business domain it’s inevitable (and logical) that you’ll interact with an architect of the legacy system – who happens to have 20 years of experience with organization. Based on what the legacy system architect knows he doesn’t see the need for a paradigm shift that your solution will bring. What to do?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;One approach is to involve the legacy architect with your project. The involvement can be kept at a high level; acknowledge the success of the retiring system and ask the legacy system architect to contribute to system requirements of the new system. A good question to ask: “What are the items on your [legacy system] wish list that could not be achieved due to hardware (e.g. mainframe) or software (e.g. COBOL) limitations?” Work with the legacy system architect to show how technology used for the new system will retain the essence of the retiring solution and allow for suggested improvements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;The key to your success is winning over the key stakeholders of the retiring system through diplomacy. Remember that “Diplomacy is the art of letting someone else have your way.” &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size: 10pt;"&gt;Constantin K.&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Firebrand Architect™ &lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;&lt;span style="font-size: 10pt; color: blue;"&gt;www.SoftwareArchitectures.com&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/12/diplomacy.html' title='Diplomacy'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=6404962452933233465' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/6404962452933233465'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/6404962452933233465'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-5203879120794984793</id><published>2007-12-12T00:08:00.000-05:00</published><updated>2007-12-12T00:10:15.088-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architect'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture discipline'/><category scheme='http://www.blogger.com/atom/ns#' term='humans aspects of software architecture'/><title type='text'>Advice for apprentice software architects</title><content type='html'>&lt;span style="font-size: 10pt; line-height: 115%; font-family: verdana;"&gt;The software architecture discipline has matured to the point where the core tool bag for architecture analysis and design can be learned by any serious software engineer. But this doesn’t mean that architect’s experience is no longer an important attribute of architect’s character. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;The best way to learn is by doing. To quote Lakota Indian saying: "Tell me, and I'll listen. Show me, and I'll understand. Involve me, and I'll learn." Apprentice architects must seek out opportunities to work on architecturally significant aspects of various projects. Diversity here means working on projects with different SDLCs, projects of different scope and size, and projects across different functional domains. Diverse experience – preferably across different organizations – will enable an apprentice architect make better decisions in the future as the repertoire of skills and knowledge grows.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;Everybody wants an architect with 10 years of experience, but nobody wants an architect with 1 year of experience ten times.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;Constantin K.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;Firebrand Architect™ &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;www.SoftwareArchitectures.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/12/advice-for-apprentice-software.html' title='Advice for apprentice software architects'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=5203879120794984793' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/5203879120794984793'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/5203879120794984793'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-1443132897258735565</id><published>2007-12-11T00:12:00.000-05:00</published><updated>2007-12-11T00:15:02.364-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='globalization'/><title type='text'>Globalization and Software Architecture</title><content type='html'>&lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;When I interview potential team members I always ask the question: “What is the impact of &lt;i style=""&gt;globalization&lt;/i&gt; on our company and on our clients?” This is not an easy question to answer and I’ve seen recent college grads and seasoned leaders alike cringe when they hear this. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;The topic of the global economy is familiar to the IT folks. Many practicing architects are leveraging or at least familiar with the outsourcing software development models. But thinking beyond software architecture – what impact does globalization have on the business problem you’re trying to solve? Perhaps the problem you’re trying to solve is now nonexistent, or perhaps the complexity of the problem just increased by a factor of ten.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;“What is the impact of globalization on software architecture?” This question I will try to answer in this blog in the near future. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;With no clear answers this topic is a zero day problem for pessimists and a vibrant opportunity for optimists. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;If you’re looking for a primer on the general topic of globalization I highly recommend reading "&lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FWorld-Flat-History-Twenty-first-Century%2Fdp%2F0312425074%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1197349500%26sr%3D8-1&amp;amp;tag=softwarearchi-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;The World Is Flat&lt;/a&gt;" by Thomas Friedman.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;Constantin K.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;Firebrand Architect™ &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;www.SoftwareArchitectures.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/12/globalization-and-software-architecture.html' title='Globalization and Software Architecture'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=1443132897258735565' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/1443132897258735565'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/1443132897258735565'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-1642091306108260934</id><published>2007-12-06T23:37:00.000-05:00</published><updated>2007-12-06T23:40:13.625-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture paradigm'/><category scheme='http://www.blogger.com/atom/ns#' term='COTS'/><category scheme='http://www.blogger.com/atom/ns#' term='stakeholders'/><category scheme='http://www.blogger.com/atom/ns#' term='thinking'/><category scheme='http://www.blogger.com/atom/ns#' term='software architect'/><category scheme='http://www.blogger.com/atom/ns#' term='team work'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Criteria For Failure</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Every project team asks themselves, implicitly or explicitly, what are our criteria for success?  Depending on the range of the stakeholders involved you’ll get answers from the superficial (e.g. “users of all skill level can use software”) to the goal oriented (e.g. “identify the safest and most viable customers who need car insurance”). It’s easy to talk about success – especially non-quantifiable success.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The Firebrand Architect philosophy encourages you take a step further and pose a question: “What &lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;are our criteria for failure?” In other words – when we look back a year from now how would we know for sure we have failed to achieve our objective? Depending on your relationship with the group of the stakeholders you may have to be diplomatic as to how you pose the question.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Let’s work through an example. A project aims at providing insight into the inventory stored in many warehouses. The goal is to keep the inventory as low as possible while providing quick response to product demand. This project has a budget of $2,000,000 and will require a purchase of expensive COTS software ($500,000). A team of stakeholders will let the technical team decide which of the vendors to select, but know that a mature COTS software package has solved a similar problem in other organizations.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;A year goes by, hardware has been purchased, COTS software installed and linked to a data warehouse, insight for a few categories of inventory can be obtained. Is this project a success or a failure? &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;One may say that since the software has been installed and connected to a data source in the production environment it’s a success. If that’s the only claim to fame, then this project is a failure. It doesn’t produce the insight that a business needs.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Using the same example as above, if a project produces some level of insight, but not all what was envisioned was it a failure or success? This is a harder question. If the paradigm and the model of operation through which the limited insight has been developed can be naturally expanded to gain insight in all envisioned categories, then the project is a success despite not delivering everything what was planned. If the paradigm doesn’t scale to cover additional level of insight, then the project is a failure.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Knowing the definition of success is important. Knowing the definition of failure is paramount.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Constantin K.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Firebrand Architect™ &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;www.SoftwareArchitectures.com&lt;/span&gt;&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/12/criteria-for-failure.html' title='Criteria For Failure'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=1642091306108260934' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/1642091306108260934'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/1642091306108260934'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-5242266863676096837</id><published>2007-12-04T22:06:00.000-05:00</published><updated>2007-12-04T22:07:47.470-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture paradigm'/><category scheme='http://www.blogger.com/atom/ns#' term='humans aspects of software architecture'/><title type='text'>Conceptual Integrity</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;It’s a well known fact that deciding what exactly to build is the hardest part of software development. So how does one deal with complexity and uncertainly?  Sanity is retained and complexity managed by maintaining conceptual integrity in your solution. This goes beyond the conceptual integrity of the architecture, but the conceptual integrity of a solution.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;As an architect who will start working from a set  of initial requirements (and later work with the requirements management team to refine requirements) you need to understand why a business problem is being presented in a given way and why it’s being solved in a given way. The business problem and the conceptual solution need to be rational and need make sense as a whole. It’s not necessary, moreover – counterproductive, to have details at this level, but having a conceptual integrity of a solution before investing heavily into architecture design and analysis is paramount.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Constantin K.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Firebrand Architect™ &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;www.SoftwareArchitectures.com&lt;/span&gt;&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/12/conceptual-integrity.html' title='Conceptual Integrity'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=5242266863676096837' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/5242266863676096837'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/5242266863676096837'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-1713811976886011389</id><published>2007-10-22T17:47:00.000-04:00</published><updated>2007-10-22T18:13:45.264-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='ATAM'/><title type='text'>Evaluating SOA using ATAM</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;This report, released by the SEI in September of 2007, is a very good example of applying the ATAM to evaluating an architectural style, such as SOA. You can find the report &lt;a href="http://www.sei.cmu.edu/publications/documents/07.reports/07tr015.html"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;The Abstract&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;"The emergence of service-oriented architecture (SOA) as an approach for integrating applications that expose services presents many new challenges to organizations resulting in significant risks to their business. Particularly important among those risks are failures to effectively address quality attribute requirements such as performance, availability, security, and modifiability. Because the risk and impact of SOA is distributed and pervasive across applications, it is critical to perform an architecture evaluation early in the software life cycle. This report contains technical information about SOA design considerations and tradeoffs that can help the architecture evaluator to identify and mitigate risks in a timely and effective manner. The report provides an overview of SOA, outlines key architecture approaches and their effect on quality attributes, establishes an organized collection of design-related questions that an architecture evaluator may use to analyze the ability of the architecture to meet quality requirements, and provides a brief sample evaluation."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Firebrand on duty: Constantin K.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;www.softwarearchitectures.com&lt;/a&gt; &lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/10/evaluating-soa-using-atam.html' title='Evaluating SOA using ATAM'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=1713811976886011389' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/1713811976886011389'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/1713811976886011389'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-7204470614504268088</id><published>2007-09-24T23:13:00.000-04:00</published><updated>2007-09-24T23:25:07.040-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='software architecture discipline'/><title type='text'>Neglected Aspects of Software Architecture</title><content type='html'>&lt;p class="MsoNormal"&gt;Todd Kaiser, a Chief Architect of Government Systems at Raytheon Intelligence &amp;amp; Information Systems, delivered an outstanding presentation at the &lt;a href="http://www.sei.cmu.edu/architecture/saturn/tech_program.html"&gt;2007 SATURN&lt;/a&gt; workshop. The absolute beauty of the presentation is simplicity with which he delivered a very important message: some software architects ignore non-technical aspects of software architecture that results in “collateral damage.” In addition to concentrating on technical pillars of a solution: data, structure, and behavior, an architect must also actively weigh managerial, financial, and contractual aspects of software architecture. Your personal architecture world may be different, but Todd Kaiser’s presentation succinctly delivers the message that applies to most architects: architecture is more than just technology. &lt;/p&gt;  SATURN 2007 presentation on &lt;a href="http://www.softwarearchitectures.com/GO/LinkClick.aspx?fileticket=m1ZnSXjXPv0%3d&amp;amp;tabid=59&amp;amp;mid=390"&gt;Neglected Aspects of Software Architecture.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="color: rgb(32, 64, 99); font-family: verdana;" lang="EN"&gt;Firebrand on duty: Constantin  K.&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/09/neglected-aspects-of-software.html' title='Neglected Aspects of Software Architecture'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=7204470614504268088' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/7204470614504268088'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/7204470614504268088'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-34041837.post-2627614150825720794</id><published>2007-09-20T16:48:00.000-04:00</published><updated>2007-09-20T16:51:48.385-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software architecture definition'/><title type='text'>Architecture is in expressly delightful</title><content type='html'>"Architecture is expressly delightful, and of the greatest convenience to mankind in all respects, both public and private; and in dignity not inferior to the most excellent. …. Him I shall call an architect who, by a sure and wonderful art and method, is able, both with thought and invention, to devise and, with execution, to complete all those works which, by means of the movement of greatest weights and the conjunction and amassment of bodies, can, with the greatest beauty, be adapted to the uses of mankind: and to be able to do this, he must have a thorough insight into the noblest and most curious sciences." &lt;a href="http://en.wikipedia.org/wiki/Leon_Battista_Alberti"&gt;Leon Battista Alberti&lt;/a&gt; (1450)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: verdana; color: rgb(32, 64, 99);" lang="EN"&gt;Firebrand on duty: Constantin K.&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/" target="_blank"&gt;www.SoftwareArchitectures.com&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://www.softwarearchitectures.com/blog/2007/09/architecture-is-in-expressly-delightful.html' title='Architecture is in expressly delightful'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34041837&amp;postID=2627614150825720794' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.softwarearchitectures.com/blog/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/2627614150825720794'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34041837/posts/default/2627614150825720794'/><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email></author></entry></feed>