Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Instructions to use this template:

  • Use this template to write the Product Requirements Document (PRD) for a single User JTBD or Initiative. 
  • Each workflow within the PRD will correspond to an Epic in JIRA. Each User Story will correspond to a Story in JIRA that will be part of the Epic.
  • Each section in the template has instructions, with examples explaining the type of content to be written in that section. 
  • You may start typing into the section by eliminating the instructional text, or delete the instructional text after you have entered all content for the section.
  • Repeat from section <Use Case 1> Overview for every use case in the User JTBD or Initiative

    Table of Contents
    outlinetrue

    Introduction

    As a user, I wish to consume relevant content as quickly as possible after installing the app. If the DIAL code is not linked to content, I see a popup telling me that content isn't available - and I'm anyway forced to either scan or enter my details manually. It would be nice if my profile information is automatically set based on the DIAL code I just scanned, even if there's no content linked to it (we atleast know the book that it's associated with).

    JTBD

    • Jobs To Be Done: When a user scans a DIAL code for which there is no content, they are shown a book results page with the 'Content coming soon' popup. As a user, I should atleast have my profile information set up because of the scan, so that I can browse the content that is present.
    • User Personas: TeacherStudentRamShyam
    • System or Environment: Most likely to be used at home, occasionally in school premises.

    Requirement Specifications

    This section consists of requirement specifications for specific use cases in the User JTBD. The requirements for each use case are elaborated in detail through sub-sections for:

    • Use case overview
    • Overall process workflow
    • Associated user stories 
    • Non-functional requirements
    • Localization requirements  
    • Telemetry requirements
    • Dependencies
    • Impact on other products
    • Impact on existing data  

    Overview

    As a user who scans a code within a book, I'd like to be able to see content that's relevant to me. The closest that's possible should be enabled for me, if the code I scanned doesn't have any content linked to it.

    Overall Process Workflow

    1. User scans a DIAL code.
    2. User sees a popup saying 'Content is coming soon'.
    3. User closes the popup, to see the library page - with the board, medium and class automatically set.
    4. User might continue to scan other DIAL codes, and find / not get results, based on whether the DIAL code is linked to content or not.
    5. OR the user might choose to navigate via the library and find books relevant for them.


    Overview

    Already covered in overview above.

    Main Scenario

    User scans a DIAL code that is linked to a book, but doesn't have any content associated with it.

    Srl. No.User ActionExpected Result

    User scans DIAL code (which has no content associated within it, but is part of a book)User is taken to the library page, with the board/medium/class auto-set based on the board/medium/class of the book. The user also sees the relevant coming soon message in a popup.

    Alternate Scenario 1 - User scans a DIAL code that isn't linked to any book

    Assuming a DIAL code is available, but not linked to any textbook.

    Srl. No.User ActionExpected Result

    User scans DIAL code (which has no book associated within it)User remains on the onboarding page, and sees the relevant coming soon message in a popup.

    Alternate Scenario 2 - User scans a DIAL code that's linked to multiple books and have content linked to it

    Title is self-explanatory.

    Srl. No.User ActionExpected Result

    User scans DIAL code (which has multiple books associated with it)

    If the books are from:

    1. the same board, medium, and class:
      1. Set the board/medium/class automatically, and show the multiple books page.
      2. If user presses BACK here, they are taken to the library with that board/medium/class.
    2. different boards, mediums or classes:
      1. Wait for user to open a book, and based on the book opened - set the board / medium / class automatically. The user sees the flattened results page (since the book has content).
      2. If the user presses BACK here, they're taken to the book results page.
      3. If they press BACK again, they are taken to the library with that board/medium/class set.

    Alternate Scenario 3 - User scans a DIAL code that's linked to multiple books and the books don't have content linked to it

    Title is self-explanatory.

    Srl. No.User ActionExpected Result

    User scans DIAL code (which has multiple books associated with it)

    If the books are from:

    1. the same board, medium, and class (Can move to future release if complex):
      1. Set the board/medium/class automatically.
      2. The user is immediately taken to the library with that board/medium/class (since none of those linked books have content). User is shown the relevant 'Content coming soon' popup.
    2. different boards, mediums or classes:
      1. Wait for user to open a book, and based on the book opened - set the board / medium / class automatically.
      2. The user is immediately taken to the library with that board/medium/class (since the linked book doesn't have content). User is shown the relevant 'Content coming soon' popup.

    Exception Scenarios

    Srl. No.Error / ExceptionExpected Handling






    Wireframes

    For Future Release

    If multiple books are linked to the same DIAL code, if it's not possible to identify that all of them will result in 0 content at the respective nodes - the Coming Soon message should be populated. Leaving this for later, as I suspect this is going to be a wee bit more complicated.

    JIRA Ticket ID

    Jira Legacy
    serverSystem JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId2207a759-5bc8-39c5-9cd2-aa9ccc1f65dd
    keySB-13149

    Localization Requirements

    N/A

    UI ElementDescriptionLanguage(s)/ Locales Required




    Telemetry Requirements

    Event NameDescriptionPurpose
    Auto-set of BMCAutomatically set the Board, Medium and ClassTo differentiate the users who manually provide their BMC from the users who have it set automatically.


    Non-Functional Requirements

    Performance / Responsiveness RequirementsLoad/Volume RequirementsSecurity / Privacy Requirements
    Would like for this to happen ASAP (within 1 second?).N/A since it's a mobile app use-case




    Impact on other Products/Solutions

    N/A

    Product/Solution ImpactedImpact Description



    Impact on Existing Users/Data 

    User/Data ImpactedImpact Description
    NoThis only impacts new users / reinstalls.



    Key Metrics

    Srl. No.MetricPurpose of Metric

    FTUE funnelTo see the % of users who go on to complete the core experience on the day of install

    BMC funnelTo see the % of users from various BMC combinations, to see their FTUE completion rates and retention.