<div>I have some anecdotal evidence to add to this from my time at Google:</div><div><br></div><div>(1) At Google in all reality you spent at least 2 days a week pretty much only participating in code review and mailing list responses. This is due to a couple things, but mostly because code review is taken extremely seriously, the reviewer of the code has as much responsibility for what lands as the person writing the code, their name (or names) go in change commit. If that code creates a problem it is up to all people involved in that process to quickly come up with a resolution.</div>
<div><br></div><div>That responsibility leads to some other great things:</div><div> * Lessening of self-defensiveness / personal investment in code: the code is not yours, it is multiple people's.</div><div> * You also always have at least one "buddy" who can back up the decisions that were made, if you are not around to argue a point that person probably can, and no attacks can ever be leveled at you personally.</div>
<div><br></div><div>(2) At Google you generally have to give explicit targets for who should be your code reviewer. This prevents some tragedy of the commons behaviors (when there is nobody assigned everybody expects somebody else to do it).</div>
<div><br></div><div>This also leads to people who are defacto (or explicit) leaders for certain sections of code. For example, when fixing a bug on a section of code you are not usually working in it is common to ask around on IRC (or just the office) to find out who knows most about that area and should do the review.</div>
<div><br></div><div>(3) At Google one of the first things that new developers do is read through a couple nicely written documents on how to conduct code reviews, what your responsibilities are when doing code review, and some ways to make sure your tone comes off constructively.</div>
<div><br></div><div>This keeps everybody on most of the same page and helps acclimatize people to social interaction related to coding.</div><div><br></div><div>----- </div><div><br></div><div>I think adopting these behaviors would be in our best interest as a project, if that sounds good I am willing to take the time to generate the initial draft of the document and get the appropriate configurations / code updated to support tracking reviewers and requiring explicit reviewers.</div>
<div><br></div>--andy<br><br><div class="gmail_quote">On Thu, Feb 17, 2011 at 11:13 AM, Soren Hansen <span dir="ltr"><<a href="mailto:soren@ubuntu.com">soren@ubuntu.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
2011/2/17 Jay Pipes <<a href="mailto:jaypipes@gmail.com">jaypipes@gmail.com</a>>:<br>
<div class="im">> Also, good point to keep in mind: Membership to nova-core isn't a<br>
> privilege or even any fun. It's a responsibility and a duty to your<br>
> fellow contributors :)<br>
<br>
</div>The first draft of my e-mail said something about it being a chore,<br>
but I decided to edit that out to not demotivate people from joining<br>
:)<br>
<div class="im"><br>
--<br>
Soren Hansen<br>
Ubuntu Developer    <a href="http://www.ubuntu.com/" target="_blank">http://www.ubuntu.com/</a><br>
OpenStack Developer <a href="http://www.openstack.org/" target="_blank">http://www.openstack.org/</a><br>
<br>
_______________________________________________<br>
</div><div><div></div><div class="h5">Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</div></div></blockquote></div><br>