This site is designed for XHTML and CSS compatible browsers. We recommend that you update your browser to a newer version.

Skip navigation.
Print this page

Functional Specification

11/2/06

A good interface saves you time and effort.

User-interface Specialists Karri-Pekka Laakso and Vesa-Matti Mäkinen

At its best, a successful user interface solution saves a considerable amount of the user's time and can even remove entire steps. A good interface is also important because users evaluate the quality of software almost entirely on the basis of the interface.

In those projects where the interface has a crucial role, the definition of the functionality of the software is most often based on the GUIDe process model. The GUIDe model derives user interface solutions based on real use cases, which describe the data and functions in the system in a concrete way. The GUIDe process is particularly suitable for the functional specification of utility software.

The objective in a GUIDe process is to ensure that:

  • The software contains all the functions and data that the user needs
  • The use of common features, in particular, is as straightforward as possible
  • The software contains no unnecessary functions or data

The Functions are Defined on the Basis of True Needs

The use cases on which the definition of functionality is based are often established by user interviews. These use cases are utilized to create user interface prototypes that are further specified during implementation tests with the users. Testing functionality by using prototypes is an efficient way of locating and fixing problems at an early stage. Modifying software at this stage is easy and fast, because the changes are only made on manually drawn user interface images.

The finished user interface solution is described as a screenshot prototype, i.e. a certain kind of miniature model of the software to be developed. The document contains distinct screenshots of each user interface view in the software. The screenshots give the client a detailed and concrete picture of the software to be implemented right from the beginning.

The focus of the screenshot document is on the data content and functions of the software and the user interface solutions used to implement them. The graphical appearance can be defined separately after the user interface design stage.

An interface solution designed and tested with the real tasks of its users has many benefits:

  • Using the software is straightforward and efficient, because all functions and data, as well as the manner of interaction, have been planned to support true use cases.
  • A tested user interface solution decreases problems that occur in connection with introducing the software.

Application and Benefits of Functional Specification

When developing small systems, functional specification is normally done at the beginning of the project, because this stage only takes a few weeks. In developing large systems, functional specification is only worth doing at the start to the extent that the independent components of the system begin to take shape. After that, the user interface of a single independent subsystem is designed and its implementation is started. At this stage it is possible to design user interfaces for other parts of the system.

The most important objective in functional specification is to provide all the project parties with a better view of what the system to be created is like and what problems it will solve. As a result of this, the number of change requests during implementation is considerably lower. It is far easier for the client to evaluate the usability of the solution from the detailed screenshots created during the definition than from text based lists of functions or requirements. In addition, the user interface solution designed at the beginning of the project supports the division of the functionality into parts (product backlog in the Scrum method) and makes it possible to evaluate the amount of work required during implementation much more precisely.

User-interface Specialists Karri-Pekka Laakso and Vesa-Matti Mäkinen

 

Karri-Pekka and Vesa-Matti produce software that supports the user's work in a straightforward way. They are renowned specialists in functionality specification and user interface design.

Karri is one of the developers of the ground-breaking GUIDe process model. Vesa-Matti has developed documentation methods that enable the efficient communication of the details in a user interface solution to programmers. Both also have long-standing and versatile experience in user interface programming.