Psychology of Software and its Users
The fact that Psychology plays an instrumental role in the development, design and everyday use of software is not something that is very apparent to most people. It is something that is hidden within the details, but is also blatantly obvious when to really think about how software is developed, designed and used.
Think about this for a moment: Software is designed by people for people to use.
Sure, the execution of software code and the process flow within it are a carefully laid out path of logic that the developer thought would be the most efficient way to perform a task. Or, at least the easiest to make work and/or maintain. However, this is only a tiny part of what software really is.
Software is only as useful as its Users
The biggest, most influential piece of software is its overall usability. This is something that is referred to in software development as “User Experience.” User Experience is a culmination of how intuitive the user interface is and how much “enjoyment” the user has in performing tasks within the software.
If the user can’t figure out how to do something, they will give up.
If the system requires a lot of training, then it doesn’t fit the user and the user must change their thought processes accordingly. If the user must overtly change the way they think, then they will hate using the software. When the user hates the software they will avoid using it and it will become useless.
The developer and designer must transcend the minds of ALL their users.
This absolutely does not mean mind reading. However, it does mean understanding your users and being able to abstractly see the world from their point of view.
In software development there is a technique of developing “user personas.” A persona is an abstract description of a particular user. Every different type of user has their own persona. Every persona must be accounted for and explored when making user experience decisions.
A top level, or global, feature in the software must be designed so that EVERY user persona should have absolutely no difficulty learning and using that feature. However, more advanced features like an Administrative console may not be used by all user personas and can be designed to fit only the personas it will be exposed to.
User Experience Design Transcends Industry
Many people are falsely under the impression that to build software for use within a particular industry the developers and designers must have in-depth experience within that industry. While it may help to have experience in an industry to better capture business processes and workflow within the software, it is FAR more important to have experience getting to understand the users themselves. The reason for this is that the user experience design process doesn’t change across industries or even groups of users.
Simply understanding the user’s wants, expectations and hidden needs will give you all that is needed to build the software. After all, the business rules, processes and workflow are all completely contained within an in-depth understanding of the target users.
Without people there is no software
Software is designed by people for people to use. People see the world only as a person would and they expect the world to act and react as people do. It is because of these inherent expectations that Psychology plays an instrumental role in software.
This is something that is likely so overt that it’s often overlooked and sadly ignored by most people in the business of developing and designing software. However, pretty much all popular software systems are built by people who, whether conscious of it or not, have an understanding of this concept.
The next time you use a piece of software, especially if it’s for the first time, take a minute to think about how much thought and planning went into making that software usable by you; a person.