Technology (tech stacks)
Introduction
Technology is most complex dimension. In order to break it down into manageable chunks we separate it into layers.
Introduction to Technology
Technology is a very broad category encompassing diverse areas. To make it more managable to describe, it is broken down into layers. This is approach is common, but the detail of the layers varies from formal model to formal model.
Just contrast
- TOGAF (https://pubs.opengroup.org/togaf-standard/adm/chap08.html)
- Business
- Data
- Applications
- Technologies
with
- LeanXI (https://docs-eam.leanix.net/docs/meta-model)
- Business
- Application and Data
- Technology
The terminologies and groupings even at the high-level differ, but we basically see the user at the top and the infrastructure at the bottom.
For our standards, we take a broadly similar approach which reflects some key characteristics of the way we work
- User Experience = we are customer centric, and our users are our external customers, partners, employees etc
- Data = is the valuable commodity handled by our technology
- Application = is the tooling to facilitate the handling of the data
- Platform = the constellation of standard technologies and processes to support groups of business activities
- Infrastructure = the generic technology pillars which are agnostic to their business use
By itself, technology is inert. It must be surrounded by people and processes to bring it to life. This fact is also influencing the layers. For example, the platform team are expected to understand the busines need and integrate applications and infrastructure. Whereas the infrastructure teams focus much more on deploying generic technologies at enterprise scale, and have limited need to understand specific business domains.
Of course, experience makes everyone more full stack - which is a key aspect of ensuring layers do not equal silos - and help all have a shared business purpose.