tingxuanp / pe

0 stars 0 forks source link

Inconsistent behaviour of `assign` command #6

Open tingxuanp opened 2 weeks ago

tingxuanp commented 2 weeks ago

I think the assign command is slightly unclear in its purpose. In the description given in the user guide, it states that the command assigns persons in the "displayed list" randomly to the given Study Groups. But in the example, find g/M followed by assign Male-Group assigns every male in the address book to Male-Group study group. It is rather confusing why this is allowed, since the purpose of the assign command, in its description is stated to assign contacts randomly. find g/M followed by assign Male-Group does not actually produce the specified behaviour of randomly assigning the contacts in the "displayed list" to the study group, as it assigns all contacts not at random.

Perhaps either the documentation could be more clear and should accurately document the behaviour of the assign command, or, for the assign command to stick to its described functionality of randomly assigning persons in the displayed list, assigning all participants in a filtered list of contacts should be done by a separate command.

nus-pe-script commented 2 weeks ago

Team's Response

Thanks for pointing out!

When one uses the assign feature with only one tag, essentially all displayed participants gets assigned into the same group. Technically speaking, this is intended behavior, since the app is simply told to 'randomly' assign participants into one study group.

The main use of the assign feature is to randomly assign participants into multiple study groups. In the case of only one study group being provided, the 'randomizing' effect isn't as clear as using assign with multiple study groups, making it seem a bit out of place.

However, we have allowed this functionality to exist to allow for more flexibility for group assignment. It would be extra clutter to have an additional command specifically for assigning participants to just one group.

As such, we are accepting the issue as a low-severity not-in-scope suggestion!

Items for the Tester to Verify

:question: Issue response

Team chose [response.NotInScope]

Reason for disagreement: I think the ability of the assign command to provide the target users - researchers - with the ability to randomly assign their contacts into research groups since this is probably one of the biggest selling points of this application, given that it is one of the few entirely new features not from AB3. It should not be classified as something not so important - because the feature violates its expectation in the user guide to randomly assign contacts into study groups which is something that, according to the user guide, the group is very sure will "make" the entire app experience for the target users. Given that this is one of the most crucial and probably frequently used commands users will use, the feature flaw would hinder a user from effectively using the app at this stage.


## :question: Issue severity Team chose [`severity.Low`] Originally [`severity.Medium`] - [x] I disagree **Reason for disagreement:** This is quite a severe feature flaw - it violates the random nature of the `assign` command. The team states that "When one uses the assign feature with only one tag, essentially all displayed participants gets assigned into the same group. Technically speaking, this is intended behavior, since the app is simply told to 'randomly' assign participants into one study group." but "all displayed participants" being "assigned into the same group" is definitely not the same as "randomly assigning participants into one study group". This doesn't account for the case where researchers may, for example, want to filter the list of research participants to only display the male participants and then randomly assign the male participants into different study groups - this is a perfectly reasonable way of using the application, given that, for example, some studies may only be conducted on males (for example if the research is about a disease that only males can have). Researchers would be completely unable to achieve that with the `assign` functionality that violates its expected behaviour. I think the behaviour of the `assign` command is just not very consistent and as a whole, the feature doesn't make a lot of sense because in some cases, users can be randomly assigned to study groups but in other cases, such as when only male contacts are displayed, they can't. It is quite unclear what the behaviour of the command is meant to be, is it meant to randomly assign participants into different groups or not. I also disagree with the groups justification that having this differing behaviour for the `assign` command allows greater flexibility - it does not actually allow greater flexibility as users would be restricted to only be able to randomly assign contacts when the list is not filtered, when there are many realistic cases where researchers will need to for example only filter for female contacts and then randomly assign them to study groups. In that case, the `assign` command is unable to provide the expected functionality - which is the ability of the user to _randomly_ assign contacts into groups.