{"id":1376,"date":"2014-03-04T21:00:44","date_gmt":"2014-03-04T20:00:44","guid":{"rendered":"http:\/\/www.andrewj.com\/blog\/?p=1376"},"modified":"2015-05-19T15:13:07","modified_gmt":"2015-05-19T14:13:07","slug":"what-do-i-mean-by-agile-architecture","status":"publish","type":"post","link":"https:\/\/www.andrewj.com\/blog\/2014\/what-do-i-mean-by-agile-architecture\/","title":{"rendered":"What Do I Mean by &quot;Agile Architecture&quot;?"},"content":{"rendered":"<p>A little while back I was approached by <a href=\"http:\/\/www.eitaglobal.com\/\" target=\"_blank\">EITA Global<\/a>, a global provider of on-line training, and we have now agreed that I should present for them a webinar entitled &quot;<a href=\"https:\/\/www.eitaglobal.com\/control\/w_product\/~product_id=300105LIVE\/~Andrew_Johnston\/~Agile_Architects_and_Agile_Architecture\" target=\"_blank\">Agile Architects, and Agile Architecture<\/a>&quot;. The current plan is for this run on 8th April. I&#8217;ll keep you all posted with any changes.<\/p>\n<p>As part of my preparation, I decided to do a literature scan to see how this topic may have moved on since the last time I did some significant work on it, a couple of years ago. I have to say that based on my initial research I&#8217;m not that impressed\u2026 I don&#8217;t know whether to be flattered or slightly perturbed that <a href=\"http:\/\/www.agilearchitect.org\/agile\/index.asp\" target=\"_blank\">AgileArchitect.org<\/a> comes up squarely at the top of a Google search. There are a few decent web articles around, although most are several years old and I&#8217;d seen them before. The Google search also turns up several dead links.<\/p>\n<p>Amazon turned up a couple of loosely-related books, and the most obvious candidate appeared to be &quot;Lean Architecture: for Agile Software Development&quot; by James O. Coplien and Gertrud Bj\ufffdrnvig. I&#8217;ve now read a couple of chapters, but my first impression is not very favourable. I may be rushing to judgement, in which case I&#8217;ll apologise later, but the book seems to somehow equate &quot;architecture&quot; with &quot;code structure&quot; with &quot;project structure&quot;, which isn&#8217;t right at all, missing a number of the most important dimensions of any true architecture.<\/p>\n<p>This led me to ask myself a very basic question. &quot;What do I mean by &#8216;Agile Architecture&#8217;?&quot;. In Coplien and Bj\ufffdrnvig&#8217;s book they seem to answer &quot;an architecture which facilitates agile development&quot;. That may be one definition, but it isn&#8217;t mine.<\/p>\n<p>I think the confusion arises from the difference between &quot;agile&quot; applied to a <em>process <\/em>(e.g. software development), and applied to a <em>product<\/em>. In the former case, the <a href=\"http:\/\/agilemanifesto.org\/\" target=\"_blank\">Agile Manifesto<\/a> undoubtedly applies. In the latter, I&#8217;m not so sure. I think that for a product, and especially its architecture, the primary meaning of &quot;agile&quot; must be &quot;able to respond to change&quot;. The larger the change which can be handled quickly and cheaply, the more agile the architecture. An architecture which has been built in a beautifully run agile project but which needs new code the first time a business rule changes is fragile, not agile. The system which can absorb major changes in the business rules without a single line of code is genuinely agile. The integration architecture which allows multi-million pound system A to be upgraded with no impact on adjacent multi-million pound system B, or which allows the company to be restructured just by re-configuring its services, is the most agile of all.<\/p>\n<p>I&#8217;m slightly worried that &quot;agile&quot; may have become a &quot;reserved word&quot;, and this &quot;architecture in the large&quot; definition may run counter to accepted practice. Is that right, or am I reading too much into a few examples?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A little while back I was approached by EITA Global, a global provider of on-line training, and we have now agreed that I should present for them a webinar entitled &quot;Agile Architects, and Agile Architecture&quot;. The current plan is for &hellip; <a href=\"https:\/\/www.andrewj.com\/blog\/2014\/what-do-i-mean-by-agile-architecture\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,2],"tags":[],"_links":{"self":[{"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/posts\/1376"}],"collection":[{"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/comments?post=1376"}],"version-history":[{"count":0,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/posts\/1376\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/media?parent=1376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/categories?post=1376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/tags?post=1376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}