Sujets > Organization

Agility

What is INVEST model ?

A model with set of criteria used to create effective user stories

A well-written user story is concise, specific, and easy to understand. Each element of the INVEST model is essential to creating an effective user story:

  • Independent: A user story should be self-contained and not dependent on other user stories
  • Negotiable: A user story should be negotiable, allowing for discussion and changes
  • Valuable: A user story should deliver value to the user
  • Estimable: You should be able to estimate the effort required for a user story
  • Small: A user story should be small enough to be completed in one iteration
  • Testable: A user story should be testable to ensure that it meets the users’ needs

User Story convention ?

“As a [user], I want [goal/desire] so that [benefit],”

“As a” identifies the user or persona who has a need or requirement. “I want” describes the user’s goal or desire. “So that” explains the benefit or value that the user expects to receive.

User Story with more user centric structure

Here’s an example structure for a user-focused user story:

As a [type of user], I want [a specific goal or task] so that [a reason or benefit for completing the goal or task].

As a customer, I want to be able to track my order status so that I can see when my package will arrive.

Example 1 – user story for an e-commerce website

As a customer, I want to be able to filter my search results by price, brand, and category so that I can quickly find the products I’m interested in.

Example 2 – user story for a mobile app

As a commuter, I want to be able to access real-time transit information, including bus and train schedules, so that I can plan my journey and avoid delays.

Example 3 – user story for a social media platform

As a user, I want to be able to see the number of likes and comments on my posts so that I can gauge the popularity of my content and adjust my strategy accordingly.

Example 4 – user story for a product management tool

As a product manager, I want to be able to assign tasks to team members, set due dates and priorities, and track progress so that I can ensure that products are completed on time and within budget.

Example 5 – user story for a healthcare app

As a patient, I want to be able to schedule appointments with my healthcare provider, access my medical records, and receive notifications for upcoming appointments so that I can manage my health effectively.

Common mistakes and pitfalls to avoid when working with user stories

  • Writing epics instead of user stories : too large to be completed within a single sprint / to estimate
  • Not focused on user
  • Failing to include acceptance criteria
  • Not prioritizing user stories
  • Failing to collaborate

Imprecise USer story with dependencies

“As a user, I want a search function so that I can find what I’m looking for,” is too broad and could be broken down into the following smaller, more specific stories:

  • As a user, I want to be able to search for products by name so that I can find specific items quickly
  • As a user, I want to be able to filter my search results by category, price, and other criteria so that I can narrow down my search
  • As a user, I want to see suggested search terms as I type in the search box so that I can easily find what I’m looking for
  • As a user, I want to be able to save my search results and return to them later so that I don’t have to repeat the search process

Another way to avoid dependencies is to make sure that each user story is focused on a single feature or requirement. If a story includes multiple requirements, it may be difficult to complete without depending on other stories.

Persona

A persona profile isn’t individual/disaggregated data but aggregate data

Example of a persona profile

  • Name: Sarah Smith
  • Age: 27
  • Occupation: Marketing manager
  • Education: Bachelor’s degree in marketing
  • Marital Status: Single
  • Location: Urban area
  • Hobbies: Yoga, traveling, cooking

Goals:

  • Find a job that allows her to use her marketing skills and work in a collaborative environment
  • Manage her work-life balance effectively and prioritize self-care
  • Save enough money to travel to at least two new countries every year

Challenges:

  • Struggles with managing her workload and often feels overwhelmed by the demands of her job
  • Finds it difficult to meet new people and make friends in a new city
  • Has a limited budget for travel and struggles to find affordable options

Behavior:

  • Spends a lot of time researching job opportunities and networking on LinkedIn
  • Likes to attend yoga classes after work to de-stress and unwind
  • Enjoys exploring new neighborhoods in her city and trying out new restaurants

acceptance criteria

Acceptance criteria are important for several reasons:

  • Clear expectations: Acceptance criteria define the expected outcome of a user story in clear, measurable terms. This helps the development team and stakeholders agree on what success looks like and ensures everyone is on the same page.
  • Testable criteria: Acceptance criteria provide a clear set of testable criteria that the development team can use to verify that the story has been completed successfully.
  • Quality assurance: Acceptance criteria provide a way to ensure that the product meets the required quality standards.
  • Prioritization: Acceptance criteria help prioritize user stories by identifying the most important requirements and ensuring that they are met first.

Story mapping

Story mapping is a powerful technique for visualizing the user journey and organizing product features in a meaningful way

Objective: To create a product management software that helps teams collaborate effectively and track progress.

  1. Epic: User registration and onboarding
  • User story: As a new user, I want to create an account and set up my profile.
  • User story: As a new user, I want to receive a welcome email with instructions on getting started.
  • User story: As a new user, I want to complete a guided tour of the software’s key features.
  1. Epic: product creation and setup
  • User story: As a product manager, I want to create a new product and define its scope.
  • User story: As a product manager, I want to assign team members to the product and set their roles.
  • User story: As a product manager, I want to establish product milestones and deadlines.
  1. Epic: Task management
  • User story: As a team member, I want to view my assigned tasks and their due dates.
  • User story: As a team member, I want to update the status of my tasks (in progress, completed, etc.).
  • User story: As a team member, I want to collaborate with other team members on task-related discussions.
  1. Epic: Progress tracking and reporting
  • User story: As a product manager, I want to visualize the progress of tasks and milestones.
  • User story: As a product manager, I want to generate reports on product status and team performance.
  • User story: As a product manager, I want to receive notifications for overdue tasks or potential bottlenecks.
  1. Epic: Integration and Customization
  • User story: As a user, I want to integrate the software with popular product management tools (e.g., Jira, Trello).
  • User story: As a user, I want to customize the software’s interface and dashboard to match my preferences.
  • User story: As a user, I want to receive timely updates and announcements from the software’s development team.

stakeholders

Here’s an overview of the key stakeholders in a project or product development and their roles:

  • Product owner: The product owner is responsible for defining the vision, prioritizing features, and making decisions regarding the product. They act as the voice of the customer and ensure that the product meets the user’s needs and business goals.
  • Users: Users are the individuals who will use the product or benefit from its features. Their feedback and insights are crucial ways to understand their needs, preferences, and pain points. User involvement helps shape the product to ensure it delivers value and meets user expectations.
  • Development team: The development team consists of individuals responsible for building and delivering the product. They are involved in the technical implementation and work closely with the product owner to understand the requirements and translate them into working solutions.
  • Management: Management stakeholders provide overall guidance, support, and resources for the product. They make high-level decisions, provide strategic direction, and ensure that the product aligns with organizational objectives. Management stakeholders play a crucial role in setting priorities and allocating resources.
  • Data analysts: Data analysts play a vital role in analyzing and interpreting data related to the product or project. They provide insights and recommendations based on data analysis, helping the team make data-driven decisions and measure the success of the product.
  • Legal: Legal stakeholders ensure that the product complies with applicable laws, regulations, and industry standards. They assess legal risks, review contracts, and provide guidance on intellectual property, privacy, and compliance matters.
  • Security: Security stakeholders focus on ensuring the product’s security and protecting sensitive information. They assess and mitigate security risks, implement security measures, and help define security requirements for the product.
  • Sales: Sales stakeholders provide valuable market insights and customer feedback. They play a role in understanding market trends, identifying customer needs and preferences, and helping to shape the product’s features and positioning.
  • Support: Support stakeholders handle customer inquiries, feedback, and issue resolution. They provide insights into common user problems and suggestions for product improvements. Their feedback helps shape the product’s ongoing support and maintenance strategy.
  • Operations/manufacturing: Operations or manufacturing stakeholders are involved when the product involves physical production, assembly, or distribution. They provide input on production processes and supply chain logistics and ensure smooth operations once the product is launched.

Techniques and tools for refining user stories

There are several techniques and tools available to help teams refine user stories effectively. Some of these are as follows:

  • User story mapping: This technique helps the team visualize the user’s journey through the product and identify any gaps or inconsistencies in the user stories
  • Story splitting: This involves breaking down large user stories into small, more manageable pieces that can be developed and delivered more quickly
  • Planning Poker: This is a consensus-based estimation technique that helps the team estimate the effort required to complete each user story
  • Online collaboration tools: Tools such as Trello, Jira, and Asana can be used to manage, prioritize, and refine user stories efficiently