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.