Skip to content

Development Worklfow

Kumar Damani edited this page Feb 14, 2019 · 2 revisions

This document is intended for developers to understand the life-cycle of a task. A little deviation from the outlined steps is okay, but significant ones should be consulted by the team first.

To view the current list of TODOs go here and look at the 'Backlog' column.

Cards move from its current position to one column on its right

Backlog --> Ready for Work (done as team)

DO NOT DO THIS ON YOUR OWN. This will only be done at a Sprint meeting.

  • card has at least one of 'bug' or 'feature' label
  • card has enough information provided in the description to fully complete the task.
  • Acceptance criteria is clearly defined in the description.
  • card contains an estimate for the amount of development time required
  1. Ensure checklist above is complete.
  2. Move the card to 'Ready for Work'

Please be VERY careful when doing this, as this is the most important transition on the board. IF you find that more information / clarification is required in the card, THEN please fill in the description with more details, or if you are unsure, post a comment on the card asking for such and assign it to the appropriate person.


Ready for Work --> In Progress (done by dev.)

  1. Pick any card from ~top of 'Ready for Work'
  2. Assign it to yourself (members button on the card)
  3. When you start working on the card (this doesn't have to be actual coding, it can be setup, planning etc.) move it to 'In Progress'

In Progress --> Dev Complete (done by dev.) a short video here

  1. Create a new branch from master. (Ensure you are using latest master)
  2. Name it: <fix/feat>-<TRELLO_CARD_NO.>. For eg. if card no. is 4, and it has a label 'bug', the name of the branch would be fix/4. If it had the label 'feature', it would instead be: feat/4

The card no. can be found in the URL bar of the selected card.

  1. Do all the dev work on this branch. You may NOT directly change QA or MASTER except under extremely rare circumstances discussed with the team.
  2. When you believe you have completed the development work AND individual testing on your local machine, you may create a pull request on GitHub with your branch and QA, and add at least 2 other developers of your choice as reviewers. Make sure your pull request to QA is free from conflicts so that the reviewers can properly understand the merge.
  3. Move the card to 'Dev Complete'

If you end up with conflicts in your pull requests, fix those conflicts before merging to QA and adding reviewers. (This requires additional steps outlined in another document). If some adjustments are required after code review feedback, please move the card back to 'In Progress' and redo this step.


Dev Complete --> Ready for Testing (done by dev.)

QA : Quality Assurance

  1. Once a card has passed code review from BOTH reviewers AND successfully merged AND deployed to the qa testing environment
  2. Self test in the qa environment
  3. Change the assignee of the card from yourself to a tester
  4. Notify the tester in the comment section of the card for steps to test whatever fix/feature you have deployed in the qa environment
  5. Move the card to 'Ready for Testing'

Deployment to QA will vary if you're working on an app or web component.


Ready for Testing --> Ready for Release (done by tester)

  1. Allocate time for qa. It is not only important to ensure that whatever was supposed to fixed/added by the card is actually working, but equally if not more important to ensure that nothing else is broken in doing so
  2. Follow the steps in the comments of the card and check against the description of the card for Acceptance Criteria
  3. Once you deem it's good enough, you can confirm in the comments to the original developer
  4. Change the assignee of the card from yourself to the developer
  5. Move the card to 'Ready for Release'

Ready for Release --> Done (done by dev.)

Are you the original developer who worked on this card ? If not, then you must not push this into master and you cannot move this card into 'Done'. Find the original developer.

If you are the original developer:

  1. Create a new pull request to merge YOUR branch into MASTER. (double check that you are not merging QA into MASTER, this can be a costly mistake 😞 )
  2. Checkout and pull master into your local environment and re-check that your updates are good to go

Additional steps if you are updating the server:

  1. Create a release request here and link your card with this one
  2. Assign to a dev. ops person. Notify via comment section
  3. Once the card has been successfully released, check on the production site to make sure its working as expected

If everything is okay, move this card into 'Done'