Why Feature Branches and Pull Requests are the Wrong Choice for Commercial Team-Based Development

TLDRFeature branches and pull requests are the wrong choice for team-based development as they hide information, add delays, and create process gates that negatively impact quality. Instead, we need a process that allows for quick and safe changes without slowing down the development process.

Key insights

:x:Feature branches hide information and hinder collaboration.

:stop_sign:Pull requests introduce delays into the development process.

:exclamation:Process gates like pull requests are negatively correlated with quality.

:fast_forward:Continuous integration and pair programming provide constant and in-depth code reviews.

:white_check_mark:A rolling process of non-blocking code reviews can replace pull requests.

Q&A

Why are feature branches not recommended for commercial team-based development?

Feature branches hide information, hinder collaboration, and slow down the development process by introducing delays and process gates.

What are the negatives of using pull requests?

Pull requests introduce delays into the development process and have been found to be negatively correlated with quality.

What are the alternatives to feature branches and pull requests?

Continuous integration and pair programming provide constant and in-depth code reviews, while a rolling process of non-blocking code reviews can replace pull requests.

How do feature branches and pull requests impact quality?

Process gates like pull requests have been found to be negatively correlated with quality, as they can introduce delays and hinder collaboration.

What is the recommended approach for team-based development?

The recommended approach is to focus on continuous integration, pair programming, and non-blocking code reviews to achieve fast, safe, and high-quality changes.

Timestamped Summary

00:00Feature branches and pull requests have their place but are not recommended for team-based development.

03:27Continuous integration provides fast and frequent feedback on changes, while pair programming allows for in-depth code reviews.

09:35Organizing code reviews as a rolling process of non-blocking code reviews can replace the need for feature branches and pull requests.

12:57Feature branches and pull requests compromise the efficiency and quality of the development process.