June 05, 2017
As one of the developers on our team, writing efficient and well-written code is a serious responsibility. Our current setup assumes that this is true though. Problem is, we don’t have any system that enforces this discipline. To put simply, anyone on our team can push his/her code without someone actually checking it.
We all suck in giving estimates. If we are to deliver a feature and estimates go wrong, there is a possibility that we might push low-quality code, or even code without tests. To be honest, this is the case with my current team. Our development-to-production cycle goes like this:
This has been our current setup from the start and it surprisingly worked for quite a long time. Then as time goes by, more complex features were added and BUGS kept growing, growing and growing. There were even times that
binding.pry gets committed to production and I’m not even kidding.
It is only today when we realized how really important it is to enforce a code review discipline to our team. After a number of discussions on this topic, we decided to implement a Standard Fork & Pull Request workflow that goes like this:
masterbranch will then be pushed to
stagingfor testing by the team’s QA.
masterbranch will be pushed to production.
This workflow has added a number of extra steps, but we are now confident that no bug gets pushed or at least, the possibility is very minimal. It also enforces our team to communicate and get better as time goes on.
What is your team’s workflow? I am more than happy to know it. Let’s talk!
Hi, I'm Mark Chavez. Creator of Get Things Done, yamda, public_apis, js_issues, bitcoin_index and a whole bunch of open-source projects. Join me on my adventures as I unfold the good and bad bits about software writing. You can also follow me on twitter and github for more goodies. Also, I love #oss!