Architecture is a minefield. Architecture is not by definition high level and sometimes relevant details are of the utmost importance. It is not strange that the added value of architecture and architects within large companies and projects is under heavy pressure due to architecture failures at large and the emergence of agile approaches to solve business IT problems.
Architecture (business, information, application and technical) have enormous impact on products we use daily. Now it is the highest time to work on a better approach for architecture. Maybe it is now the highest time for a FOSS approach to develop the next level of architecture methods and frameworks. FOSS and architecture should be a perfect marriage.
Despite real problems the FOSS philosophy and other important movements fighting for real Freedom on knowledge sharing like open content, open access, open data and open science booked impressive results the last years.
The current dominant view on ‘Open Architecture’ is rather limited. The main dominant perception on ‘Open Architecture’ is that it is:
- Based on open standards
- Easy to adjust / Easy to extend
- (micro)Services based
- Has components (‘building blocks’) that can easily be replaced
- Easy to extend (e.g. base system with plug-ins/add-ons/etc)
This is like a house with building blocks that could be easily replaced or a house that you buy and can adjust to your specific needs so it becomes the house of your dreams.
However in reality this view on Open Architecture has turned out to be wrong!
This rationale ancient traditional approach of system design for Open Architecture is not based on a system approach. In real life we known that every working system is greater than the sum of its parts and has emergent properties. This makes that it is e.g. very hard to take the a systems CMS back end functionality that is very well designed and add the perfect front end UI and think you end up with the perfect CMS system.
So in reality an open architecture is often a mess and a broken promise.
You will find out that your open architecture is an expensive mistake when you try to extend, improve or add real new business functionality to your system.
A new view on open architectures should be concentrated around the following pillars:
- Created with FOSS tools.
- The created architecture is available for everyone using a friendly (creative commons) license.
- There is an open process in which everyone can without border participate to improve the architecture. E.g. also customers, business stakeholders other stakeholders that will be impacted by the architecture design in future.
- The architecture is based around good usable standards that anyone can and may implement, use and improve. Unfortunate not all open standards are really open and usable.
Figure above: A FOSS approach to Open Architecture
When following these principles for a real open architecture you will find out that good FOSS tools architects needs are not yet available at large. But the good news is: Good tools for (enterprise)architecture do exist! A collection is present within the Open Architecture Playbook (see: https://github.com/nocomplexity/ArchitecturePlaybook )