All you need to know about software architectures — their purpose, core principles, and rules, their role in an organisation and their impact on dev teams. — Developing software requires much effort and taking into account multiple aspects. However, the critical mission should be customer-centricity. It implies the software is there to serve our end users and fulfil our customers' needs. As a matter of fact, users are more nowadays demanding than 20 years again when consuming…