Software Architecture for Developers

The tactical solution

There is no such thing as a tactical solution

Those of you that get involved in the very early stages of a software project might have heard this a few times before.

We just need a quick tactical solution.

In my experience, there is no such thing as a tactical solution and a translation of what is really being said is as follows.

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.

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

Working software is what our industry is all about and when people see it, they often start thinking about new ideas. And it'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.

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.

I want to keep this blog entry short so I'm going to finish by saying that there is no such thing as a tactical solution. As an anecdote, the last tactical solution I built has been running since 2005. I'm sure you have similar stories. Next time I'll share some of my thoughts and experiences about designing a tactical solution.



Re: The tactical solution

Very true. I've just been drafted onto a project that was intended to be a tactical solution and went live last year. The reason I'm now on it? The strategic solution that was supposed to replace it has been cancelled, so we need to look at doing more work on the existing tactical solution to extend its lifespan.

Tactics can be part of the strategy...

If you ask the right questions (and contrive the right obstacles) you can probably get your tactical solution to be a quick, cut-down spike of something a little more strategic. Give them what they need, not what they want (or say they need).

Re: The tactical solution

Trying to take a useful tool away from a user is like trying to take a toy off a child.

If you want to experience the feeling, without using software, find a small child with a battered old teddy bear and try to replace it with a bigger, cleaner one.

Re: The tactical solution

I think it comes down to 'what makes a tactical solution tactical?' There are cheaper /dearer solutions, there are fragile/ robust solutions, limited/flexible solutions...

I guess I'm saying, tactical isn't something in itself, it's a set of implications that need to be articulated and discussed.

Tom

P.S. And be sure to write it up so you can say 'told you so' :-)

Designing the tactical solution

In my previous post I asserted that there's really no such thing as a tactical solution, but what should you do if you are asked to design one? Before I answer that, let's summarise what a tactical solution is all about.

Add a comment Send a TrackBack