Making users a part of your next software development project

Business in Vancouver highlights OpenRoad's philosophy on the importance of keeping users involved in the software development process.

Published in Business in Vancouver

Issue 825: August 16-22, 2005

Software developers have traditionally been bad at talking to a very important stakeholder when it comes to building software: the end-user. This isn't because software developers are the antisocial nerds that popular culture would have you believe they are. It's thanks to the fact that most software developers take their marching orders from someone else on the team: the project sponsor. Not surprisingly, the power relations of most software projects have the person paying the bills calling the shots.

Thankfully, this approach is changing. End users are gradually being included as key project stakeholders with an equal voice at the table, from the goal-setting phase of the project through to deployment and training once the software is launched.

Broadly speaking, this trend in software development is known as user-centred design. Coming from a Scandinavian IT tradition, user-centred design is a software design philosophy that focuses on business objectives and recognizes the user's needs, wants and limitations.

User-centred design has a major impact on the success of software projects. The measure of success for any system is whether or not anyone uses it. Business objectives such as efficiency and increased productivity do not materialize if users simply refuse to work with the software. Even when a particular piece of software is mandatory, adoption may not be forthcoming. How many post-it notes and rogue Excel spreadsheets clutter the desks of workers avoiding a poorly designed piece of software that doesn't meet their needs?

The adoption of any software system relies in large part on the user's perception of that system. Information management scholars use a measure of software adoption called the technology acceptance model. Key to this model is the perceived usefulness of the system (does the software solve my problem?) and the perceived ease of use of a system (is the software intuitive and simple to operate?).

While much attention and writing in software development has been focused on the latter of these two, it is actually the usefulness or utility of a system that seems to drive acceptance. After all, our lives are littered with technological devices that we struggle to use daily (low usability), but we continue to use them because we deem their utility to be high.

Perceived usefulness, perceived ease of use, and desirability all combine to form an attitude about the system in the user's mind. This attitude then results in a behavioural intention to use the software or not. Continued use of the system then further amplifies our feelings about its usefulness and usability with every positive or negative interaction adding to the overall measure of acceptance.

To be able to affect this perception favourably, software developers must intervene at the earliest stages of software development. Working with the end users to produce a successful application means more than just getting their feedback on whether they like the look of the screen in front of them. It means understanding their commitment to using an automated system to do their work. It also means understanding the motivation behind their actions. Why do users work the way they do? How do the users' actions align with larger organizational goals? Why are they reluctant to use this system?

The answers to these questions should guide software design in a deeper and more comprehensive manner, resulting in a more meaningful and effective product, and hopefully, greater acceptance of the technology. Committed and motivated users are the key to a software project's success.

Gordon Ross is vice-president of OpenRoad Communications, a Vancouver custom Web application development firm, and a participant in Vancouver User Experience, a group of user-centred design professionals.