<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Coding the Architecture - tactical tag</title>
  <link>http://www.codingthearchitecture.com/tags/tactical/</link>
  <description>Software architecture for developers</description>
  <language>en</language>
  <copyright>Coding the Architecture</copyright>
  <lastBuildDate>Mon, 21 May 2012 09:41:00 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>London User Group - Tuesday 4th September 2007</title>
    <link>http://www.codingthearchitecture.com/2007/09/05/london_user_group_tuesday_4th_september_2007.html</link>
    
      
        <description>
          &lt;p&gt;
A big thank you to everybody that braved the tube strike to come along to the &lt;a href=&#034;http://www.codingthearchitecture.com/2007/08/15/london_user_group_tuesday_4th_september_2007.html&#034;&gt;Coding the Architecture session last night&lt;/a&gt;. We started the evening with about 6 people and ended with around 20, which was excellent. Thanks also to Skills Matter for hosting us and to Neil from &lt;a href=&#034;http://www.omniresources.co.uk&#034;&gt;Omni Resources&lt;/a&gt; for coming along to buy us all a beer afterwards.
&lt;/p&gt;

&lt;p&gt;
For those of you that came along, we hope that you found it a useful session. For those that couldn&#039;t make it, I presented a short session about architecting tactical solutions before we broke into a group discussion, during which some really interesting points were raised.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your tactical solution might not be so tactical if you spot the following warning signs : &#034;the system must be secure&#034;, &#034;the system must be centrally deployed&#034;, &#034;the system must be auditable&#034;, &#034;we need pages/screens to administer the system&#034;, etc.&lt;/li&gt;
&lt;li&gt;The effort that goes into developing a tactical solution often outweighs the lifespan of the system (assuming that it really is limited, of course). A couple of examples cited were a 2 week build (1 person) with a 1 week lifespan and a 4 week build (4 people) with a projected 3 month lifespan.&lt;/li&gt;
&lt;li&gt;Your technology choices and decision on how much quality assurance to perform (e.g. automated unit testing, coding standards, etc) probably reflects your thoughts on whether *you* will be the one that has to support the system and come back to sort out problems in the future.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
The entire discussion was very good, but those are the points that stick out in my mind. At the start of the session, I said that we&#039;re looking for other people to suggest topics, present and lead sessions. We&#039;re not necessarily looking for polished PowerPoint presentations or expert speakers, but we are looking for people that are willing to share their software architecture experiences. Here is our list of potential future topics, but please do get in touch if you have your own ideas and/or want to present. Case studies of software projects from an architecture perspective would also be interesting.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Making the jump from developer to software architect.&lt;/li&gt;
&lt;li&gt;Coding and the role of a software architect.&lt;/li&gt;
&lt;li&gt;What do you capture in your software architecture document?&lt;/li&gt;
&lt;li&gt;Dealing with non-functional requirements.&lt;/li&gt;
&lt;li&gt;Real-world experiences with SOA.&lt;/li&gt;
&lt;li&gt;Agile architecture : How much is just enough?&lt;/li&gt;
&lt;li&gt;Hiring software architects.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Again, thanks for coming along. You can download the slides from &lt;a href=&#034;http://www.codingthearchitecture.com/files/20070904-the-implications-of-architecting-a-tactical-solution.pdf&#034;&gt;here&lt;/a&gt; and please feel free to use the &lt;a href=&#034;http://groups.google.com/group/codingthearchitecture&#034;&gt;Google Group&lt;/a&gt; if you want to continue the discussions from last night. We hope to see you next month.
&lt;/p&gt;


        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2007/09/05/london_user_group_tuesday_4th_september_2007.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2007/09/05/london_user_group_tuesday_4th_september_2007.html</guid>
    <pubDate>Wed, 05 Sep 2007 19:01:00 GMT</pubDate>
  </item>
  
  <item>
    <title>London User Group - Tuesday 4th September 2007</title>
    <link>http://www.codingthearchitecture.com/2007/08/15/london_user_group_tuesday_4th_september_2007.html</link>
    
      
        <description>
          &lt;p&gt;
Here are the details of the first &lt;a href=&#034;http://www.codingthearchitecture.com/2007/07/26/coding_the_architecture_london_user_group.html&#034;&gt;Coding the Architecture London User Group&lt;/a&gt;.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Title&lt;/b&gt; : The Implications of Architecting a Tactical Solution&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Summary&lt;/b&gt; : The topic for this, the first Coding the Architecture London User Group meeting, is tactical solutions. We&#039;ve all come across tactical solutions, but what exactly are they and how do you go about architecting them?
&lt;br /&gt;&lt;br /&gt;
In this session, &lt;a href=&#034;http://www.codingthearchitecture.com/authors/sbrown/&#034;&gt;Simon Brown&lt;/a&gt; will present his experiences of architecting tactical solutions, including a look at how to take advantage of the fact that such solutions typically require a fast delivery and have a limited lifespan. Simon will also be talking about what happens when you get it wrong.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Date&lt;/b&gt; : Tuesday, 4th September 2007&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Time&lt;/b&gt; : 18:30-20:00&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Location&lt;/b&gt; : Skills Matter, &lt;a href=&#034;http://maps.google.co.uk/maps?f=q&amp;hl=en&amp;q=1+Sekforde+Street+London&amp;sll=53.098145,-2.443696&amp;sspn=11.997343,29.619141&amp;ie=UTF8&amp;ll=51.523271,-0.104671&amp;spn=0.006061,0.014462&amp;z=16&amp;om=1&#034;&gt;1 Sekforde Street&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Format&lt;/b&gt; : Presentation followed by a breakout for discussion, with further discussion in a local pub (The Crown).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Please sign-up on the &lt;a href=&#034;http://skillsmatter.com/menu/727&#034;&gt;Skills Matter website&lt;/a&gt;. 
&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.codingthearchitecture.com/2007/08/15/london_user_group_tuesday_4th_september_2007.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2007/08/15/london_user_group_tuesday_4th_september_2007.html</guid>
    <pubDate>Wed, 15 Aug 2007 13:07:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Designing the tactical solution</title>
    <link>http://www.codingthearchitecture.com/2007/06/27/designing_the_tactical_solution.html</link>
    
      
        <description>
          &lt;p&gt;
In my previous post I asserted that there&#039;s really no such thing as a &lt;a href=&#034;http://www.codingthearchitecture.com/2007/06/21/the_tactical_solution.html&#034;&gt;tactical solution&lt;/a&gt;, but what should you do if you are asked to design one? Before I answer that, let&#039;s summarise what a tactical solution is all about.
&lt;/p&gt;

&lt;blockquote&gt;
... a tactical solution can be thought of as a stopgap. It&#039;s an interim solution. It&#039;s something potentially quick and dirty. It satisfies a very immediate need. Importantly, it has a limited lifespan.
&lt;/blockquote&gt;

&lt;p&gt;
Tactical solutions are all about fast delivery and limited lifespans. You need to take *both* of these into account if you are asked to design a tactical solution because they will undoubtedly influence your design decisions. Let&#039;s look at each in turn.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Fast delivery&lt;/b&gt;
&lt;br /&gt;
Compressed timescales will alter the way in which you tackle the design process, so here are my suggestions for dealing with this.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don&#039;t agonise over design decisions. Do the simplest thing that could possibly work in the available time and then stop.&lt;/li&gt;
&lt;li&gt;Be explicit about what your solution will and *won&#039;t* do. If the timescales have made you choose a design with limited future extensibility and flexibility, make this explicit so that everybody (including the stakeholders) understands the trade-offs that have been made and the impact they have in the future.&lt;/li&gt;
&lt;li&gt;On a similar note, make sure any assumptions you&#039;re working with are known by everybody.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;b&gt;Limited lifespan&lt;/b&gt;
&lt;br /&gt;
A limited lifespan typically provides you with some boundaries for your key non-functional requirements and you can use this to your advantage.
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A tactical solution with a one year lifespan means your solution (in theory) only needs to scale to support data volumes for one year (plus a bit for safety). This makes some design decisions much easier, such as whether you need to design a solution that is horizontally scalable.&lt;/li&gt;
&lt;li&gt;Be explicit about what your solution will and *won&#039;t* support. If the limited lifespan has influenced your decision to build something that is simple rather than highly scalable, make this explicit so that everybody (including the stakeholders) understands the trade-offs that have been made and the impact they have in the future.&lt;/li&gt;
&lt;li&gt;Again, don&#039;t agonise over design decisions. Do the simplest thing that could possibly work for the anticipated lifespan and then stop.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
As &lt;a href=&#034;http://www.codingthearchitecture.com/2007/06/21/the_tactical_solution.html#comment1182524039815&#034;&gt;Kevin commented&lt;/a&gt;, a better approach to building a tactical solution is to make it the first delivery of a larger and more strategic solution. Sometimes this isn&#039;t possible though and delivering a solution with a limited lifespan in compressed timescales means that you have to &lt;a href=&#034;http://www.codingthearchitecture.com/2007/06/07/options.html&#034;&gt;make some trade-offs&lt;/a&gt;. If you find yourself in this situation, don&#039;t agonise over design decisions and make sure you&#039;re explicit about what the solution will and *won&#039;t* do.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>How do you define software architecture?</category>
    
    <comments>http://www.codingthearchitecture.com/2007/06/27/designing_the_tactical_solution.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2007/06/27/designing_the_tactical_solution.html</guid>
    <pubDate>Wed, 27 Jun 2007 20:16:00 GMT</pubDate>
  </item>
  
  <item>
    <title>The tactical solution</title>
    <link>http://www.codingthearchitecture.com/2007/06/21/the_tactical_solution.html</link>
    
      
        <description>
          &lt;p&gt;
Those of you that get involved in the very early stages of a software project might have heard this a few times before.
&lt;/p&gt;

&lt;blockquote&gt;
We just need a quick tactical solution.
&lt;/blockquote&gt;

&lt;p&gt;
In my experience, there is no such thing as a tactical solution and a translation of what is really being said is as follows.
&lt;/p&gt;

&lt;blockquote&gt;
We need something built as quickly as possible and, although we *think* it will have a limited lifespan, it will more than likely remain in use for some time into the future.
&lt;/blockquote&gt;

&lt;p&gt;
In the fast paced world we live in, everybody wants everything as soon as possible. Building something quickly isn&#039;t the same as building something tactical though. For me, a tactical solution can be thought of as a stopgap. It&#039;s an interim solution. It&#039;s something potentially quick and dirty. It satisfies a very immediate need. Importantly, it has a limited lifespan.
&lt;/p&gt;

&lt;p&gt;
Working software is what our industry is all about and when people see it, they often start thinking about new ideas. And it&#039;s here that the biggest danger lies. On paper, a tactical solution looks exactly that; tactical. A real-life, working tactical solution can easily be perceived as something much, much different.
&lt;/p&gt;

&lt;p&gt;
Being the software architect of a tactical solution is a potentially tricky situation to be in. On the one hand you have to balance the need for a fast delivery and on the other you have to balance the key non-functional requirements such as performance, scalability and system lifespan.
&lt;/p&gt;

&lt;p&gt;
I want to keep this blog entry short so I&#039;m going to finish by saying that there is &lt;i&gt;no such thing as a tactical solution&lt;/i&gt;. As an anecdote, the last tactical solution I built has been running since 2005. I&#039;m sure you have similar stories. Next time I&#039;ll share some of my thoughts and experiences about designing a tactical solution.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>How do you define software architecture?</category>
    
    <comments>http://www.codingthearchitecture.com/2007/06/21/the_tactical_solution.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2007/06/21/the_tactical_solution.html</guid>
    <pubDate>Thu, 21 Jun 2007 19:08:10 GMT</pubDate>
  </item>
  
  </channel>
</rss>

