When you ask two architects with similar experiences to define a system, they would approach and define it very differently. What distinguishes the two defined architectures? and Why are they different? I think and believe, Software architecture should not be considered merely as a set of models or structures, but should include the decisions that lead to these particular structures, and the rationale behind them.

What is decision making? and How do we make decisions?. Decision making is a cognitive process that involves selecting among several alternative possibilities. Each of us make decisions based on our attitude, which we develop over years based on our interpretation of world around us. This Attitude dictates what we choose from alternate possibilities. Architect who would like to have control on things might take monolithic design approach while other Architect with objective attitude might end up with distributed or micro-services driven architecture.

Like Medicine, Software Architecture is not a science but a practice. Individuals’ attitude defines how he/she approaches and architects solution to the problem.

To be a successful Architect it is important to use experiences to tune attitude and apply them to problem at hand.