[prev in list] [next in list] [prev in thread] [next in thread] 

List:       extremeprogramming
Subject:    Re: [XP] commit messages
From:       Ilja_Preuß <iljapreuss () googlemail ! com>
Date:       2009-10-13 16:10:42
Message-ID: fba296970910130910j5828e96bs40903dc19dafd746 () mail ! gmail ! com
[Download RAW message or body]

Hi Tim,

what if putting the name of all pair members into the commit comment
was not used for credit/awards, but decided upon by the team because
it has been shown to help them finding the right person to talk to
more quickly? What if management didn't care about commit comments at
all?

Personally, I think that to the outside "the team did the work" is the
correct attitude. And inside the team, team members need to be
personally accountable to each other, which they might well decide to
foster by individually signing their work. Personally, I like to sign
my work, not to claim credit (I'm more than happy to share credit),
but to show responsibility for what I did.

Cheers, Ilja

2009/10/13 Tim Ottinger <linux_tim@yahoo.com>:
>> 1. Committers:
>> > Most of the time we are pair programming, which helps us to come up
>> > with a good message, but the commit gets credited to the person who
>> > authenticated. =A0We prepend our commit message with the names of the
>> > committers (driver first, navigator second).
>>
>> Good idea but don't the driver and navigator constantly switch
>> positions?
>
>
> doesn't matter. Whomever checked out on the machine you're working
> on is the name on the checkin. =A0But that doesn't matter anyway. Any
> attempt to differentiate the work of an agile team member is going
> to be counter-productive. =A0The team did the work.
>
> Any credit/award for having your name on the commit is a disincentive.
> You have to stop that kind of micromanaging.
>
>> The first item in the template is a pointer to our management tool
>> (http://ww.NetTaskManager.com) to explain the why, how, what, etc. in
>> excrutiating detail.
>
> Likewise we have our version control and ticketing system tied together
> with pre- and post-commit hooks. =A0That is pretty typical.
>
>> The second is to show who paired on this commit.
>> We expect both fields to be filled in as well as a descriptive
>> message. =A0Filling in both fields allows us to discipline ourselves to
>> only work on features that are required and to always pair with someone.
>
> Again, it doesn't matter. Why be so worried about who checked in?
> One of the pair (usually the same one for a while) will be on the
> check-in, and that is more than enough if it breaks the build.
>
> Other than build breakage, why does it matter in the least?

[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" \
"http://www.w3.org/TR/html4/strict.dtd"> <html>
<head>
</head>





<body style="background-color: #ffffff;">
<span style="display:none">&nbsp;</span>
<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="width:655px; position:relative;">
<div id="ygrp-msg" style="width: 470px; margin:0; padding:0 25px 0 0; float:left; \
z-index:1;"> <!--~-|**|PrettyHtmlEndT|**|-~-->
    <div id="ygrp-text" >
                  <p>Hi Tim,<br>
<br>
what if putting the name of all pair members into the commit comment<br>
was not used for credit/awards, but decided upon by the team because<br>
it has been shown to help them finding the right person to talk to<br>
more quickly? What if management didn't care about commit comments at<br>
all?<br>
<br>
Personally, I think that to the outside &quot;the team did the work&quot; is the<br>
correct attitude. And inside the team, team members need to be<br>
personally accountable to each other, which they might well decide to<br>
foster by individually signing their work. Personally, I like to sign<br>
my work, not to claim credit (I'm more than happy to share credit),<br>
but to show responsibility for what I did.<br>
<br>
Cheers, Ilja<br>
<br>
2009/10/13 Tim Ottinger &lt;<a \
href="mailto:linux_tim%40yahoo.com">linux_tim@yahoo.<wbr>com</a>&gt;:<br> &gt;&gt; 1. \
Committers:<br> &gt;&gt; &gt; Most of the time we are pair programming, which helps \
us to come up<br> &gt;&gt; &gt; with a good message, but the commit gets credited to \
the person who<br> &gt;&gt; &gt; authenticated.  We prepend our commit message with \
the names of the<br> &gt;&gt; &gt; committers (driver first, navigator second).<br>
&gt;&gt;<br>
&gt;&gt; Good idea but don't the driver and navigator constantly switch<br>
&gt;&gt; positions?<br>
&gt;<br>
&gt;<br>
&gt; doesn't matter. Whomever checked out on the machine you're working<br>
&gt; on is the name on the checkin.  But that doesn't matter anyway. Any<br>
&gt; attempt to differentiate the work of an agile team member is going<br>
&gt; to be counter-productive.  The team did the work.<br>
&gt;<br>
&gt; Any credit/award for having your name on the commit is a disincentive.<br>
&gt; You have to stop that kind of micromanaging.<br>
&gt;<br>
&gt;&gt; The first item in the template is a pointer to our management tool<br>
&gt;&gt; (<a href="http://ww.NetTaskManager.com">http://ww.NetTaskMa<wbr>nager.com</a>) \
to explain the why, how, what, etc. in<br> &gt;&gt; excrutiating detail.<br>
&gt;<br>
&gt; Likewise we have our version control and ticketing system tied together<br>
&gt; with pre- and post-commit hooks.  That is pretty typical.<br>
&gt;<br>
&gt;&gt; The second is to show who paired on this commit.<br>
&gt;&gt; We expect both fields to be filled in as well as a descriptive<br>
&gt;&gt; message.  Filling in both fields allows us to discipline ourselves to<br>
&gt;&gt; only work on features that are required and to always pair with someone.<br>
&gt;<br>
&gt; Again, it doesn't matter. Why be so worried about who checked in?<br>
&gt; One of the pair (usually the same one for a while) will be on the<br>
&gt; check-in, and that is more than enough if it breaks the build.<br>
&gt;<br>
&gt; Other than build breakage, why does it matter in the least?<br>
</p>
 

    </div>  

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div width="1" style="color: white; clear: both;">__._,_.___</div>

           
  
    
    <!-- Start the section with Message In topic -->
    <div id="ygrp-actbar" style="clear: both; margini-bottom: 25px; \
white-space:nowrap; color: #666; text-align: right;">  <span class="left" \
style="float: left; white-space:nowrap;">  <a \
href="http://groups.yahoo.com/group/extremeprogramming/message/151714;_ylc=X3oDMTM4MTN \
1Z3NyBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BG1zZ0lkAzE1MjA0MgRzZWMDZnRyBHNsawN2dHBjBHN0aW1lAzEyNTU0NTAyNjEEdHBjSWQDMTUxNzE0">
                
            Messages in this topic          </a> (<span class="bld" \
style="font-weight:bold;">46</span>)  </span>
        <a href="http://groups.yahoo.com/group/extremeprogramming/post;_ylc=X3oDMTJydT \
ZsdHVyBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BG1zZ0lkAzE1MjA0MgRzZWMDZnRyBHNsawNycGx5BHN0aW1lAzEyNTU0NTAyNjE-?act=reply&messageNum=152042">
  <span class="bld" style="font-weight:bold;">
            Reply          </span> (via web post)
        </a>  | 
        <a href="http://groups.yahoo.com/group/extremeprogramming/post;_ylc=X3oDMTJldT \
MyaDFrBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTI1NTQ1MDI2MQ--" \
class="bld" style="font-weight:bold;">  Start a new topic        </a>
          </div> 
    <!-------     Start Nav Bar  ------>
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-vitnav" style="padding-top: 10px; font-family: Verdana; font-size: \
77%; margin: 0;">  <a \
href="http://groups.yahoo.com/group/extremeprogramming/messages;_ylc=X3oDMTJlbzJ0dHNjB \
F9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTI1NTQ1MDI2MQ--">Messages</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/files;_ylc=X3oDMTJmdn \
YyNXBuBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2ZpbGVzBHN0aW1lAzEyNTU0NTAyNjE-">Files</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/photos;_ylc=X3oDMTJlY \
2hkNmhnBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA3Bob3QEc3RpbWUDMTI1NTQ1MDI2MQ--">Photos</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/links;_ylc=X3oDMTJmc2 \
dpZjJwBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2xpbmtzBHN0aW1lAzEyNTU0NTAyNjE-">Links</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/database;_ylc=X3oDMTJ \
jczdvZWZrBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2RiBHN0aW1lAzEyNTU0NTAyNjE-">Database</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/polls;_ylc=X3oDMTJmdG \
xucGxyBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA3BvbGxzBHN0aW1lAzEyNTU0NTAyNjE-">Polls</a> \
  |    <a href="http://groups.yahoo.com/group/extremeprogramming/members;_ylc=X3oDMTJl \
ZmY5bGZvBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA21icnMEc3RpbWUDMTI1NTQ1MDI2MQ--">Members</a> \
  
    </div>  
    <!-- |**|end egp html banner|**| -->

                <div id="ygrp-grfd" style="font-family: Verdana; font-size: 77%; \
padding: 15px 0;">  
<!-- |**|begin egp html banner|**| -->

          To Post a message, send it to:&nbsp;&nbsp; \
extremeprogramming@eGroups.com<BR> <BR>
To Unsubscribe, send a blank message to: \
extremeprogramming-unsubscribe@eGroups.com<BR> <BR>
ad-free courtesy of objectmentor.com          
<!-- |**|end egp html banner|**| -->

              </div>
    
    <!-- yahoo logo -->
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-ft" style="font-family: verdana; font-size: 77%; border-top: 1px \
solid #666; padding: 5px 0;">  <a \
href="http://groups.yahoo.com/;_ylc=X3oDMTJkYXU1dmxxBF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjU1NDUwMjYx">
                
      <img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" \
height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br>  <a \
href="http://groups.yahoo.com/group/extremeprogramming/join;_ylc=X3oDMTJmMDltcWpjBF9TA \
zk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyNTU0NTAyNjE-">Change \
settings via the Web</a> (Yahoo! ID required) <br>  Change settings via email: <a \
href="mailto:extremeprogramming-digest@yahoogroups.com?subject=Email Delivery: \
Digest">Switch delivery to Daily Digest</a> | <a href = \
"mailto:extremeprogramming-traditional@yahoogroups.com?subject=Change Delivery \
Format: Traditional">Switch format to Traditional</a> <br>

      <a href="http://groups.yahoo.com/group/extremeprogramming;_ylc=X3oDMTJkajRiZDhwB \
F9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjU1NDUwMjYx">
  Visit Your Group 
      </a> |
      <a href="http://docs.yahoo.com/info/terms/">
        Yahoo! Groups Terms of Use      </a> |
      <a href="mailto:extremeprogramming-unsubscribe@yahoogroups.com?subject=">
        Unsubscribe      </a> 
    </div>     <!-- |**|end egp html banner|**| -->
  </div> <!-- ygrp-msg -->

  
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px \
0; background: white;">  <!-- Network content -->
    
<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->

	    <!-- Start vitality -->
	    <div id="ygrp-vital" style="background-color: #e0ecee; margin-bottom: 20px; \
                padding: 2px 0 8px 8px;">
	      		<div id="vithd" style="font-size: 77%; font-family: Verdana; font-weight: \
bold; color: #333; text-transform: uppercase;">Recent Activity</div>  <ul \
                style="list-style-type:none; padding: 0; margin: 2px 0;">
		        <li style="clear: both; list-style-type: none; border: 1px solid #e0ecee;">
      <div class="ct" style="float: right; font-weight: bold; color: #ff7900; float: \
right; width: 2em; text-align:right; padding-right: .5em;"><span \
style="display:none">&nbsp;</span>7</div>  <div class="cat" style="font-weight: \
bold;"><a href="http://groups.yahoo.com/group/extremeprogramming/members;_ylc=X3oDMTJm \
ZjBudHY0BF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyNTU0NTAyNjE-">New \
Members</a></div>  </li>
  
		    
		    
		    
		    
		    
		</ul>
	      	      <a href="http://groups.yahoo.com/group/extremeprogramming;_ylc=X3oDMTJlc \
m11djQ2BF9TAzk3MzU5NzE0BGdycElkAzE1MDU0MDkEZ3Jwc3BJZAMxNzA3Mjc2NzE4BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTI1NTQ1MDI2MQ--">
  Visit Your Group	      </a>
	    </div> 
	    	    	      
	    <!-- Network content -->
	    	      <div style="background-color:#EEEEEE; margin-bottom:20px; padding:10px \
                8px;">    <div id="nc">
              <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <div id="hd1">Give Back</div>
  <p><a href="http://us.lrd.yahoo.com/_ylc=X3oDMTJtODBrbGxoBF9TAzk3MzU5NzE0BF9wAzEEZ3J \
wSWQDMTUwNTQwOQRncnBzcElkAzE3MDcyNzY3MTgEc2VjA25jbW9kBHNsawNicmFuZARzdGltZQMxMjU1NDUwMjYx;_ylg=1/SIG=11314uv3k/**http%3A//brand.yahoo.com/forgood" \
style="text-decoration:none; color:#1E66AE; font-weight: normal;">Yahoo! for \
Good</a></p>  <p style="color: #000000; font-weight: normal;">Get inspired</p>
  <p style="color: #000000; font-weight: normal;">by a good cause.</p>
                  </div>
                    <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <div id="hd1">Y! Toolbar</div>
  <p><a href="http://us.lrd.yahoo.com/_ylc=X3oDMTJvYWwyMTkyBF9TAzk3MzU5NzE0BF9wAzIEZ3J \
wSWQDMTUwNTQwOQRncnBzcElkAzE3MDcyNzY3MTgEc2VjA25jbW9kBHNsawN0b29sYmFyBHN0aW1lAzEyNTU0NTAyNjE-;_ylg=1/SIG=11c6dvmk9/**http%3A//toolbar.yahoo.com/%3F.cpdl=ygrps" \
style="text-decoration:none; color:#1E66AE; font-weight: normal;">Get it \
Free!</a></p>  <p style="color: #000000; font-weight: normal;">easy 1-click \
access</p>  <p style="color: #000000; font-weight: normal;">to your groups.</p>
                  </div>
                    <div class="ad" style="color:#628C2A; font-family:Arial; \
font-weight:bold;">  <div id="hd1">Yahoo! Groups</div>
  <p><a href="http://groups.yahoo.com/start;_ylc=X3oDMTJvNW0xOWJzBF9TAzk3MzU5NzE0BF9wA \
zMEZ3JwSWQDMTUwNTQwOQRncnBzcElkAzE3MDcyNzY3MTgEc2VjA25jbW9kBHNsawNncm91cHMyBHN0aW1lAzEyNTU0NTAyNjE-" \
style="text-decoration:none; color:#1E66AE; font-weight: normal;">Start a \
group</a></p>  <p style="color: #000000; font-weight: normal;">in 3 easy steps.</p>
  <p style="color: #000000; font-weight: normal;">Connect with others.</p>
                  </div>
          </div>
</div>
	    
	  </div> 	  <!-- |**|end egp html banner|**| -->
	  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
	</div> 		  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=1505409/grpspId=1707276718/msgId=152042/stime=1255450261/nc1=1/nc2=2/nc3=3" \
width="1" height="1"> <br>  
	<div style="color: white; clear: both;">__,_._,___</div>
	<!--~-|**|PrettyHtmlEnd|**|-~-->
	</body>
	<!--~-|**|PrettyHtmlStart|**|-~-->
	<head>
<style type="text/css">
<!--
#ygrp-mkp{
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 14px 0px;
  padding: 0px 14px;
}
#ygrp-mkp hr{
  border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd{
  color: #628c2a;
  font-size: 85%;
  font-weight: bold;
  line-height: 122%;
  margin: 10px 0px;
}
#ygrp-mkp #ads{
  margin-bottom: 10px;
}
#ygrp-mkp .ad{
  padding: 0 0;
}
#ygrp-mkp .ad a{
  color: #0000ff;
  text-decoration: none;
}
-->
</style>
</head>
	<head>
<style type="text/css">
<!--
#ygrp-sponsor #ygrp-lc{
  font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd{
  margin: 10px 0px;
  font-weight: bold;
  font-size: 78%;
  line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad{
  margin-bottom: 10px;
  padding: 0 0;
}
-->
</style>
</head>
	<head>
	<style type="text/css">
	<!--
	#ygrp-mlmsg {font-size:13px; font-family: \
arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}  #ygrp-mlmsg table \
{font-size:inherit;font:100%;}  #ygrp-mlmsg select, input, textarea {font:99% \
arial,helvetica,clean,sans-serif;}  #ygrp-mlmsg pre, code {font:115% \
monospace;*font-size:100%;}  #ygrp-mlmsg * {line-height:1.22em;}
	#ygrp-text{
	    font-family: Georgia;	
	}
	#ygrp-text p{
	    margin: 0 0 1em 0;
	}

	dd.last p a {
          font-family: Verdana;
          font-weight: bold;
	}

	#ygrp-vitnav{
		padding-top: 10px;
		font-family: Verdana;
		font-size: 77%;
		margin: 0;
	}
	#ygrp-vitnav a{
		padding: 0 1px;
	}
	#ygrp-mlmsg #logo{
	  padding-bottom: 10px;
	}

	#ygrp-reco {
	margin-bottom: 20px;
	padding: 0px;
	}
	#ygrp-reco #reco-head {
		font-weight: bold;
		color: #ff7900;
	}

	#reco-category{
        	font-size: 77%;
	}
	#reco-desc{
        	font-size: 77%;
	}

	#ygrp-vital a{
		text-decoration: none;
	}

	#ygrp-vital a:hover{
	  text-decoration: underline;
	}

	#ygrp-sponsor #ov ul{
		padding: 0 0 0 8px;
		margin: 0;
	}
	#ygrp-sponsor #ov li{
		list-style-type: square;
		padding: 6px 0;
		font-size: 77%;
	}
	#ygrp-sponsor #ov li a{
		text-decoration: none;
		font-size: 130%;
	}
	#ygrp-sponsor #nc{
	  background-color: #eee;
	  margin-bottom: 20px;
	  padding: 0 8px;
	}
	#ygrp-sponsor .ad{
		padding: 8px 0;
	}
	#ygrp-sponsor .ad #hd1{
		font-family: Arial;
		font-weight: bold;
		color: #628c2a;
		font-size: 100%;
		line-height: 122%;
	}
	#ygrp-sponsor .ad a{
		text-decoration: none;
	}
	#ygrp-sponsor .ad a:hover{
		text-decoration: underline;
	}
	#ygrp-sponsor .ad p{
		margin: 0;
		font-weight: normal;
		color: #000000;
	}
	o{font-size: 0; }
	.MsoNormal{
	   margin: 0 0 0 0;
	}
	#ygrp-text tt{
	  font-size: 120%;
	}
	blockquote{margin: 0 0 0 4px;}
	.replbq{margin:4}

dd.last p span {
  margin-right: 10px;
  font-family: Verdana;
  font-weight: bold;
}

dd.last p span.yshortcuts {
  margin-right: 0;
}

div.photo-title a,
div.photo-title a:active,
div.photo-title a:hover,
div.photo-title a:visited {
    text-decoration: none;
}

div.file-title a,
div.file-title a:active,
div.file-title a:hover,
div.file-title a:visited {
    text-decoration: none;
}

#ygrp-msg p#attach-count {
    clear: both;
    padding: 15px 0 3px 0;
    overflow: hidden;
}

#ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: bold;
}

div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
}

#ygrp-msg p a {
    font-family: Verdana;
}

#ygrp-mlmsg a {
    color: #1E66AE;
}

div.attach-table div div a {
    text-decoration: none;
}

div.attach-table {
    width: 400px;
}

	-->
	</style>
	</head>
	<!--~-|**|PrettyHtmlEnd|**|-~-->
	</html><!--End group email -->



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic