Who needs an architect?
It’s hard
to have people agree on any subject, and this could be talking about politics,
religion but also software design. Even in the software community people can’t
agree the definition of a software architect, let alone if they are actually necessary
or useful for a project.
In this
article by Martin Fowler, he talks about this, he actually tries to define
both, the concept of architecture and also the software architect. He defines software
architecture as a shared understanding the expert developers working on a
project of the system design.
So, this
means that the architecture of a system depends on the vision and involvement
of the developers, to fully understand how a system should work. But it’s also
telling us that it needs consensual agreement by the group, which sometimes can
be hard to reach, especially when the system become too large or too complex.
But as the
author also says, everything depends on what the developers thinks is important
or not for the project. In a project, the database can be critical, while on
another project can become just another piece. “Architecture is about
important stuff” as he also says and based on that, he defines the architect
as the “person who worries about important stuff”.
He says that
intense collaboration must be done by the architect, with a very high level of involvement
in the work that all team members do, but also solving the most of the problems
before they become serious.
He also states,
that the less decisions the architect has to take, the greater value he has. I understand
this as having everything well planned and not having to change things on the
fly, which means more issues are under control.
But he also
says, that in the case of software architecture there are no limitations, but
only the human ones. In building architecture, you are limited by the laws of
physics, but in software you are only limited by imagination, design and
organization, and to me, that’s the most important concept of this article.
Comments
Post a Comment