Complex Technical Setup = Agile not possible

Complex Technical Setup = Agile not possible

Why you need a simple technical setup

You need a simple technical setup because you need to have full control over your production line. An overly complex technical setup means that you cannot support your business with the functionality they need, when they need it. This again leads to loss of revenue.

The less cogs and wheels we have in the machine, the less can go wrong. Have you ever been in a situation where you couldn’t go-live due to technical issues that you couldn’t solve? If so, then you know why a simple technical setup is a good thing.

How did it get “un-simple”?

Complex Setup
Complex Setup

Over the years our IT ecosystems have gotten more and more complex. We used to work on a single machine, using only two or three programming languages. The system landscape today is a lot more complex. Clustered servers, different sorts of server types for different tasks, a mix of data interchange formats, integration middleware, several different programming languages and a mix of different operating systems, just to name a few.

On top of this, we have added many layers of abstraction and decoupling in our applications, that it is almost impossible to trace a transaction end-to-end. To help us trace this we add even stuff to our system, which again adds to the complexity.

Leading or Bleeding edge?

It is always nice to have the latest, greatest software, but do we actually need to be on the bleeding edge? It is called bleeding edge for a reason. When you go for the new and smart features of the absolute latest version, especially when it comes to complex software, you also add a lot to the project risk. New versions are bound to have undiscovered bugs that you have no way of predicting and even worse, no way of fixing less finding a way to work around them. You will need the help of experts that nine times out of ten will have no idea what is wrong and no idea when or how you will have it solved.

You know that you are on the bleeding edge, when a Google search on a problem turns up zero hits.

You need to simplify

A badly designed system will not get any better, no matter how much technology you throw at it!

The key to a simplified technical setup is a well designed system where all the elements have clearly defined boundaries and functionality. The key to e.g. a good Service Oriented Architecture is, as the term says, the Architecture. Do you really need to decouple every layer in your Application using a Service Bus, when you get by using standard JAVA or .NET technologies? Of course you don’t. If the system is well designed you can always add a Service Bus later, if needed.

Benefits of a simple technical setup

There are lots of benefits to be reaped from a simplified setup, such as:

  • You gain control of your production line
  • You can service your business with what they need, when they need it
  • Performance will increase. Both “real” system performance and implementation and/or bug fixing
  • You license and maintenance costs will be reduced
  • The quality of your software will improve because you are using less and simpler technologies
  • It is easier to recruit developers if you use technology that is already widely accepted and known
  • Help is readily available, often simply by a Google search

No comments yet.