Writing A Functional Specification - I, User (
Page 5 of 9 )
At this point, you, in the role of the spec writer, actually enter the realm
of deciding the user experience. And, needless to say, you will need all
your wits about you to successfully complete this process - a mistake here
could have significant repercussions on the user's perceptions of the
application's ease of use.
In this critical phase, models can play an important role in designing,
developing and testing assumptions and ideas about how the application
should be structured. Essentially, a model is a structure diagram that helps
the writer depict application components and the features included in each.
Models may be defined from the point of view of both the user and the
developer: a user-based model is the user's conceptual view of the
application and is guided by user research and studies, while a
developer-based model focuses more on the architecture and data structure -
modules, programming interfaces, logical relationships et al - of the
application.
You can also consider representing information using diagrams and flowcharts
- for example, data flow diagrams, which indicate how data is stored and
processed by the application, and object interaction diagrams, which provide
an overview of the objects that make up the application and their
interaction. In case your application uses a database, you might also
consider including one or more entity relationship diagrams to represent the
design of your database.
An important thing to note here is that, in the garb of the user experience,
you are more or less structuring the application. It is therefore essential
for you to talk to the development team in detail about the constraints and
assumptions that they will be working with. A detailed analysis of this kind
saves the entire team a lot of wasted time and frustration in later stages.