It goes like this:
- Requirement specification: The customer's requirements are
documented in a requirement specification (if not approved by the client,
repeat this step)
- Graphic Design: The graphic design is done (if not approved
by the client, repeat this step)
- Web Design: The graphic design is implemented in HTML (if
not approved by the client, repeat this step)
- Programming: The Web design is handed over to the programmers
who cobble it together with the back-end (if not approved by the client,
repeat this step)
- Launch
This workflow is almost identical to the classic
waterfall model, which has been heavily criticized for its rigid sequential
process, where everything is based on a requirement specification, and
each stage is signed off by the client without testing if the system
actually meets the requirements of the end users. Many projects have
failed big time using this framework.
A Worst Case Scenario
If you've been involved in the Web business you have probably
experienced situations as these:
- A client hires a Web agency to design a new Internet solution
- The client and a consultant from the agency specify the formal requirements
in a requirement specification
- The agency starts developing
- As the product takes form, several misconceptions and shortcomings
are uncovered
- The problems are corrected by stopgap solutions, because there is
no budget for unforeseen changes
- The design suffers by ill-considered concepts and stopgap solutions,
but the client decides to launch it anyway because of pressure from
his organisation
- After numerous complaints from users and from within the client's
organisation, the client decides to have another agency re-design the
whole thing
This is of course a worst-case scenario. But I'm
sure that most people involved in Web development - and traditional
software development - have experienced some of these frustrating incidents
to the waterfall model.
The drawbacks of the Waterfall Model
The waterfall model is a very alluring approach because it takes
the beeline between specification and launch. But as the example illustrates,
there are two major drawbacks to this way of organizing Web projects:
- Changes during product development are inevitable, costly, time
consuming and a source of disagreement between the Web agency and the
client
- Usability problems aren't revealed until after product release,
when changes are very costly
But experience has proven that these negative
aspects can be overcome by:
- Using prototyping to avoid major changes during product development
- Applying usability testing to anticipate unforeseen user requirements
With prototyping and usability testing, we can
improve the cost efficiency of the development workflow, by allowing
client and user representatives to be involved in the process, discover
interface problems at an early stage, and thus avoid major overheads
on reworks down the line. This up-front investment will pay off in the
long run. In the world of software design, it's a common lesson that
the costs of changes grow exponentially throughout the development process.
It's a rule of thumb that the cost of fixing a problem is 10 times higher
during product development, than in the period of prototyping, and 100
times as high after product release.
The value of prototyping
Prototyping can save you both time and money because it's a
fast and inexpensive way to concretise, what a requirement specification
fails to do. Since prototypes can visualize the product's workings to
the client, you can deal with the shortcomings, misconceptions and disagreements
that tend to appear as the product takes form.
The full benefits of prototyping is multiple:
- Prototypes comply with the wish to show fast results to the client
- Prototyping legalizes experimentation and many revisions because
it's inexpensive to alter
- Prototypes are easy to grasp because they simulate how the final
product will work
- They can work as a common reference, and bring a disparate team
together
- Users, developers and the clients will focus on content, structure
and functionality, and will not be distracted by the details of graphic
design
- Prototypes make it possible to get a formal approval of the design
from both programmers and the client before you proceed to the development
stage
- They make it possible to start usability testing at an early stage
in the development process
The value of usability tests
Though the odds of making a usable product are better when doing
prototyping, there's no guarantee if users aren't involved in the process.
Everyone implicated in the creation of a prototype will suffer from
the disease of familiarity, and everybody - including the interaction
designer - can come up with fixed ideas that will mess up the user experience.
And you can't rely on presumptions and opinions on what the users might
prefer - you have to study their actual behaviour.
The major benefits of usability testing:
- Usability tests can help you understand how real users will use
your product, and how the interface could be improved accordingly
- Usability problems identified at an early stage can be solved easily
and quickly, compared with problems identified after launch
- Usability tests can stop endless discussions about what we think
the users might prefer
- Usability testing can be used to identify unnecessary features which
can be eliminated
Unfortunately, usability testing is often done
in late hours, when only minor adjustments are possible within the budget
and time scale. Using cheap, small usability tests during prototyping
can speed up the process, and help you focus on the issues that matter
to the users.
Make it easy
The main reason why user-centred design techniques aren't used
in practice is that they are believed to be uneconomical, time consuming
and altogether a luxury, which can be done without. But sticking to
the waterfall model is like peeing in your pants. It will get back at
you with expensive changes during development and major costs on re-engineering
the product after launching.
Applying user-centred techniques such as
prototyping and user testing does add a few percent to the budget up-front,
but can reduce the overall costs significantly in the long term. And
the finished product will be markedly more usable, making it a better
experience for the customers to do business with the company.
Text: Henrik
Olsen |