Working with Capabilities
In Narrative Studio, a Capability is used to represent a high-level feature or area of functionality within a project. If a Narrative is similar to a small “epic” that captures a specific user goal or workflow, a Capability can be thought of as an “initiative” that groups together multiple, related Narratives. This hierarchy helps to organize complex projects by breaking down overarching business capabilities into manageable, smaller narratives.
A Capability typically represents a broad objective or system feature, such as “Manage User Accounts” or “Process Orders,” while the individual Narratives within that Capability provide the detailed user flows and actions needed to achieve that objective. This structure helps teams align on both high-level goals and the individual steps required to implement those goals.
Understanding Capabilities in the Context of Narrative Studio
In the screenshot, the Dashboard Capability is shown, and it encapsulates several related Narratives such as:
- “User can check account balance”
- “User can see suggested products”
- “User can see last 5 transactions”
- “User can move money between accounts”
Each of these Narratives is a standalone workflow that describes a specific user goal. However, they all contribute to the broader Capability of “Dashboard Functionality” by detailing how a user interacts with different parts of the dashboard to manage their financial information.
Collapsing and Expanding Narratives within a Capability
In Narrative Studio, Narratives within a Capability can be collapsed or expanded based on the level of detail needed:
- Collapsed View: As shown in the screenshot, each Narrative is represented as a simple Construct connected to the main Capability construct. This view provides a high-level overview of all Narratives associated with the Capability, making it easy to visualize the scope of the initiative and understand the key user goals it supports.
- Expanded View: By clicking the expand icon (located at the top-right corner of each Narrative construct), you can reveal the full structure of the Narrative. This view shows all the detailed Moments, Interfaces, Actions, and other elements that make up the narrative, providing insight into the specific interactions and system behaviors that implement the goal.
Best Practices for Working with Capabilities
Use Capabilities to Represent High-Level Objectives
Create Capabilities to define high-level business or system objectives. For example, if you are building a financial application, you might define Capabilities like “Account Management,” “Dashboard Functionality,” or “Transaction Processing.” This helps to group related narratives and ensures that the project is structured around meaningful business goals.
Keep Narratives Focused
Each Narrative should focus on a single, specific user goal or workflow that contributes to the larger Capability. For example, within a “Dashboard” Capability, you might have Narratives such as “User Can Check Account Balance” and “User Can Move Money Between Accounts.” Each of these Narratives addresses a unique use case but collectively fulfills the broader dashboard functionality.
Use Collapse and Expand Features for Navigation
When dealing with a large number of Narratives, use the collapse and expand feature to navigate between different levels of detail. Collapse Narratives to maintain a clean, high-level view, and expand only the Narratives that require immediate focus. This approach helps avoid overwhelming visual clutter and makes it easier to manage complex projects.
Ensure Clear Naming for Capabilities and Narratives
Use descriptive names for both Capabilities and Narratives. The names should clearly convey the purpose and scope of each component. A well-named Capability, such as “User Dashboard,” immediately communicates its purpose, while Narratives like “View Account Balance” and “See Transaction History” provide clarity on the individual functionalities that support the Capability.
Example: Building a Capability for a Financial Dashboard
If you were to build out a Capability for a Financial Dashboard, you might start by defining the Capability as “Dashboard,” then add the following Narratives:
- User Can Check Account Balance
- User Can See Suggested Products
- User Can See Last 5 Transactions
User Can Move Money Between Accounts
Each of these Narratives would then be expanded to show the detailed flow, including user interactions, backend system actions, and constraints. For example, the “User Can Check Account Balance” Narrative might include steps like logging in, selecting an account, and viewing the balance display, along with the system processes that support these interactions.
Structuring Your Project with Capabilities
By using Capabilities, you can create a hierarchical structure that makes it easier to manage both small and large-scale projects. Each Capability becomes a container for related Narratives, and each Narrative serves as a building block that contributes to the overall functionality. This structure enables teams to focus on delivering complete features while maintaining alignment with broader business objectives.
Capabilities are not just a visual tool—they are a powerful way to organize, prioritize, and communicate project goals across teams, ensuring that everyone understands the high-level purpose and the detailed workflows required to achieve it.
Want exclusive access to NDD content?
Become an NDD Pioneer. Sign up with your email to get access to new drops.