According to an popular survey, uncompleted requirements and the lack of integrating the user, are the two major reasons, why software projects fail [standish group 2009]. Usability engineering methodologies aim to give a corrective support.
Activities around requirement analysis and management, bring a great value into development processes. Established software development processes, define requirement engineering as one of the primarily important disciplines in software engineering. It comprises any activities around gathering, documenting and managing requirements of a variety of interest groups.
Since the user plays a leading role, established process models provide usability engineering key activities, as:
- Evaluating user demands, within the scope of requirement analysis.
- Needs, out of a user perspective, are modelled and specified to be used by development.
- Iterative processes allow to validate and refine findings and design decisions.
One can assume, that in software projects in general — and in particular when designing user interfaces — the user will be systematically involved. But in reality, thats not the case.
According to a representative survey within a group of software developer from Switzerland, the user interface is designed alone by the developer — without support. In only 27% of the cases, potential users are integrated when defining requirements and GUI design. 92% of the Developer revealed, that they provide none or minor knowledge in human-computer interaction [Vukelja, Müller & Opwis].
Even tough considering user requirements as a major key in development processes, in order to actually integrate the end-user appropriately, activity descriptions, methodologies and best practices are still missing. Hence, empirical values for the project planning remain disputed. as a result, many projects consider a user integration as optional or even as additional hassle and continue without user integration.
There are multiple ways to involve user during early stages — it must not always be the most expensive way with testing in a lab and recruiting qualified test users. Depending on the product and process phase, ad-hoc, remote or guerilla-testing can already bring valuable insights to light. With a keen sense of when to use what methodology in order to validate requirements and make design decisions, the usability engineer will help to reduce implementation costs and ensures a competing product.