6. Workflow
Development Process: From Design to Deployment
Our development process is streamlined to facilitate seamless transitions between stages, ensuring high-quality results while maintaining agility:
Backlog: New tickets or tasks are created and placed here. This is a repository for all new ideas, bugs, and feature requests.
Selected for Development: Team leads or project managers (PMs) sift through the backlog, select high-priority tasks, and assign them to the appropriate developers.
In Progress: Once a developer starts working on a ticket, it is moved to this column. It's a clear indication that the task is currently being tackled.
Dev Test: After completing the coding part, developers test their work. This stage is meant for internal testing and catching immediate issues.
In PR (Pull Request): Once testing is done, the developer pushes their code and creates a PR. The ticket is then moved to this column.
In QA: After the team lead merges the PR, the task enters the Quality Assurance phase. QA engineers will then ensure everything works as expected.
Regression: If the QA team finds issues, the ticket is moved to the Regression column, and necessary corrections are made. Additional tickets detailing the problems may also be attached.
Done: Once everything is tested and all issues are resolved, the ticket moves to this final column, marking the completion of the task.
Use of Project Management Tools
We use Jira for our project management needs. It's an integral tool that helps us track progress, manage tasks, and maintain a record of our development milestones. Our board is set up to mirror the workflow outlined above.
Code Review and Pull Requests
Branch Creation: When working on a ticket, create a branch directly from Jira. Always branch from the
staging
branch.Pull Requests (PRs): After finishing your task, submit a PR on GitHub targeting the
staging
branch. It's crucial to ensure that your code is clean, well-commented, and follows our coding conventions.PR Review: After submitting a PR, notify Awais TANVEER by tagging him in our Skype group along with the PR link. He oversees code merges and server deployments.
Branch Cleanup: Once your PR has been merged, delete the branch to keep our repository clean.
Deployment: Remember that the
staging
branch corresponds to app.galileoprotocol.io (our daily, potentially unstable environment), while thedevelopment
branch corresponds to demo.galileoprotocol.io (our stable environment). After thoroughly testing onstaging
, we merge changes todevelopment
.
Additional Tips
- Always ensure that you're pulling the latest changes from
staging
before starting a new task. This will minimize merge conflicts and keep your local setup updated. - Keep your commits concise and relevant to your current ticket. It makes the review process smoother and helps in tracking changes.