TO PULL REQUEST
OR NOT TO PULL
REQUEST?
Adam Zolyak
Dev Advocate
Waffle.io
@azolyak
“Pull Requests can help you
to be a better engineer, a
better team member, and a
better team.”
@azolya
WHAT IS A PULL REQUEST?
@azolya
WHAT IS A PULL REQUEST?
@azolya
Training and Personal Growth
@azolya
Training and Personal Growth
@azolya
Quality for (almost) Free
@azolya ++
Quality for (almost) Free
@azolya ++
Remembering Working Agreements
@azolya
Find The Right People
@azolya
Find The Right People
@azolya
Lightweight Change Control
@azolya
Lightweight Change Control
@azolya
Empathy for Your Teammates
@azolya
Know What’s Been Released
@azolya + +
Know What’s Been Released
@azolya + +
Automated Project Management
+
Pull Requests for A Team of 1
@azolya
for
1
http://cli.re/GQM1pe
@azolya
Resources for AllTheThings!
Protected Branches
Required Status Checks
Configuring Code Owners
Configuring Release Status
Configuring CI Status
Pull Request Templates
Issue Templates
Automating Status Updates
Adam Zolyak
Developer Advocate
Waffle.io
“Making GitHub More Delicious”
@azolyak

More Related Content

PDF
Nicolas Grekas (Blackfire) – App Profiling - the Must-Have Tool of your Daily...
PDF
6 Pitfalls Of An Agile Transformation - Presented at Agile Austin 1/5/2016
PDF
Pitfalls Of An Agile Transformation - Presented for Dallas Agile Leadership N...
PDF
Devcon Tel Aviv - How to do Kick-ass Software Development
PDF
A systems approach to modern leadership
PDF
Innovation and organization
PPTX
APIdays Paris 2019 - The (really) long journey to an API Community of Practic...
PDF
Quest 2017 Agile Workshop: Getting your agile team unstuck
Nicolas Grekas (Blackfire) – App Profiling - the Must-Have Tool of your Daily...
6 Pitfalls Of An Agile Transformation - Presented at Agile Austin 1/5/2016
Pitfalls Of An Agile Transformation - Presented for Dallas Agile Leadership N...
Devcon Tel Aviv - How to do Kick-ass Software Development
A systems approach to modern leadership
Innovation and organization
APIdays Paris 2019 - The (really) long journey to an API Community of Practic...
Quest 2017 Agile Workshop: Getting your agile team unstuck

Similar to To Pull Request Or Not To Pull Request? (20)

PDF
Leading With Questions
PPTX
Minimalist Grayscale Pitch Deck Presentation.pptx
PPTX
a format to make write up about swot ananlysyis will ease out time penalty
PPTX
Beyond Human Thought AI Revolution PowerPoint Presentation
PDF
Welcome To The Matrix! Organizational Structures To Support Agile (Keep Austi...
PDF
User Stories Suck by David Hawks at North Dallas Product Owners Meetup
PPTX
Horseshoes, Hand Grenades, and Agile - Where CLOSE Counts
PPTX
Penjualan
PDF
Atlas Desk Team – A Year With JIRA Service Desk - Dan Horsfall and Nikki Nguyen
PPTX
Aug presentation-12-12
PDF
Leveraging AI Bots for SEO Rank #1 on Google - PDF
PPTX
HR Webinar: Battle HR Burnout: How to Automate & Activate Hiring Manager “Rec...
PDF
Agile is Dead :: Agile Connect Lisbon 2018
PDF
Alex Schedrov, Dmitry Drozdik - Everyone does this ...! from routine to start...
PDF
Continuous Delivery Will Make or Break Your Product
PPTX
Act War Company
PPSX
Database Security Overview
PDF
Agile is Dead :: Aginext London 2018
PPTX
TOOLS DON’T BUILD EMPIRES, STRATEGY DOES_KadenaTate.pptx
PDF
How to offshore... like a boss! by Andrew Hiles
Leading With Questions
Minimalist Grayscale Pitch Deck Presentation.pptx
a format to make write up about swot ananlysyis will ease out time penalty
Beyond Human Thought AI Revolution PowerPoint Presentation
Welcome To The Matrix! Organizational Structures To Support Agile (Keep Austi...
User Stories Suck by David Hawks at North Dallas Product Owners Meetup
Horseshoes, Hand Grenades, and Agile - Where CLOSE Counts
Penjualan
Atlas Desk Team – A Year With JIRA Service Desk - Dan Horsfall and Nikki Nguyen
Aug presentation-12-12
Leveraging AI Bots for SEO Rank #1 on Google - PDF
HR Webinar: Battle HR Burnout: How to Automate & Activate Hiring Manager “Rec...
Agile is Dead :: Agile Connect Lisbon 2018
Alex Schedrov, Dmitry Drozdik - Everyone does this ...! from routine to start...
Continuous Delivery Will Make or Break Your Product
Act War Company
Database Security Overview
Agile is Dead :: Aginext London 2018
TOOLS DON’T BUILD EMPIRES, STRATEGY DOES_KadenaTate.pptx
How to offshore... like a boss! by Andrew Hiles
Ad

More from Adam Zolyak (7)

PDF
The Maker's Guide to Staying Focused and Getting Shit Done!
PDF
Kanban Boards Reimagined for Developers + DevOps
PDF
Agile 2017 - So What's It Like to Work With a ChatBot?!?
PDF
Hello, I'm Jarvis! Let's #ChatOps !
PDF
Value Stream Mapping. Visualize Your Processes to Reduce Waste!
PDF
Welcome to the team! Practices for supercharging teams!
PPTX
Don't "Do" Agile, Be Agile
The Maker's Guide to Staying Focused and Getting Shit Done!
Kanban Boards Reimagined for Developers + DevOps
Agile 2017 - So What's It Like to Work With a ChatBot?!?
Hello, I'm Jarvis! Let's #ChatOps !
Value Stream Mapping. Visualize Your Processes to Reduce Waste!
Welcome to the team! Practices for supercharging teams!
Don't "Do" Agile, Be Agile
Ad

Recently uploaded (20)

PDF
Architecture types and enterprise applications.pdf
PPT
Geologic Time for studying geology for geologist
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
DOCX
search engine optimization ppt fir known well about this
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Benefits of Physical activity for teenagers.pptx
PPTX
Modernising the Digital Integration Hub
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
Hybrid model detection and classification of lung cancer
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Unlock new opportunities with location data.pdf
PDF
Five Habits of High-Impact Board Members
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
A novel scalable deep ensemble learning framework for big data classification...
Architecture types and enterprise applications.pdf
Geologic Time for studying geology for geologist
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
search engine optimization ppt fir known well about this
sustainability-14-14877-v2.pddhzftheheeeee
A contest of sentiment analysis: k-nearest neighbor versus neural network
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Benefits of Physical activity for teenagers.pptx
Modernising the Digital Integration Hub
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Hybrid model detection and classification of lung cancer
Group 1 Presentation -Planning and Decision Making .pptx
WOOl fibre morphology and structure.pdf for textiles
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Unlock new opportunities with location data.pdf
Five Habits of High-Impact Board Members
Getting started with AI Agents and Multi-Agent Systems
A novel scalable deep ensemble learning framework for big data classification...

To Pull Request Or Not To Pull Request?

Editor's Notes

  • #2: To Pull Request, or Not To Pull Request? [pause] How many folks in the room regularly use PRs? Raise your hands. [comment about how many members of the audience responsed yes] Today I want to share why I feel Pull Requests are super useful, including some reasons you may haven’t considered before. I hope you find at least one new idea to try.
  • #3: But while those are the features that most of us know about Pull Requests, thers are lots of other benefits. Pull Requests can help you be a better engineer, a better team member, and a better team.
  • #4: So what is a PR? For those folks in the room who haven’t tried Pull Requests before (or Merge Requests if you’re a GitLab er), Pull Requests are a way to review all your changes in once place and collaborate with your team members to review and merge the change. Some highlights: View all commits in one place Compare before and after code changes Comment on specific lines or blocks of code Squash and merge changes
  • #5: [continue from previous slide]
  • #6: Pull Requests are a great way to collaborate with teammates. It’s an opportunity to learn about the code base if you’re getting started, get feedback to improve the quality of the code from fellow developers. As one of my teammates recently shared “I also like PRs for personal growth, even when your code works - having another dev review sometimes reveals simpler ways you could have written your code or a better solution to the problem.” Pull requests are also great for distributed teams. In this example, Mary is in North Carolina while Jacob is in Colorado.
  • #7: Pull Requests are a great way to collaborate with teammates. It’s an opportunity to learn about the code base if you’re getting started, get feedback to improve the quality of the code from fellow developers. As one of my teammates recently shared “I also like PRs for personal growth, even when your code works - having another dev review sometimes reveals simpler ways you could have written your code or a better solution to the problem.” Pull requests are also great for distributed teams. In this example, Mary is in North Carolina while Jacob is in Colorado.
  • #8: Pull Requests also support Status Checks, which have a ton of possabilities. A common use case is to integrate CI jobs where are auto triggered when opening a Pull Request or when pushing a commit, providing fast feedback to you about the impacts of your changes. However, there are also lots of interesting use cases. Highlights: Checking License Compliance Deploying a Test Environment Linting for Working Agrrements (ex. I intentionally broke the backwards compatability of DB migrations)
  • #9: Pull Requests also support Status Checks, which have a ton of possabilities. A common use case is to integrate CI jobs where are auto triggered when opening a Pull Request or when pushing a commit, providing fast feedback to you about the impacts of your changes. However, there are also lots of interesting use cases. Highlights: Checking License Compliance Deploying a Test Environment Linting for Working Agrrements (ex. I intentionally broke the backwards compatability of DB migrations)
  • #10: Pull Requests also support templates which are a great way to remember things that are easy to forget. In this examplep, the Pull Request contains a checklist which the submitter can easily check off to make sure they’ve remembered everything. Highlights: Remembering to add support for multi language support. Remembering to test in multiple browsers. Remembering to add instrumentation for metrics.
  • #11: A newer feature, the CODEOWNERS file provies the ability to add recommended or required reviewers to a Pull Request based on which code was changed. For example, code reviewers can be set for all *.js files, files in the /docs/ directory, any many other patterns. This is also a way to remember who is a good person to ask questions about a specific area of the code.
  • #12: A newer feature, the CODEOWNERS file provies the ability to add recommended or required reviewers to a Pull Request based on which code was changed. For example, code reviewers can be set for all *.js files, files in the /docs/ directory, any many other patterns. This is also a way to remember who is a good person to ask questions about a specific area of the code.
  • #13: Some companies in regulated industries such as financial services and healthcare must comply with industry specific compliance controls. Using Protected Branches with Pull Requests, you can require at least one other person to review a change before merging it. Combined with Code Owners, you can also require certain people to approve changs based on what was changed. While this take a little extra time and effort, it’s much better than a traditional change control process.
  • #14: Some companies in regulated industries such as financial services and healthcare must comply with industry specific compliance controls. Using Protected Branches with Pull Requests, you can require at least one other person to review a change before merging it. Combined with Code Owners, you can also require certain people to approve changs based on what was changed. While this take a little extra time and effort, it’s much better than a traditional change control process.
  • #15: One of the more interesting things I’ve been in a Pull Request Template is a “how does this PR make you feel question”. The typical response is an animated GIF. This is not only fun but also a great way to understand if the change wasn’t awesome for your teammate. It’s a great prompt to have a conversation with your teammate to understand what could be improved next time.
  • #18: Using Pull Requests also makes it possible to automate much of your project management and project status reporting work. No one wants to have to remember to drag cards across a board. Tools like Waffle.io provide the ability to automatically update the staus of Issues based on activity within branches, pull requests, and status checks.
  • #19: And while not all of us are working in teams, Pull Requests can even be helpful if you’re working as a team of one. If you have a public repo, you can still ask a Collaborator to review and comment on your Pull Request. Perhaps you can return the favor for another team of 1. Also, I once had a teammate who was the only person working on an iOS app. He would still Pull Request his work, often letting it sit for a half day, and then come back to it with fresh eyes, conducting a Pull Request review before merging.