Sometimes developers see things differently than users. Creating user interface (UI) prototypes is one way to reduce the risk of a disconnect occurring between the system developers and system users.
Developers need to interact with intended users early in the development process. Prototyping is typically an iterative process, with previous models either being updated and improved by incorporating corrections and feedback from users or discarded altogether for new and improved ones. Prototypes can be used for testing a single component of a system or for testing the complete system.
For the purposes of this discussion, we will focus on prototyping a graphical user interface (GUI) for use with software like that used in smart watches, medical devices, and auto consoles. While there are many aspects to prototyping that are important to remember, as a baseline, five guidelines are provided as essential to remember when you are prototyping your GUI:
- Work with the goals of the system in mind.
The GUI enables users to interact with the software system and as such it is critical to keep the goals of the system in mind when prototyping. Prototyping at this stage could be as simple as creating a list of the requirements or objectives that the software is being created to fulfill. The list would start at a high level, but would include lists of tasks that the software should be able to enable to accomplish.
- Know your primary user and work with them when prototyping.
Developers should well understand that the user will be interacting with the GUI they are designing. Users’ expectations will drive the user experience, therefore the developers must understand these users thoroughly. Keeping the goals of the system in mind, the next stage of the process will involve interviewing users to understand their needs from the system. Later in the process, developers should present working and interactive models to users for testing to see if they properly incorporated functionality that will enable the user success with the system.
- Understand the interests of all system stakeholders.
Software systems typically have a larger group of stakeholders to consider beyond just the primary user. These folks are often forgotten during prototyping. This might be other departments that will obtain information from the system as it processes, or users that will only use the system for specific functions such as those required by accounting or human resources. The interview process and UI prototype review should include visits to these stakeholders as well as to ensure that their specific needs are met.
- Use the right tools.
The purpose of a GUI prototype is to provide a visual and/or hands-on method for planned software users to evaluate, review and provide feedback that the development team can use to validate that system, user and stakeholder goals are being met. There are many modern software tools, modeling languages and methods available for GUI prototyping, so selecting the right tools to model your particular project for review is important.The best suites of prototyping tools will include functionality that can be used for discussion diagramming, creating graphical mock-ups, and tools that will assist with coding the interface as well. Features such as cross-platform development, ease-of-use, interactive user tools, and interoperability with other commonly used software tools are highly desirable.
- Don’t get stuck in “analysis paralysis”.
While there is considerable benefit to be had from prototyping your GUI, there is a risk of getting stuck in “analysis paralysis” and experiencing time and budget over-runs in your project. Prototypes are only supposed to guide development and improve the developers’ understanding of user requirements. Don’t let the prototype become the project. Move through the modeling phase; collect the necessary information and move on to development.