ZhangAnli / pe

0 stars 0 forks source link

Developer Guide lacks comprehensiveness, does not contain important documentation of the most basic features. #13

Open ZhangAnli opened 3 years ago

ZhangAnli commented 3 years ago

Does not show the implementation for the most basic features such as add under the Implementation section. Starts off with the remind feature instead of the most basic feature such as add/delete. While these are simple commands, they are important for a new developer trying to pick up ResidenceTracker to understand how a new entity is added into the internal list. This was not shown in the implementation section.

Overall, implementation lacks detail on other commands including add/delete edit, find, list. Should have included at least one or two more if going for the more important commands.

Lacks comprehensiveness, quite a major flaw imo.

nus-pe-bot commented 3 years ago

Team's Response

The DG is not meant for comprehensiveness. Too much information can be overwhelming and hinders the reader. The purpose of the DG here was to give more information on the additional features that were significantly different or interesting from the existing basic add/delete operations and explaining list or find would have been similar to remind since it already covers how the displayed residence list is returned as a filtered sorted list.

There is already sufficient overview of class diagrams and sequence diagrams given to inform the reader about the overall implementation as well. Hence, severity is also VeryLow since it does not affect the usage of the product.

Items for the Tester to Verify

:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: As stated, while the DG is not meant for comprehensiveness, I felt that this team skimmed too much in the Implementation section. As previously iterated, basic commands are often important/fundamental commands, such as add/delete. As a tester, I was expecting at least one boilerplate explanation (perhaps for example the Add Command") that the team can use to cover other commands and for instance, state that for the delete command, just refer to the Add Command etc. As stated in the textbook, you can group all the similarities in one class and then briefly mention any differences without repeating yourself.

My issue is that there was a lack of coverage on at least one representative command (e.g. Add) that can be used to explain the most basic and fundamental processes in this application. Otherwise, any new developer to this application would not be able to understand how even the most simplest commands works. Additionally, the team replies that these are basic commands and it is more logical to talk about more interesting commands that they have implemented. However, I would like to emphasize that they are saying this in hindsight, after going through the entire project and having spent hours on this project. This will not be the case for a new developer who will have trouble understanding the most basic command without guidance. While the idea is to go for minimal but sufficient, I do feel that this team has not really achieved the sufficient criteria.

Granted, DG is not meant to cover all the commands, especially those that are repetitive. However, that's not what I meant by comprehensiveness, but rather the fact that DG is missing details that are critical to understanding how their application works on the basic level and therefore a question of whether the DG has satisfactorily achieved its purpose of guiding new developers.


:question: Issue severity

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

Reason for disagreement: Maintain that the lack of completeness and skimming of details on important commands on the end of the developer team. Should be a minimum of severity.Low.

The definition for severity.VeryLow is as such: : A flaw that is purely cosmetic and does not affect usage e.g., a typo/spacing/layout/color/font issues in the docs or the UI that doesn't affect usage.

This is clearly not a cosmetic issue but rather potential missing information.