infrastructure has become more complex. This is due to integrations among tools, connectivity across systems and domains, and standards being applied across environments.
Leveraging the Agile Model Driven Development (AMDD) framework helps drive the evolutionary establishment of architecture, beginning with envisioning the architecture. AMDD focuses on establishing models (e.g., architecture) before writing source code. However, the key is that a "just barely good enough" model is needed to move the development effort forward, as opposed to an extensive and detailed model. Over time the architecture and design models will evolve in a way that more closely aligns with the actual needs of the product as they become more clearly known. Within the AMDD framework, one of the outcomes of architecture is a technology stack. This output becomes input to infrastructure envisioning. However, the local challenge with architecture is that there are many architecture models and viewpoints that are used so it is important to understand the model and viewpoints within the company you work.
Vision for Infrastructure
As previously mentioned, key input into understanding the infrastructure need is the architecture model. One representation of this stack is the physical model that articulates the layers within the infrastructure such as the platform, programming languages, tools, and more. Some layers are mandatory (e.g., includes the server and desktops). For the sake of this illustration, I will call this the platform layer. Some layers need to be defined early (such as the database, programming, reusable components) since they may be utilized early in the project when using Agile. I will call this the development layer. Some layers support individuals and interactions in their day to day work (e.g.,