Jira is the main communication platform for SaFi.
Every development effort should have an associated task to it.
POs are responsible for creating Epics and User stories with clear acceptance criteria. Developers are responsible for creating technical tasks. Bug reports can be filed by anyone.
Issues should be unassigned by default. If an issue is assigned, the assignee’s goal is to push it to the next status and reassign the issue. Every assigned issue should be actively worked on (either by PO/Techlead for clarification or a developer for technical work) or it should be blocked. Everybody should try to minimise the amount of tasks assigned to them.
Technical tasks should be unsplittable:
It should be easy to determine if an issue is done or not
If it is not easy to do so, create new issues which are and mark them blockers for the original issue
If there is too much uncertainty regarding a task, assign it to a PO or Techlead for further clarification
Issue statuses
To Do
The issue is unassigned.
The issue can be in the backlog or in a sprint. The priority of the issue can be changed to move it up/down in the backlog or put it into a sprint
In Progress
The issue is assigned to the developer actively working on it.
Only 1 (one) issue is allowed to be In Progress on a developer at any time
If the issue is bigger than expected or new issues are discovered during development, the assignee should create follow-up issue
Blocked
The issue can’t be worked on due to external circumstance. (e.g. access to a certain resource, cloud environments down etc.)
The assignee is responsible for getting rid of the blocker issues.
In Review
Development on the issue is done and waiting for review and approval from other developers so it can be merged.
It is the assignee’s responsibility to get reviews and reply to comments on reviews as quickly as possible
Rework requested
There is significant amount of work to be done on the issue after review from a developer or the PO
Resolved
The issue can be moved to Resolved once the code for the issue is merged, tests passed and it is deployed into the dev environment. In short, technical implementation is done.
The issue is assigned to the Reporter of the issue or the relevant PO who can check if the functionality is working and can accept or reject the work. If approved, the issue moves to Done, if not it gets into Rework requested
Done
The Reporter of the issue (or the relevant PO) approved the contents of the issue and considers it Done.
Accepted
Issues are moved to Accepted state when the representative Business Owner reviews and accepts the issue.