Why You Should Use a Feature Branch Workflow

October 19, 2018

Talk to a number of different web development teams and you’ll find that they each have unique aspects to their workflows. Whether their process remains consistent or they regularly iterate to optimize efficiency, no team works in exactly the same way. 

Regardless of your team’s quirks, using feature branches is a best practice when it comes to web development. 

If you’re not familiar with the feature branch workflow, Atlassian breaks it down as follows: 

“The core idea behind the Feature Branch Workflow is that all feature development should take place in a dedicated branch instead of the master branch. This encapsulation makes it easy for multiple developers to work on a particular feature without disturbing the main codebase. It also means the master branch will never contain broken code, which is a huge advantage for continuous integration environments.”

Implementing a feature branch workflow can help your team produce higher quality results more quickly. Here’s why. 

Enable a more efficient workflow

When you implement a feature branch workflow, you allow members of your development team to work concurrently on different features without affecting the main codebase. This means one developer doesn’t have to wait for another to finish his or her work before tackling a new ticket, meaning your project is moving along at a quicker pace. If one branch is reliant on the work in another, the developer can easily pull the work from that branch in. 

Improve team collaboration

Feature branches also allow you to leverage pull requests, making it possible for your developers to have discussions about specific branches. If a developer is held up on a particular branch, he or she can ask for feedback. It’s an easy way to ask for and receive feedback about a specific change. It also allows other developers on the team to review and test code before it’s merged with the main codebase. Reviewing and approving in a branch is more efficient because it doesn’t cause any bottlenecks in your workflow.

Reduce the risk of affecting functioning code

A separate branch allows you to work on a feature or bug fix without any possibility of affecting the functional, stable codebase. When the branch is finished, you can safely test it and make sure it works before merging it with the main codebase. This is a positive for both efficiency and quality control. You won’t need to constantly backtrack to fix bugs that pop up after every new feature release. 

Merge what’s ready 

Feature branches allow you to pick and choose which tickets are ready to be merged with the main codebase, instead of waiting for one big release. If one branch is finished, you can go ahead and release it, rather than having to wait for someone else’s work to be completed. 

Use a CI tool

When you implement a feature branch workflow, try out a continuous integration tool like Probo.CI. A CI tool will help you continue to improve your team’s efficiency by automating certain tests. Probo works on a per-pull-request basis so you can verify that each change looks and functions exactly as it should, all before it gets merged live. 

Using feature branches ensures that your main codebase is always stable, and a stable codebase means less time spent debugging. When your workflow is more efficient and collaboration between teams is improved, it reflects in the quality of your product.