Skip to content

Latest commit

 

History

History
54 lines (35 loc) · 2.91 KB

File metadata and controls

54 lines (35 loc) · 2.91 KB

Background

Provide a clear description of the high-level effort with which this pull request is associated. Recall that while anyone in the organization can see this pull request, not everyone necessarily has the same context as you. If applicable, link to design documents or high-level tracking epics here.

Problem

Provide a clear description of the high-level problem you are trying to solve. The problem statement should be written in terms of a specific symptom that affects users or the business. The problem statement should not be written in terms of the solution. If possible, include a minimal reproducible example (MRE) with steps to reproduce, expected results, and actual results.

Evaluation

If the cause of the problem is not obvious, provide a root-cause analysis (RCA), ideally using the Five Whys iterative interrogative technique or some other form of analytical reasoning.

Solution

Provide a clear description of the high-level solution you have chosen. If there were other possible solutions that you considered and rejected, mention those along with the corresponding reasoning. Do not describe implementation details when writing about the solution; these should go into the implementation section instead.

Testing Done

Provide a clear description of how this change was tested. At minimum this should include proof that a computer has executed the changed lines. Ideally this should include an automated test or an explanation as to why this pull request has no tests.

Implementation

Describe the implementation details of the solution. Generally the reasoning behind any non-obvious code should be recorded in code comments. However, code comments should always describe the current state of the code; in contrast, this section may be useful to describe the relationship between the original code and the code being proposed in this pull request.

Notes to Reviewers

Provide any extra information a reviewer may need to know before evaluating your pull request. For example, you may wish to describe which files should be reviewed first or which files are auto-generated. If the review tool cannot detect a file move, you may wish to link to a patch comparing the old file and the new file.

Deployment Plan

Describe how the code in this pull request will be deployed. Some deployments are complicated and may require flag days between multiple repositories or the provisioning of new infrastructure. Describing your deployment plan allows reviewers to ensure that your work will not cause any unnecessary interruption to end users.

Future Work

Provide a description of any possible follow-up work that is explicitly not being done in this pull request.

Bonus

Provide a description of any extra problems you have solved in this pull request.