Software architecture

Architecture goodness assessment

Architecture goodness assessment

Architecture is never just a technical decision. Systematic evaluation of architectural decisions starts by recognizing the correct criteria. With the correct criteria decisions can be made on fact basis and different stakeholders are properly taken into consideration.

For evaluating different architectural options the criterias for comparing them are required. There are often as many perspectives as there are stakeholders so selecting the meaningful one's is not often easy. Often an external opinion can give more reliable outcome than a biased view from one of the existing stakeholders. The old fact that a result is only as reliable as the meters used for measuring it, stands valid for architectural decisions as well.

Below you can find some typical examples of perspectives that would be good to considered.

Availability to production

Availability to production

Quite often one of the key criterias is to consider is the availability of the solution to production. And rightfully so, as any solution development is always also an investment which is meant to improve operations somehow and thus return the investment at certain time window. This always relates to the project execution planning as technical capabilities and scheduling needs to be planned in parallel to create optimal outcome throughout the project.

Extendability

Extendability

Most of the time a single architectural decision is just one step in the series of related steps on solution development. Therefore it is very important to take key development lines and priorities into consideration. When choosing an approach one should for example look into extendability, very early on in the planning phase. Having said that, it is important to remember that over-engineering can be equally harmful as under-engineering. It is good to keep in mind the lean principle about avoiding waste and still balance that with combining related development together.

Availability of know-how

Availability of know-how

In technology it is often the newest that promise to give quick wins and efficient progress. This is indeed many times the case but on the same time one should also remember to consider that also the skills required for further development need to be available. As a rule of thumb for most well established companies it makes sense to pick technologies that perhaps are not the latest but instead settle in to a little more seasoned approaches where resources are well available now and in the expected lifespan.

Expences

Expences

The overall expenses of a solution are a combination of many factors. Where in one solution most of the expences come from initial development of the solution it may be that a licence solution or infrastructure contribute mostly to the cost on another. There is no silverbullet to this topic and really one should always look at the entire lifespan and make the calculations over a longer period.
The four examples above may seem quite obvious but it is surprising how, not even bigger companies, seem to remember to consider even these basic aspects. Too often the decisions get done purely on technical basis or even emotional basis. These four are anyhow just a small sample of different potential criterias that should be considered especially when making long term decisions that have time to bite back times and times again if they are not properly considered.

My extensive experience both on information, solution and technical architecture as well as success on leading various types of projects gives me a very solid base for any type of solution development. I've also worked years closely with business functions to understand the cost perspective.

From information architecture to solution architecture all the way to project execution or in need for just one well targeted architecture goodness evalution, I look forward to hearing from you.