Devanshshah1309 / pe

0 stars 0 forks source link

Very Difficult to Add/Delete Assignees to a Task #9

Open Devanshshah1309 opened 1 year ago

Devanshshah1309 commented 1 year ago

Steps to Reproduce

  1. Create a task: task add tn/Grade Mission 1 i/Due Tomorrow d/10/12/2022 s/James Ho
  2. I want to assign another member to the task say, "XYZ ABC"
  3. I want to remove one member from the task, say "XYZ ABC"

Expected

As a user, I expect easy commands like unassign task 1 s/XYZ ABC or something similar for unassigning (and similarly for assigning additional students) students to tasks.

Actual

Right now, the only way for me to edit the assignees is through task edit.

Furthermore, task edit does not append the person to the list of assignees but replaces it. So, if I have a task like "Submit CS1101S Mission" assigned to 10 people and I want to unassign 1 person, I have no choice but to write the names of all 9 students in the task edit command. This is painful and hinders the usage of the application to a great degree (since a tutorial such as CS1231S can have 20 students and having a task such as "Submit Assignment 1" is very reasonable)

nus-pe-bot commented 1 year ago

Team's Response

Agreed that this would be a inconvenience. However, we don't really think this 'hinders the usage of the application to a great degree'. If we think about the general use case of the product meant for TA's across the board, this would be an inconvenience only if all of the following conditions are met:

  1. The TA would need to be handling a tutorial group of a large enough size (20+) for this to be a minor inconvenience. Which is not impossible but it is not exactly a very common occurrence as well.
  2. We don't expect editing a task to be significantly less used as other commands (adding, grading, etc.).

Given the frequency of this occurrence happening coupled with the conditions to be met in order for this to be an inconvenience, we feel like 'Appears only in very rare situations and causes a minor inconvenience only.' describes this bug the best, hence why we feel like it is of a low severity.

Items for the Tester to Verify

:question: Issue severity

Team chose [severity.Low] Originally [severity.Medium]

Reason for disagreement: Thanks for your response!

I still think the bug is a severity.medium (in fact, it falls somewhere between medium and high, but I chose medium as per the module website's instructions).

With regard to your claim that,

The TA would need to be handling a tutorial group of a large enough size (20+) for this to be a minor inconvenience. Which is not impossible but it is not exactly a very common occurrence as well.

Even if there are 10 students, this causes significant inconvenience (depending on the frequency of tasks and assignments). If you consider CS1101S, there is about 1 mission and 1 quest due every week, which tutors have to grade. Imagine typing such long commands every time you want to assign all students to a task to track your grading progress! (I give a concrete example below to show just how long these commands can get)

Nevertheless, it is extremely common for tutors to be handling a group of 15-20 students (possibly even more) in NUS! As an example (being a tutor for CS1231S myself), I teach 16 students. My CS2100 tutorial has well over 20 students. My 2109S tutorial has about 15 students. My CS2101 tutorial has 20 students. In short, I don't think your team is well-aware of the teaching landscape in NUS (or is deliberately trying to provide inaccurate information to downplay the severity).

Moreover, I'm not sure I understand your second point:

We don't expect editing a task to be significantly less used as other commands (adding, grading, etc.).

Are you saying that editing a task will be equally used as other commands like adding and grading? If so, that only exacerbates the problem.

With regard to the degree of inconvenience, let me illustrate this with the help of an example.

Let's look at a tutor Ben who is tutoring a class of 15. Imagine each student's full name is about 10 letters (which is a conservative estimate).

Ben wants to assign it to all his students so he can track his grading status. He searches the user guide for an easy way to do this (perhaps, an assign task_index all command exists?) but cannot find one.

He types task edit 1 s/student1 name s/student2 name ... (approximately 11 for task edit 1 and 12 for each student s/student's name = 11 + (12 * 15) = 191 characters)

Unfortunately he made a typo in one of the student's name (sigh!) and he has to type the entire command all over!

The next day, one of the students emails him that he has been exempted from that particular task by the Prof and now, Ben needs to unassign that student. Since there is no command to simply unassign that 1 student, another extremely long and painful command haunts him.

The fact that it is necessary to type the student name rather than the student index makes it even worse (since it increases the probability that you have a typo in your command and have to rerun the entire command)

Hence, in my opinion, this is a severe feature flaw - actually an important feature (i.e., assign and unassign) that is missing (perhaps caused due to missing user stories that should have captured this particular use case) - that causes major inconvenience to users. According the module website,

severity.Medium: A flaw that causes occasional inconvenience to some users but they can continue to use the product.

Moreover, the entire value proposition of this app lies in being fast for people who can type fast (or at least, it should as per the module's requirements). It defeats the purpose (and hence, adds little value) if important and commonly used commands require hundreds of characters to perform a simple unassign (and assign).

Hence, I think the severity should remain severity.Medium.