In Software world, Architecture refers to those things which are considered important, things which we wish we get right, early on in the project.

Software has internal and external qualities. External qualities can be measured with UX, UI, performance of the software, getting things done, no bugs etc. Internal quality can be measured in how easy it is to add new features to the project.

Users of the software are not at all interested how the software is designed. And the management layer of an organization only wants the users of the software to be happy. Because money flows only if the users are happy 😉

Happy Users 😊 -> More Money 💰💰💰 -> Happy Management 🤑 -> More Budget for the project 💰💰-> Hike for the developers! 💰

Architecture contributes to the internal quality of the project. So how is good architecture beneficial for the end users? If it doesn’t concern the end users why should management invest in having a sound architecture for a project?

It can be reasoned as making a quick buck vs thinking long term. As a software project evolves, customer requirement changes, so some existing features have to modified/removed fast enough so that customers are happy. Also new features have to be added to the software without breaking existing functionalities as quickly as possible. This can be done only if the life of software developers are easy. If adding or modifying a piece of code takes a huge effort, releasing new features becomes a tough task and it takes longer and longer to add new features - existing features also add to maintenance burden.

A good architecture makes the life of software engineers easier. Application Architecture structures code/components at an application level (here application is a loosely defined term - it can be one microservice or a set of microservices). Whereas Enterprise Architecture looks at one level higher - a set of applications, the CI/CD pipeline, security of all applications etc.

If a company is in for the long term, it makes sense to invest time and money early on in having a sound evolvable architecture. The time and effort for this will only take a few weeks not months or years. But the benefits of this investment lasts for the life of the project.