The Challenge of Usability in Software Development


Software engineering is a very young engineering discipline. As such, the industry lacks mature and time tested engineering practices. One of the oldest approaches to software engineering, the waterfall method, has been discredited in recent years. This has led to a widespread outgrowth in new approaches to software design. These new approaches seek to improve software usability through planned software design, which is a factor missing in the waterfall method.



Origins of the Waterfall Method

To understand why the waterfall method lacked usability, one must understand the origins of this engineering approach. It was originally designed by the military, who would contract out the actual development of the software to various private firms. The military would draft a design document and pass that on to the contractor. Each contractor would work on a sequential phase in the development of the software, with only the product documentation to guide them. The sequential nature of the waterfall process lent itself well to subcontracting, as each phase could be parceled out to a different contractor. As such, a boundary between the client (the military) and the contractors (the software developers) was erected. This led to various issues in usability. When the final product was delivered, it may have met all of the product design criteria, but it may also have been difficult to use. The boundary between client and user has been blamed for these usability issues.

The Agile Development Paradigm

To address these issues, new software development paradigms have been developed. Among the more popular paradigms is the agile family of development practices. Agile development is quite unlike the iterative waterfall method, where each stage of the project must be completed for the next one to begin. Instead, the software development team may rapidly switch between project requirement development, source code implementation, testing and revision. A phase in the software development process may last as little as one day; whereas with the waterfall method, a phase may last months or even years. The rapid and flexible nature of agile development lends itself well towards changing product criteria. Using agile development, a contractor can showcase their progress to the client at any time. Any problems with usability can be addressed during the next phase in development. This approach has led to a dramatic increase in software usability.

Other Causes of Poor Usability

The approach taken in software development is not the only usability problem faced by engineers. Unclear product specifications can result in poor usability. In addition, improper analysis of user habits can lead to problems in usability. For example, a product that has not been carefully studied may contain a difficult to use interface. A simple study that observed how users interacted with the software could alleviate these problems. Solutions such as reorganizing the user interface could be implemented using the results of such a study.

The Value of Good Usability in Software

Software has become very common in the modern world. No longer the exclusive tool of scientists and specialists, computers and software have found their way into the hands of children and other casual users. This has made software usability all the more important. Modern engineering approaches can improve the usability of software, as well as careful attention to detail with regards to how the software is actually used. These innovations in the field can lead to highly usable software.

Byline
This article was written by DJ Sweetin for the team at quicklabel.com. For those interested in printers, check out the label printer devices available for users.

Comments