Requirements Beyond MVP: Dynamic User Group Creation, Usage, Refresh, and Management

Requirements Beyond MVP: Dynamic User Group Creation, Usage, Refresh, and Management

Long-term User Group Strategy

See User Group Strategy

Use Cases

See User Group Use Cases for a more extensive and specific list of user grouping use cases based on product discovery. I’ve included below the groups and use cases that will be fulfilled by this Post-MVP delivery:

  • As a course delivery team member, I want to be able to segment the users in my course based on their characteristics, their course engagement, and/or their course performance, so that I can…

    • Easily compile and download a list of learners in my course that meet certain criteria for analysis and usage off-platform.

    • View course enrollment, engagement, and performance data for learners in my course that meet certain criteria to better inform decisions I make about my course and/or the intervention tactics I may use.

    • Communicate with a subset of learners in my course to compel them to reengage with course material or to encourage them to keep up the good work.

      • Note: This delivery will allow some course delivery teams to be able to communicate with learners by providing a CSV file with the email addresses of the users in the user group they’ve created. Reaching out to learners within a user group will still be a manual process until we are able to fully integrate user group creation with communication tools (such as email and notifications) on the platform in a future release.

Product Requirements

Epic 1: Dynamic User Group Creation

As a course delivery team user, I can create a dynamic group of users at the “course” scope based on user behavior and/or characteristics…, so that I can (see Utilizing User Groups to see how users want to be able to utilize the user groups they’ve created)

Dynamic User Groups

  • By defining a group of users with active enrollments in the course using any of the following criteria (limit of 3 criteria per user group for the initial dynamic user grouping release). In the future, we may need to allow users to combine criteria using OR, but for this MVP, we’ll allow the user to combine up to 3 criteria using only AND):

    • Available to all instances:

      • Current enrollment mode

        • User can select one or more enrollment modes

      • Current course grade

        • Equals

        • Equals or is greater than

        • Is greater than

        • Equals or is less than

        • Is less than

      • Enrollment date (Most recent enrollment date)

        • Is

        • Is on or before

        • Is before

        • Is on or after

        • Is after

      • Course Staff Role

        • User can multi-select course staff roles to create a group

      • User language (we need to decide which field this comes from)

      • User domain name

      • Engagement with one selected assignment

        • User can select one or more assignment statuses

          • Completed

          • Started

          • Not Started

      • Most recent attempt on one selected problem

        • User can select one or more outcome

          • Not attempted

          • Partially Correct

          • Correct

          • Incorrect

      • Has earned a certificate for the course ← Requires research as to whether or not we can use this as user grouping criteria

    • Only available to instances using Aspects:

      • Days since last engaged with course:

        • Never

        • N days

          • Equals

          • Less than or equal to

          • Less than

          • More than or equal to

          • More than

        • Any number of days

      • Watched one selected video

      • Problem response (limited to CAPA problems)

        • User can multi-select problem response

      • Survey XBlock Response

        • Note: The Survey XBlock will often have multiple questions within one Survey XBlock. By default, the survey tool contains 3 separate question slots to which users can add or remove questions (Manage Survey Tool — Latest documentation)

        • User can multi-select response to a survey question within the Survey XBlock

Epic 3: Utilizing Dynamic User Groups

New Requirement

As a course delivery team user, I can create a dynamic group of users at the “course” scope by (see User Group Creation to see what groups a user wants to be able to create), so that…

  • Technically-inclined instance operators can add their own grouping criteria/criteria is pluggable

Maintain Existing Functionality with New Dynamic User Groups

As a course delivery team user, I can create a dynamic group of users at the “course” scope, so that I can use dynamic groups the same way I can currently use static groups on the platform:

  • Download a CSV file of user group members that has the following columns:

    • Name

    • Username

    • Email address

  • Filter the Aspects User Group Dashboard (currently called the At-Risk Learner Dashboard) by a user group that has been created for the course

Epic 2: Dynamic User Group Refresh and Management

New Requirement

As a course delivery team member, I want dynamic user groups to refresh on the following cadences based on the criteria used to create the group.

Grouping criteria

Default automatic refresh cadence

Grouping criteria

Default automatic refresh cadence

Event-driven refresh cadence: The user group will be refreshed when/just before it is utilized. For example, if a course delivery team member sends a notification to a group of users in their course with X current enrollment mode, the user group would refresh and then the notification would be sent.

Cached daily refresh cadence: The user group will be cached daily.

Current enrollment mode

Event-driven

Current course grade

Event-driven

Enrollment date (Most recent enrollment date)

Event-driven

Course staff role

Event-driven

User language

Event-driven

User domain name

Event-driven

Engagement with one selected assignment

Event-driven

Most recent attempt on one selected problem

Event-driven

Has earned a certificate for the course

Event-driven

Days since last engaged with course

Cached daily

Watched one selected video

Cached daily

Problem response (limited to CAPA problems)

Cached daily

Survey XBlock

Cached daily

Maintain Existing Functionality with New Dynamic User Groups

In addition to user group creation requirements and requirements for how users need to be able to utilize user groups, there are a few ways in which users need to be able to manage the user groups they’ve created. All of the following management strategies will be available after the Static User Grouping MVP is delivered:

As a course delivery team member, I want to name the user group I created, so that I have an easy way of identifying each of the groups I’ve created at a glance.

  • Character limit: 50 characters

  • User group names must be unique (at the course-level)

As a course delivery team member, I want the ability to edit the name of a user group, so that I can adjust previously created groups to better fit my needs.

As a course delivery team member, I want the ability to edit the criteria I used to create a user group, so that I can adjust previously created groups to better fit my needs.

As a course delivery team member, I want the ability to disable a user group, so that I can stop automatic refreshing of dynamic groups and stop any interventions associated with the group for user groups I am currently not using.

As a course delivery team member, I want the ability to re-enable a disabled user group, so that I can so that I can resume automatic refreshing of dynamic groups and resume any interventions associated with the group for user groups I would like to resume using.

As an instance administrator, I want to be able to access group membership changes information via the tracking logs, so that this information can be accessed if there are questions about why learner(s) were removed from/added to a user group.

As a course delivery team member, I want to view the following metadata for a user group, so that I am able to identify each user group and easily understand the group’s characteristics such as how the group was created, when it was last refreshed, and how big the user group is at a glance.

  • User group name

  • Grouping criteria

  • Number of users in group

  • Date last modified