Narrative
At the highest level we must first understand and explain what we're doing or trying to do with our project. In concrete terms and from the point of view of our users. With NDD we capture exactly what and, crucially, when something happens. It's a series of snapshots in time that affect an actor and a system, threaded to each other, a story about a user's journey through a system, through time. We call that a narrative.
Frame
A frame is a vertical slice of time, like a still frame from a video. A snapshot that captures everything we care about. By going from frame to frame, we allow our narrative to speak its meaning to us.
Outcome
When we develop a journey we have a business objective in mind, it's the end state, the outcome. We start from there and let it drive our narrative to keep us objective-focused.
Moment
A Moment is a single event that happens at a point in time. When used in frames, it allows us to control the flow of time and provide the ultimate context. We try to use an active voice and present tense.
Interface
An interface represents the interaction that happens (if any) that allows a moment to occur. It's the concrete interaction mechanism, be it a graphical UI, an API, whatever we offer.
Action
Within a frame, an action is what our system does, it can be an automated process or it can be user-triggered events. Through an Action we describe the processes needed to enable a moment.
Lanes
We put frame after frame in a chronologically ordered sequence to get the narrative. Frames within a narrative, with their Interface, Moment and Action form lanes:
- Context Lane: Focuses on the big picture, housing outcomes and frames
- Interaction Lane: Centers on user experience, detailing moments and interfaces
- System Lane: Concentrates on technical aspects, defining actions and specifications
Transitions
Constructs interact with each other to achieve the business goals
Navigation: Interfaces can interact with other interfaces
Command: Actions can be triggered by interfaces, we call that a command
Query: Interfaces can be updated as a result of an action, that transition is called a result
Reaction: Actions can be triggered by other actions, we call that a reaction
Actors
When we describe our moments we may have an actor in mind who's involved. They can be a human or a system. Our minds are built for narratives that involve concrete personas and characters, by specifying who's involved, we just tell a better story.
Specification
Specifications, or specs are detailed descriptions of what is happening or should happen. They are in plain English but tend to follow a BDD style given, when, then format for explicitness. We see specs as crucial for timely and correct technical implementations.
Want exclusive access to NDD content?
Become an NDD Pioneer. Sign up with your email to get access to new drops.