Skip to content

2.5. Standards: Feature Branch Workflow

Ulrond edited this page Oct 30, 2024 · 4 revisions

Feature Branch Workflow

  • Core Principle: All feature development occurs on separate branches (feature branches) that are isolated from the develop branch. Quality control is a priority at every stage of the process.

  • Process:

    1. Branch Creation: A new short-lived branch is created from the develop branch for each feature.
    2. Requirements and Design: Key requirements are clearly defined in an issue tracker. Rough solutions are discussed with architecture/engineering leads before implementation to align on design and approach.
    3. Development: Code changes are made on the feature branch.
    4. Testing: (Often Manual) The developer thoroughly tests their changes on the feature branch, ensuring quality standards are met.
    5. Early Pull Request (PR): A PR is created early in the development process to solicit feedback and facilitate early integration.
    6. Code Review: CodeOwnersreview the changes in the PR, ensuring adherence to coding standards, design principles, and overall quality.
    7. Merge: If approved and tests pass, the feature branch is merged into the develop branch. Merge conflicts are minimized through the use of git-flow branching strategies and short-lived branches.
  • Benefits:

    • Isolation: Protects the develop branch from unstable code.
    • Clear History: Feature-specific changes are easily tracked.
    • Easier Collaboration: Multiple developers can work on different features concurrently.
    • Quality Assurance: Prioritizing quality control at all stages minimizes the risk of introducing errors into the develop branch.
    • Early Feedback: Early PRs and discussions with leads enable faster feedback and course correction if needed.
    • Reduced Merge Conflicts: Git-flow and short-lived branches help mitigate merge conflicts.
    • Controlled Integration: Slower, more deliberate integration ensures thorough testing and quality before merging into the develop branch.
  • Drawbacks:

    • Potential for Delays: If early PRs are not reviewed promptly or if extensive changes are required after review, the development cycle might be extended.
    • Requires Discipline: The team needs to adhere to the defined workflow and prioritize quality control practices.

For more information on the commands to use see FAQ: Git-Flow: Developers Branching Model

Clone this wiki locally