Facilitating NDD Sessions
When we facilitate NDD sessions we stick to a few principles that improve our effectiveness. In this list we have included examples of questions we ask ourselves and the team that help us lead the most effective NDD Session.
Helpful Tip: If you are new to Narrative Driven Development, NDD, join the community, consider reading this introduction.
Invite the Right People
NDD is a great tool to get a full picture of the requirements needed for the solution you are developing. Knowledge is scattered across the team, with most often each member holding different pieces of information. When we organize an NDD session, we make sure the participants have complementary knowledge. This way, all pieces of the puzzle come together.
Questions to Ask When Inviting the Right People:
- Who has the most knowledge about this feature?
- Who understands the business requirements best?
- Who can provide technical insights?
- Who will be using this feature?
- Who knows the end-users of the system the best?
Focus on Moments
Even the most intricate narratives can be broken down into simple steps. The moment lane of a narrative board should act as a self-sufficient summary. In our training, we recommend focusing first on the moment-by-moment unfolding of the narrative. This will be the core of our narrative. We’ll have time to add details like interfaces and actions once the main narrative is clear.
Questions to Ask in the Session:
- What is the first thing that happens in this narrative?
- What is the next key event?
- What happens just before this moment?
- How does this moment lead to the next?
Start from the Outcome
From our experience with many teams and clients, we find that keeping focus is crucial. When tackling a new narrative, starting from the outcome might seem counterintuitive. Narratives usually take you from the beginning to the end. But during these sessions, we’re writing the narrative. Starting from the outcome makes sense because it’s the most important thing from a business perspective. Putting the outcome on the board keeps everyone focused on what we’re trying to accomplish.
Questions to Ask in the Session:
- What are we trying to accomplish?
- What is the purpose of this feature?
- What would success look like?
- What is the final state we want to reach?
- What is the actor (user type) for this moment?
Go Back to the Beginning
Once the team has a clear reminder of the business goal, it’s time to ask about the start of the narrative.
Questions to Ask in the Session:
- What’s the first step of this journey?
- Is there anything before that?
- What are the preconditions for this narrative to be enabled?
- What triggers the start of this narrative?
Fill in the Gaps
After we have the beginning and end in place, the team is usually eager to fill in the gaps. Our job as facilitators is to keep the momentum going.
Questions to Ask in the Session:
- So what happens after that?
- What happens next?
- Who’s doing that?
- Are there any important steps we missed?
Keep Focusing on the Happy Path
Fleshing out features and functionality can be overwhelming. It’s easy for a team to get sidetracked in a maze of discussions. Once the team is in the flow of narrative discovery, there will often be an overwhelming number of scenarios and edge cases being discussed. Far from dismissing these contributions, we are thankful for them and we take note of them on the board. We link them with the current narrative and come back to them later. But at this point, our challenge as facilitators is to keep the ship on course.
Questions to Ask in the Session:
- Does this contribute to the outcome?
- Is this a main path scenario or an edge case?
- Can we note this and return to it later?
- How does this help us achieve our goal?
Helpful Tip: for narratives you need to come back to, add a “Follow-Up” label to your organization and add those labels to the narratives that need follow-up. This makes it very easy to capture the action live when you have others in the room or on the video meeting while staying focused on the key narrative you are creating.
Read the Narrative Out Loud
Once we have a series of moments on the board that starts to resemble a narrative, we start narrating it. We go from moment to moment, reading aloud every card we have, in order. Our brains are wired to detect gaps in a narrative. An incomplete narrative will always sound wrong. The team will instinctively try to correct it by adding the moments we might have missed. They will also suggest re-ordering moments if the sequence is not right.
Questions to Ask in the Session:
- Does this make sense?
- Is there anything missing?
- Are we forgetting anything?
- Is this in the right order?
- Can anyone think of anything else?
Add Color with Interfaces
Once the main narrative has been refined, we let the team focus on the interactions and actions of the system. We go over every moment and ask the team how the user interacts with it. If it’s a UI, we note down the name of it and put it above the associated moment. This is our interaction lane, where we put all our interfaces. Not all moments need to have an interface associated with them, but very often they will.
Questions to Ask in the Session:
- How does the user interact with the system at this moment?
- What interface are they using?
- Is this a screen, a button, a form, or something else?
- Do all moments have the necessary interfaces?
Define Actions
Once we have the interfaces down, we steer the team to think of how the interfaces interact with our system.
Questions to Ask in the Session:
- What data does this interface need from the system?
- Where does it get this data from?
- Does this interface send any commands to the system?
- What actions does the system perform in response to these commands?
Helpful tip: When we listen to the team describe how the system works, we try to keep it high-level. We distill their descriptions into short names for actions that describe the entire process or sets of processes that enable a moment to occur. The actions lane will encourage you to think about the 4 types of transitions.
Gather More Context
After we have a robust outline of the moments, the interfaces that enable them, and associated actions, if you are using the Narrative application, you have the ability to add more context. Interfaces often have screenshots, mockups, or wireframes associated with them. We put those on the board and link them to the interface. Interfaces and actions will have their own sets of requirements. We capture those requirements in short descriptions associated with interfaces and actions. Interfaces and actions need to exchange data, so we document that using schemas and queries.
Questions to Ask in the Session:
- Do we have any visual aids like screenshots or wireframes for this interface?
- What requirements are associated with this action?
- What data does this action need to exchange?
- How will we document this data exchange?
Explore Sub Narratives
Narrative discovery will inevitably generate a range of edge cases and interesting scenarios that are not part of the main narrative. Most of the complexity of systems comes from managing all the various scenarios. When we note the various edge cases and alternative scenarios, we create a host of sub-narratives to explore using the same process as for the main one. It is our role as facilitators to help the team figure out which of these side narratives are essential for the functionality. Once the team identifies the essential ones, we start the same process. These side narratives will sometimes link back to the main narrative creating a fork, and sometimes they will create entirely independent narratives we call branches.
Questions to Ask in the Session:
- What are the possible edge cases here?
- What happens if something goes wrong at this moment?
- Are there alternative paths we need to consider?
- Should this side narrative link back to the main narrative or create a new branch?
By following these NDD best practices, we can run effective sessions that bring clarity and focus to our projects. We start by inviting the right people and defining the key moments of the narrative. We keep our focus on the outcome and fill in the gaps by asking the right questions. By reading the narrative out loud and adding details like interfaces and actions, we make sure everyone is on the same page. Finally, we explore sub-narratives to cover all possible scenarios.
Want exclusive access to NDD content?
Become an NDD Pioneer. Sign up with your email to get access to new drops.