From 59e3e5775c7df39ee242eef7281e86d5089d881e Mon Sep 17 00:00:00 2001 From: Marc Glasser Date: Tue, 17 Jan 2023 13:04:51 -1000 Subject: [PATCH 1/4] Create a Design Doc issue template --- .github/ISSUE_TEMPLATE/DesignDoc.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/DesignDoc.md diff --git a/.github/ISSUE_TEMPLATE/DesignDoc.md b/.github/ISSUE_TEMPLATE/DesignDoc.md new file mode 100644 index 000000000000..535a2f061195 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/DesignDoc.md @@ -0,0 +1,28 @@ +--- +name: Design Doc tracking issue +about: A standard template to follow when leading a project +labels: Daily, NewFeature +--- + +## Proposal + +## Tasks + +- [ ] Post **Proposal (Problem/Solution)** in #expensify-open-source +- [ ] Paste Proposal in the space above with a link to the Slack thread +- [ ] Email `strategy@expensify.com` and paste in the Proposal +- [ ] Fill out **High-level overview of the problem**, **Timeline**, and **Terminology** sections of the Design Doc +- [ ] Email `strategy@expensify.com` (same email chain as before) with link to Design Doc +- [ ] Host a _pre-design_ meeting in `#expensify-open-source` to discuss any necessary details in public before filling out the **High-level of proposed solution** section +- [ ] Fill out the **High-level of proposed solution** section +- [ ] Email `stategy@expensify.com` again with links to the doc and pre-design conversation in Slack +- [ ] Add `DesignDocReview` label to get the **High-level of proposed solution** section reviewed +- [ ] Respond to any questions or concerns and bring up blockers in Slack to get consensus if necessary +- [ ] Confirm that the doc has the minimum necessary number of reviews before proceeding +- [ ] Host another pre-design meeting in `#expensify-open-source` to ask for engineering feedback on the technical solution. +- [ ] Fill out the **Detailed implementation of the solution** and related sections. +- [ ] Re-add the `DesignDocReview` +- [ ] Respond to any questions or concerns and bring up blockers in Slack to get consensus if necessary +- [ ] Confirm that the doc has the minimum necessary number of reviews before proceeding +- [ ] Email `strategy@expensify.com` one last time to let them know the Design Doc is moving into the implementation phase +- [ ] Implement the changes From 3d207a21e5c5520027334d75c7d56c93a88e9181 Mon Sep 17 00:00:00 2001 From: Marc Glasser Date: Tue, 17 Jan 2023 14:26:56 -1000 Subject: [PATCH 2/4] add @stitesExpensify awesome suggestions --- .github/ISSUE_TEMPLATE/DesignDoc.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/DesignDoc.md b/.github/ISSUE_TEMPLATE/DesignDoc.md index 535a2f061195..b34606250746 100644 --- a/.github/ISSUE_TEMPLATE/DesignDoc.md +++ b/.github/ISSUE_TEMPLATE/DesignDoc.md @@ -9,20 +9,26 @@ labels: Daily, NewFeature ## Tasks - [ ] Post **Proposal (Problem/Solution)** in #expensify-open-source +- [ ] Wait until the post has a majority (2/3) of positive reactions (👍) - [ ] Paste Proposal in the space above with a link to the Slack thread - [ ] Email `strategy@expensify.com` and paste in the Proposal - [ ] Fill out **High-level overview of the problem**, **Timeline**, and **Terminology** sections of the Design Doc -- [ ] Email `strategy@expensify.com` (same email chain as before) with link to Design Doc -- [ ] Host a _pre-design_ meeting in `#expensify-open-source` to discuss any necessary details in public before filling out the **High-level of proposed solution** section +- [ ] Email `strategy@expensify.com` (same email chain as before) with the link to your Design Doc +- [ ] Host a **pre-design** meeting ([example](https://expensify.slack.com/archives/C01GTK53T8Q/p1665794669539419)) in `#expensify-open-source` to discuss any necessary details in public before filling out the **High-level of proposed solution** section. - [ ] Fill out the **High-level of proposed solution** section - [ ] Email `stategy@expensify.com` again with links to the doc and pre-design conversation in Slack -- [ ] Add `DesignDocReview` label to get the **High-level of proposed solution** section reviewed -- [ ] Respond to any questions or concerns and bring up blockers in Slack to get consensus if necessary +- [ ] Add the `DesignDocReview` label to get the **High-level of proposed solution** section reviewed +- [ ] Respond to any questions or concerns and bring up blockers in Slack to get a consensus if necessary - [ ] Confirm that the doc has the minimum necessary number of reviews before proceeding - [ ] Host another pre-design meeting in `#expensify-open-source` to ask for engineering feedback on the technical solution. - [ ] Fill out the **Detailed implementation of the solution** and related sections. -- [ ] Re-add the `DesignDocReview` +- [ ] Re-add the `DesignDocReview` label - [ ] Respond to any questions or concerns and bring up blockers in Slack to get consensus if necessary - [ ] Confirm that the doc has the minimum necessary number of reviews before proceeding - [ ] Email `strategy@expensify.com` one last time to let them know the Design Doc is moving into the implementation phase - [ ] Implement the changes +- [ ] Send out a follow up email to `strategy@expensify.com` once everything has been implemented and do a **Project Wrap-Up** retrospective that provides: + - Summary of what we accomplished with this project + - What went well? + - What could we have done better? + - What did we learn? From 4f68480ad47231c3ffdce34482f4c41b64c95bc9 Mon Sep 17 00:00:00 2001 From: Marc Glasser Date: Tue, 17 Jan 2023 14:39:32 -1000 Subject: [PATCH 3/4] Update .github/ISSUE_TEMPLATE/DesignDoc.md Co-authored-by: Brandon Stites <42391420+stitesExpensify@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/DesignDoc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/DesignDoc.md b/.github/ISSUE_TEMPLATE/DesignDoc.md index b34606250746..7095c62f665f 100644 --- a/.github/ISSUE_TEMPLATE/DesignDoc.md +++ b/.github/ISSUE_TEMPLATE/DesignDoc.md @@ -9,7 +9,7 @@ labels: Daily, NewFeature ## Tasks - [ ] Post **Proposal (Problem/Solution)** in #expensify-open-source -- [ ] Wait until the post has a majority (2/3) of positive reactions (👍) +- [ ] Wait at least one full business day, and until the post has a majority (2/3) of positive reactions (👍) - [ ] Paste Proposal in the space above with a link to the Slack thread - [ ] Email `strategy@expensify.com` and paste in the Proposal - [ ] Fill out **High-level overview of the problem**, **Timeline**, and **Terminology** sections of the Design Doc From 8832920126134219c2e72fa6945e213847e242fc Mon Sep 17 00:00:00 2001 From: Marc Glasser Date: Wed, 18 Jan 2023 07:24:47 -1000 Subject: [PATCH 4/4] Apply suggestions from code review Add some of Alex B's suggestions. Co-authored-by: Alex Beaman --- .github/ISSUE_TEMPLATE/DesignDoc.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/DesignDoc.md b/.github/ISSUE_TEMPLATE/DesignDoc.md index 7095c62f665f..424b549a0940 100644 --- a/.github/ISSUE_TEMPLATE/DesignDoc.md +++ b/.github/ISSUE_TEMPLATE/DesignDoc.md @@ -8,12 +8,12 @@ labels: Daily, NewFeature ## Tasks -- [ ] Post **Proposal (Problem/Solution)** in #expensify-open-source +- [ ] Post **Proposal (full Problem/Solution statement)** in `#expensify-open-source` - [ ] Wait at least one full business day, and until the post has a majority (2/3) of positive reactions (👍) - [ ] Paste Proposal in the space above with a link to the Slack thread - [ ] Email `strategy@expensify.com` and paste in the Proposal -- [ ] Fill out **High-level overview of the problem**, **Timeline**, and **Terminology** sections of the Design Doc -- [ ] Email `strategy@expensify.com` (same email chain as before) with the link to your Design Doc +- [ ] Fill out the **High-level overview of the problem**, **Timeline**, and **Terminology** sections of the Design Doc +- [ ] Email `strategy@expensify.com` (continue the same email chain as before) with the link to your Design Doc - [ ] Host a **pre-design** meeting ([example](https://expensify.slack.com/archives/C01GTK53T8Q/p1665794669539419)) in `#expensify-open-source` to discuss any necessary details in public before filling out the **High-level of proposed solution** section. - [ ] Fill out the **High-level of proposed solution** section - [ ] Email `stategy@expensify.com` again with links to the doc and pre-design conversation in Slack @@ -22,7 +22,7 @@ labels: Daily, NewFeature - [ ] Confirm that the doc has the minimum necessary number of reviews before proceeding - [ ] Host another pre-design meeting in `#expensify-open-source` to ask for engineering feedback on the technical solution. - [ ] Fill out the **Detailed implementation of the solution** and related sections. -- [ ] Re-add the `DesignDocReview` label +- [ ] Re-add the `DesignDocReview` label to this issue - [ ] Respond to any questions or concerns and bring up blockers in Slack to get consensus if necessary - [ ] Confirm that the doc has the minimum necessary number of reviews before proceeding - [ ] Email `strategy@expensify.com` one last time to let them know the Design Doc is moving into the implementation phase