Software architect

Hi everybody, in this week's blog we'll be discussing the importance of software architecture and how imperative it is for any project to be successful to design a robust and exhaustive design. Quoting author Pete Goodliffe "the architecture is the single largest influence on the design and future growth of a software system. It is therefore essential to get it right in the early stages of development". 

You may be wondering how is it exactly that we design and implement a well made architecture, what do we need to take into consideration and how does it help us. Basically what we are trying to do is to create an overview of what a system will look like on a high level design, this means that we should focus on the requirements it needs to fulfill, the functionality, establish certain components, connections, and optimize our efforts by making sure that there is no redundant work, that what needs to be done is clear and that it is visible for anyone involved in the development process. 

I found the reading very enriching because it really outlines the importance of defining early on a high level design for us to implement our desired system. It could come in handy when distributing tasks among developers, managers and anyone who ought to take part of it. We very frequently see how many projects fall before they can even start and much of this failure can be attributed to a bad and messy software architecture design. I think that as programmers we tend to overcomplicate things too much, get into technicalities as soon as possible, when sometimes a certain level of abstraction is needed to fully understand the functionality of the system we are trying to implement. 

There is a very important concept in the reading on which I'd like to end today's blog, it talks about simplicity as the key to designing good system architecture. 

 

Comments

Popular posts from this blog

To the moon

Software Architect?

Get to know me