Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Issue 854] ADR for 30k deliverable reporting strategy #926

Merged
merged 19 commits into from
Jan 22, 2024

Conversation

widal001
Copy link
Collaborator

@widal001 widal001 commented Dec 18, 2023

Summary

Creates ADR for our 30k deliverable reporting strategy which:

  1. Recommends a consistent strategy for assigning issues to a parent 30k deliverable across reporting channels
  2. Recommends an approach to limiting the number of 30k deliverables that appear in our reports

Fixes #854

Time to review: 10 mins

Changes proposed

What was added, updated, or removed in this PR.

Creates decisions/adr/2023-12-15-deliverable-reporting-strategy.md

Context for reviewers

Testing instructions, background context, more in-depth details of the implementation, and anything else you'd like to call out or ask reviewers. Explain how the changes were verified.

Following our conversation on 1/5/24, we've decided to proceed with using a deliverable column to assign a task level issue to a 30k deliverable. We'll plan to reassess in an upcoming retrospective.

Additional information

Screenshots, GIF demos, code examples or output to help show the changes working as expected.

@widal001 widal001 marked this pull request as ready for review December 20, 2023 23:36
Copy link
Collaborator

@lucasmbrown-usds lucasmbrown-usds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A very thoughtful analysis - well done!

I have some questions about the recommendation for the way we assign issues to deliverables, maybe we can talk it out verbally after you review.

I also wonder if it would be helpful to describe the human-centered UX of the recommended options. For instance, you could write out the steps for "How to create a new 30k and have it reflected in reporting", and "How to update the name of an existing 30k and have it consistently update reporting". This could help us get a sense of the UX of maintaining this option going forward.

This option most closely reflects the current strategy for reporting
- Impact of deleting old deliverable column values and deliverable labels
- The maintenance cost of assigning a value to a field on an issue
- Notes importance of keeping 30ks and milestones aligned
- Notes cases where we can set up a linter to validate consistency
- Expands on pro of using statuses for reporting
Copy link
Collaborator

@andycochran andycochran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! (Left a couple nits you can address or ignore.)

- Updating a field on a project can be done from the issue page itself, but the issue first needs to be added to the project before the field is updated. This requires an extra step compared to assigning a label or milestone.
- We'll have to make sure the list of options in the deliverable column is consistent across GitHub projects in order to join issues from different projects correctly in our custom reporting.
- We'll have to update the current logic in our custom reporting so that issues are joined to their parent deliverable using the value of this column.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- When creating a new Issue, it's not sufficient to add that Issue to a Milestone; it must also be added to the 30k deliverable for that Milestone for reporting purposes. We will need to monitor for Issues that do not have a 30k and triage them regularly.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still wondering if we might make it easier to associate Issues with the appropriate Milestone and 30k deliverable. One idea that comes to mind is prefixing all Milestone titles with an ID that matches the ID of the deliverable — e.g.:

  • Issue #n has the title "[30k ]: My Deliverable Name"
  • The deliverable column uses that Issue's ID in its title, e.g. "[#n]: My Deliverable Name"
  • Milestones that address that deliverable use that same ID in their titles, e.g. "[#n]: My Milestone Name"
  • Then, when creating an Issue, it is clear that you should choose a Milestone and deliverable that are prefixed with same ID. This may make it easier to choose the right deliverable when it is not apparent which 30k a Milestone addresses, or for individual contributors who are closer to the ground, more concerned with Milestones, and unsure with which 30k an individual ticket addresses.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One idea that comes to mind is prefixing all Milestone titles with an ID that matches the ID of the deliverable

I like this idea as a way to make the intended deliverable clear, though I worry it could introduce discrepancies if an issue gets reassigned to a different deliverable but forgets to update the title of the issue as well.

Part of the reason we created this ADR was to limit the "sources of truth" that associate an issue to a deliverable.

Copy link
Contributor

@sumiat sumiat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting this together and for the thoughtful evaluation!

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Jan 16, 2024
Copy link
Collaborator

@lucasmbrown-usds lucasmbrown-usds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the very thorough analysis. LGTM!

Copy link
Collaborator

@sarahknoppA6 sarahknoppA6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yay! there's been so much work and discussion on this, I think this looks right to me.

@widal001 widal001 merged commit 125eae0 into main Jan 22, 2024
1 check passed
@widal001 widal001 deleted the issue-854-30k-deliverable-reporting-strategy branch January 22, 2024 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[ADR]: Strategy for reporting on 30k deliverables
7 participants