<br><br><div class="gmail_quote">On Mon, Feb 21, 2011 at 12:52 AM, Thierry Carrez <span dir="ltr"><<a href="mailto:thierry@openstack.org">thierry@openstack.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">Andy Smith wrote:<br>
> I have some anecdotal evidence to add to this from my time at Google:<br>
><br>
> (1) At Google in all reality you spent at least 2 days a week pretty<br>
> much only participating in code review and mailing list responses. This<br>
> is due to a couple things, but mostly because code review is taken<br>
> extremely seriously, the reviewer of the code has as much responsibility<br>
> for what lands as the person writing the code, their name (or names) go<br>
> in change commit. If that code creates a problem it is up to all people<br>
> involved in that process to quickly come up with a resolution.<br>
><br>
> That responsibility leads to some other great things:<br>
>  * Lessening of self-defensiveness / personal investment in code: the<br>
> code is not yours, it is multiple people's.<br>
>  * You also always have at least one "buddy" who can back up the<br>
> decisions that were made, if you are not around to argue a point that<br>
> person probably can, and no attacks can ever be leveled at you personally.<br>
<br>
</div>We should definitely add the nova-core reviewers LPids to the commit<br>
message, in order to encourage that spirit. Something like:<br>
<br>
[r=soren,termie] Rest of commit message...<br></blockquote><div><br></div><div>Anybody know how hard it is to incorporate this into our tarmac?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"><br>
> (2) At Google you generally have to give explicit targets for who should<br>
> be your code reviewer. This prevents some tragedy of the commons<br>
> behaviors (when there is nobody assigned everybody expects somebody else<br>
> to do it).<br>
><br>
> This also leads to people who are defacto (or explicit) leaders for<br>
> certain sections of code. For example, when fixing a bug on a section of<br>
> code you are not usually working in it is common to ask around on IRC<br>
> (or just the office) to find out who knows most about that area and<br>
> should do the review.<br>
<br>
</div>This can easily be done by specifying reviewers when you do the branch<br>
merge proposal.<br></blockquote><div><br></div><div>Sure, we just need to remove it automatically selecting "Nova Core" and likewise as a reviewer for you so that people are forced to explicitly add a reviewer.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
> (3) At Google one of the first things that new developers do is read<br>
> through a couple nicely written documents on how to conduct code<br>
> reviews, what your responsibilities are when doing code review, and some<br>
> ways to make sure your tone comes off constructively.<br>
><br>
> This keeps everybody on most of the same page and helps acclimatize<br>
> people to social interaction related to coding.<br>
<br>
</div>+1 on reference docs :)<br>
<div class="im"><br>
> I think adopting these behaviors would be in our best interest as a<br>
> project, if that sounds good I am willing to take the time to generate<br>
> the initial draft of the document and get the appropriate configurations<br>
> / code updated to support tracking reviewers and requiring explicit<br>
> reviewers.<br>
<br>
</div>For (1), ideally Tarmac would support rewriting the commit message in<br>
transit to include those names... (2) is already doable with our current<br>
toolset. For (3), just let us know when the wiki draft is up so that we<br>
can participate in improving it.<br>
<br>
Cheers,<br>
<div class="im"><br>
--<br>
Thierry Carrez (ttx)<br>
Release Manager, OpenStack<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>