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 98] ticket tracking #182

Merged
merged 18 commits into from
Jul 25, 2023
Merged

[ISSUE 98] ticket tracking #182

merged 18 commits into from
Jul 25, 2023

Conversation

widal001
Copy link
Collaborator

@widal001 widal001 commented Jul 11, 2023

Summary

Proposes ADR for ticket tracking and sprint planning

Fixes #98

Time to review: 3 mins

Changes proposed

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

Creates documentation/decision/adr/000n-ticket-tracking.md (Note: Will set ADR number before merging)

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.

It may be easier to view the rendered version of this ADR

Additional information

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

TODO

  • Update 000n to a number before merging

@widal001 widal001 added docs: adr Architecture decision record ticket topic: comms Open source engagement tickets labels Jul 11, 2023
- **Public Requests:** Members of the public can submit bug reports and feature requests and track how that work is being prioritized
- **Templates:** The system supports default templates for different types of tickets which prompts the person creating the ticket for a specific set of information
- **Authority to Operate (ATO):** The platform already must be authorized under the Grants.gov ATO (Authority to Operate) or ATO coverage must be requested

Choose a reason for hiding this comment

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

Add "- Reporting: Users can report on key metrics like burndown, point allocation, etc. from directly within the tool
"

Copy link
Collaborator

Choose a reason for hiding this comment

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

Good point!

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.

Overall this is very good! Seems like we just need clarity on reporting: both what exact things we need/want to report, and our plan for doing so.

Personally, I don't think we should consider this decision finalized until we have the reporting plan in place.

- **Public Requests:** Members of the public can submit bug reports and feature requests and track how that work is being prioritized
- **Templates:** The system supports default templates for different types of tickets which prompts the person creating the ticket for a specific set of information
- **Authority to Operate (ATO):** The platform already must be authorized under the Grants.gov ATO (Authority to Operate) or ATO coverage must be requested

Copy link
Collaborator

Choose a reason for hiding this comment

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

Good point!


We are planning to use **GitHub issues with GitHub projects** because it is the only solution that allows members of the public to submit feature requests and bug reports and then track how those issues are being prioritized within upcoming sprints. Additionally, the use of these tools is free with public repositories and offers other helpful features such as custom fields and views.

**NOTE:** Given some of the constraints around reporting, we may want to continue to explore options that extend the reporting capabilities of GitHub projects. Similarly, if team productivity is meaningfully affected by the absence of the more robust features that Jira or Zenhub offers, we may want to re-evaluate this decision after an initial trial period.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Yeah I think making a plan for reporting (as @EOKENAVA noted) would be good.

Burndown charts for the sprint and burndown charts for each milestone are probably the biggest reporting needs. But also as @EOKENAVA said, points-per-developer during sprint planning is a very very useful view, as well as average sprint velocity for the entire team, etc. Maybe we can document all of the must-have and nice-to-have reporting requirements?

One option would even be to script a reporting tool -- like I could imagine something that's not too hard to write that pulls in all GitHub milestones, checks what % of the tasks underneath those milestones is complete, generates a PDF with a burndown chart for each, and posts that burndown chart to Slack or something every day.

There are also some public tools like https://github.com/thehale/github-projects-burndown-chart or https://github.com/alessioarcara/burndown_chart.

But maybe there are some other options that already do this outside of manually creating tools. Or maybe it's just worth having a few ZenHub licenses for the internal team, and the public can view tickets in GitHub.

- ❓Unknown

| Factor | Zenhub | GitHub Projects | Jira | OpenProject |
| ------------------------- | :-----------: | :-------------: | :-----------: | :-----------: |
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nit: I think there are some IDE tools that will auto-align these markdown tables for you so that the columns are the same width through-out.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@lucasmbrown-usds I actually do use a VSCode extension that automatically adjusts table columns (Markdown table) the problem with this table is that each of the emojis has a different unicode width which is why the spacing doesn't appear uniform.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Oooh I see!

widal001 added 2 commits July 17, 2023 10:23
Makes reporting a must-have and outlines specific reports needed
Also describes plan for producing these reports with GitHub Projects
@widal001
Copy link
Collaborator Author

@lucasmbrown-usds @EOKENAVA Thanks for this feedback! Based on your suggestions, I made the following changes in this commit

  • Made "Reporting" a must-have decision criteria
  • Listed the following reports as required:
    • Sprint burndown -- % of tickets and/or points remaining over the course of the sprint
    • Milestone burdown -- % of tickets and/or points remaining per milestone over time
    • Sprint allocation -- # of tickets and/or points allocated to each team member per sprint
    • Sprint completion -- # of tickets and/or points created vs planned per sprint
    • Sprint velocity -- Average # of tickets and/or points completed per sprint
    • Lead/cycle time -- # of days between creation of a ticket and when that ticket is closed
  • Noted that our current proposed strategy for addressing this gap in functionality is to have a Python script that will generate the reports listed above

I'll plan to produce an initial proof of concept version of these reports this week. Are there any other reports we'd want to include that are not listed above?

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.

No further feedback, makes sense to me!

@widal001 widal001 added this to the Communication Platforms milestone Jul 20, 2023
@EOKENAVA EOKENAVA self-requested a review July 25, 2023 11:44
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.

LGTM! Nice work on this.

@widal001 widal001 merged commit f981725 into main Jul 25, 2023
@widal001 widal001 deleted the issue-98-ticketing-system branch July 25, 2023 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs: adr Architecture decision record ticket topic: comms Open source engagement tickets
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[ADR]: Ticketing System
5 participants