Software Architecture for developers
Software architecture plays a very important role in the delivery of successful software systems, yet it is being neglected by many teams. The software architecture role exists in every team. However, most of the time, the “architecture” reflects wishful thinking rather than reality. Many teams think that they do not need software architects, because they can “self-organize”. Many teams throw around words like “YAGNI”, “evolutionary architecture” and “emergent design”. Being agile has many benefits, but it does not discard the responsibility of having just enough upfront design.