Avni Development process
- Cards are maintained on Zenhub on the "Product" board
- Developers pick up work from the "Ready" lane for the current release (or past releases if there are any bugs)
- For non-bugs, an estimate is required on the card. This helps us understand a crude average team velocity and helps us plan releases better
- Cards are moved to the "In Progress" lane and assigned to self when development is underway. Development happens and is pushed to the mainline (we follow trunk-based development). If there exists a branch for the older release, then code is pushed to that branch and then merged to master. For eg, if 3.37 is released, then there is a branch 3.37 for all major repositories. Development for 3.38 happens on master. Any 3.37.* release cards (eg: 3.37 or 3.37.1) are committed to 3.37 branch and then merged to master
- Once development is complete, ensure CI works, deploy to staging and move the card to "Code Review Ready"
- Any developer who is free picks up cards in "Code Review Ready". Comments that need to be fixed are mentioned on the card and the card moved to "Code Review w/comments". Comments that do not require stopping of card movement are mentioned in the commit as comments. If everything is fine, they are moved to "QA Ready". Any developer can pick up cards to review. The only condition is that they should not have worked on the card
- QAs pick up cards from the QA Ready lane to "In QA". Failed cards go to "QA Failed" from where developers can pick up and address issues. Otherwise they are moved to "Done"
- Around once a month, when the priorities of the release are complete, code is branched out and a release candidate is built. This goes to the "prerelease environment"
- A bug-bash is conducted where everyone is invited and can try out the new release
- Any bugs found during the release are addressed before the release is finally performed on production. Release process is mentioned here.
Updated 3 months ago