Whoever is in charge of software architecture, be they senior developers, whole teams like in agile practice or architects-per-se, it is a deep trend to apply what I like to call Ego Driven Architecture (or EDA for short, not to be mistaken with Event Driven Architecture). When one has to choose an architecture, one should design it from a number of objective criteria, including: business requirements,technical constraints,ease of use,maintenance costs,etc. One could even argue you should tak