<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-25066620.post5314403100358772015..comments</id><updated>2010-02-08T09:34:43.695-06:00</updated><category term='sapir-whorf'/><category term='goebbels'/><category term='books'/><category term='collaboration'/><category term='development'/><category term='ranges'/><category term='coworking'/><category term='perforce'/><category term='rubyonrails'/><category term='array'/><category term='splat'/><category term='code generators'/><category term='activewarehouse'/><category term='darcs'/><category term='gnomevfs'/><category term='business analysis'/><category term='git'/><category term='configuration'/><category term='uk'/><category term='rails'/><category term='turbogears'/><category term='web2'/><category term='outsource'/><category term='nosql'/><category term='greatbritain'/><category term='serendipity'/><category term='jee'/><category term='bdd'/><category term='closures'/><category term='c++'/><category term='anti-patterns'/><category term='fraud'/><category term='code generation'/><category term='sin'/><category term='agile process'/><category term='illinilist'/><category term='reading'/><category term='metafusion'/><category term='agile practices'/><category term='CSS'/><category term='java'/><category term='Javascript'/><category term='kaizen'/><category term='restful'/><category term='cdbaby'/><category term='django'/><category term='concurrency'/><category term='cowboy monkey'/><category term='gedit'/><category term='monkey'/><category term='opinion'/><category term='mac'/><category term='power'/><category term='dsl'/><category term='benchmarking'/><category term='rbehave'/><category term='agile software'/><category term='specifications'/><category term='project'/><category term='chicken'/><category term='j2ee'/><category term='cjug'/><category term='datamapper'/><category term='stupid'/><category term='json'/><category term='svn'/><category term='subversion'/><category term='google'/><category term='gay marriage'/><category term='activewarehouse-etl'/><category term='pig'/><category term='ruby'/><category term='activerecord'/><category term='blocks'/><category term='ruby expressions'/><category term='=='/><category term='cryptography'/><category term='ETL'/><category term='messaging'/><category term='quote'/><category term='github'/><category term='merb'/><category term='SOA'/><category term='source control management'/><category term='mda'/><category term='think'/><category term='opensource'/><category term='neo4j'/><category term='illinois'/><category term='source control'/><category term='tdd'/><category term='ruby idioms'/><category term='productivity'/><category term='graph databases'/><category term='currying'/><category term='math'/><category term='dry'/><category term='liberty'/><category term='election'/><category term='Google Wave'/><category term='jug'/><category term='Cloud Computing'/><category term='smalltalk'/><category term='urbana'/><category term='scm'/><category term='basecamp'/><category term='dhh'/><category term='web services'/><category term='champaign urbana'/><category term='seo'/><category term='propaganda'/><category term='friendship'/><category term='ruby on rails'/><category term='energy'/><category term='scrum'/><category term='presenter'/><category term='paypal'/><category term='clearcase'/><category term='domain specific language'/><category term='twitter'/><category term='equal?'/><category term='rubyforge'/><category term='mathematics'/><category term='higher order messaging'/><category term='coffee'/><category term='project management'/><category term='conventions'/><category term='datawarehouse'/><category term='beautiful code'/><category term='reliable-msg'/><category term='engines'/><category term='warehouse'/><category term='erlang'/><category term='Feeds'/><category term='autotest'/><category term='commercial'/><category term='tony blair'/><category term='predictions'/><category term='BarCamp'/><category term='open source'/><category term='outsourcing'/><category term='HTTP'/><category term='psychology'/><category term='RSS'/><category term='web 2.0'/><category term='ROA'/><category term='champaign'/><category term='performance'/><category term='search engine optimization'/><category term='pradipta'/><category term='future'/><category term='xml'/><category term='fastcgi'/><category term='scala'/><category term='entrepreneur'/><category term='scalability'/><category term='==='/><category term='aesthetics'/><category term='arrays'/><category term='security'/><category term='blackle'/><category term='rails generators'/><category term='models'/><category term='language'/><category term='idioms'/><category term='equality'/><category term='Jabber'/><category term='user'/><category term='rspec'/><category term='editor'/><category term='looping'/><category term='libertarian'/><category term='coding'/><category term='agile methods'/><category term='testing'/><category term='release'/><category term='scam'/><category term='jms'/><category term='plugins'/><category term='prime minister'/><category term='test driven'/><category term='design patterns'/><category term='search engines'/><category term='beck'/><category term='apple'/><category term='illini'/><category term='twitter twitter4r'/><category term='enumerations'/><category term='hitler'/><category term='gnome'/><category term='ruby ranges'/><category term='england'/><category term='agile'/><category term='python'/><category term='consulting'/><category term='chicago'/><category term='great britain'/><category term='joseph goebbels'/><category term='range'/><category term='windows'/><category term='layout'/><category term='Alan Turing'/><category term='Service Oriented Architecture'/><category term='buddha'/><category term='tonyblair'/><category term='beauty'/><category term='database'/><category term='linux'/><category term='twitter4r'/><category term='software requirements'/><category term='oss'/><category term='cvs'/><category term='blair'/><category term='britain'/><category term='linguistics'/><category term='codegenie'/><category term='REST'/><category term='php'/><category term='loops'/><category term='patterns'/><category term='information leaks'/><category term='politics'/><category term='kent beck'/><category term='chambana'/><category term='XMPP'/><category term='expression'/><category term='YUI'/><category term='jvm'/><category term='book'/><category term='config'/><category term='jee5'/><category term='enumerable'/><category term='sapir whorf'/><category term='web2.0'/><category term='inject'/><category term='oo'/><category term='cowboy'/><category term='orm'/><category term='natural language'/><category term='functional programming'/><category term='ruby forwardable'/><category term='vote'/><category term='safir-whorf'/><category term='eql?'/><category term='model'/><category term='capistrano'/><category term='data'/><category term='conductor'/><title type='text'>Comments on Ruby, Javascript, Erlang blog: Snakes, Gems &amp;amp; Coffee: How agile practices improve code review</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://geek.susanpotter.net/feeds/5314403100358772015/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25066620/5314403100358772015/comments/default'/><link rel='alternate' type='text/html' href='http://geek.susanpotter.net/2010/01/how-agile-practices-improve-code-review.html'/><author><name>S. Potter</name><uri>http://www.blogger.com/profile/17341145424164713662</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-25066620.post-8360202053671926069</id><published>2010-02-08T09:34:43.695-06:00</published><updated>2010-02-08T09:34:43.695-06:00</updated><title type='text'>@gsporar sorry I meant to respond to you and say t...</title><content type='html'>@gsporar sorry I meant to respond to you and say that I really like the Junior High School sex analogy!:)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25066620/5314403100358772015/comments/default/8360202053671926069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25066620/5314403100358772015/comments/default/8360202053671926069'/><link rel='alternate' type='text/html' href='http://geek.susanpotter.net/2010/01/how-agile-practices-improve-code-review.html?showComment=1265643283695#c8360202053671926069' title=''/><author><name>S. Potter</name><uri>http://www.blogger.com/profile/17341145424164713662</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://geek.susanpotter.net/2010/01/how-agile-practices-improve-code-review.html' ref='tag:blogger.com,1999:blog-25066620.post-5314403100358772015' source='http://www.blogger.com/feeds/25066620/posts/default/5314403100358772015' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2109202150'/></entry><entry><id>tag:blogger.com,1999:blog-25066620.post-1594022535938949370</id><published>2010-02-08T08:58:27.530-06:00</published><updated>2010-02-08T08:58:27.530-06:00</updated><title type='text'>@Jesse, thanks for the Atlassian ad - I have alway...</title><content type='html'>@Jesse, thanks for the Atlassian ad - I have always wanted one on my blog!&lt;br /&gt;&lt;br /&gt;Seriously though, I think advertising a tool that promotes an antiquated way of reviewing code in a non-agile way by saying pair programming isn&amp;#39;t practical 100% of the time (to an agile crowd) to be a little silly.&lt;br /&gt;&lt;br /&gt;The blog post talks not just about pair programming.  You should really be targeting non-agile teams with your product as it is tool focused, which as I mentioned in the blog post is anti-agile.  So your advertisement is also badly placed.&lt;br /&gt;&lt;br /&gt;I do not mind you blatantly advertising your product, but when you make nonsensical and incomplete pitches this way, then you should expect this kind of response.&lt;br /&gt;&lt;br /&gt;If my post ONLY mentioned pair programming your advertisement pitch wouldn&amp;#39;t be quite so annoying.  However, you ignored 90% of my post and pretended you had actually read and considered the whole content in your response.&lt;br /&gt;&lt;br /&gt;Please do not post your advertisements to my blog again unless you are really responding to my blog post and can truly demonstrate relevance to the full content of my post.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25066620/5314403100358772015/comments/default/1594022535938949370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25066620/5314403100358772015/comments/default/1594022535938949370'/><link rel='alternate' type='text/html' href='http://geek.susanpotter.net/2010/01/how-agile-practices-improve-code-review.html?showComment=1265641107530#c1594022535938949370' title=''/><author><name>S. Potter</name><uri>http://www.blogger.com/profile/17341145424164713662</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://geek.susanpotter.net/2010/01/how-agile-practices-improve-code-review.html' ref='tag:blogger.com,1999:blog-25066620.post-5314403100358772015' source='http://www.blogger.com/feeds/25066620/posts/default/5314403100358772015' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2109202150'/></entry><entry><id>tag:blogger.com,1999:blog-25066620.post-7654172431277932670</id><published>2010-02-08T05:06:51.424-06:00</published><updated>2010-02-08T05:06:51.424-06:00</updated><title type='text'>Good post!

A couple of comments/additional though...</title><content type='html'>Good post!&lt;br /&gt;&lt;br /&gt;A couple of comments/additional thoughts:&lt;br /&gt;&lt;br /&gt;Pair programming unquestionably helps devs produce better code.  That said, almost every developer I&amp;#39;ve spoken to finds it impossible or impractical to pair program 100% of the time for a number of reasons:&lt;br /&gt;&lt;br /&gt;* Pairing can be &amp;#39;intense&amp;#39;.  Many folks I&amp;#39;ve spoken to find that working with another person is best done for shorter periods of time, say 1-2 hours.  Interestingly enough, this was found to be the optimal amount of time for doing code review too (in the Smart Bear book.  Good read!), so perhaps it has to do with how long a typical person is able to intensely focus on a given task.&lt;br /&gt;&lt;br /&gt;* With increased team distribution, sometimes members of the team are not co-located, which makes pairing impossible.&lt;br /&gt;&lt;br /&gt;Developers at Atlassian practice both pair programming, and what I like to refer to as &amp;#39;continuous code review&amp;#39;.  Just as continuous integration involves running fast builds for every commit, continuous code review involves frequently reviewing important changesets.&lt;br /&gt;&lt;br /&gt;Atlassian&amp;#39;s Crucible &lt;a href="http://www.atlassian.com/software/crucible" rel="nofollow"&gt;code review tool&lt;/a&gt; and other products like Code Collaborator and ReviewBoard are good for supporting a continuous code review practice.  These tools have the advantage of integrating with your SCM system such that it&amp;#39;s easy to perform reviews based on changesets, either before or after they are committed to the repository.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25066620/5314403100358772015/comments/default/7654172431277932670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25066620/5314403100358772015/comments/default/7654172431277932670'/><link rel='alternate' type='text/html' href='http://geek.susanpotter.net/2010/01/how-agile-practices-improve-code-review.html?showComment=1265627211424#c7654172431277932670' title=''/><author><name>Jesse Gibbs - Atlassian</name><uri>http://www.atlassian.com/software/crucible</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://geek.susanpotter.net/2010/01/how-agile-practices-improve-code-review.html' ref='tag:blogger.com,1999:blog-25066620.post-5314403100358772015' source='http://www.blogger.com/feeds/25066620/posts/default/5314403100358772015' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1840417113'/></entry><entry><id>tag:blogger.com,1999:blog-25066620.post-8846831470374811024</id><published>2010-02-07T18:09:23.627-06:00</published><updated>2010-02-07T18:09:23.627-06:00</updated><title type='text'>Nice post - I have some additional thoughts about ...</title><content type='html'>Nice post - I have some additional thoughts about code review aligning with agile at: http://blog.smartbear.com/the_smartbear_blog/2010/01/is-pair-programming-like-junior-high-sex.html</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25066620/5314403100358772015/comments/default/8846831470374811024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25066620/5314403100358772015/comments/default/8846831470374811024'/><link rel='alternate' type='text/html' href='http://geek.susanpotter.net/2010/01/how-agile-practices-improve-code-review.html?showComment=1265587763627#c8846831470374811024' title=''/><author><name>gsporar</name><uri>http://www.blogger.com/profile/03461531799936638827</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://geek.susanpotter.net/2010/01/how-agile-practices-improve-code-review.html' ref='tag:blogger.com,1999:blog-25066620.post-5314403100358772015' source='http://www.blogger.com/feeds/25066620/posts/default/5314403100358772015' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1164643794'/></entry></feed>
