Data Model
Describes what information will be held by the system, both during transactions (in memory as an object model) and also when the system is at rest (ie typically in the database). These can be expressed in a variety of formats but entity diagrams are perhaps the most common.
Wireframes
Document individual screen layouts. These may be static or interactive, the latter providing a better representation of the intended deliverable that can help end users and testers get the best possible understanding of what is being delivered. However, they are slightly more expensive to produce. Forms part of the user experience (or UX) design.
Navigation Map
Provides an overview of how screens are linked to provide context for wireframes. Forms part of the user experience (or UX) design
Functional Specification
A narrative description of the behaviour of each element in the system (e.g. user form, batch job, background process). Can include validation rules, different conditions, outcomes.
Non-functional specification
Describes non-functional requirements of the solution, “non-functional” typically meaning that the aspects in question are characteristics of “functional” elements. For example, security, scalability, availability, performance.
Test Scripts
Where possible we prefer test scripts to be developed before coding commences so that developers are fully cognisant of what they need to achieve in order for their work to be considered complete and fit for purpose, enabling the onus of quality to be placed on the developers from the outset.
Lucy Sheehan
Fitbit
