DPC2023: Our journey from Gitflow to Trunk Based Development

Discover how to transition from Gitflow to Trunk-Based Development, enhancing collaboration and developer happiness.

Key takeaways
  • When moving from Gitflow to trunk-based development, it’s essential to reduce the number of branches and focus on a single source of truth.
  • Trunk-based development enables efficient collaboration by removing dependency between teams and allowing for a quicker time-to-market.
  • Feature flags play a crucial role in trunk-based development, enabling teams to control and validate feature rollouts.
  • It’s essential to monitor and track feature flags to ensure they are working correctly and not causing issues.
  • Feature flags can be used to test features on specific audiences or profiles, and to optimize code for specific use cases.
  • Code review should focus on providing value and not just following coding standards.
  • The adoption of trunk-based development requires a shift in thinking, embracing a self-service approach and reducing the need for complex processes.
  • It’s crucial to empower developers with guardrails and clear guidelines for feature flag management.
  • Trunk-based development can help reduce the gap between development and operations teams, enhancing collaboration and reducing lead time.
  • Automation is necessary to ensure continuous integration and deployment, but it’s not a tool, it’s a way of cooperating between team members.
  • Feature flags can be misused, so it’s essential to have a strategy for managing and documenting them.
  • Teams should prioritize simple solutions and focus on providing value to their users.
  • To improve productivity, developers should be able to work on multiple features simultaneously, and be able to release frequently.
  • Trunk-based development can help reduce complexity and increase developer happiness.
  • To adopt trunk-based development, teams should be prepared to change their workflows and processes, and to provide clear guidance and support to developers.
  • It’s essential to monitor trends and adjust the approach as needed, to ensure it remains effective and efficient.
  • Trunk-based development can help teams work more efficiently and deliver value to their users more quickly.