Background
I've been working with a team of 6 for the last couple of months doing enterprise software development. About half the team is very new (2-6 months). We loosely follow Kanban and manage/track work through Azure DevOps, with code reviews using pull requests.
Challenge
I'd like to get early feedback on my code changes and avoid getting bogged down in reading/understanding the existing code. So I have set a personal goal of raising at least one PR a day, which my team lead is happy with.
However, it often takes 2-3 days for a PR to go through the team's approval processes.
I've already found PRs starting to pile up, with 2-3 PRs sitting unreviewed for several days. Also, there's a bit of overhead to raise PRs on related code as I basically have to split each commit to a new branch, rebasing the commit to the original branch so on the PR only the changes for that commit are shown.
Questions
- How do I find the right balance in the quantity and velocity of PRs to get the code reviewed and deployed? I've had devs (often the same person) alternately tell me to write smaller and more frequent PRs and to combine changes into larger, less frequent PRs.
- Should I raise a new pull request before the previous (often related) one has been merged, in a new branch like I've been doing?
- Should I be using a different approach for code reviews? PRs are what my team is used to, and about half the team seem to prefer async communication (slack messages, PR comments etc) over a voice or video call.
- Should I be setting a different goal/find a different way to measure my productivity?
Any suggestions welcome. Thanks!