As you might know, Launchpad has a code review system. You might have even given it a try a few months ago when it first came out. We, the Launchpad team, started using it almost right away and to be completely honest with you, we didn’t like it very much. On the whole we are curmudgeonly engineers who would rather fix bugs or build features than fiddle with a silly website. However, now the much-feted power of dogfood was working for us.
We’ve been improving the code review system for ages now. It’snot perfect, but is getting better rather quickly. Over the last cycle, it has started to become really good. We’ve done a lot of things this cycle, I want to focus on one in particular, since it’s dear to my heart.
On our cutting edge servers, and in the next release, the “active reviews” page for a project is tailored to you specifically. Instead of just showing you all the reviews, like it used to do, it shows you the following lists:
- The reviews you mustdo. That is, the reviews specifically requested of you that you haven’t done.
- The reviews you can do. Reviews that have been requested of your team that no one else has done yet.
- The reviews you are waiting on. Reviews that you’ve requested that haven’t been done yet.
- The reviews you have completed. Reviews you’ve done that haven’t been replied to yet.
- Everything else.
It’s the first list that makes me happiest. At last, I have a list of reviews that I can churn through, knowing that I’m doing the right thing, not having to figure what state it’s in or make decisions about how important it is. I simply do.
The second list is pretty awesome too. If ever I’m between branches or have a few minutes to spare during a lengthy test run, I have an already-prepared list of ways to make other people happy. That’s the kind of software I like.
And, well, actually, I like the third list too. It’s great to be able to look at the things you are blocked on and see who you need to hassle. The “Waiting For” pattern comes from GTD, and is one of the best things about the system and deserves wider notoriety.
(Oh, and just wait for the release announcement!)