Who needs an Architect?

Who needs an Architect?

On his article "Who Needs An Architect?", Martin Fowler discusses about the importance and definition of a software architect. As he further narrates, being an "architect" in software seems to be a misunderstood profession, as the definition and limits of their functions in software developping are not clearly defined and constantly debated among experts in the field.

In the first definition he references, he explains how customers don't really know or care about the architecture of the software, as they are plainly focused on its functionality, therefore an architect is more of a guide for all developers to follow in order for them to understand how the different parts of the puzzle should fit all together. This "shared understanding" (as said in the article) is the architecture and core of the software.

This first definition concludes then that a good architecture should have focused information that is simple and direct according to the group of work it is directed. Each working section has the necessary info to create what is needed, but nothing more. Only what respects to that section.

However things become more interesting when the second definition comes in, as it states that architecture is basically "defining all the things that must be done early in the project correctly". This definition suggests that a good software architecture is the one that allows flexibility and modularity without hesitation or compromising important parts of software. 

What resulted the more interesting of this article for me came when the author talks about the concept of irreversibility and the complexity behind it. Many developers, encouraged by the second definition of architecture, seek to make their products easy to change and adapt. This, of course, yields a great amount of work and algorithm design, that at the end becomes ironic, because they want their programs to be easily modified but to achieve this it is devilishly difficult to create a compatible solution.

The last statement of the article is what leaves a mark on me, as it states that unlike building architecture, where the limits of development are the material world's, software architecture limits are our own intelect and problem solving ability, therefore we are our own limits, making it so challenging and unique, and giving software architects so much importance in perspective.

Comments

Popular posts from this blog

Moon Machines

Understanding the SOLID Principles

Hidden Figures