Article reviewed: Analysis of Human Factors in Software Application Design for Effective User Experience
In the most generalized classification I can create, I submit that software development is broken down into two often opposing sides. The first side is the technical development side where developers, designers, and analysts reside. The other side of development is populated by the end user. In the article written by Sami Abduljalil and Dae-Ki Kang, they attempt to bridge massive gap between the two sides that is always present.
Naturally you would think that developers and end-users would be on the same side. Isn’t the point of development to provide a working application that can be easily used by the end-user? The answer is a surprising “maybe”. In their article the authors summarize that the “human factor” or the usability of the end-user to use the application, is overlooked and sometimes forgotten till the last minute.
In defense of developers, all design models have foundational layers which represent every stage of software development. Each development layer building on the importance of the other. A layer representing the data structure is certainly important in early stages to ensure the scalability of the software. You certainly wouldn’t consider the user interface to be more important than the security layer that represents access and protection of the data. After all, how good is the software is the software if it looks pretty but breaks down at every turn?
The authors make the point that the interactions between the humans and computers are the pivoting balance between software success and software failure. From a marketing standpoint, if an end-user finds a program too difficult for practical use they will not purchase it. From a company standpoint, bad interface design could decrease worker efficiency. The article stresses the fact that there has been little to no research done of the contributing factors of the end user to understand the how and why questions that are left out of the development stages.
I am often amazed at the lack of thought that goes into the things we create for public use. For example, a movie studio will create an entire movie from start to finish spending millions of dollars to do so. Before the movie is released they will have a special screening for “marketing” purposes where they will survey the audience for feedback. If the audience doesn’t like the ending of a movie the studio will again spend millions of dollars to rewrite it before the move is released publically. The question I have is why could they have not included a survey-type process during various stages of production before it was complete? This would probably save millions of dollars and cut down on the production timeline. Software development is often done the same way. Programs are given to the end user without any considerations and often fail from the start. This of course leads to rewrites, new development, or the “version 2.0” scheme.
The article outlines a new model approach to developing user interfaces and functionality layers called “Intensive Prototype Modeling” or IMP for short. IMP is a work flow process in which there are stages in the design where the human factor is considered in the form of user feedback, surveys, and testing.
The modeling starts by having the developer collect from the end user all the requirements of the application. The application is then examined to determine if all the requirements have been satisfied thus far. If the answer is no then user feedback is gathered to determine why and what is missing. Next in the workflow is the release of the application prototype which again asks the user if the software requirements have been met in the beta version. If the answer is no then feedback is given to determine what is missing and how it can be improved. The beta version is then continued in the development cycle where it gets tested and approved and put in operation. The final stages of the IMP include redesign feedback gathered from the users’ feedback after the application has been in use for a extended period of time.
The feedback mentioned in the previous paragraph is collected using a series of user interaction tools. Feedback being the direct question and answer technique where as a user provides written or oral opinions of the subject. Other methods include automated responses and data gathering taking into consideration things such as how long it takes a user to go from function to function in the application. This can be broken down into specific tasks that a user needs to perform in the software where time is kept to see if it is in fact more or less efficient than the previous application. More traditional methods include user surveys where specific questions are asked of the user and the user can provide feedback by selecting choices on a sliding scale.
By implementing the model on several projects the authors received some interesting feedback. Most of the information received could be translated into useful functionality and upgrades to the application. Some feedback seemed insignificant in its randomness. Using a majority rules type mentality to the received feedback they were able to produce a final product that satisfied the masses. The purpose of the IMP is to help reduce errors in the beginning phases and to create a better application for those who end up using it the most. They found that this type of thinking also helped to reduce the redesign time for future versions. I believe there is also a third element not written in the article where an end user feels pride in their contribution which can lead to a more successful start/launch of an application.
In conclusion it is apparent that human factor research is a big deal that needs to be considered. Psychology and the understanding of how humans think are needed to understand how to develop software for humans. The authors’ proposed “Intensive Prototype Model” could be a good starting point to change the traditional design models outlined in our textbooks.
References:
Author, Abduljalil, Sami , Author, Kang, Dae-KI, Feb 2011, Analysis of human factors in software application design for effective user experience, Advanced Communication Technology (ICACT), 2011 13th International Conference, pages 1446-1451