Skip to main content

Why is an architect?

 




This week's (very short) article, Who Needs an Architect?, Martin Fowler explains to us the different definitions of architects that exist in the software world. The first and most common definition, which Fowler disagrees with, says that an architect is (s)he who helps identify what the most important parts of a project are, in order to give it structure. However, it is also mentioned that these parts are usually the most important because they are the hardest to change, so an architect's job should also include reducing the amount of these parts. Following the logic, by this definition, an architect's job is to reduce the amount of architecture. 

The second proposed definition, which I also think I agree with, is that an architect's role is more like a guide's. His purpose is to help the team become better by using his expertise, and communicating with as much of the team as possible in order to remove their blocks. I think the word architect still fulfills this definition. However, the role isn't to design the product, it's to, in a way, design the right team to work on that product.

I think the reason I agree with the second definition is because just like Thanos, change is inevitable. It's even mentioned in the article: flexible components are a little more complex than their non-flexible counterparts, but as a whole, a non-flexible system can be just as complex. That being said, since it's impossible to prevent change, you might as well have a solid team that will be able to tackle it. 

With that said, I think I agree with the idea that a "software architect", as is defined today, meaning someone who designs a system from the beginning in order for it to be more robust, is not needed in most cases. What is needed, is someone who is able to manage a team, is willing to teach, and knows how everything should work together, and what to do when it doesn't. We could change the definition and keep using the architect title, or come up with a new titleto cover this issue, either is fine by me, but I agree with the idea that an architect by today's terms isn't the most useful addition for most projects.

Comments

Popular posts from this blog

Microservices

 This week, we read an article called Microservices  by James Lewis and Martin Fowler, which did a great job explaining the differences between monolithic applications and those that run on microservices (and the ones that use a little bit of both). They explained the advantages and pitfalls of implementing any of these methods, and they conclude that while microservice-based applications seem promising, it's still too early to tell whether they'll be better than monolithic ones. Luckily for us, this article was published in 2014, and we're far enough in the future to know that they are, in fact, more widely used today. Before reading this article, I was already aware of these different types of applications, and I knew that the market had a preference towards microservice applications, but I hadn't realized how much this change had affected how businesses are run today. From personal experience, I belong to a cross-functional (XFN) team that dabbles in many different p...

4+1 View Model

 This week, we looked at many different resources: two very short videos ("The 4+1 Model" by the Virtual Training Company and "Six Blind Men" by Phat Phish) and an article by Grady Booch titled The Elephant and the Blind Programmers . What they all had in common is that they all touched on either the 4+1 view model, or a concept known as wisdom gap, which is very closely related to the model.  In order to explain the need for the 4+1 model, Booch relates it to the old Indian story, which talks about how different blind men examine an elephant and come to different conclusions as to what it is, since they are all looking at different parts of it. The moral of the story is that they are all right in their own way, yet none of them have the full picture. The same applies to the model. Depending on who you are and what part of a system you're working on, you'll be interested in looking at it from a certain way, which will definitely differ from the other team me...