Team Workflow⚓︎
Working on a project⚓︎
Please read Rules / Guidelines before you continue reading this page.
Working on a task⚓︎
Every new task should be added to the issue board with a well-defined issue. You shouldn't work on the task unless there is an issue for it.
Important
When working on an issue, it is extremely important that you move the issue to "In Progress" or a similar pipeline on the issue board. Doing so helps keep all team members informed and synchronized.
If you have finished most parts of an issue and wish to merge your pull request, you may split the remaining parts into new issues and work on them separately.
Sprints⚓︎
A sprint is a short, time-boxed period when a scrum team works to complete a set amount of work. Our goal is to have a sprint every two weeks. At the end of each sprint, we will deliver a working product with new features.
It is important to get the deliverable ready a day or two before the sprint ends to avoid delays and allow the team to test the product.
Planning poker⚓︎
We will be using planning poker to determine the size of the next sprint and add it to the issue board with weights. As stated in the issue rules, only well-defined issues should be added to the issue board.
Team standups⚓︎
Team standup meeting will take place in #core
channel at 3:30 P.M. (Central Standard Time) every weekday. You will be asked to answer the following questions:
What did you work on today?
What will you be working on next?
Any blockers?
Note
Please leave your detailed answers in #core
chat if you are unable to attend standup.
Project work hours⚓︎
When working on a collaborative project, a minimum of half the time spent by you should overlap with work hours of other team members.
Pushing changes⚓︎
Don't push major changes to the repository if you plan to leave after pushing the changes. Instead, you should push your changes the next day when all team members are available to provide feedback and test your changes.
It's a good idea to leave a Work in progress
commit if you don't have time to push before leaving.
Info
You can use gwip
command to create a Work in progress
commit if you are using oh-my-zsh aliases.
If you are not using oh-my-zsh, you can use the following commands:
# gwip - make a `Work in progress` commit
git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign -m "--wip-- [skip ci]"
# gunwip - remove `Work in progress` commit
git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1
Asking questions⚓︎
Before asking questions about programming issue, it is advised to do your research on the topic for around 15 - 20 minutes. Research includes reading documentation, googling issue, reading stackoverflow solutions, reproducing the bug, etc.
Documentation⚓︎
Everyone on the team is encouraged to read and potentially write to our documentation at minimum of 15 minutes per week.
Learning⚓︎
Every team member has the permission to go learn any concepts related to our projects. While learning, feel free to share any interesting and helpful concepts with other team members.