Concept: Storyboarding
Storyboarding is a technique to capture how the system will operate for a particular purpose
Relationships
Main Description

What is storyboarding

"Picture the scene..."

How often do we start a tale of fame and fortune, comedy or tragedy with this phrase? What follows is some description that relates the story we want to tell. In software development, you have a story to tell too. You are building or modifying software systems, in ways that are yet to be decided, or yet to be understood.

"Actually, I can't picture the scene..."

Most of the time you don't have that story firmly embedded in our mind. You don't understand the story, the background, what happened before and what happens next. Even if you understand exactly what you are trying to do, no-one else has exactly the same picture. Storyboarding is a technique used to capture and explain the story to those around you - translating the ideas you might have in your head into something concrete that everyone can understand.

Storyboarding is not new. We have recently borrowed the concepts and techniques from the film industry as this is the best-known examples of the use of storyboards. From a software development perspective, a storyboard is defined as "...a logical and conceptual description of system functionality for a specific scenario, including the interaction required between the system users and the system. A Storyboard "tells a specific story"" [RUP, 2008]

This definition covers the use of storyboards as a way of capturing the way a solution behaves, as though you have already solved the problem. A storyboard is also a way to explore the context of a system, and explore possible options to solve the problem a system is designed to solve.

The task of building up storyboards is called storyboarding. "Storyboarding is a technique for capturing logical and conceptual description of system functionality for a specific scenario". [RUP, 2008]

A storyboard typically shows the user interface drawn to show how the system will operate for a particular purpose. Usually, a storyboard is a sequence of frames, where each frame has a description of the actions that lead to the next frame. However, we are not trying to design a user interface - we are trying to illustrate the user experience. A film storyboard will capture the flow of the scene, camera angles, and the characters, a software storyboard will capture the main intent of the software in a particular context.

Benefits of storyboarding

Storyboarding can help us reduce project risks, and save time and money.

Customers don’t always know what exactly they want. You will often hear them saying, “I’ll know it when I see it.” Storyboarding can help you resolve requirement uncertainties early in the development process. You can use these uncertainties in requirements definition to determine when storyboarding will be useful, and gain agreement on what the system should do by visualizing the requirements with storyboards.

Storyboarding helps eliciting, clarifying, completing, and validating requirements. Storyboarding encourages stakeholder participation, and allows you to explore technical solution alternatives without coding. You can use storyboards for interactive requirements/use case review sessions with stakeholders, and find what’s missing, what’s wrong, what’s unnecessary, and what’s desired.

Storyboards can also be leveraged by designers, developers, testers, architect, and UI Designers.

What goes in a storyboard

Persona
A persona describes a fictive person, who is a user of a system. It represents the archetype of a user based on the knowledge of real users. The goal is to bring the users to life by developing personas with real names, personalities, motivations, and etc. You typically create several personas for a system. A persona is an instance of actor, and it can be associated with multiple storyboards.

The purposes of describing a persona are:
• to ensure that you explore all the needs of your user base
• to act as “user stand-ins”, helping to guide your decisions about functionality and design
• to keep your storyboard focused on a very specific user context and user goal

Usage scenario
A usage scenario describes how a persona interact with a system to perform a specific task. It is driven by the user needs and motivation of doing the task. It can be a summary of what the persona does in a storyboard before you create it. If you do use-case driven development, a usage scenario is typically an instance of a complete use case scenario, or a portion of the use case scenario.

Storyboard
A storyboard is a frame-by-frame depiction of a usage scenario, where each frame has a description of the actions that lead to the next frame. It contains an in-depth walkthrough of a linear story represented as graphical frames on a timeline with sample “data”.