Umbraco

The PR team chronicles: month one

So, what has happened during the first month of the new PR team?

Sebastiaan Janssen
Written by Sebastiaan Janssen

One month in, and records have already been broken. And there has even been a new release! All this thanks to the work of both the active Umbraco community and the new PR team. With a new process in place including the goal of getting a reply within 48 hours, it has clearly already become more fun and rewarding to contribute to Umbraco. Sebastiaan will let you in on how things are going (including those records šŸ˜‰) and what the plan is going forward:

Remind me again, what is the purpose of the PR team again? šŸ¤”

For the first few months of its existence, the purpose ofĀ the PR teamĀ is to make sure thatĀ newĀ contributions (so anything new after Codegarden 18, more on this later in "Future plans") to Umbraco get all the attention they deserve. This means they'll get a prompt reply that we have seen and appreciate their contribution and that we'll check it out soon. This alone helps contributors feel like they have sent their PR correctly and that they can expect a more substantive reply in the next few days.

After that initial reply, a PR team members will:

  • Evaluate the code, to see if it makes sense and is roughly in line with the coding style that Umbraco uses already

  • If there's any concerns or questions, we'll raise them as soon as possible - examples of questions might be: "what exactly does this solve?", "how do I reproduce the problem?", "why is there a picture of a banana added?", etc.

  • Clone the PR locally, build the code and test it out to see if it works as expected and to make sure it doesn't break anything - this results in either a positive review or a request for some more changes as required

  • At this point HQ can pick up the PR if they had not already and feel fairly confident that it does what is described. Usually we'll do another quick test and we'll do another code review as well.

  • Of course if there's any questions or changes are needed, the PR will get updated accordingly so the submitter knows what's going on and can help further the PR

Ā 

The goals for new PRs after Codegarden 18 currently are:

  • Initial reply within 48 hours, even if it's just a simple acknowledgement of receipt of the PR

  • Within at most 14 days (but most of the time much faster) a substantive reply after looking at the code and testing it

  • Merging the PR within at most 30 days.

Results for the first month

Currently with the PR team we're still learning how to handle the flow of new contributions and we're not quite on top of absolutely everything yet. However, we are already breaking records!

I've been so jealous of Sofie's beautiful stats based on theĀ Documentation Curators developmentĀ over the past year, so I had to follow up with some stats of our own!

Ā 

Below we're showing pull requests created (blue) and merged (red) per month for the last year.

For the month of June 2018 (stats are from the 21st of June) we have managed to merge a record number of 40 PRs from just community members, this does not include pull requests made by Umbraco HQ, so only community contributors.

ā­ā­ā­ā­ā­!Ā 

This is not just a record for the past year but for all time, and the month is not even over yet!

We've seen a lot of enthusiasm right after Codegarden from people sending in new pull requests now that they know they'll get the attention they deserve and it's been a super fun challenge to go through all of them,Ā thank you for your trust! šŸŽ‰

Ā 

All of this, of course, has already resulted in a fabulous new release,Ā version 7.11Ā (insert 7eleven joke hereĀ šŸ˜‰)!

Future plans

While we're currently focused mostly on new incoming pull requests, a select number of older PRs will also get attention whenever HQ can fit them into each sprint. So even though we've only been going for a month, we've already managed to fit in a hugeĀ change to the dictionary sectionĀ which Dave Woestenborghs provided. šŸ‘šŸ‘

This is where another, albeit unwanted, record comes in, in the month of May the number of open (community contributed) PRs was 169, the highest number we've ever had. Luckily we've got it down to 165 in June so far.

Ā 

We'll keep working very hard to get that number down by a lot, but that is not going to happen over night as we want to evaluate the merits of each PR that is still open right now. I'm reminded ofĀ James South's recent tweet:

This is indeed a labor intensive task to figure out the intention of the PR, if the problem is still there or if a feature is still wanted, review, communicate, etc.

Ā 

In the next few months, with help from other HQ members, I will start categorizing existing pull requests so that we have a general theme to them. This will help us bundle a bunch of PRs together so we can take a higher level view: where do we want to go with this and does it fit in either v7 or v8.

Ā 

So while our goal is to get close to zero open PRs this will take a while (thank you for your patienceĀ šŸ¤—!). I expect that we'll be in a good place after the summer to start taking a more structured look at most of the older PRs. We'll also involve the PR team in that process of course.

In summary

The executive summary:

Thanks to all contributors for donating their valuable time!Ā And thanks very much to the PR team who made it possible for us to merge a record number of pull requests in the first month of their existenceĀ #H5YR!

Ā