We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
🚀 Feature Branching Considered Evil (Thierry de Pauw )
Learn why feature branching is considered evil and how trunk-based development offers a better approach, with faster feedback and integration, improving code quality and reliability.
- Feature branching is considered evil because it introduces complexity, makes integration harder, and can lead to broken builds.
- Trunk-based development is a better approach, where everyone commits directly to the mainline branch, allowing for faster feedback and integration.
- Feature toggles can be used to control the quality of new features, but they can also introduce complexity and make it harder to maintain the codebase.
- Automated testing and continuous integration are essential for ensuring the quality of the codebase.
- Code reviews are important for ensuring that the code meets the required standards, but they should not be used to catch bugs.
- Pair programming and mob programming can help to improve code quality and reduce errors.
- Continuous delivery is important for ensuring that the software is always working and that changes are deployed quickly and reliably.
- Branching logic needs to be tested to ensure that it works correctly.
- Feature branching can lead to a “vicious circle” of complexity, where changes are made in isolation and then merged into the mainline branch, making it harder to integrate and test the changes.
- The author suggests using “branch by abstraction” as an alternative to feature branching, where changes are made in isolation but are still integrated into the mainline branch in small increments.
- The author also suggests using “string-based development” as an alternative to feature branching, where changes are made in isolation but are still integrated into the mainline branch in small increments.
- The author emphasizes the importance of incremental software engineering skills in the team, and suggests that this is often lacking in teams that use feature branching.
- The author also emphasizes the importance of communication and collaboration in the team, and suggests that this is often lacking in teams that use feature branching.
- The author suggests that feature branching is often used as a way to avoid the complexity of integrating changes into the mainline branch, but this can lead to a “vicious circle” of complexity.
- The author suggests that trunk-based development is a better approach, where everyone commits directly to the mainline branch, allowing for faster feedback and integration.
- The author emphasizes the importance of continuous delivery and continuous integration in ensuring that the software is always working and that changes are deployed quickly and reliably.
- The author suggests that feature branching can lead to a “vicious circle” of complexity, where changes are made in isolation and then merged into the mainline branch, making it harder to integrate and test the changes.
- The author emphasizes the importance of incremental software engineering skills in the team, and suggests that this is often lacking in teams that use feature branching.
- The author suggests that trunk-based development is a better approach, where everyone commits directly to the mainline branch, allowing for faster feedback and integration.
- The author emphasizes the importance of continuous delivery and continuous integration in ensuring that the software is always working and that changes are deployed quickly and reliably.