Development practices and workflow

Our Definition of Done

Delivering high-quality solutions requires defining when the ticket is done. We always make sure that every ticket we’re working on meets the criteria below:

  • Description and acceptance criteria are up-to-date 

  • Unit tests are written

  • Changes are committed with message “TICKET-NUMBER: Message”

  • Commits are pushed to feature branch “TICKET-NUMBER/SomeShortMessage”

  • Ensured that pipeline succeeded

  • Merge Request is created following best practices

  • Merge request is approved (reviewed and tested locally) by at least one person

  • Changes are merged into development branch

  • Changes are deployed to DEV instance

Development best practices

  • We always write unit tests and run all tests locally

  • Commit message shouldn’t be too long

  • Before creating MR we ensure that the build had passed

  • We always add description to Merge Requests (frontend: with two screenshots at least - desktop and mobile version) and provide a link to the jira issue

  • Rebase before push

  • When creating new migration, we always ensure that it can be rollbacked