Working Effectively With Pull Requests
A pull request (PR) is not only a means to review code - it's an opportunity to build collective understanding. By their asynchronous nature pull requests serve as a record of discussion, rationale, and decision. They also provide an opportunity to share knowledge, mentor, and build cohesion. This session will provide guidance on all stages of working with pull requests. We'll start with the work before the work. A good PR starts long before it is opened - with small iterations, and cohesive units of work. We'll talk about drafting a PR with intention. A PR should illustrate its motivation, its impact, and any alternatives considered. We'll look at several examples of well-crafted PRs. Finally, we'll cover PR review. What's fair game for review, and what should we avoid? How can we iterate on the right changes for right now? When is the code ready to merge? The key to working effectively with pull requests is clear communication. This session will make you and your team better at communicating asynchronously, better at building shared understanding, and better at shipping quality work.
Attendees should have basic knowledge of what pull requests (or merge requests) are, and what they are used for.
- Every pull request is an opportunity to provide context, spread knowledge, document rationale, and build shared understanding about code changes.
- Pull Requests are an example of asynchronous communication. Your team can respond at their convenience, and the history is preserved in writing.
- A good Pull Request starts before the PR - with good commit hygiene.
- PR interactions should provide clear direction on what is expected of the authors, reviewers, or assignees.