About NDD

Glossary

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.

Getting Started
Introduction to NDD
Architect resources
Architect's Subscript Guide
Architect resources
Single Source of Truth
Architect resources
Anti Patterns
Architect resources
How NDD Works at Scale
Architect resources
NDD and the Supergraph
About NDD
Glossary
About NDD
Origins
About NDD
Community