Jira Tickets
How the Evernym team will deal with tickets in Jira:
- Put a task into IN PROGRESS column
- Make sure your understand the requirements and acceptance criteria (if there are any questions - ask @Richard Esplin / @alexander.shcherbakov / @Sergey Minaev)
- Write a Plan of Attack (PoA) describing how you are going to implement the task or fix the issue. The PoA should also include description of tests (especially integration ones)
- The PoA can be created as a comment in Jira ticket.
- Sometimes the task is so big or essential that it's worth to create a PR with a Design (to design folder), or even a HIPE.
- Send a link to the PoA to the team so that it is reviewed by other team members.
- Do the implementation following Test Driven Development (TDD) and write sufficient amount of unit and integration tests.
- Raise a PR. make sure the tests pass.
- If there are a lot of changes expected - raise multiple PRs with small chunks.
- Try to raise a PR as soon as possible for earlier review (for indy-node: use [Skip CI] prefix in PR name to not run tests if you are sure that this is a WIP and they will fail.
- Add a comment to the ticket according to the template below
- Move the ticket to the Code Review column
- Send a link to the PR to the team, so that it's reviewed by other team members.
- Once it's merged, the ticket goes to Validate column, and QA engineer performs the validation (writing system tests as needed)
Code Review Comment Template
When a ticket is moved to the Code Review phase, it needs a comment that follows a specific template. This is useful for:
- Code Review
- Those doing testing
- Coming back to the issues/changes in future to understand what exactly have been done, how and when.
TemplateThe template:
Problem reason/description:
- list of reasons
Changes:
- list of changes
PR:
- link to PR on github
Version:
- build number
Risk factors:
- ....
Risk:
- Low/Med/High
Covered with tests:
- Test ref on github
Recommendations for QA
- how to test
Daily Update
Every day we share an update message with the team covering:
- What has been done today
- What is planned for tomorrow
- Whether you are on track with your tasks (Red, Yellow or Green status)
- Any blockers/issues/comments