luileng / pe

0 stars 0 forks source link

Donation amounts not allowed to have more than 2 decimal places #4

Open luileng opened 2 weeks ago

luileng commented 2 weeks ago

image.png

To recreate this: add r/donor n/name p/91234567 e/john@gmail.com a/Jurong d/0.005

It is common that donors donate less than $10, like $1 or $5. Limiting donation amounts to be up to 2 decimal places means that the minimum donation amount it can track is $10, which is inconvenient for administrators as they cannot track donors who donate less than that amount.

soc-pe-bot commented 1 week ago

Team's Response

Thank you for pointing this out. The current scope of the address book is to support NGO administrators in managing donors and tracking significant contributions efficiently. Allowing donation amounts with more than two decimal places to account for contributions below $10 is not in scope for the following reasons:

  1. Alignment with Real-World Scenarios and Rationale for Such Design: NGOs typically prioritize tracking larger contributions that have a more direct impact on their operations. It is uncommon for NGOs to require tracking of micro-donations under $10 with extreme precision. It has been explicitly stated in UG that donation amounts are expressed in thousands of dollars and up to two decimal places are allowed. By doing this, the application encourages NGO administrators to focus on the bigger picture—identifying trends, tracking impactful contributions, and managing key donor relationships. This design choice ensures neater data representations and avoids clutter in financial records, ultimately streamlining decision-making processes and aligning with the application's purpose.

  2. Impact on Functionality: Contributions below $10 are unlikely to significantly affect overall funding strategies or reporting, which focuses on substantial and impactful donations. Administrators can easily work around this by rounding off small donations to the nearest 10 dollars if such cases arise. This aligns with the app's primary purpose, which is to track trends, monitor significant donor contributions, and manage key donor information It is not meant to serve as a tool for precise financial accounting.

  3. User Interface Clarity: Tracking such granular donation amounts risks cluttering the interface and distracting administrators from focusing on key donor relationships and trends, which are central to the application’s purpose.

  4. Lower Priority Compared to Current Work: Supporting granular donation amounts is less critical than the ongoing work in this iteration, which includes grouping, sorting, searching, and fundamentally overhauling the person system to accommodate four distinct roles. These enhancements address more pressing needs and have a far greater impact on the app’s functionality and value to users.

  5. Future Considerations: If user feedback or operational requirements reveal a strong need for tracking such small amounts with additional decimal places, this feature can be revisited in future iterations. However, as of now, it does not align with the primary objectives of the current iteration.

Rationale for Severity: Low

This issue has been classified as severity.low due to the following reasons:

  1. Minimal Impact on Functionality: The inability to record donations below $10 with precision beyond two decimal places does not hinder the primary functionality of the application. The system is still fully operational for its intended use case of managing significant donations.

  2. Rare Use Case: Contributions smaller than $10 are uncommon in the context of NGO operations, where the focus is on tracking substantial donations that contribute meaningfully to funding strategies.

  3. Workaround Available: Administrators can round off small donations to the nearest 10 dollars or two decimal places if such cases arise, ensuring the data remains usable without affecting overall reporting.

  4. Alignment with Real-World Priorities: NGOs typically do not require detailed tracking of micro-donations as such amounts are unlikely to affect financial strategies or reporting outcomes.

  5. Low User Impact: This limitation is unlikely to cause confusion or inconvenience for users, as the majority of donations are expected to fall well within the intended use case of the application.

Based on these points, the issue is not critical to the application’s core functionality and therefore a severity.low classification.

Items for the Tester to Verify

:question: Issue response

Team chose [response.NotInScope]

Reason for disagreement: Responding to the dev team's points:

  1. Misalignment with real-world scenarios: Contributions smaller than $10 are not rare at all in the NGO context -- from this link, the National Kidney Foundation (NKF) has about 150,000 donors on its Life Drops programme, that give a monthly average of $7.80 each (less than $10). In that year, Life Drops donors contributed to 63 per cent of all NKF's donations. Such contributions are not insignificant when combined (they do contribute meaningfully to funding strategies, which is a point your team raised) and failing to record them does affect the ability of the app to achieve its goals.

  2. Impact on functionality: See point 1. Furthermore, from the value proposition: the app helps NGO administrators efficiently manage donors, volunteers, and partners by organising contacts and tracking engagement. Neither the user guide nor the developer guide states that the app is intended to solely manage significant donations. Considering that the app only allows the user to classify a person as a donor if the user also adds a donation amount, restricting donation amounts to be multiples of $10 hinders the primary functionality of the app in recording this information and being able to categorise people by roles should they not hit this amount, which affects other functions like search and sort significantly. The work-around suggested is also insufficient as rounding off $5 to $10 or $1 to $0 can cause inaccuracies. Considering that there are many small-dollar donors, when combined, these inaccuracies are significant.

  3. User interface: I'm not sure if this means that donors that donate less than $10 will not be inputted in the app. If so, I feel that it is counterintuitive and hinders users of this app in managing donors (conflict with value proposition).

  4. Small effort, high impact: Changing the donation amount to be 3 decimal places instead of 2 (as the app tracks in thousands) does not require much effort compared to the features mentioned. This is not a new feature request but a correction to an existing feature. For this small amount of effort, it would afford users much more flexibility and have a strong impact on functionality. This is especially since many donors fall under this category.

  5. Importance of correction in current iteration: Considering the above points, this feature flaw causes significant inconvenience to users, and can be considered as more important than other features implemented like sorting. Considering it requires a small effort to correct, I disagree that it should be postponed to future iterations.

By not supporting donations under $10 precisely, the system fails in its fundamental purpose for a significant category of donors. This issue also impacts core functionality including role classification, search, and sorting. Furthermore, it would take a small effort to correct this flaw. Hence, I believe that this is in scope.


## :question: Issue severity Team chose [`severity.Low`] Originally [`severity.Medium`] - [x] I disagree **Reason for disagreement:** Responding to the dev team's points: 1. **Impact on functionality**: Neither the user guide nor the developer guide states that the app is intended to solely manage significant donations. From the value proposition: the app `helps NGO administrators efficiently manage donors, volunteers, and partners by organising contacts and tracking engagement`. Considering that the app only allows the user to classify a person as a donor if the user also adds a donation amount, restricting donation amounts to be multiples of $10 hinders the primary functionality of the app in recording this information and being able to categorise people by roles should they not hit this amount, which affects other functions like search and sort significantly 2. **Common use case**: Contributions smaller than $10 are not rare at all in the NGO context -- from this [link](https://www.skh.com.sg/news/giving-philanthropy/the-gift-of-small-donors), the National Kidney Foundation (NKF) has about 150,000 donors on its Life Drops programme, that give a monthly average of **$7.80** each (less than $10). In that year, Life Drops donors contributed to **63 per cent** of all NKF's donations. Such contributions are not insignificant when combined (they do contribute meaningfully to funding strategies, which is a point your team raised) and failing to record them does affect the ability of the app to achieve its goals. 3. **Word-around**: I believe the work-around suggested is insufficient. Rounding off $5 to $10 or $1 to $0 can cause inaccuracies. Considering that there are many small-dollar donors, when combined, these inaccuracies are significant. 4. **Alignment to real-world priorities**: See point 2. 5. **User-impact**: See point 2. By not supporting donations under $10 precisely, the system fails in its fundamental purpose for a significant category of donors. This issue also impacts core functionality including role classification, search, and sorting. Hence, I believe that the severity level is medium as it would cause occasional inconvenience to some users.