<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Coding the Architecture - sacrifices tag</title>
  <link>http://www.codingthearchitecture.com/tags/sacrifices/</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>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>
  
  <item>
    <title>Options</title>
    <link>http://www.codingthearchitecture.com/2007/06/07/options.html</link>
    
      
        <description>
          &lt;p&gt;
A recent consulting engagement has involved me defining a system architecture to solve a particular business problem. While coming up with something that meets the functional and non-functional requirements can be hard in itself, you always have to bear in mind there are always alternatives. In essence, you&#039;ll probably come up with several options, regardless of whether you present them all.
&lt;/p&gt;

&lt;p&gt;
The key thing that really struck me recently is that options can vary quite dramatically when you start to think about some of the additional constraints and trade-offs that can be/need to be considered. For example, your &#034;ideal&#034; architecture might be a distributed n-tier system but an alternative architecture might be a simple desktop application if infrastructure simply isn&#039;t available. Likewise, if time-to-market is the critical factor, you might even find yourself going down a number of different routes, some of which might be highly tactical and some might involve the use of an off-the-shelf product. Other  important aspects might include existing vendor relationships, in-house skillsets, functional scope, non-functional scope, etc.
&lt;/p&gt;

&lt;p&gt;
Whatever options you come up with, whoever is making the final decision needs to have as much data available in order to make the most informed decision possible. Unless you really are spoilt for choice, options represent trade-offs and sacrifices. If you know what these are, you have a much better chance of choosing the right option.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>How do you define software architecture?</category>
    
    <comments>http://www.codingthearchitecture.com/2007/06/07/options.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2007/06/07/options.html</guid>
    <pubDate>Thu, 07 Jun 2007 18:26:00 GMT</pubDate>
  </item>
  
  </channel>
</rss>

