Library tutorials & articles

Secrets of Successful Software Requirements

Prototype Screens with a Design Tool

A user of the program only interacts with a program through the user interface so it makes sense to spend a significant amount of time during requirements to ensure that the user interface makes sense, that all functionality is included, and that the most commonly used functionality is easily accessible. The easiest way of doing this is using a screen prototype. There are a variety of methods of making screen prototypes which range from simply drawing the interface with a pen and paper to building “working” prototypes in a higher level language like Visual Basic which allows rapid screen design. However, each of these extremes has serious drawbacks. A pen and paper prototype does not allow users to interact with the prototype and it is more difficult to change. A “working” prototype done in a programming language like Visual Basic can lead the client to believe that the program is nearly complete and that development should not take very long or it can lead the client to believe that changes to the prototype will be costly making them reluctant to make necessary suggestions to improve the program.

Between these two extremes lies screen design applications which allow you to draw the screens and model interactions between screens. High quality prototyping tools allow you to enter sample data and allow users to move between screens by pressing buttons so they can easily understand the interface and its functionality. Most prototyping tools produce the final output in an HTML format so they can be easily shared even if a client is not in the same office where requirements are being developed.

When looking for a prototyping tool, make sure to select a tool which is easy enough to use that you can easily prototype screens while your customer is in the room. This will allow you to brainstorm and make changes to the screens without delays. A prototyping tool should already have common controls already defined to maintain design standards and improve the appearance of your screens. Being able to enter sample data in each screen can allow the customer to pinpoint areas that may be incorrect.

Comments

  1. 07 Sep 2007 at 15:26
    Yes ofcourse you are absolutely correct
  2. 19 Jun 2007 at 02:24

    You are absolutely right !  Been there, done that for 10+ years in a global business environment, and currently offering this as a service for companies who don't have the skills in-house.

    What you described is the role of Product Management in a (software) product development environment: to act as the intermediary between the "business" (users, general management, marketing, sales, finance, and who knows else...)  and the development team.  Consolidate the business requirements, match these against (corporate) strategy, and work closely with the development team to translate the results into technological solutions.

    Based on my experience, in many companies this is an underestimated, or even totally ignored part of product development.  But, if implemented well, it leads to quicker development cycles, higher quality software, and feature-sets that meet or even exceed the expectations of the end-users.  As a result:

    • developers feel more valued, as they deliver products that are highly appreciated
    • sales and marketing feel better, as the products they asked for meet their clients' needs
    • general management is happy, as the above will lead to higher revenues and lower costs

    and most importantly

    • clients will be impressed with how well you address their needs, and spend more money with you !

    To do this right, you need professionals who have the skills to understand / interpret business needs, as well as how technology can be applied to address these.  This is a challenging task in a project for a single company, more challenging when you're talking about a single country, multi-client (commercial) application, and a potential nightmare if you're dealing with a (large) number of clients across multiple countries.

    People who can do this well are rare, but worth their weight in gold !  With their support, a development team can decrease time-to-market, improve quality, and start to truly deliver on customers' needs.

    Erwin Bergsma
    Managing Director - Global Retail Business Solutions Ltd

  3. 01 Jan 1999 at 00:00

    This thread is for discussions of Secrets of Successful Software Requirements.

Leave a comment

Sign in or Join us (it's free).

Igor Jese

Related discussion

Related podcasts

  • Scott talks to Martin Fowler and David Heinemeier Hansson

    Scott sits down with Martin Fowler of Thoughtworks and David Heinemeier Hansson of 37 signals and talks about beauty, making developers happen, the death (or life) of HTML, the future of Microsoft, and asks if we should care about Rich Internet Applications. DHH is the creator of the Ruby on Rail...

Events coming up

We'd love to hear what you think! Submit ideas or give us feedback