Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Talk about how to go from massive pull requests to trunk-based development with Ruby. Includes concrete examples of code, architecture, and workflows to implement smooth trunk-based development workflow. To watch with closed captions, view the livestream recording: https://www.youtube.com/watch?v=m2qelRkp1CY&t=4980s
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In this talk, Vesa Vänskä addresses the transition from managing massive pull requests to adopting trunk-based development within Ruby projects. He highlights the complexities associated with long-lived branches, which often lead to merging difficulties and diminished code review quality. With 15 years of Ruby experience, Vänskä shares insights rooted in his own encounters with branch management in a smaller consultancy setting, Kisco Labs. The talk primarily covers how trunk-based development streamlines collaboration by prioritizing short-lived branches, encouraging frequent merges, and reducing the clutter that comes with extended pull requests. **Key Points Discussed:** - **Introduction to Trunk-Based Development:** Vänskä defines trunk-based development as a method that emphasizes collaboration on the main branch (trunk), minimizing the use of long-lived branches. This method fosters a cleaner development process. - **Benefits of Short-Lived Branches:** Developers should aim to keep branches alive only for hours to a week before merging them into the trunk, enhancing the efficiency of the workflow. - **Use of Feature Flags:** For managing features that are not fully developed, feature flags can provide a robust solution. Vänskä illustrates this with examples utilizing the Ruby gem Flipper, which allows for controlled deployment of features to specific user segments. - **Continuous Integration Importance:** The significance of continuous integration (CI) in ensuring smooth development processes underlines the necessity to run automated tests to catch issues early, thereby improving code quality. - **Metrics from the State of DevOps Report:** Vänskä references the report, which identifies key performance metrics like deployment frequency and change failure rate, providing data that can help teams assess their practices. - **Careful Transition Phases:** The speaker suggests a gradual implementation of CI/CD practices rather than overhauling the existing systems abruptly, enabling teams to adapt effectively without overwhelming members. Vänskä concludes that trunk-based development can serve as a practical alternative for teams struggling with pull requests. He encourages teams to assess their specific needs, experiment with various practices, and adapt their workflows for improved productivity. The talk points towards abundant resources available for teams wishing to learn more about trunk-based development, highlighting an accessible entry point for teams of any size to refine their development processes.
Suggest modifications
Cancel