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

The Art of the Pull Request

The Art of the Pull Request

Take a moment to ask yourself, "what are Pull Requests for?"

Typically PRs are used as a means to communicate that some body of work has been done and is ready to be merged. But is this an optimal use of PRs? If we submit a PR after the work has been completed, have we missed a golden opportunity to collaborate?

PRs should be treated like the basic unit of collaboration within GitHub-based projects. By using PRs as communication medium and not simply as a review mechanism, we can create opportunities to communicate better within our projects, enhance the on-boarding of new contributors and help catch potential problems early.

In this short talk, I show off the good, the bad and the ugly of PRs and provide a template for best practice which encourages communication and collaboration within your community.

Paul Finlayson Adams

April 23, 2018
Tweet

More Decks by Paul Finlayson Adams

Other Decks in Technology

Transcript

  1. 2 Is Your Team A Community? What Is A PR,

    Really? The Good, The Bad, The Ugly Solid PR Templating THE ART OF THE PULL REQUEST “Tug of War” by toffehoff (https://flic.kr/p/nD2nk) No Time Like The Present!
  2. 4 ZALANDO AT A GLANCE as at March 2018 ~

    4.5 billion EUR revenue 2017 > 200 million visits per month > 15,000 employees in Europe > 70% of visits via mobile devices > 23 million active customers > 300,000 product choices ~ 2,000 brands 15 countries
  3. 5 WE ARE CONSTANTLY INNOVATING TECHNOLOGY HOME-BREWED, CUTTING-EDGE & SCALABLE

    technology solutions ~ 2,000 employees from tech locations (HQs in Berlin) 7 77 nations help our brand to WIN ONLINE
  4. 8 LOOK WHAT I DID! In GitHub’s own words: “Pull

    requests let you tell others about changes you've pushed to a GitHub repository.” - After the fact - “Let” is weak - “others”? “Acupuncture” by Petras Gagllas (https://flic.kr/p/iJoBE8)
  5. 9 HOW ABOUT THIS DESCRIPTION? “AN ASYNCHRONOUS FORM OF COMMUNICATION

    DESIGNED TO COLLECT ALL INFORMATION RELATED TO THE DEVELOPMENT OF A SPECIFIC FEATURE”
  6. 15 OK, SO WHAT COULD A PR LOOK LIKE? •

    Related Issue • Motivation • Description • Type Of Change • Sanitary Considerations “Fabric Design” by yaskil (https://flic.kr/p/cib95w)
  7. 18 PRs IN SCRUM CEREMONIES “postits” by Peer 2 Peer

    University (https://flic.kr/p/bt51RX) Ceremony Description Daily Scrum Probably no role here. Planning 1 Open PR. Planning 2 Complete the PR template. Review Merge the PR. Retro Perhaps process/template review. Backlog Refinement Probably no role here.
  8. 20 • Mastery, Purpose and Autonomy Need Alignment to Succeed

    • Conway’s Law dictates asynchronous • Documentation, folks! • Document the feature in PRs • For now • Forever THIS IS THE END