Software developers do not only have to develop software in a professional manner, but also need to ensure that software satisfies the performance requirements of the client and all the users. The users' requirements definition guides the software architect in the course of designing the software architecture, however in practice today, involvement of end users in all phases of software development process is not given utmost priority. Various empirical works had established the gap between software developers and end users and the negative effect on software acceptability and usability. In this book, the developed user-centric model permits the users to evaluate the performance of software architecture (SA) based on the organizational (i.e. end users) variables in order to measure the extent to which the architecture respond to the organizational requirements. This is unlike the existing machine-centric models that evaluate performance of SA using machine based parameters in order to establish the extent to which the architecture meets the defined machine requirements needed for it to run efficiently on the computer.