/
User Stories for Grouping

User Stories for Grouping

User Stories for Grouping

I’ve included a ❌ or ✅ (sometime both if unclear, with a comment explanation) to indicate whether Open edX currently fulfils each user story in this section, with a short explanation as to the gaps that exist in the associated comment. Full details of implementation of different features are captured in other documents in this section.

Generic Grouping User Stories

There are some user stories common to all grouping methods, such as:

Needs
  • As a course administrator, I need to be able to set up automatically populating groups in order to remove the need for manual learner assignment ✅

  • As a course administrator, I need to be able to manually assign learners to groups ✅

Wants
  • As a course administrator, I want to be able to define specific rules for how learners are automatically assigned into groups❌, such as:

    • By location (such as state, school district, or country)

    • By email address domain

    • By enrollment date (for rolling course runs)

    • By overall grade or grade in a specific assignment (such as an entrance exam)

  • As a course author, I want learners to be able to self-assign themselves to groups where enabled to do so, in order to define custom rationale behind groups that cannot be implemented using automation, such as interest in particular topic areas, favourite colours, or specific learning goals. ❌✅ 

  • As a course administrator, I want to be able to browse groups in order to see which learners are in which groups. ❌✅

  • As a course administrator, I want to be able to search groups to see which groups a learner is in. ❌

  • As a course administrator, I want to be able to assign learners to groups via CSV files. ✅

  • As a course administrator assigning learners to groups, I want to browse a list of all enrolled learners and select the learners to add to each group so that I do not have to download a user report and work with CSV files. ❌

  • As a course administrator in a large diverse platform environment, I want to be able to add and remove learners from groups via API and other standard integration points in order to manage groups through other systems. ✅❌

  • As a course administrator, I want learners to be able to be part of multiple groups in order to assign and use groups more flexibly for multiple purposes.❌

  • As a learner in a small group, I want to be able to vote to remove people from my group in the event of someone not contributing to a group assignment, or being abusive. ❌

  • As a course administrator, I want to be able to replace learners whose groups reject them, and ban or un-ban certain learners from joining new groups in the current course. ❌

Primary Use cases

  1. As a course administrator, I need to be able to divide discussions and peer-to-peer activities according to automatically or manually-defined learner groups.

    • Needs:

      • As a course author, when splitting group discussions by group, I want to select which groups receive a discussion area and which groups are ignored, so that learners can be a part of other groups that do not affect discussions. ❌

      • As a course administrator, I need to be able to see what each discussion group can see in order to review each group independently and ensure that each group has access to all discussions they should be a part of. ✅

      • As a course administrator, I need to be able to dictate whether a discussion topic should be divided between discussion groups, or available to the course as a whole. ❌

    • Wants:

      • As a course author, I want to be able to use the same groups for splitting discussions in other peer-to-peer activities such as peer assessment.❌✅

      • As a learner, I want the option to change which discussion group I am a part of to avoid personality clashes and to escape “dead” discussion groups. ❌✅ 

      • As a course team member, I want automatically defined groups to automatically compress to ensure that an acceptable level of discussion activity is maintained, ensuring that “dead” discussion groups do not exist. ❌

      • As a course author, I want to be able to create and configure groups when assigning discussions to groups, so that I can dynamically create and modify the course group configuration without having to back out of the discussion creation process. ❌

      • As a course author, I want to be able to allow learners to have read-only access to other group discussions in order to share and ensure learners have access to thought-provoking responses. ❌✅

  2. As a course author, I need to be able to create different content experiences for different groups of learners, forming alternative pathways through my course, including alternative sections, alternative units, and alternative components.

    • Needs:

      • As a course author, I need to be able to specify that a collection of content (such as a subsection) is only available to a specific group of learners in order to create different pathways through the course for different subsets of learners.❌

      • As a course author, I need to be able to assign the same content to different groups, without those groups mixing in group activities such as discussions, or affecting other group-based functionality. ❌

    • Wants:

      • As a course author, I want to be able to specify that a single asset or block of text on a page (i.e. a component) is only available to a specific group of users to fine-tune the experience for different groups of learners.✅

      • As a course researcher, I want to be able to view analytics according to different learner groupings, such as pass rates and completion rates, and filter any downloadable reports by learner groups in order to analyse the impact of different content on different groups of learners. ✅

      • As a learner, when a part of the course contains no content for my group, I do not want to see it in the navigation.❌

      • As a course author, I want to be able to automatically assign content to groups of learners and individual learners based on various conditions, including pre-assigned groups, grades from a graded assignment, enrollment dates, and other logic. ❌

  3. As a course author, I need to be able to create course assignments that are worked on and submitted by groups of learners.

    • Needs:

      • As a course author, I need to be able to configure an assignment so that a single submission from a group will apply a grade to all learners within a group. ❌

    • Wants:

      • As a course author, I want to be able to define if group assignment work is graded by self-assessment (individually or as a group), peers, or a member of staff, in order to lower the workload necessary for grading group assignments. ❌

      • As a learner in a group project, I want to approve a group submission on my behalf before it is finally submitted, in order to avoid undesirable submissions, or my fellow group members going rogue. ❌

      • As a learner in a group project, I want to be able to credit or discredit other learners to indicate whether they actually participated in the group activity, in order to ensure that learners in my group who do not contribute do not receive a grade.❌

      • As a grader, I want to be able to provide feedback to both individual learners and the group as a whole. ❌

  4. As a course administrator, I need to group learners in large, long-running, self-paced courses according to their enrollment dates and activity, in order to ensure that learners who join self-paced courses can still engage with an active community.

    • Needs:

      • As a course administrator, I need to be able to configure automatic learner group creation and assignment by enrollment date in order to automatically group learners who start studying around the same time ❌

      • As a learner in a course with time-bound groups, I need the option of moving to a currently active group at any time, in order to come back to courses I enrolled in previously but did not study, or had to stop part way through studying. ❌

    • Wants:

      • As a learner, I want the option of moving myself to a more current group at any time in order to come back to courses I enrolled in previously but did not study, or had to stop part way through studying.❌

      • As a learner, I do not want to be assigned to a group until I actually start studying, in order to avoid being assigned to a group I am not studying alongside.❌

      • As a course administrator, I want to be able to make announcements to all current time-bound groups of learners, while not affecting past or future learners.❌

      • As a course administrator, I want to be able to schedule announcements and posts to different groups of time-bound learners in order to provide reminders and information to learners in time-bound cohorts at the relevant points in their learning experience, such as posting a reminder to submit an assignment during week 3 (whenever their relative week 3 is).❌

      • As a course administrator, I want to be able to merge time-bound cohorts automatically or manually if a particular automatic cohort is too small to complete group activities or facilitate discussions.❌

Related content

Group Creation Processes
Group Creation Processes
More like this
Learner Grouping Needs & Functionality
Learner Grouping Needs & Functionality
More like this
Enhancements to Teams to make learner grouping more flexible
Enhancements to Teams to make learner grouping more flexible
More like this
Grouping Scenario - Content Pathways
Grouping Scenario - Content Pathways
More like this
Grouping Scenario - Discussion Groups
Grouping Scenario - Discussion Groups
More like this
Grouping Scenario - Concurrency separation/time-bound groups
Grouping Scenario - Concurrency separation/time-bound groups
More like this