Workflow β
Notion β
We use Notion to manage our tasks.
Each task will have an ID for easy reference later.
These are the statuses a task can have and a short description of their purposes:
Grooming Stage β
- New π
- Needs Clarification π€
- Needs Scope π
Ready to Be Worked On β
- Task Created π
- On Hold π
Working β
- In Progress π¨βπ»
- Ready For Review π
Testing β
- Ready QA Test βοΈ
- Needs Improvement πͺ
Shipping β
- Pending Deploy [DEV] β³
- Pending Release [PROD] βοΈ
On Production β
- Done π
GitHub β
Here is the convention to create a branch:
{taskId}-{type}/{shortDescription}Example: A task to implement Donation at the shopping cart flow.
TASK-999-feat/add-standalone-donation-to-cart-flowLocally, this is a good example of a day-to-day flow:
- Understand the task scope
- Sync your local branch with
development - Create a new branch for the task
- Develop the task
- Build it locally
- Test to make sure everything is working as expected
- If it's a small task, take a screenshot of the result. If it's not, record a short Loom explaining the result.
When it's time to push the PR: β
- Push the PR
- Fill in the template
2.1. You can give the template and commit messages to ChatGPT to help fill it in. Review the result to ensure it's meaningful and correct.
2.2. Donβt forget to upload your Loom or image to the results section.
2.3. If the PR has anything specific to the feature, include it in the Release Notes. Also, if it depends on another repositoryβs PR (e.g., API), add a link to that PR in the Release Notes section. - Add your reviewers
- Add the label
Ready for review
4.1. Because the GitHub status for this is not very visible - Update the status on Notion
From here forward, it's up to the reviewer to keep the task status updated. If it returns for changes, the responsibility goes back to the PR creator.
β Happy Path β
- Reviewer finishes the review, approves it, adds the
Ready QA Test βοΈlabel, and updates the Notion status. - QA tests it locally. If all is good:
- QA merges it, tests it on
development, and adds thePending Release [PROD] βοΈlabel.
3.1. There are usually multiple PRs, so QA repeats the flow for all of them. - Once everything is good, QA creates a release PR from
developmenttomaster. After a final code check, QA merges it. - QA updates the Notion status to
Done π.
β οΈ Not-So-Happy Path β
If changes are required or QA testing fails, these flags should be used:
- Needs Improvement πͺ
These flags should be reflected on Notion, where QA can leave a message detailing what needs to be fixed. The reviewer will also leave this feedback in the GitHub review.
When one of these flags is present, we should also add the blocked label to make the issue more visually clear.