Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Trunk-Based Development

Trunk-Based Development

Branches are an unnecessary bureaucracy for most of typical software engineering work. I’m going to explore three eXtreme Programming practices which can help you get rid of these bottlenecks.

This is a presentation for lightning talk. However, this subject has very broad implications and there wasn’t space for any nuances.

Original Keynote presentation can be found at https://www.icloud.com/keynote/0PQ8LHjKeBE_P1B_od5hJ5YGQ#Trunk-Based_Development_Lightning_Talk.

969032d35b52cb11615786229e80ede7?s=128

Filip Zrůst

August 16, 2018
Tweet

Transcript

  1. TRUNK-BASED DEVELOPMENT BRANCHING OFF FROM BUREAUCRACY

  2. TRUNK-BASED DEVELOPMENT TRUNK-BASED? ALSO KNOWN AS ▸ Master-Based ▸ Single

    Branch CONTRASTED WITH ▸ Gitflow ▸ GitHub Flow
  3. FEATURE BRANCHING IS A POOR MAN’S MODULAR ARCHITECTURE… Daniel Worthington-Bodart

    TRUNK-BASED DEVELOPMENT
  4. TRUNK-BASED DEVELOPMENT DIFFERENT TYPES OF PROJECTS TEAM SIZE ROLES TRUST

    WORKFLOW LIFE CYCLE
  5. TRUNK-BASED DEVELOPMENT DIFFERENT TYPES OF PROJECTS BAZAAR CATHEDRAL TEAM SIZE

    ROLES TRUST WORKFLOW LIFE CYCLE
  6. TRUNK-BASED DEVELOPMENT DIFFERENT TYPES OF PROJECTS Unlimited Limited TEAM SIZE

    ROLES TRUST WORKFLOW LIFE CYCLE BAZAAR CATHEDRAL
  7. TRUNK-BASED DEVELOPMENT DIFFERENT TYPES OF PROJECTS Unlimited Limited TEAM SIZE

    ROLES TRUST WORKFLOW LIFE CYCLE BAZAAR CATHEDRAL Loose Precise
  8. TRUNK-BASED DEVELOPMENT DIFFERENT TYPES OF PROJECTS Unlimited Limited TEAM SIZE

    ROLES TRUST WORKFLOW LIFE CYCLE BAZAAR CATHEDRAL Loose Low Precise High
  9. TRUNK-BASED DEVELOPMENT DIFFERENT TYPES OF PROJECTS Unlimited Limited TEAM SIZE

    ROLES TRUST WORKFLOW LIFE CYCLE BAZAAR CATHEDRAL Loose Low Asynchronous Precise High Synchronous
  10. TRUNK-BASED DEVELOPMENT DIFFERENT TYPES OF PROJECTS Unlimited Limited TEAM SIZE

    ROLES TRUST WORKFLOW LIFE CYCLE BAZAAR CATHEDRAL Loose Low Asynchronous Complex Precise High Synchronous Streamlined
  11. TRUNK-BASED DEVELOPMENT

  12. TRUNK-BASED DEVELOPMENT EMBRACE CATHEDRAL TO THE EXTREME ▸ Do not

    postpone what you can do now ▸ Pair programming ▸ Test-first approach ▸ CI with feature toggles ▸ Code review ▸ Waiting for incidents ▸ Feature branching INSTEAD OF
  13. TRUNK-BASED DEVELOPMENT EMBRACE CATHEDRAL TO THE EXTREME ▸ Do not

    postpone what you can do now ▸ Pair programming ▸ Test-first approach ▸ CI with feature toggles ▸ Code review ▸ Waiting for incidents ▸ Feature branching INSTEAD OF
  14. TRUNK-BASED DEVELOPMENT EMBRACE CATHEDRAL TO THE EXTREME ▸ Do not

    postpone what you can do now ▸ Pair programming ▸ Test-first approach ▸ CI with feature toggles ▸ Code review ▸ Waiting for incidents ▸ Feature branching INSTEAD OF
  15. TRUNK-BASED DEVELOPMENT EMBRACE CATHEDRAL TO THE EXTREME ▸ Do not

    postpone what you can do now ▸ Pair programming ▸ Test-first approach ▸ CI with feature toggles ▸ Code review ▸ Waiting for incidents ▸ Feature branching INSTEAD OF
  16. TRUNK-BASED DEVELOPMENT EMBRACE CATHEDRAL TO THE EXTREME ▸ Do not

    postpone what you can do now ▸ Pair programming ▸ Test-first approach ▸ CI with feature toggles ▸ Code review ▸ Waiting for incidents ▸ Feature branching INSTEAD OF
  17. TRUNK-BASED DEVELOPMENT EMBRACE CATHEDRAL TO THE EXTREME ▸ Do not

    postpone what you can do now ▸ Pair programming ▸ Test-first approach ▸ CI with feature toggles ▸ Code review ▸ Waiting for incidents ▸ Feature branching INSTEAD OF
  18. TRUNK-BASED DEVELOPMENT WHAT ARE YOU WAITING FOR? ▸ Practices named

    and described one decade ago ▸ Nothing changed validity their validity ▸ Question your process from time to time