<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0ADQ3g-cCp7ImA9WxJVGUQ.&quot;"><id>tag:blogger.com,1999:blog-34041837</id><updated>2009-07-07T16:49:32.658-04:00</updated><title>Firebrand Architect®</title><subtitle type="html">Human Aspects of Software Architecture - software fit for purpose™</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.firebrandarchitect.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><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>75</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/FirebrandArchitect" type="application/atom+xml" /><entry gd:etag="W/&quot;A0ADQ3g9fip7ImA9WxJVGUQ.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-4268527063487341804</id><published>2009-07-07T16:38:00.003-04:00</published><updated>2009-07-07T16:49:32.666-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-07T16:49:32.666-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software architect" /><title>soft skills</title><content type="html">Great blog post on recognizing the importance of the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;ever changing&lt;/span&gt; soft skills with respect to delivering technical solutions. &lt;a href="http://www.information-management.com/blogs/IT_soft_skills-10015688-1.html"&gt;Link&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-4268527063487341804?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5ngrbRw0PE8FY2qi6Ur0bs3Y_yY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5ngrbRw0PE8FY2qi6Ur0bs3Y_yY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5ngrbRw0PE8FY2qi6Ur0bs3Y_yY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5ngrbRw0PE8FY2qi6Ur0bs3Y_yY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/4268527063487341804/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=4268527063487341804" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/4268527063487341804?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/4268527063487341804?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/8GFuMIojW44/soft-skills.html" title="soft skills" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/07/soft-skills.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUAR3k9fSp7ImA9WxJXGEg.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-401204012400211331</id><published>2009-06-12T21:40:00.003-04:00</published><updated>2009-06-12T21:57:26.765-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-12T21:57:26.765-04:00</app:edited><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="human aspects of software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="software architect" /><category scheme="http://www.blogger.com/atom/ns#" term="Constantin Kostenko" /><category scheme="http://www.blogger.com/atom/ns#" term="team work" /><title>festina lente</title><content type="html">"I don't think much of a man who is not wiser today than he was yesterday. " ~Abraham Lincoln&lt;br /&gt;&lt;br /&gt;Learning is essential in every discipline and architects often carry a double duty of learning both the technical angle and the business angle. But there is another angle that you, as an architect, must learn, and that's the human angle.&lt;br /&gt;&lt;br /&gt;In a recent three day working session with a rapidly developing project I was following the well defined path of working with the clients through the core business processes, defining technical pieces of a potential solution, etc. Early on I was fortunate to realize that despite coarse grained requirements provided by the team there wasn't much substance (conceptual integrity) in what was said by the stakeholders.&lt;br /&gt;&lt;br /&gt;That was a clue to take extra time to understand just how much and how well the stakeholders understand the business problem at hand. By listening and learning quickly from them I re-scoped the day's discussion and concentrated solely on a short term solution capabilities. This provided confidence to the stakeholders that they understand a solution using their limited knowledge of technology and provided a base for future long term solution discussion.&lt;br /&gt;&lt;br /&gt;Summary: always be ready to re-scope the discussion to meet the immediate needs of your stakeholder even if the previously set agenda promised to cover the world.&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/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.firebrandarchitect.com/"&gt;FirebrandArchitect.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-401204012400211331?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dxjsmPESe9Hy-u2QeOSFvkneOsk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dxjsmPESe9Hy-u2QeOSFvkneOsk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dxjsmPESe9Hy-u2QeOSFvkneOsk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dxjsmPESe9Hy-u2QeOSFvkneOsk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/401204012400211331/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=401204012400211331" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/401204012400211331?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/401204012400211331?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/E_xlWAEBRho/i-dont-think-much-of-man-who-is-not.html" title="festina lente" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/06/i-dont-think-much-of-man-who-is-not.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUARHg4fCp7ImA9WxJXGEg.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-1722767833977071200</id><published>2009-03-23T16:59:00.001-04:00</published><updated>2009-06-12T21:40:45.634-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-12T21:40:45.634-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="patterns" /><category scheme="http://www.blogger.com/atom/ns#" term="software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Constantin Kostenko" /><title>patterns &amp; practices - Application Architecture Guide 2.0</title><content type="html">"This guide provides design-level guidance for the architecture and design of applications built on the .NET Framework. It focuses on the most common types of applications, partitioning application functionality into layers, components, and services, and walks through their key design characteristics.This guide is a collaborative effort between patterns &amp;amp; practices, product teams, and industry experts."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/AppArchGuide"&gt;http://www.codeplex.com/AppArchGuide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's a useful guide, but use with caution. At times the authors confuse the perspective. For example a "tier" is used interchangeably with a "layer." This is not correct since a tier is usually defined to exist in a run time perspective and a layer in a static perspective. All in all a very useful composition.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.firebrandarchitect.com/"&gt;FirebrandArchitect.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-1722767833977071200?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/d1JW0q_H_SV7i5St1S6RqPXL4oo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d1JW0q_H_SV7i5St1S6RqPXL4oo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/d1JW0q_H_SV7i5St1S6RqPXL4oo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d1JW0q_H_SV7i5St1S6RqPXL4oo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/1722767833977071200/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=1722767833977071200" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/1722767833977071200?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/1722767833977071200?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/sdcArjsYiZ0/patterns-practices-application.html" title="patterns &amp; practices - Application Architecture Guide 2.0" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/03/patterns-practices-application.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4NRXsyeyp7ImA9WxVUF0g.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-4485861452200452434</id><published>2009-03-22T16:13:00.001-04:00</published><updated>2009-03-22T16:16:34.593-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-22T16:16:34.593-04:00</app:edited><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="Solution architect" /><category scheme="http://www.blogger.com/atom/ns#" term="software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="management" /><category scheme="http://www.blogger.com/atom/ns#" term="team work" /><category scheme="http://www.blogger.com/atom/ns#" term="Responsible Software Architecture" /><title>Complexity in Software Architecture and a new architect role</title><content type="html">Things are just getting worse for software architects.  Relative stability of business models and computing paradigms of the 2000's has vanished. Making the right early design decisions has become very difficult. Keeping up with technical and operating environment complexity has become nearly impossible.&lt;br /&gt;&lt;br /&gt;Humans deal with complexity through abstraction. With rapid growth of complexity in the software architecture domain (both business and technical perspectives) we're now seeing divergence of software architect roles. It's not possible to be a great security architect, a great performance architect, and a great general software architect at the same time.  Recently architects have been specializing, often not by choice, to fit the business domains and their operating environments.&lt;br /&gt;&lt;br /&gt;The important point is that a new breed of architect role needs to be officially recognized. It may be called  a composer, orchestrator, manager, or a solution architect. In this role an architect would only be responsible for creating and maintaining the conceptual integrity of a solution. The conceptual integrity then needs to be maintained and managed in light of changing environment (new constraints, funding, requirements, policy, staff). This architect role would be responsible for making the right timely decisions as to when to bring in appropriate experts. Some may argue that this role exists now and it's the role of a software architect, but it's not possible for a single person to orchestrate the activities of other specialists and be responsible for technical structure of the whole solution.&lt;br /&gt;&lt;br /&gt;Over the past few years ( 2006 - 2009) a new trend has developed where more and more architects specialize in a specific area of quality attributes (e.g. security, performance, usability) and relive themselves of duty of the end-to-end solution ownership. There is no question that specialization is necessary to gain the appropriate level of technical depth to be effective, but who is left to be responsible for the conceptual integrity of a solution? Often this role is filled by someone who doesn't understand how specialists work together and how they must be integrated together. Yet this is a very important role, because in order for specialists to be effective their input must be appropriately timed. For example, when was the last time security was effectively retrofitted into an already existing solution? An orchestrating architect needs to recognize the need for a security specialist and then figure out when to incorporate that expertise into the project.&lt;br /&gt;&lt;br /&gt;This orchestrator role doesn't explicitly exists because organizations expect professionals to be either technical software architects (sometimes listed as senior software engineers  in job advertisements) or project managers. The recognition for something in between doesn't exist.&lt;br /&gt;&lt;br /&gt;Successful projects have someone who maintains the end-to-end perspective. It's a challenging role as a person doing this is likely doing this along a set of other major responsibilities.&lt;br /&gt;&lt;br /&gt;As the complexity of our computational environments and the complexity of business solutions has expanded we need realize that in order for software architecture specialists to be effective their work needs to be thoughtfully orchestrated by someone who has time, resources, and authority to create and maintain the end-to-end conceptual integrity of a software solution.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.firebrandarchitect.com/"&gt;FirebrandArchitect.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-4485861452200452434?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VvhtzyMSd5_O3ImOU074MZaHlv0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VvhtzyMSd5_O3ImOU074MZaHlv0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VvhtzyMSd5_O3ImOU074MZaHlv0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VvhtzyMSd5_O3ImOU074MZaHlv0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/4485861452200452434/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=4485861452200452434" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/4485861452200452434?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/4485861452200452434?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/ZJRsy1cJXQE/complexity-in-software-architecture-and.html" title="Complexity in Software Architecture and a new architect role" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/03/complexity-in-software-architecture-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQNR3kzeyp7ImA9WxVUFE4.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-7895730411558950279</id><published>2009-03-18T22:31:00.003-04:00</published><updated>2009-03-18T22:39:56.783-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-18T22:39:56.783-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lessons learned" /><category scheme="http://www.blogger.com/atom/ns#" term="quality attributes" /><category scheme="http://www.blogger.com/atom/ns#" term="meetings" /><category scheme="http://www.blogger.com/atom/ns#" term="management" /><category scheme="http://www.blogger.com/atom/ns#" term="communication" /><category scheme="http://www.blogger.com/atom/ns#" term="ATAM" /><title>Fifth SEI Architecture Technology User Network Conference (SATURN 2009)</title><content type="html">I "subscribe" to the general principles of the Software Engineering Institute's (SEI) software architecture paradigm. I apply various aspects of the approach in my day to day activities. If you're a fan of the SEI's work on software architecture you should consider going to their annual conference (May 4 - 7, 2009) to mingle with likeminded colleauges. Early bird registration is through March 31st. A 10% off coupon may be available if you're interested.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sei.cmu.edu/architecture/saturn/2009/index.html"&gt;Link&lt;/a&gt; to the conference site.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-7895730411558950279?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cHFV9WXmTn-5WfAOWKQzgv8e66c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cHFV9WXmTn-5WfAOWKQzgv8e66c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cHFV9WXmTn-5WfAOWKQzgv8e66c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cHFV9WXmTn-5WfAOWKQzgv8e66c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/7895730411558950279/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=7895730411558950279" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/7895730411558950279?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/7895730411558950279?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/N4IDV6q5XeI/fifth-sei-architecture-technology-user.html" title="Fifth SEI Architecture Technology User Network Conference (SATURN 2009)" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/03/fifth-sei-architecture-technology-user.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04CQnk8fSp7ImA9WxVUEkg.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-6801859847735949812</id><published>2009-03-16T21:04:00.001-04:00</published><updated>2009-03-16T21:06:03.775-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-16T21:06:03.775-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="stakeholders" /><category scheme="http://www.blogger.com/atom/ns#" term="software architect" /><category scheme="http://www.blogger.com/atom/ns#" term="management" /><category scheme="http://www.blogger.com/atom/ns#" term="team work" /><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>Analysis paralysis</title><content type="html">Analysis paralysis is a common problem in the software requirements domain. Engineers or requirements analysts become overwhelmed with amount of information and get bogged down in details.&lt;br /&gt;&lt;br /&gt;Software architects face a similar problem. If an architects seeks perfection or the best solution for a given problem he or she may get bogged down in the details of various design alternatives. A more effective approach is to invest time in understanding the key architectural drivers - the requirements that have a profound effect on architecture (i.e. critical functional requirements, quality attributes, and constraints). By quantifying your requirements (e.g. by using quality attribute scenarios) an architect will be able guide your decision making process through various design alternatives.&lt;br /&gt;&lt;br /&gt;As Fred Brooks said - getting the conceptual integrity right is the most difficult, but the most important part of your job. To help you with this process you should use an iterative approach to developing architecture and participate early and vigorously in the requirements elicitation and analysis phase.&lt;br /&gt;&lt;br /&gt;Let the properly stated requirements shape your architecture and let the architecture shape your requirements.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-6801859847735949812?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KZEv7H2NnzMTNeDItwFr-SLoW88/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KZEv7H2NnzMTNeDItwFr-SLoW88/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KZEv7H2NnzMTNeDItwFr-SLoW88/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KZEv7H2NnzMTNeDItwFr-SLoW88/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/6801859847735949812/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=6801859847735949812" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/6801859847735949812?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/6801859847735949812?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/NJ9u19lZYDw/analysis-paralysis.html" title="Analysis paralysis" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/03/analysis-paralysis.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8FRXk5eSp7ImA9WxVUEUg.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-2770108338775629585</id><published>2009-03-15T16:58:00.001-04:00</published><updated>2009-03-15T17:00:14.721-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-15T17:00:14.721-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="behavior" /><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="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 architect" /><category scheme="http://www.blogger.com/atom/ns#" term="team work" /><category scheme="http://www.blogger.com/atom/ns#" term="Responsible Software Architecture" /><title>The role of organizational politics in Software Engineering and Software Architecture design</title><content type="html">This is a very important topic I've been examining for a number of years. While my Ph.D. work on "the cost of organizational politics on software engineering" is many years away it's important to raise the awareness of this subject matter.&lt;br /&gt;&lt;br /&gt;The topic of organizational politics is not new. The concept surfaced in 1958 and in early 1980's the topic was actively studied and analyzed.  There is no definitive guidance since it's a challenging topic to study; after all this is about the behavior of people. There are many factors that shape the game of politics: individual values and ethics, organization's structure and the way of life (e.g. "cooking books"), environmental conditions (e.g. market stress), and performance reward criteria (e.g. measuring and rewarding the wrong results). What's clear from research is that there is a distinction between an actual political behavior and a perception of a political behavior. For a software architect it's important to recognize and manage both.&lt;br /&gt;&lt;br /&gt;Design choices in software architecture are often based on experience and human factors, but architects often don't recognize this. It's natural since most software architects came from the trenches of software development where programming activities are closer to the actual implementation and hence   more structured.&lt;br /&gt;&lt;br /&gt;Some questions to consider:&lt;br /&gt;- Does your organization openly recognize design constraints? E.g. organization has made a commitment to J2EE platform for solutions of type X.&lt;br /&gt;- Is the effort of analyzing design alternatives, if exists, seriously considered when a design approach is selected?&lt;br /&gt;- Are you aware how you personally avoid, reduce, or promote organizational politics? Not all politics are detrimental. The political game can be played to promote the goodness of software architecture design and implementation process.&lt;br /&gt;&lt;br /&gt;It's good to admit that politics play a role in the design process. Actually it's healthy to admit so as it shows maturity of an organization or a team / person.&lt;br /&gt;&lt;br /&gt;Remember that you as an architect make conscious and unconscious decisions in your day to day activities that may be perceived by others as political decisions. To protect yourself from unintentional consequences be sure that your personal priorities do not become your team's agenda, else the team chemistry is going to change and you're not going to like the result.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-2770108338775629585?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Liqwck0a6_3T6GH8PUXFMOY7F8E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Liqwck0a6_3T6GH8PUXFMOY7F8E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Liqwck0a6_3T6GH8PUXFMOY7F8E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Liqwck0a6_3T6GH8PUXFMOY7F8E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/2770108338775629585/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=2770108338775629585" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/2770108338775629585?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/2770108338775629585?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/PWjF_Ylex8c/role-of-organizational-politics-on.html" title="The role of organizational politics in Software Engineering and Software Architecture design" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/03/role-of-organizational-politics-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ABR3syfCp7ImA9WxVUEUk.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-7302042956974049294</id><published>2009-03-14T15:18:00.005-04:00</published><updated>2009-03-15T15:35:56.594-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-15T15:35:56.594-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><category scheme="http://www.blogger.com/atom/ns#" term="Solution architect" /><category scheme="http://www.blogger.com/atom/ns#" term="software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Constantin Kostenko" /><category scheme="http://www.blogger.com/atom/ns#" term="events" /><category scheme="http://www.blogger.com/atom/ns#" term="Cloud Computing" /><title>Insights from vendor panel on Cloud Computing (FOSE 2009)</title><content type="html">The leading providers of Cloud Computing services (IBM, Microsoft, Google, and Amazon ) gathered for a panel discussion at &lt;a href="http://www.fose.com/"&gt;FOSE 2009&lt;/a&gt; organized by &lt;a href="http://www.boozallen.com/"&gt;Booz Allen Hamilton&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Observations:&lt;br /&gt;- Standards have matured significantly over the past few years for both Software as a Service and Infrastructure as a Service.&lt;br /&gt;- Significant gains have been made with respect to interoperability, but until vendors develop a usable way to collaborate adoption will be difficult.&lt;br /&gt;- Trust will make or break clouds. Security is still a big issue - IPv6 will help.&lt;br /&gt;- Private clouds are likely to come first before commercial clouds become widely used.&lt;br /&gt;- A cloud provides substantial benefits  when economy of scale is reached.&lt;br /&gt;- Any organization considering cloud computing needs to develop and understand its total cost of ownership (TCO). Cost standards are not mature.&lt;br /&gt;- Cloud Computing is not SOA.&lt;br /&gt;- Cloud Computing maturity level models are being developed (Booz Allen).&lt;br /&gt;- Demand for Cloud Computing has been established - there is a substantial market for the services.&lt;br /&gt;&lt;br /&gt;Cloud Computing is becoming a viable option for mainstream software solutions. What does this mean for a software architect?  More design options, new design patterns, and greater solution flexibility.  Cloud Computing will require substantial investment in education and experimentation in order to understand its limits and applicability to your business solutions.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-7302042956974049294?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BzXWcBUFJXQYc5GgvHZP7N6b8O0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BzXWcBUFJXQYc5GgvHZP7N6b8O0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BzXWcBUFJXQYc5GgvHZP7N6b8O0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BzXWcBUFJXQYc5GgvHZP7N6b8O0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/7302042956974049294/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=7302042956974049294" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/7302042956974049294?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/7302042956974049294?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/ndIlaJiken0/insights-from-vendor-panel-on-cloud.html" title="Insights from vendor panel on Cloud Computing (FOSE 2009)" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/03/insights-from-vendor-panel-on-cloud.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8CRnk7fyp7ImA9WxVVGUU.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-6622555946337970786</id><published>2009-03-13T16:00:00.002-04:00</published><updated>2009-03-13T17:47:47.707-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-13T17:47:47.707-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><category scheme="http://www.blogger.com/atom/ns#" term="Business architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="team work" /><category scheme="http://www.blogger.com/atom/ns#" term="Cloud Computing" /><title>Cloud Computing Wargames at FOSE 2009</title><content type="html">Booz Allen Hamilton held Cloud Computing Wargaming sessions at &lt;a href="http://www.fose.com/index.cfm?do=cnt.page&amp;amp;pg=1057"&gt;FOSE 2009&lt;/a&gt; (March 10 - 12th 2009). This wargame simulates the thinking process and the choices IT decision makers have to make in real world as they develop organization's capabilities to meet business or mission challenges. The goal of the exercise is to get the players thinking about the tradeoffs between different computing resources, associated costs, risks, and resulting benefits.&lt;br /&gt;&lt;br /&gt;Cloud Computing is not a new concept, but with rapid progress of standards and maturity of technologies "on demand" computing has become a viable option for many organizations.&lt;br /&gt;&lt;br /&gt;During the 90 minute session a table competes against six other tables. The goal of the game is to collect Mission Value Points (MVPs). A team obtains MVPs upon successful completion of tasks. To complete a task a team must build a set of capabilities required to support a task. A capability can be built in "Traditional IT", "Hybrid Cloud", or "Commercial Cloud".  Over the course of the game a team builds up a portfolio of tasks it has to support. Upon completion of each turn if a given task has been successfully supported with existing capabilities, then a team gets an established number of MVPs for that task.&lt;br /&gt;&lt;br /&gt;Players quick realize that in "Traditional IT" computing environment the invested resources cannot be rapidly re-allocated to meet challenges of new tasks. Moreover additional human resources are necessary to support "Traditional IT." Cloud Computing is not a cheap option and there is a resource barrier if a team chose to build their own cloud. Similarly with the "Commercial Cloud" a team would loose invested money and have less control of the services available through that offering.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Watch Booz Allen Principal Rod Fontecilla comment on the essence of the game. Lessons learned from a croupier's perspective in a future post.&lt;br /&gt;&lt;embed src="http://images.video.msn.com/flash/soapbox1_1.swf" width="432" height="364" id="uiha79a8" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&amp;v=25029772-6d0f-4ce5-809e-280bd49f9db5&amp;ifs=true&amp;fr=shared&amp;mkt=en-US"&gt;&lt;/embed&gt;&lt;noembed&gt;&lt;a href="http://video.msn.com/?mkt=en-US&amp;playlist=videoByUuids:uuids:25029772-6d0f-4ce5-809e-280bd49f9db5&amp;showPlaylist=true&amp;from=msnvideo" target="_new" title="War Games"&gt;Video: War Games&lt;/a&gt;&lt;/noembed&gt;&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-6622555946337970786?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mGrc0nsljUuqfRodo8_gcvyTg-g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mGrc0nsljUuqfRodo8_gcvyTg-g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mGrc0nsljUuqfRodo8_gcvyTg-g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mGrc0nsljUuqfRodo8_gcvyTg-g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/6622555946337970786/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=6622555946337970786" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/6622555946337970786?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/6622555946337970786?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/vZwTiWPdbEY/cloud-computing-wargames-at-fose-2009.html" title="Cloud Computing Wargames at FOSE 2009" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/03/cloud-computing-wargames-at-fose-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4CSH85cSp7ImA9WxVXGU8.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-143945585128591800</id><published>2009-02-17T22:45:00.002-05:00</published><updated>2009-02-17T22:49:29.129-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-17T22:49:29.129-05:00</app:edited><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="Business architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="aspects of software architecture" /><title>How Business Goals Drive Architectural Design</title><content type="html">How do quality attributes affect the architectural design of a software solution? If we only cared about the functional requirements of a software solution, then any architecture and any implementation would suffice. Further, how business goals drive architectural design?&lt;br /&gt;&lt;br /&gt;The topic of translating business goals into architectural drivers merits a separate post, however this &lt;a href="http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&amp;amp;pName=computer_level1_article&amp;amp;TheCat=1065&amp;amp;path=computer/homepage/Aug07&amp;amp;file=softtech.xml&amp;amp;xsl=article.xsl&amp;amp;;jsessionid=JbFQwnykRMqTQc7Kn2KC4nyvNnnRYQQ8lnJVnRbTj5h9cVzzTZG6%21-551649330"&gt;article&lt;/a&gt; from the August 2007 edition of the Computer magazine (IEEE Computer Society) eloquently demonstrates how the architecture of a software solution changes as business goals are refined into quality attribute scenarios. Application of architectural patterns and refining tactics significantly alter the architecture of a software solution.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-143945585128591800?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0C0D6ZOraecVeCf1GUYmurfV5Rc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0C0D6ZOraecVeCf1GUYmurfV5Rc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0C0D6ZOraecVeCf1GUYmurfV5Rc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0C0D6ZOraecVeCf1GUYmurfV5Rc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/143945585128591800/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=143945585128591800" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/143945585128591800?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/143945585128591800?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/VvYCoYjYqx8/how-business-goals-drive-architectural.html" title="How Business Goals Drive Architectural Design" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/02/how-business-goals-drive-architectural.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYGQXwyeyp7ImA9WxVXE00.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-5640045513174957528</id><published>2009-02-10T18:22:00.000-05:00</published><updated>2009-02-10T18:22:00.293-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-10T18:22:00.293-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software architecture documentation" /><category scheme="http://www.blogger.com/atom/ns#" term="software architect" /><category scheme="http://www.blogger.com/atom/ns#" term="software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="software architecture discipline" /><title>Architecting Software Intensive Systems: A Practitioners Guide</title><content type="html">In summary of chapter 5, &lt;span style="font-style: italic;"&gt;The Work of an Architect&lt;/span&gt;, the author notes that "… this is not intended to be a definitive statement on how to architect. Architecture design is guided by the intuition and judgment of the architect. The purpose here is to provide principles and guidance for how tot think about decomposing a system, what to consider when decomposing the system, and how to capture key design choice and rationale." This chapter alone is worth the price of the book, &lt;span style="font-style: italic;"&gt;Architecting Software Intensive Systems: A Practitioners Guide&lt;/span&gt;, as it proves invaluable guidance in a clear and concise manner.&lt;br /&gt;&lt;br /&gt;Make space on your bookshelf that's located closest to your desk.  Buy this book. Use this book.&lt;br /&gt;&lt;br /&gt;Few practitioners have the level of depth and breadth necessary to eloquently capture and explain the practical aspects of the software architecture discipline. The author, Anthony J. Lattanze, explains the critical need for separating perspectives (static, dynamic, physical), explains architectural drivers, and provides guidance for architectural design. The rest of the book covers the Architecture Centric Design Method - a practical approach that you can use from concept initiation to solution sunset.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-5640045513174957528?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZWRQI_AbXRQU9Dm_d_IY3RsF8tQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZWRQI_AbXRQU9Dm_d_IY3RsF8tQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZWRQI_AbXRQU9Dm_d_IY3RsF8tQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZWRQI_AbXRQU9Dm_d_IY3RsF8tQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/5640045513174957528/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=5640045513174957528" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/5640045513174957528?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/5640045513174957528?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/CAj8rDJafGU/architecting-software-intensive-systems.html" title="Architecting Software Intensive Systems: A Practitioners Guide" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/02/architecting-software-intensive-systems.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUESHs6eCp7ImA9WxVXEk4.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-767313856479531373</id><published>2009-02-09T21:15:00.001-05:00</published><updated>2009-02-09T21:16:49.510-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-09T21:16:49.510-05:00</app:edited><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="human aspects of software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="aspects of software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Solution architect" /><category scheme="http://www.blogger.com/atom/ns#" term="Responsible Software Architecture" /><title>The process of learning the principles of software architecture</title><content type="html">This is my second year serving as the distance education instructor for Carnegie Mellon's Principles of Software Architecture course. The distance education course is aimed at working professionals and has the SEI Software Architecture paradigm as a backbone. The course is based on the same material taught in the Masters of Software Engineering program at the Carnegie Mellon by David Garlan and Anthony J. Lattanze.&lt;br /&gt;&lt;br /&gt;I spend time  interacting with students through conference calls, class bulletin board, emails, and assignment grading.  It's very interesting to see how professional software engineers and architects with many years of experience learn new ways of thinking and reasoning about software architecture. This experience offers me a unique perspective to see how people learn about a disciplined way of thinking about the art and science of software architecture.&lt;br /&gt;&lt;br /&gt;Experienced software engineering professionals who design and build non-trivial software systems as part of their day-to-day responsibilities have no major problems adopting to the SEI Software Architecture paradigm and other software architecture topics taught in the course. But what about those with little design experience? On the topic of architectural patterns, architectural styles, design patterns, and design in general the biggest problem is judging the scope and applicability of a given pattern or a style. When asked to indentify the most appropriate architectural style for a given system implementation students become confused. Would SOA be an appropriate style? Or may be the MVC pattern? But wait, a software system may be a heterogeneous composition of multiple patterns and styles. So how can there be a single overarching pattern? In other words the students with less experience appeared to have trouble focusing the lens (of the "right" answer) on the problem.&lt;br /&gt;&lt;br /&gt;Does this mean time and experience is the only way to become a better architect? Absolutely not. After taking this course the students who didn't have an ideal level of experience will look at every single software architecture challenge from a different perspective. They will question their decision and decisions of others. They will demand to understand why decisions are made one way or another. As they learn and experience different design patterns and architectural styles they will see get the "aha!" of the questions asked in the weekly homework reading questions.&lt;br /&gt;&lt;br /&gt;If you're just beginning to learn about software architecture please understand that it's a journey and not an event. While the Software Architecture course from Carnegie Mellon's School of Computer Science can make you think about software architecture in a disciplined way it will not make you an expert architect. Learn and read everything you can from diverse sources since it's still a maturing discipline. Take everything that you learn with a grain salt. Ask "why?" on major decisions and &lt;span style="font-style: italic;"&gt;think like a firebrand&lt;/span&gt;™.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-767313856479531373?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XIy5cxsPiahwrGZV7Rwz1plW2Pc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XIy5cxsPiahwrGZV7Rwz1plW2Pc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XIy5cxsPiahwrGZV7Rwz1plW2Pc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XIy5cxsPiahwrGZV7Rwz1plW2Pc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/767313856479531373/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=767313856479531373" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/767313856479531373?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/767313856479531373?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/TrZv9zpnvIs/process-of-learning-principles-of.html" title="The process of learning the principles of software architecture" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/02/process-of-learning-principles-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4GRH4yfyp7ImA9WxVQFEk.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-6671350300862019512</id><published>2009-01-31T18:16:00.002-05:00</published><updated>2009-01-31T18:18:45.097-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-31T18:18:45.097-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Enterprise Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Business architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Responsible Software Architecture" /><title>Simple Architectures for Complex Enterprises</title><content type="html">Measuring complexity of business processes and software solutions that support them is a difficult task. Roger Sessions in his Simple Architectures for Complex Enterprises book provides an excellent math (logic) based approach for examining Enterprise Architecture complexity without getting into formal methods. The philosophy behind the approach is superb and refreshing. The chapter on technology approaches will be obsolete soon, but  chapters 1 - 5 will be applicable for years to come.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-6671350300862019512?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1djX9PfCMC2nVzzMsElz67mMO1Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1djX9PfCMC2nVzzMsElz67mMO1Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1djX9PfCMC2nVzzMsElz67mMO1Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1djX9PfCMC2nVzzMsElz67mMO1Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/6671350300862019512/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=6671350300862019512" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/6671350300862019512?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/6671350300862019512?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/N4lwytw_o7Q/simple-architectures-for-complex.html" title="Simple Architectures for Complex Enterprises" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/01/simple-architectures-for-complex.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEGQ3Y7fCp7ImA9WxVRFUw.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-7977056727914024936</id><published>2009-01-20T23:48:00.002-05:00</published><updated>2009-01-20T23:53:42.804-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-20T23:53:42.804-05:00</app:edited><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="human aspects of software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="communication" /><title>A new era of responsibility</title><content type="html">As president Barack Obama was delivering his inaugural address on January 20th 2009 I was taking notes on how his theme of a "new era of responsibility" will affect my clients and my colleagues.  Software architects have a tremendous power to make or break a system. With such power should come a great level of responsibility. But how often do you hear architects taking full responsibility for the design of a software solution? How often do you hear architects clearly justify why a certain design was chosen among an array of alternatives and how specific tactics will address domain specific business needs? Just check any software licensing agreement: [company] makes no warranties, express or implied ...&lt;br /&gt;&lt;br /&gt;Has the time come for responsible software architecture and responsible software engineering? As a software architect how will you handle a new era of responsibility?&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/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-7977056727914024936?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cDLJokj9HI9DAGcjl56XCffn2UY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cDLJokj9HI9DAGcjl56XCffn2UY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cDLJokj9HI9DAGcjl56XCffn2UY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cDLJokj9HI9DAGcjl56XCffn2UY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/7977056727914024936/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=7977056727914024936" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/7977056727914024936?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/7977056727914024936?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/GIk1vRqkZ9c/new-era-of-responsibility.html" title="A new era of responsibility" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/01/new-era-of-responsibility.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ACQncyeyp7ImA9WxVTGEk.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-848998661679528023</id><published>2009-01-01T15:26:00.003-05:00</published><updated>2009-01-01T15:29:23.993-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-01T15:29:23.993-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lessons learned" /><category scheme="http://www.blogger.com/atom/ns#" term="human aspects of software architecture" /><title>Dealing with the bus problem</title><content type="html">When a "bus problem" becomes a reality it's critical to address the human needs first. This post does not provide guidance on how to deal with loss, but if you're in a leadership position you need to know how to appropriately respond or where to go for help.&lt;br /&gt;&lt;br /&gt;Ultimately if you hold a key position in your organization (e.g. reputable architect or a trusted advisor) you may be called upon to help right away. Your first order of business should be to get the software solution up and running by all means necessary. Be prepared to look at the source code, log files, incomplete documentation, conduct interviews with frustrated users. You will be looked upon as a savior whether you're ready or not, so you must be prepared to act like a Swiss army knife. In this situation the pressure is high and failure is not an option.&lt;br /&gt;&lt;br /&gt;Here are the guidelines to help you think when under pressure:&lt;br /&gt;- Create a plan of action. Write down everything you think you need to do. Use this list as a start.&lt;br /&gt;- Understand the business need and function of the solution. Bus problems usually don't occur on properly managed large scale solutions with a clear mission. There is a very good chance the solution affected by a bus problem supports informal business processes that  you don't know about.&lt;br /&gt;- Learn everything you can about the solution. Seek people who may have worked on the previous version, seek hard copies of presentations and documentation if soft copies are not available.&lt;br /&gt;- Think about the technical aspects of the solution. Based on the technologies used and your experience with the application (if any) you may make some assumptions about architectural patterns used. But be careful assuming that the patterns are being used correctly. An opportunistic solution is very likely to have improperly used (or misused) architectural patterns or simply poor implementation. Hope for the best, but expect spaghetti code.&lt;br /&gt;- If you're not proficient with the technology used find a smart software engineer to work with you side-by-side. At this stage this person will be your partner - not a subordinate.&lt;br /&gt;- Be aware of the political landscape. If the solution in question was developed and managed by a different organization devise a strategy with your senior leadership to diplomatically address this issue. The organization owning a failed solution may be well aware that they were irresponsible by letting the affected solution operate in such manner. Think about an exit strategy for the responsible organization to gracefully "save face."&lt;br /&gt;- Write a short draft proposal (1 or 2 pages) of how the broken solution should evolve into a mature environment so that it can be supported by your organization's IT. You will have ideas as soon as you start looking at this problem so you may as well write them down from the perspective of your organization's computing infrastructure.&lt;br /&gt;&lt;br /&gt;This is not a complete list, but it will help you handle the knee jerk reaction you may be expected to perform. Act quickly, but systematically. Understand the business value of the solution that's hidden from the official view, get the solution up and running immediately by using whatever it takes approach, rapidly evaluate near term needs, and think about the long term needs.&lt;br /&gt;&lt;br /&gt;You may want to bookmark this post so that you can find it quickly in the time of need.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-848998661679528023?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/k-Ey_C0enkY5PfR0INCGphV99Jc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k-Ey_C0enkY5PfR0INCGphV99Jc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/k-Ey_C0enkY5PfR0INCGphV99Jc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k-Ey_C0enkY5PfR0INCGphV99Jc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/848998661679528023/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=848998661679528023" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/848998661679528023?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/848998661679528023?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/sn2ASyUsCxA/dealing-with-bus-problem.html" title="Dealing with the bus problem" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2009/01/dealing-with-bus-problem.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MNRXc4fCp7ImA9WxVTFEU.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-1052957599014680330</id><published>2008-12-28T13:34:00.001-05:00</published><updated>2008-12-28T13:38:14.934-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-28T13:38:14.934-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="behavior" /><category scheme="http://www.blogger.com/atom/ns#" term="lessons learned" /><category scheme="http://www.blogger.com/atom/ns#" term="human aspects of software architecture" /><title>The Bus Problem</title><content type="html">Software engineering practitioners joke about this all the time, and it’s a classic management problem that is deeply rooted in the software engineering folklore. There exists a person who singlehandedly built software program that supports some important business function (in production environment of course). Everyone knows that there is virtually no documentation, no one else knows the code, there is no source control, and this is the only person who can maintain the program. And if that person gets hit by a bus and dies there will major issues, but it’s better not to think about it.&lt;br /&gt;&lt;br /&gt;Even in the organizations that have mature software engineering processes the bus problem persists. This is because all organizations have opportunistic projects (programs) developed by a person or two. These programs, usually developed as unofficial side projects, support informal business processes that provide significant benefit to the end users at little cost. These opportunistic projects are usually developed in a haphazard way, because there is no spare time and they are targeting a very specific audience. Examples of this type of program may be a custom authentication mechanism that is small enough to be developed and maintained by a single person. Such solution may have been intended to be used for just a single software solution, but over time it became an important component of multiple software intensive solutions, or this program became the vehicle for supporting a core official business process.&lt;br /&gt;&lt;br /&gt;My colleague responsible for a project that fits the description above has been hit by a “bus”.&lt;br /&gt;&lt;br /&gt;Future posts will provide lessons learned from the experience written from an architect’s point of view:&lt;br /&gt;•    Dealing with the bus problem&lt;br /&gt;•    Anticipating the bus problem&lt;br /&gt;•    Preventing the bus problem&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-1052957599014680330?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kpHudNfjd7frG85Oi55yORwpAQw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kpHudNfjd7frG85Oi55yORwpAQw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kpHudNfjd7frG85Oi55yORwpAQw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kpHudNfjd7frG85Oi55yORwpAQw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/1052957599014680330/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=1052957599014680330" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/1052957599014680330?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/1052957599014680330?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/et7aNAHSiwA/bus-problem.html" title="The Bus Problem" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/12/bus-problem.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUNSX88fyp7ImA9WxRaFEU.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-186917126750166929</id><published>2008-12-16T22:54:00.002-05:00</published><updated>2008-12-16T22:58:18.177-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-16T22:58:18.177-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="behavior" /><category scheme="http://www.blogger.com/atom/ns#" term="human aspects of software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="aspects of software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="team work" /><title>Taking care of your people</title><content type="html">This post is about taking care of your colleagues and employees. With holidays rapidly approaching many people scramble to say thank you and congratulate their subordinates and colleagues. This behavior often leads to awkward moments and superficial exchanges of gratitude. Don’t do it.&lt;br /&gt;&lt;br /&gt;If you haven’t been taking care of your people through the year consider changing your behavior. By saying “taking care” I don’t mean buying expensive gifts or giving superficial awards. What I mean is enabling your colleagues and employees to support you in the most productive way possible while operating in a professional environment. In life it’s the small things that leave a lasting impression that make people happy.&lt;br /&gt;&lt;br /&gt;Let’s say your new team members all have standard company issued laptops with 1 GB or memory. The software tools they use to model architecture and conduct analysis functions result in thrashing and frustrating usability experience. Closing Outlook and IDE makes the modeling software run fast, but that’s not the solution. Your first action is to immediately buy an additional 2 GB of RAM for each person and have it shipped express mail.&lt;br /&gt;&lt;br /&gt;Surprise your colleagues by baking cookies from scratch. Not bringing left over batch or buying a package, but purposefully making something for the team. This element of surprise and pleasant goodness clashes with the ordinary daily routine. This is a great way to say thank you in a very small way.&lt;br /&gt;&lt;br /&gt;Finally, create and maintain a professional working environment. This may be difficult if the rest of the organization is not ethical or the senior management doesn’t appear to care. It’s important for you, as a leader, to create a sense of belonging. You must consistently address any unprofessional behavior within your team so that your employees can concentrate on delivering the best work rather than dealing with non-work related distractions.&lt;br /&gt;&lt;br /&gt;Enabling your team to support you with proper tools in a professional work environment through the year will make you more productive and holiday times less awkward.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-186917126750166929?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1D1j8SmszJVwZTWZKVRfBNP3dWE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1D1j8SmszJVwZTWZKVRfBNP3dWE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1D1j8SmszJVwZTWZKVRfBNP3dWE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1D1j8SmszJVwZTWZKVRfBNP3dWE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/186917126750166929/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=186917126750166929" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/186917126750166929?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/186917126750166929?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/4o8Kduj54ZE/taking-care-of-your-people.html" title="Taking care of your people" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/12/taking-care-of-your-people.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4GRHY_fCp7ImA9WxRWEUs.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-5106331999193363661</id><published>2008-10-27T22:59:00.003-04:00</published><updated>2008-10-27T23:02:05.844-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-27T23:02:05.844-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="human aspects of software architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Responsible Software Architecture" /><title>Architecture evaluation attititude</title><content type="html">When faced with a task of architectural evaluation of an existing system a software architect may make an assumption that something must be wrong with the architecture. Of course if someone asks you to perform such task your first question is to understand what is implied by “evaluating the software architecture of an existing system.” Before any work of technical nature commences the business purpose of the evaluation task needs to be established.&lt;br /&gt;&lt;br /&gt;The goal of an evaluation is not to determine what is right or what is wrong. The goal of an evaluation is to gain an understanding of how a system is constructed. It’s always healthy to be skeptical – we advocate this strongly as it’s the mantra of the Firebrand Architect® blog – but also give a “benefit of the doubt” and try to understand why a solution was architected one way or another. Remember that the system was designed and implemented under constraints that may no longer be true today.&lt;br /&gt;&lt;br /&gt;As a public service announcement, please do your colleagues a favor and methodically document your solutions, and most importantly the thinking process behind your decisions. If someone has to conduct architectural reconstruction on a system you've architected (instead of architectural evaluation based on existing documentation), then you've done this discipline a disfavor. Thank you in advance for being considerate.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.softwarearchitectures.com/"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-5106331999193363661?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ahZwstUl_UMxaXKDs4PAnY_MM6E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ahZwstUl_UMxaXKDs4PAnY_MM6E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ahZwstUl_UMxaXKDs4PAnY_MM6E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ahZwstUl_UMxaXKDs4PAnY_MM6E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/5106331999193363661/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=5106331999193363661" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/5106331999193363661?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/5106331999193363661?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/YgJtcWGH53o/arch.html" title="Architecture evaluation attititude" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/10/arch.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEERXY7fCp7ImA9WxRXEE4.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-7923268529652018230</id><published>2008-10-14T22:22:00.001-04:00</published><updated>2008-10-14T22:26:44.804-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-14T22:26:44.804-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="thinking" /><category scheme="http://www.blogger.com/atom/ns#" term="software architecture discipline" /><title>Architect-as-contractor model in building architecture</title><content type="html">In the October 10th 2008 Wall Street Journal article, &lt;a href="http://online.wsj.com/article_email/SB122359392253221037-lMyQjAxMDI4MjEzNDUxOTQzWj.html#articleTabs%3Darticle"&gt;House Designers Don Hard Hats&lt;/a&gt;, the author describes the architect-as-contractor model called design-build. This approach is the unquestionable standard in the software engineering world. This article vividly demonstrates some well known parallels between building and software architecture.&lt;br /&gt;&lt;br /&gt;Some points to note. The design-build model works only when the design documents are extremely detailed - down to the last screw or caulking decision. There are upward of thirty different architectural views for a $5M project. And of course an architect is playing the role of a developer by participating in the day-to-day building activities.&lt;br /&gt;&lt;br /&gt;The article offers interesting reaction to this approach from former customers. Since there has been some isolated discussions in the software architecture community of the separation of high level design from implementation it’s worth a look.&lt;br /&gt;&lt;br /&gt;Constantin K.&lt;br /&gt;Firebrand Architect®&lt;br /&gt;&lt;a href="http://www.SoftwareArchitectures.com"&gt;SoftwareArchitectures.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-7923268529652018230?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/asCOL8q_mJ8m02WiLHmRlsdH5AE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/asCOL8q_mJ8m02WiLHmRlsdH5AE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/asCOL8q_mJ8m02WiLHmRlsdH5AE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/asCOL8q_mJ8m02WiLHmRlsdH5AE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/7923268529652018230/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=7923268529652018230" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/7923268529652018230?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/7923268529652018230?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/xXrAnKPr5rs/architect-as-contractor-model-in.html" title="Architect-as-contractor model in building architecture" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/10/architect-as-contractor-model-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMDSHs6fip7ImA9WxdVFkU.&quot;"><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><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-21T18:47:59.516-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="thinking" /><title>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;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-3735204456824508656?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dRknIU1Oi_7W7E1lQ0RJaHnFRAo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dRknIU1Oi_7W7E1lQ0RJaHnFRAo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dRknIU1Oi_7W7E1lQ0RJaHnFRAo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dRknIU1Oi_7W7E1lQ0RJaHnFRAo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/3735204456824508656/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=3735204456824508656" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/3735204456824508656?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/3735204456824508656?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/q3na_uVtpfY/expert-is.html" title="An expert is ..." /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/07/expert-is.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YFRng4eSp7ImA9WxZaFE4.&quot;"><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><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-28T23:18:37.631-04:00</app:edited><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>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;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-2434642387910100024?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/M2HyTM1Q9SCLPA8mW3eZ_nYfDmQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/M2HyTM1Q9SCLPA8mW3eZ_nYfDmQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/M2HyTM1Q9SCLPA8mW3eZ_nYfDmQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/M2HyTM1Q9SCLPA8mW3eZ_nYfDmQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/2434642387910100024/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=2434642387910100024" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/2434642387910100024?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/2434642387910100024?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/S97okiKlU-E/tough-crowd-architecting-in-shadow-of.html" title="Tough crowd: architecting in a shadow of a challenged project" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/04/tough-crowd-architecting-in-shadow-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cASXczeip7ImA9WxZaE0U.&quot;"><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><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-28T08:17:28.982-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software architecture discipline" /><title>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;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-4321067539206615890?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N4Uv6ePJS--HOkClBrknttMLPJ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N4Uv6ePJS--HOkClBrknttMLPJ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N4Uv6ePJS--HOkClBrknttMLPJ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N4Uv6ePJS--HOkClBrknttMLPJ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/4321067539206615890/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=4321067539206615890" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/4321067539206615890?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/4321067539206615890?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/FxwRgXQ9TMo/how-mature-is-software-architecture.html" title="How mature is the software architecture discipline?" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/04/how-mature-is-software-architecture.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04NQ3o4cCp7ImA9WxZaEE0.&quot;"><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><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-24T00:06:32.438-04:00</app:edited><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>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;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-3912254792513007691?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KNuQ7rF2q1mf3Ss12S1Twu8EGt0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KNuQ7rF2q1mf3Ss12S1Twu8EGt0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KNuQ7rF2q1mf3Ss12S1Twu8EGt0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KNuQ7rF2q1mf3Ss12S1Twu8EGt0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/3912254792513007691/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=3912254792513007691" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/3912254792513007691?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/3912254792513007691?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/-BfPeHMIeog/software-architecture-is-about-people.html" title="Software Architecture is about people" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/04/software-architecture-is-about-people.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUCRX08eip7ImA9WxZbGU8.&quot;"><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><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-23T00:51:04.372-04:00</app:edited><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>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;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-511923548526119069?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/olWObv5OAqR7ZFJR3I8Jr_-1Q_A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/olWObv5OAqR7ZFJR3I8Jr_-1Q_A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/olWObv5OAqR7ZFJR3I8Jr_-1Q_A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/olWObv5OAqR7ZFJR3I8Jr_-1Q_A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/511923548526119069/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=511923548526119069" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/511923548526119069?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/511923548526119069?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/AUaThkCpoXA/microsofts-architecture-journal-15.html" title="Microsoft’s Architecture Journal 15" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/04/microsofts-architecture-journal-15.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUGQ3Y5eSp7ImA9WxRQGUg.&quot;"><id>tag:blogger.com,1999:blog-34041837.post-4263507152578845911</id><published>2008-04-23T00:01:00.002-04:00</published><updated>2008-10-13T22:10:22.821-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-13T22:10:22.821-04:00</app:edited><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>Software Architecture Assessment</title><content type="html">&lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%; color: rgb(51, 51, 51);font-size:100%;" &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;;" &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="line-height: 115%;font-size:100%;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;i style=""&gt;&lt;span style="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;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;font-size:100%;" &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;span style="font-size:100%;"&gt;&lt;i style=""&gt;&lt;span style="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;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;font-size:100%;" &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="line-height: 115%;font-size:100%;" &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="line-height: 115%;font-size:100%;" &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;span style="font-size:100%;"&gt;&lt;i style=""&gt;&lt;span style="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;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;font-size:100%;" &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="line-height: 115%;font-size:100%;" &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="line-height: 115%;font-size:100%;" &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;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-7810168727708092";
/* 468x60 for RSS Feed 10/27/08 */
google_ad_slot = "0436686450";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34041837-4263507152578845911?l=blog.firebrandarchitect.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/C9iT_pOa2RWGlkaMCm1be4qk7qA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C9iT_pOa2RWGlkaMCm1be4qk7qA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/C9iT_pOa2RWGlkaMCm1be4qk7qA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C9iT_pOa2RWGlkaMCm1be4qk7qA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.firebrandarchitect.com/feeds/4263507152578845911/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=34041837&amp;postID=4263507152578845911" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/4263507152578845911?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/34041837/posts/default/4263507152578845911?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/FirebrandArchitect/~3/edorPrQ1DHo/software-architecture-assessment.html" title="Software Architecture Assessment" /><author><name>Firebrand Architect®</name><uri>http://www.blogger.com/profile/10573131002765033266</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="15073955380595495163" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.firebrandarchitect.com/2008/04/software-architecture-assessment.html</feedburner:origLink></entry></feed>
