hicommonwealth / commonwealth

A platform for decentralized communities
https://commonwealth.im
GNU General Public License v3.0
68 stars 44 forks source link

Decongesting Pull Requests #7376

Open masvelio opened 7 months ago

masvelio commented 7 months ago

Description

We, as a team, are struggling with doing code review on regular, daily basis. We need 2 approvals on each PR to allow author to merge the pull request. We use reviewers field in PR, so other engineers are notified about review request. However, it does not seem to work. We have PRs open for weeks which leads to many problems like:

Possible solutions

burtonator commented 7 months ago

I definitely agree here. I think what we're seeing is that PRs are snowballing.

Do others on the team feel the same way?

If the PR acquisition rate is slow then it means users are encouraged to create larger PRs since they can't get their code merged thereby creating even larger PRs. That in turn makes it difficult for users to review them (and causes the potential for poor reviews). This further discourages users to review since PRs are now huge causing it to snowball more.

I think we could fix this by going down to 1 reviewer and implementing "code owners"

https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

Basically it's a file in the root that takes the paths of code and contains a list of owners of that code that can review.

For example, backend code could have code owners for backend devs and the same for frontend. We'd also put blockchain people on blockchain code.

This way all PRs would require one quality reviewer and then we could merge.

burtonator commented 7 months ago

I also agree regarding KPIs. I was looking into that too.

I think we should try to close some of the old draft PRs so that they're not stuck around forever too.

burtonator commented 7 months ago

Also, There are a lot of tools that have dashboards as @masvelio linked above.

They all seem to cost some amount of money like $50-100 per month but they seem like they have a ton of features. We'd have to spend some time to review.