Mailing List Archive
tlug.jp Mailing List tlug archive tlug Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- Date: Sun, 29 Jul 2007 09:53:38 +0900
- From: "Josh Glover" <jmglov@example.com>
- Subject: Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- References: <8572e260707182339i5ca059c4l1be1f51559c16f54@mail.gmail.com> <20070725072147.GD23731@soto.kasei.com> <46A7DBB4.9080000@dcook.org> <46A803E3.7010503@cnt.mxt.nes.nec.co.jp> <d8fcc0800707260101y5ca1b5ccg695cdf0fa35265e8@mail.gmail.com> <87ir87jxq2.fsf@uwakimon.sk.tsukuba.ac.jp> <Pine.NEB.4.64.0707262022494.26874@homeric.cynic.net> <d8fcc0800707280033i6adfa8f3ree5029a3c01f997e@mail.gmail.com> <87ir84cyr8.fsf@uwakimon.sk.tsukuba.ac.jp> <46AB689A.2050102@sonic.net>
On 29/07/07, steven smith <sjs@example.com> wrote: > The one thing I see missing > from the process Josh describes is feedback to me (the > reviewer) on my comments. Sorry, that was an omission on my part, not a broken process. Here it is, in a quasi-TCP state diagram. ;) *** Please note that this process is simply how my team has chosen to do it, and is not an Amazon-wide standard process. Amazon's only policy regarding code reviews is that they *must* be done by at least one engineer before *any* change, no matter how "trivial", goes to production. *** SRC = engineer assigned to the project, who wrote the code DST = primary reviewer DST2 = secondary reviewer(s) ML = team mailing list SRC -> "Please review this change for project X (link to wiki spec). You can test it here (link to test box). Package Y: (link to "Code Reviewer" tool for Package Y) Package Z: (link to "Code Reviewer" tool for Package Z)" -> ML (CC) -> DST Reviews code in CR tool, using "CR++" Greasemonkey script to comment inline. Per-line comments are stored in S3[1] with DST's login and file context data. ( DST -> "View my comments inline at (link to "Code Reviewer" tool for Package Y) Package Z: (link to "Code Reviewer" tool for Package Z). I have also included them below for the benefit of the team." (( DST2 -> "In addition to DST's changes, I have the following comments. View them inline at (link to "Code Reviewer" tool for Package Y) Package Z: (link to "Code Reviewer" tool for Package Z). I have also included them below for the benefit of the team." ))* (i.e. zero or more DST2 reviewers) -> ML (CC) -> SRC Views comments line-by-line in in CR tool, using "CR++" Greasemonkey script. For comments that are acceptable as-is, SRC makes the change, then deletes the comment with the CR++ tool (don't worry, history is maintained in the team mailing list archives). For comments that are unacceptable, SRC adds his reasoning to the comment with the CR++ tool: "Will not fix: <reason>". For comments that require clarification, SRC adds to the comment with the CR++ tool: "Needs clarification: <comments>". SRC -> "I incorporated most of your comments into my code. Here is what I did not change or need clarification on: Package Y (link to "Code Reviewer" tool for Package Y) Package Z: (link to "Code Reviewer" tool for Package Z)." -> ML (CC) -> DST Views remaining comments line-by-line in in CR tool, using "CR++" Greasemonkey script. Provides clarification and rationale for making for making changes that SRC did not want to, if necessary. For comments that are acceptable, deletes the comment with the CR++ tool (don't worry, history is maintained in the team mailing list archives). )+ (i.e. one or more times) For big projects, the usual thing to do is for SRC to make all the changes requested by DST and DST2, except the ones SRC doesn't agree with. Usually, there will be other changes and bugfixes, possibly made by other engineers (on big projects, one engineer owns the code review process for the project, so the other engineers on the project should simply read the CR emails, but make no changes unless specifically asked to by SRC), so instead of continuing the normal CR loop, SRC submits a "diff" code review, where he uses the Amazon P4 revision diff-ing web tool to submit just the changes that were made since the original CR submission. This may sound unwieldy, but for 90% of the projects, one iteration of the main loop is enough (i.e. SRC -> DST -> SRC -> done). The biggest benefit I see is that this allows us to work across the Pacific (my team has engineers in Tokyo and Seattle, all working on the same codebase and often the same project; for example, one of our biggest projects this year was done by me and an engineer in Seattle, working across 16 time zones as effectively as if we were sitting next to each other) and review code when it is best for us. My team has a policy that your CR submission must be made at least three working days before your scheduled launch date, and the launch date *will* be pushed back if the CR process is not done in time. To my knowledge, we have only delayed one launch due to a long CR process, and that was simply because the code had major issues that were uncovered in the process. Cheers, Josh [1] http://www.amazon.com/gp/browse.html?node=16427261
- References:
- [tlug] [OT] Good IT Resume
- From: Pietro Zuco
- Re: [tlug] [OT] Good IT Resume
- From: Karen Pauley
- Re: [tlug] [OT] Good IT Resume
- From: Darren Cook
- Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- From: Nguyen Vu Hung
- Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- From: Josh Glover
- Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- From: Stephen J. Turnbull
- Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- From: Curt Sampson
- Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- From: Josh Glover
- Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- From: Stephen J. Turnbull
- Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- From: steven smith
Home | Main Index | Thread Index
- Prev by Date: [tlug] Re: asking for a bare laptop in Japanese
- Next by Date: [tlug] font/char set question
- Previous by thread: Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- Next by thread: Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume
- Index(es):
Home Page Mailing List Linux and Japan TLUG Members Links