John’s Software Architecture Week 10

John Grieco
Invisible College
Published in
2 min readMar 18, 2015

Notes from:

The Role of the Software Architect: Caring and Communicating

Magnus Mårtensson

March 2008

The Architects role in the User Experience:

The User Experience is what the user feels and sees when they interact with the application or software. This is also refered to as the GUI or Graphical User Interface and is arguably one of the most important aspects of a successful piece of software. If the software doesn’t have a good GUI it may be hard to use and could lead to a negative User Experience. If the goal of your software is to make the user’s life easier, a bad GUI will do exactly the opposite.

The ease of use of an application is dependent mostly on the architecture of the software. It doesn’t matter how well your software works technologically if the User Experience isn’t a pleasant one or it is difficult or unintuitive this will have an impact on the success of the software. The more you as a software architect realizes the importance of the GUI the better off your application will be.

The Architects role in Technology:

The other side of the GUI is what runs behind it, the technology. It is important for a good software architect to understand the limits of technology and know what is and isn’t possible for the end user. A good way of making sure that you don’t promise something you cannot technologically accomplish is to pick the technology based on the requirement and not the other way around. This also leads to making sure that you as the architect work closely with developers in decisions on technology if you are unsure about if certain requirements are possible. Listening to the developers is key in creating a good application because if you just listen to the end users/clients on their requirements it could lead to an un-happy and un-motivated development team and this is not what any software architect wants.

A software architect is the bridge between the client and the developers and must be able to translate requirements to code and then back again. This requires a good software architect to have some coding experience.

--

--