Who Needs an Architect?


Today I will talk about the article “Who Needs an Architect?” by Martin Fowler, published in IEEE Software. It seems that Martin Fowler and many other people do not agree with the definition of architecture as a high-level design, who tells us there's no highest level concept of a system. The best definition they propose is the following: “In most successful software projects, the expert developers working on that project have a shared understanding of the system design. This shared understanding is called ‘architecture.’ This understanding includes how the system is divided into components and how the components interact through interfaces.” Sounds better to me, because it makes clear that a lot of people are involved in the construct, or in simpler words of the author: architecture is about important stuff.
    According to the article an architect should be defined as someone that worries for the important stuff, someone who takes important decisions, must be aware of what is going on in the project. He looks for the important issues for the projects.
    In software development, the architect works in intense collaboration, he should be working with developers, participates in requirements sessions, and mentors’ developers. One of the most important tasks of an architect is to find different ways to eliminate irreversibility and duplication in software design. The difference between this architecture and physic architecture, is that this is limited by imagination, by design, by organization. It is not limited by physics but is limited by the properties of people.
    One important thing I learned reading the article was that architecture is useful, and it can be developed in many ways, it does not have to be in one and only way.

Comentarios

Entradas populares de este blog

Hidden Figures

Understanding the SOLID Principles

Microservices