User Story Mapping

Advanced Software Engineering

User Stories: What Does the User Really Need?

  • A user story captures a feature that delivers real value to the user
  • It represents a small, user-focused piece of functionality
  • Helps developers see the system from the user's point of view

➡️ Stories can be grouped and structured using User Story Mapping

Advanced Software Engineering

What is User Story Mapping?

  • A visual method to organize user stories
  • Shows the user journey as a series of activities and tasks
  • Helps teams understand needs and prioritize features
  • Reflects the user’s workflow in a clear, time-ordered way
  • Encourages shared understanding among team members
Advanced Software Engineering

Step 1: Identify Activities

What is an Activity?

  • A meaningful goal-oriented action performed by the user
  • Represents a high-level step in the user journey
  • In user story mapping:
    → Appears as a top-level horizontal row

One activity = several related user stories

Advanced Software Engineering
Term Level Description
Use Case Large Complete interaction between user and system
Scenario Mid Specific flow within a use case
Activity Mid A user’s meaningful step toward a goal
User Story Small A piece of functionality that adds value
Advanced Software Engineering

How to Identify Activities

  1. Understand the user's goal
  2. Describe the user's action scenario
  3. Break it into meaningful steps
  4. Arrange steps in time order
  5. Adjust the granularity for planning and release
Advanced Software Engineering

Example: Tic-Tac-Toe

User goal: Play and enjoy the game

Activities:

  • Start a new game
  • Place a mark
  • Check win/loss
  • Display the result
  • Restart the game
Advanced Software Engineering

Common Mistakes: What Activities Are Not

Example Problem
"Click a button" Too small; low-level action
"Draw a screen" Focuses on UI, not the user
"Log data" Internal; not user-driven
Advanced Software Engineering

Step 2: Write User Stories

What is a User Story?

  • A short, clear description of what the user wants
  • Written from the user’s perspective
  • Explains what the user wants to do and why it matters
  • Guides development with a focus on user value
  • Small enough to be developed and tested quickly
Advanced Software Engineering

User Story Template

  • Format:
    "As a [user], I want to [do something], so that [achieve value]."

  • Focus on:

    • Who is the user?
    • What do they want to do?
    • Why is it important?

Example:
“There is a problem, so enabling what leads to customer value.”
「Who が What をできるようにする。Problem という課題があり、What をできるようにすることで、Customer Value が得られる」

Advanced Software Engineering

Example Stories

Activity: Place a Mark

As a player, I want to place a mark (○ or ×) on the board, so that I can take my turn in the game.

Activity: Judge Result

As a player, I want the game to determine if I have won or lost, so that I can know the outcome.

Advanced Software Engineering

Step 3: Arrange User Stories

How to Organize User Stories

  • Place user stories in horizontal rows under each activity
  • The top row shows key activities (user goals)
  • The second row shows related user stories
  • The third row (optional) shows technical tasks or sub-tasks
  • This layout helps visualize the user journey and workflow
Advanced Software Engineering

Example: Tic-Tac-Toe User Story Map

Activity Place a Mark Judge Result Start New Game View Current State
User Story US1: Place ○ or × US2: Determine win/lose US3: Restart the game US4: Show board state
Tasks / Sub-tasks • Click empty cell • Check win condition • Reset board • Highlight current turn
• Prevent overwrite • Show winner/loser • Reset turn counter • Show all placed marks

This map helps teams see what the user does, what features they need, and what tasks must be built.

Advanced Software Engineering

Step 4: Prioritize and Release

How to Prioritize User Stories

  • Focus on stories that are critical for the user experience
  • Consider dependencies between stories
  • Group stories into releases based on value and dependencies
  • Each release should deliver a meaningful outcome to the user
Advanced Software Engineering

Example: Tic-Tac-Toe Releases

Release Included Stories User Value
Release 1 US1 Users can place marks (○ or ×)
Release 2 US1 + US2 Users can play and see win/loss
Release 3 US1 + US2 + US3 Users can restart the game
Release 4 US1 + US2 + US3 + US4 Full gameplay experience

You don’t always need to follow story order.
For example: US1 + US2 + US4 can be released together if they have no dependencies.

Advanced Software Engineering

Summary

  • User story mapping is a powerful way to visualize user needs and plan development.
  • It helps teams understand the user journey and structure stories around real goals.
  • By identifying activities, writing user stories, arranging them, and planning releases,
    teams can build software that delivers real value to users.
Advanced Software Engineering