LESSONS LEARNED from The
Effects of Practical Business Constraints on User Interface Design by Debra Herschmann
Below are lessons learned as a designer working in a business environment.
Keep the ultimate product vision in sight and define base functionality which cannot be
compromised. Learn to distinguish between features that are critical and shape the product's
future direction from features that can dropped or added incrementally after release.
Create a detailed and explicit user interface functional specification, and maintain multiple
versions as features are revised. On the RouteBuilder 3.0 project, documentation of all features
was saved even after features were revised or eliminated. When features were resurrected, it was
simple to provide developers with the necessary specifications. Such documents also provide
ideas for future versions of the application.
Develop rapid and disposable prototypes, rather than time consuming code, which management
may feel committed to use after expending resources. Prototype individual features until a
complete product is available for testing. Simple behavior can be demonstrated quickly using
third party applications such as Word and Excel, not usually associated with prototyping.
During the estimation process, beware of questions that start with "How much would you mind
if.." and "How bad would it be if..."
Communicate design revisions with departments external to development affected by the
changes. Overlooking this factor early in the RouteBuilder design revision process caused quality
assurance to rewrite test scripts. Informing documentation, training, Q.A. and marketing of
modifications in a timely manner helps avoid duplication of effort.
Track the user interface as it progresses through all phases of development. Test interim versions
of the software. Discuss interface behavior with the developers implementing each feature. This
helps avoid misinterpretation or oversights by managers and developers. It also allows
clarification of details missing from the functional specification and resolution of design
problems arising during implementation.
Most importantly, realize that a user interface designer, developing a product within practical
constraints, after negotiation and compromise, is part of the creative process.
|