So you want to work on a new feature? Awesome, this will be your workflow:
Create a Trello card or join a card that is already created
The card should contain Motivation
and Finish Line
description, so anyone who opens the card knows WHY are we working on it and HOW will the feature look like, when we're finished with it
Assign yourself to the Trello card and add any relevant Labels to it
Add a Due Date to the card - when do you expect the card to be "Ready for Review"
Create a new branch with name describing the feature you are going to work on git checkout -b login-page
Push your initial commit
Create a Draft pull request and write a short description of what you are working on
Link this draft PR to the Trello card
Keep working on your feature, pushing frequent and descriptive commits until you are done with your feature
If any other PR is merged, pull from master to keep your branch up-to-date with master. This will avoid massive merge conflicts before merging your branch
Pull and merge from master and resolve any merge conflicts
Request code review and add relevant team members as Reviewers. Ask someone on the team (on Slack) to review your PR. Write a comment on Trello card with the name of the reviewer
Resolve any change requests or failed tests. After you've implemented the change requests, re-request the review from your team member. Do this on the PR by clicking the icon below and also ask your team member on Slack
Deploy this individual feature branch to relevant staging environment. (In case you need to test more features at the same time, use another staging environment, which will mirror this one)
Production ready development environment
Once you deploy to staging, do your own QA. Test your features and make sure it did not break other features
Ask another team mate to QA your feature on Slack. Write a comment on Trello card with the name of the team member doing the QA
Once the QA is done, you make sure your stakeholder does not require the feature review as well. You can send him a link to the deployed staging environment, or even better have another staging environment setup specifically for stakeholder review (as it may take some time, for the stakeholder to review your work and you don't want to occupy your "only" staging environment)
After you get a 👍 from your stakeholder, merge from master again and make sure nothing is broken. If there were significant changes to master while you were in your staging environment, redeploy it again to staging environment and repeat QA
Deploy to production
Once you deploy to production, do QA in production again