<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://kn1ght.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>kn1ght : Architecture, Jibba Jabba</title><link>http://kn1ght.net/archive/tags/Architecture/Jibba+Jabba/default.aspx</link><description>Tags: Architecture, Jibba Jabba</description><dc:language>en</dc:language><generator>CommunityServer 2.1 (Build: 60809.935)</generator><item><title>Has Conventional Software Architecture Become Obsolete?</title><link>http://kn1ght.net/archive/2006/11/02/Has-Conventional-Software-Architecture-Become-Obsolete_3F00_.aspx</link><pubDate>Wed, 01 Nov 2006 17:31:00 GMT</pubDate><guid isPermaLink="false">8fe36076-3c96-4ed1-ae88-5cc096ef8c9b:3</guid><dc:creator>keith</dc:creator><slash:comments>2</slash:comments><comments>http://kn1ght.net/comments/3.aspx</comments><wfw:commentRss>http://kn1ght.net/commentrss.aspx?PostID=3</wfw:commentRss><description>&lt;p&gt;For as long as I have been in this industry, the architecture space has&amp;nbsp;been one of the&amp;nbsp;sexier areas within which one can operate. Six figure salaries, prominent roles on large projects and long lunches with c-level management are rewards that&amp;nbsp;most&amp;nbsp;of us&amp;nbsp;aspire to attain at some point in&amp;nbsp;our careers.&amp;nbsp;&lt;a href="http://martinfowler.com/bliki/" target="_blank"&gt;Successful&lt;/a&gt; &lt;a href="http://www.pluralsight.com/blogs/dbox/default.aspx" target="_blank"&gt;architects&lt;/a&gt; can&amp;nbsp;enjoy&amp;nbsp;rock-star&amp;nbsp;levels of popularity&amp;nbsp;within the software community by sharing big ideas and the lessons&amp;nbsp;they have learned from years of experience.&lt;/p&gt;&lt;p&gt;Unfortunately for those of us in the trenches, successful&amp;nbsp;implementation of these big ideas can be much more difficult to achieve than we are lead to believe. What may initially seem like a clean, elegant solution can quickly become an engineering nightmare as new requirements&amp;nbsp;surface and unanticipated complexity is forced into our designs. Budget blowouts, missed deadlines and broken promises have seen a growing tide of cynicism and resentment directed towards the architecture community.&lt;/p&gt;&lt;p&gt;Increasingly people are questioning the value of software architects and the artefacts they produce. The &amp;quot;thought leaders&amp;quot; of our community are frequently accused of being disconnected from reality,&amp;nbsp;providing esoteric solutions&amp;nbsp;that&amp;nbsp;look great in&amp;nbsp;PowerPoint&amp;nbsp;but are either&amp;nbsp;too convoluted or&amp;nbsp;too simplistic to work in the real world. &lt;a href="http://blogs.tedneward.com/"&gt;Ted Neward&lt;/a&gt; sums up the current climate of discontent&amp;nbsp;rather well in his &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/npaintro.asp" target="_blank"&gt;new MSDN column&lt;/a&gt; where he highlights some of the&amp;nbsp;more&amp;nbsp;common&amp;nbsp;attitudes towards&amp;nbsp;architecture&amp;nbsp;and poses the question:&lt;/p&gt;&lt;p&gt;&lt;em&gt;&amp;quot;Are we [architects] nearing extinction? Or does architecture - and the architect - still serve a useful purpose?&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Before I put in my two cents on the topic, in the interest of full disclosure I would like to point out that I am not an architect. I&amp;#39;m one of those guys in the trenches - a developer / consultant. However I&amp;nbsp;like to think that I have&amp;nbsp;participated in enough strategy workshops, authored my fair share of architecture specifications and learned enough lessons the hard way to offer a balanced perspective on the topic.&lt;/p&gt;&lt;p&gt;I am a firm believer that&amp;nbsp;architectural guidance is a fundamental requirement for the success of any non-trivial software project, but acknowledge that this guidance need not necessarily be delivered by someone who is considered an &amp;quot;architect&amp;quot;.&amp;nbsp;The theme of &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/npaintro.asp" target="_blank"&gt;Ted&amp;#39;s column&lt;/a&gt;, &amp;quot;Pragmatic Architecture&amp;quot; resonates strongly with me.&amp;nbsp;It is essential that both architectural guidance and the mechanism by which it is delivered are approached in an equally pragmatic manner.&lt;/p&gt;&lt;p&gt;On projects that are moderate in scope, involving smaller, agile teams, an implicit approach to the delivery of architectural guidance may be the most effective mechanism. By this I mean that the more clued up members of the development team call on their knowledge and experience&amp;nbsp;to define the architecture early on and&amp;nbsp;ensure that the solution maintains architectural integrity throughout the duration of the project. Under the right circumstances this approach can be extremely effective as when the architecture is the responsibility of those charged with&amp;nbsp;implementation it is often highly pragmatic.&lt;/p&gt;&lt;p&gt;Caution should be taken&amp;nbsp;as this approach can be destined to fail under the wrong conditions. If developers on the team lack the knowledge and experience to make the&amp;nbsp;correct architectural decisions, a fundamentally&amp;nbsp;flawed architecture may initially be defined and deteriorate into an expensive,&amp;nbsp;unwieldy mess as the project progresses.&amp;nbsp;Under circumstances like these, success may require an architect to spell out the architecture in detail up front and mentor the development team (or team lead)&amp;nbsp;throughout the project lifecycle to ensure its integrity is not compromised.&lt;/p&gt;&lt;p&gt;The conventional, explicit approach to the delivery of architectural guidance can be a necessity on larger projects. It is often not possible for any individual or team to have the breadth of knowledge required to make informed architectural decisions without abstracting away the lower level details. There may&amp;nbsp;simply be too many functional areas, software components, business entities and cross cutting concerns to consider. Utilisation of&amp;nbsp;an architect or team of architects may be essential&amp;nbsp;in these circumstances to&amp;nbsp;ensure the right decisions are made.&lt;/p&gt;&lt;p&gt;In some situations,&amp;nbsp;members of the development team may&amp;nbsp;know the business inside out and have the knowledge required to define a technically&amp;nbsp;flawless architecture but&amp;nbsp;this may&amp;nbsp;not be enough to ensure a successful implementation.&amp;nbsp;Senior management&amp;nbsp;are&amp;nbsp;often&amp;nbsp;the ones responsible for the&amp;nbsp;decisions that can make or break a project and members of the development team&amp;nbsp;may have the &amp;#39;clout&amp;#39; to sell directors and c-level management on the merits of what&amp;nbsp;could be the best (or only achievable) path forward. Architects&amp;nbsp;typically enjoy&amp;nbsp;a closer relationship with upper management and can have the &amp;#39;pull&amp;#39; required to sell an idea, get a proposal signed off or help secure funding approval for a project.&lt;/p&gt;&lt;p&gt;The notion that software architecture&amp;nbsp;/&amp;nbsp;architects are now suddenly irrelevant is an absurd&amp;nbsp;generalisation that shows a lack of perspective and forethought. It is this kind of dogmatic thinking that&amp;nbsp;leads to the &amp;quot;silver bullet&amp;quot; mentality that all too often can saddle fundamentally sound concepts&amp;nbsp;such as&amp;nbsp;service oriented architecture with the stigma of blown budgets, missed deadlines and broken promises. Architects don&amp;#39;t kill software projects -&amp;nbsp;an absence of pragmatism however can, and usually will.&lt;/p&gt;&lt;img src="http://kn1ght.net/aggbug.aspx?PostID=3" width="1" height="1"&gt;</description><category domain="http://kn1ght.net/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://kn1ght.net/archive/tags/Jibba+Jabba/default.aspx">Jibba Jabba</category></item></channel></rss>