7 January 2008: Boosting requirement specifications with effective prototypes

    Finding the correct requirements for budgeting and scheduling an IT project is difficult. Incorrect requirements often lead to serious quality problems, especially from the perspective of users' needs. These problems can be tackled by an extensive pre-project requirement specification phase focusing on usability and user interface and, utilising appropriate tools.

    Studies indicate that when phased application development methods are used, as much as 40 per cent of the life cycle costs of IT projects are due to incorrect requirements. It is therefore easy to argue that new methods and tools are needed for the early stages of development. The correct requirements need to be sought out earlier in the development life cycle, in order for the project to be managed correctly. Agile methods promise improvements but their application is often challenging due to contract-technical issues and the related shared risks. This text considers the possibilities of creating a better starting point for phased projects with the help of an effective user interface driven requirement specification phase.

    Prototype work is often aided by tools designed for other purposes
    For quite some time, user interface prototypes have been used as tools in gathering requirements. For example, paper prototypes are produced quickly and can be used to perform user testing. Other often used non-technical tools include MS PowerPoint and Visio. However, none of the above-mentioned tools were initially designed for building user interface prototypes, which limits their usage. Prototypes created using these tools offer limited quality in relation to stakeholder communication and testing the actual user experience and, inadequate connections with the outputs of an application development process.

    Then again, when utilising technical tools for prototyping purposes, problems arise - even in the most agile cases - due to weak productivity and the inability to scale to extensive and interactive prototypes (catering for alternative use case flows, for instance) in large-scale projects, in a way that would keep development work and costs under control.

    What if we take into consideration tools that have initially been designed for the cost efficient production of high-quality and interactive user interface prototypes? What would be the added value produced by tools that enable the simulation of user interfaces more efficiently than now?

    Discovering the correct requirements through user interface simulations
    Let us formulate a hypothesis from the potential benefit of simulation tools: The risks of application development can be decreased by seeking to identify the precise requirements of the service (from the point of view of successful use and thus the customer organisation's business interests) through an interactive and real-like prototype before commencing the actual definition work, technical development and implementation. So we are talking about a prototype that enables effective discussions about the project both internally and with partners and that also enables, at least when applicable, the testing of real-like user experiences. Such a tool would naturally seem to enable a more accurate setting of requirements, as well as a budget and schedule, for the technical planning and implementation of a software project. Even better, the customer would know in advance what to expect.

    And do such simulation tools exist? Indeed, especially in the development of browser-based applications, simulation tools have been used for a few years now, although less in Finland. Sprint, investing USD 100 million annually in Web projects, saved 50 per cent (USD 17 million) from its annual budget reserved for change requests during its first 'simulation year' (Forrester research: Show, Don't Tell: How High-Fidelity Prototyping Tools Improve Requirements Gathering, 2005). New methods and tools have, at least for particular enterprises, generated impressive results when it comes to the quality their systems offer to users.

    Operating models and tools at a turning point
    The market for user interface simulation tools is now in the early stages of its life cycle. One example of such a tool on the market is the American iRise. In our own product, Realizer by SYSOPENDIGIA, the model-driven development paradigm interlinks user interface prototypes directly with the technical implementation phase. Thus, a prototype is not something to throw away. Rather, it is by definition part of the technical project delivery. The purpose of this is to speed up the through-put times of processes and transfer usability investments unchanged to the resulting applications.

    In any case, user-centred design is on the rise, as is the need to make usability work and its effects on application development more effective. In addition to methods and thoughts, more effective tools are required to enable cost-efficient development of extensive and good-quality prototypes and better integration of usability investments with software development work. In addition, courage to change the old ways of operating is necessary, including customer procedures that relate to the buying of IT systems.

    Text: Antti Martikainen
    The original article was published in the SYTYKE magazine on 20 December 2007.