Process of shipping code
We consider ourselves as disciplined engineers and believe in modern agile coding practices. For features, improvements and bugfixes alike we use Jira. Each ticket contains a user story and acceptance criteria. We estimate and plan our workload using the aforementioned Fibonacci number based estimation poker methodology, which is a widely adopted agile discipline for estimating engineering effort.
For every feature, we create a separate branch and we reference that back to Jira tickets for the sake of clarity. We adopted a rule where every code change is required to include tests written in RSpec and frameworks alike. We make sure that the tests cover all the important scenarios and only once those tests all pass, a pull request is created for a peer review.
When it comes to code reviews we make sure that at least two developers review the code. Code reviews are there not only for quality assurance, correctness, and coherency of the coding style but also for knowledge transfer and exchange of implementation ideas. Once a pull request is approved we rebase the branch and merge it into master.