<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>www.fooberry.com &#187; Nonsensical Rant</title>
	<atom:link href="http://fooberry.com/category/nonsensical-rant/feed/" rel="self" type="application/rss+xml" />
	<link>http://fooberry.com</link>
	<description>Sweetness Without Context</description>
	<lastBuildDate>Fri, 30 Jul 2010 14:17:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>What a Difference a Theme Makes</title>
		<link>http://fooberry.com/2010/03/29/what-a-difference-a-theme-makes/</link>
		<comments>http://fooberry.com/2010/03/29/what-a-difference-a-theme-makes/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 16:03:47 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Nonsensical Rant]]></category>
		<category><![CDATA[metrics]]></category>

		<guid isPermaLink="false">http://fooberry.com/2010/03/29/what-a-difference-a-theme-makes/</guid>
		<description><![CDATA[<br/>Some of you non-RSS readers might have noticed about a month ago I changed the theme of my blog. I’ve received several complaints about the background and don’t really feel like messing with the getting a new one right, so let’s just change the whole theme. I was quite partial of the background as it [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Some of you non-RSS readers might have noticed about a month ago I changed the theme of my blog. I’ve received several complaints about the background and don’t really feel like messing with the getting a new one right, so let’s just change the whole theme. </p>
<p>I was quite partial of the background as it was an abstract shot I took of a local landmark, but I had to yield to the masses…that’s a bit of an overstatement I guess; however, I can’t argue with the success. </p>
<p>Just take a look at the bounce rate of the blog over the past month. I will give you one guess when I changed the theme. </p>
<p><a href="http://fooberry.com/wp-content/uploads/2010/03/SS2010.03.2910.51.37.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SS-2010.03.29-10.51.37" border="0" alt="SS-2010.03.29-10.51.37" src="http://fooberry.com/wp-content/uploads/2010/03/SS2010.03.2910.51.37_thumb.png" width="616" height="131" /></a> </p>
<p>Pretty shocking huh? As a friend pointed out, the lower bounce rate could be because the visitors are lost or don’t know where to find what they are looking for, but as as 80% is coming in off keyword traffic and 19% are coming from my linked articles on StackOverflow, I don’t think that’s a problem. </p>
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2010/03/29/what-a-difference-a-theme-makes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flickr Paging Oddities</title>
		<link>http://fooberry.com/2009/11/10/flickr-paging-oddities/</link>
		<comments>http://fooberry.com/2009/11/10/flickr-paging-oddities/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 15:26:06 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[A Tale of Awful Design]]></category>
		<category><![CDATA[Nonsensical Rant]]></category>

		<guid isPermaLink="false">http://fooberry.com/2009/11/10/flickr-paging-oddities/</guid>
		<description><![CDATA[<br/>It might have always been this way, but Flickr is making some odd choices when paging their photos. As you can see in the screenshot, it stacks the photos in three columns, but only completely fills the first two, leaving an empty slot in the last column. I’ve tried this with several different searches, different [...]]]></description>
			<content:encoded><![CDATA[<br/><p>It might have always been this way, but Flickr is making some odd choices when paging their photos. As you can see in the screenshot, it stacks the photos in three columns, but only completely fills the first two, leaving an empty slot in the last column. </p>
<p><a href="http://fooberry.com/wp-content/uploads/2009/11/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://fooberry.com/wp-content/uploads/2009/11/image_thumb.png" width="709" height="620" /></a> </p>
<p>I’ve tried this with several different searches, different ordering, etc, and it appears to be random. Sometimes it completely fills up the grid, sometimes it leaves one space, sometimes it leaves two. The first time I saw it, I thought my search only brought up one page of result, but then saw the pager at the bottom, along with the number of results.</p>
<p>I don’t know what they are thinking, but it’s odd. At least to me.</p>
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2009/11/10/flickr-paging-oddities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More training tips</title>
		<link>http://fooberry.com/2009/05/01/more-training-tips/</link>
		<comments>http://fooberry.com/2009/05/01/more-training-tips/#comments</comments>
		<pubDate>Fri, 01 May 2009 12:56:15 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Nonsensical Rant]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://fooberry.com/?p=762</guid>
		<description><![CDATA[<br/>The week is coming to an end, and I have a few more mental notes to make about training in general. For the first two, see the previous post. 3. Bring your own coffee mug and water bottle.  Not only is it nice to have a little bit of home with you on the road (my [...]]]></description>
			<content:encoded><![CDATA[<br/><p><a href="http://www.flickr.com/photos/emdot/2295403284/"><img class="alignright" title="tools of the trade" src="http://farm4.static.flickr.com/3190/2295403284_14d5606b4b_m.jpg" alt="" width="240" height="237" /></a>The week is coming to an end, and I have a few more mental notes to make about training in general. For the first two, see <a href="http://fooberry.com/2009/04/29/travel-training-and-tempers/">the previous post</a>.</p>
<p>3. <strong>Bring your own coffee mug and water bottle.</strong>  Not only is it nice to have a little bit of home with you on the road (my favorite coffee mug has special meaning to me), but it beats the tiny styrofoam cups they provided at our training. Ignoring the environmental impacts  of using a lot of toxic cups throughout the week, it is a pain to keep getting up to refill my coffee. Also, as one of my odd observations, the more coffee I drink in these cups, the faster it gets cold, so the faster I have to drink it, etc. </p>
<p>4. <strong>Get there early on the first day.</strong> As programmers, we might not be the most social kids on the playground. What I&#8217;ve found is there are either predefined cliques (e.g. coworkers) or defacto cliques (e.g. those sitting immediately next to you. After the first day, you know those people, your machine is setup just the way you like it, so you&#8217;re likely to sit there every day that week. Not just you though, everyone will most likely do the same. So if you arrive late, or even on time as I did, the first day, you&#8217;ll most likely be stuck in the back. You might not be able to read  the text in the presentations or see over the heads and monitors of those in front of you.</p>
<p>5. <strong>Export your settings and tools to the web.</strong> This is a great trick for more than even training. I was lucky enough that my post before coming here was about my new IDE colors and I included my settings file. I was able to bring it down and now my IDE here looks exactly like the one at home. If I would have exported a few more settings, all the keystrokes would be the same as well. Beyond just the settings, any tools you might use can come in handy. This also helps if you leave your company, or get a new PC or log in somewhere else. Having those things in a central place is nice. I&#8217;ve even seen people store their settings files on Google Code so they can keep a history of them, or just for a central storage location.</p>
<p>6. <strong>Bring a storage device.</strong> Some of the labs, PDF&#8217;s etc are nice to have. They usually give you this as a download, but being able to take what you&#8217;ve worked on in class, back  to the hotel room is pretty handy. </p>
<p>I should probably get started on the morning lab. Hopefully this weekend, or next week I can provide a quick review of my class.</p>
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2009/05/01/more-training-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Travel, training and tempers</title>
		<link>http://fooberry.com/2009/04/29/travel-training-and-tempers/</link>
		<comments>http://fooberry.com/2009/04/29/travel-training-and-tempers/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 13:08:00 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Nonsensical Rant]]></category>

		<guid isPermaLink="false">http://fooberry.com/?p=760</guid>
		<description><![CDATA[<br/>This is going to be short. This week, my company has sent me half way across the country (everything is half way across the country when you are in the mid-west) to SharePoint MOSS Development training in Tampa, Florida. I&#8217;ve been wanting to compile a day-by-day review of the course, in the spirit of Ferverent [...]]]></description>
			<content:encoded><![CDATA[<br/><p>This is going to be short. This week, my company has sent me half way across the country (everything is half way across the country when you are in the mid-west) to SharePoint MOSS Development training in Tampa, Florida. I&#8217;ve been wanting to compile a day-by-day review of the course, in the spirit of <a href="http://ferventcoder.com/archive/2008/11/24/nothin-but-.net-developer-boot-camp---wrap-up.aspx">Ferverent Coder&#8217;s review of the Nothin&#8217; but .Net Developer Boot Camp NBDNDBC</a> (I guess acronyms don&#8217;t always work). He has a wonderful review of a training seminar I&#8217;ve been wanting to go to for a while now, and his review further solidified my desire to attend. Anyway, I want to do the same thing, but don&#8217;t have the energy at the end of the day, and my days aren&#8217;t nearly as long as his.</p>
<p>I did want to pass along some travel tips and tricks I&#8217;ve learned in the past few days that might make your trip more pleasant than mine. </p>
<p>1. <strong>Fly direct.</strong>  When you have to get from point A to point B, the weather in point C should not be of your concern, unless of course point C is Chicago, Atlanta, Denver, or one of the few other air plane magnets in the country. I didn&#8217;t have a choice in booking my travel, which could have been booked direct through Southwest, so instead I had a scheduled itinerary of 10 hours, but after delays because of weather half way across the country, it took 15. Google tells me I could have driven the entire length of the journey in 16 hours and Southwest could have brought me there in two. So lesson one, fly direct&#8230;or move to a hub city. <em>Programming lesson: Tight coupling is bad.</em></p>
<p>2. <strong>Bring headphones</strong>. When attending a lecture/lab style training session. It would have been nice to have head phones to drown out the chatter of everyone else or question you don&#8217;t care to hear answered. <em>Programming lesson: <a href="http://en.wikipedia.org/wiki/Law_of_Demeter">Law of Demeter</a>.</em> </p>
<p>Class is starting, so more later. </p>
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2009/04/29/travel-training-and-tempers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two bugs for the price of none</title>
		<link>http://fooberry.com/2009/02/18/two-bugs-for-the-price-of-none/</link>
		<comments>http://fooberry.com/2009/02/18/two-bugs-for-the-price-of-none/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 13:57:59 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Nonsensical Rant]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://fooberry.com/?p=674</guid>
		<description><![CDATA[<br/>We recently pushed a feature into production that had a pretty serious flaw. If gone unfound it could have caused headaches with billing the wrong customer the wrong amount and all kinds of other potentially damning effects. Luckily for us, we also had a second bug. The feature that was to send the notification e-mail [...]]]></description>
			<content:encoded><![CDATA[<br/><p>We recently pushed a feature into production that had a pretty serious flaw. If gone unfound it could have caused headaches with billing the wrong customer the wrong amount and all kinds of other potentially damning effects.  Luckily for us, we also had a second bug. The feature that was to send the notification e-mail that data was ready to be corrupted by our bug was misconfigured when it moved to the production environment. Lucky for us, no one was being told they should go execute our buggy code, so no one did and we found it, fixed it and all those actions items that queued up ran through without a hitch.</p>
<p>Now lucky for us or not, we did fail to find two serious bugs. It highlights the need for thorough acceptance testing. <em>Thorough</em> being the key word there.</p>
<p>The first bug existed if action items queued up and were acted upon in a certain order. Testing was done in this area, but the items never fell in the order where we found the bug. Would acceptance tests go so far to say:</p>
<ul>
<li>Act on the first item in the list and verify the actions were taken correctly.</li>
<li>Act on the second item in the list&#8230;</li>
<li>Act on a list with a single item&#8230;</li>
<li>Act on a list with two items&#8230;</li>
<li>Act on a list with <em>n</em> items&#8230;</li>
</ul>
<p>How detailed do you get? </p>
<p>The first bug was a pretty lame mistake, although I feel SQL should have been alerted when we attempted to do an udate  a single from a statement that returned multiples. I don&#8217;t know how it makes sense to choose the first row and go about your business. </p>
<p>As for the second, testing the production configuration is hard. We do have some junk data laying around in the production DB that we can manipulate, and probably should have to verify the e-mails were sending. Config changes between the two are difficult to manage. Keeping the e-mail address, servers, roles, etc in sync to the correct environment is made simpler by branches, but verification isn&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2009/02/18/two-bugs-for-the-price-of-none/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Return from Hiatus</title>
		<link>http://fooberry.com/2008/12/22/return-from-hiatus/</link>
		<comments>http://fooberry.com/2008/12/22/return-from-hiatus/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 00:17:16 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Nonsensical Rant]]></category>

		<guid isPermaLink="false">http://fooberry.com/2008/12/22/return-from-hiatus/</guid>
		<description><![CDATA[<br/>There has been a lot going on lately that prevented me from posting as often as I should. The good news is I&#8217;ve taken a new job which is sure to provide many exciting new challenges to share. The bad news is the new organization isn&#8217;t currently using ReSharper. This is something that I hope [...]]]></description>
			<content:encoded><![CDATA[<br/><p>There has been a lot going on lately that prevented me from posting as often as I should. The good news is I&#8217;ve taken a new job which is sure to provide many exciting new challenges to share. The bad news is the new organization isn&#8217;t currently using ReSharper. This is something that I hope to remedy, but the ReSharper tips of the day might not return.</p>
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2008/12/22/return-from-hiatus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Tale of Inconsistency</title>
		<link>http://fooberry.com/2008/11/14/a-tale-of-inconsistency/</link>
		<comments>http://fooberry.com/2008/11/14/a-tale-of-inconsistency/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 15:50:05 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Nonsensical Rant]]></category>

		<guid isPermaLink="false">http://fooberry.com/2008/11/14/a-tale-of-inconsistency/</guid>
		<description><![CDATA[<br/>So in the hard times of our economy, companies cut back on non-essentials. We&#8217;ve recently gone from two coffee pots to one.* We have anther pot with an orange handle, but I can&#8217;t see the logic in drinking from that one. Only one pot means all those snaky people who leave 2oz of coffee for [...]]]></description>
			<content:encoded><![CDATA[<br/><p><a href="http://www.flickr.com/photos/dave77459/474610364/"><img class="alignright" title="coffee" src="http://farm1.static.flickr.com/181/474610364_a53260bfc4_m.jpg" alt="" width="240" height="180" /></a>So in the hard times of our economy, companies cut back on non-essentials. We&#8217;ve recently gone from two coffee pots to one.* We have anther pot with an orange handle, but I can&#8217;t see the logic in drinking from that one. Only one pot means all those snaky people who leave 2oz of coffee for the person behind them holding a 6oz cup are twice as effective. You can no longer combine the two 2oz pots and get a somewhat satisfying cup of coffee.</p>
<p>Yesterday I was the unfortunate one who came across an empty pot. So after mentally cussing out whomever left it, I started a new one and went to the next floor where I was able to grab the last full cup. Yes! Being the good boy I that am I started yet another pot. I reached into the drawer where the coffee is kept, made the pot and started to leave. As I was leaving the room the label I tossed in the trash caught my eye. There was a little flash of green on the package. I went and looked closer. This floor kept the regular and decaff coffee in opposite drawers as the superior floor above. Luckily I caught my mistake, trashed the pot that was already started and made a proper pot. The poor souls who would have failed to receive their liquid wake up call would weighed against my karma.</p>
<p>It holds true in life, as well as programming. Consistency matters. We develop routines that are habitual and difficult to break. Just as the coffee was always in the same drawer, the parameters are always in the same order. Taking extra care to follow some de facto convention could save slip ups like this.</p>
<p><em>* The reduction was most likely not related to cut backs, but rather just ended up being broken; however, not replacing it may be related to cut backs.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2008/11/14/a-tale-of-inconsistency/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Dvorak Keyboard</title>
		<link>http://fooberry.com/2008/10/28/the-dvorak-keyboard/</link>
		<comments>http://fooberry.com/2008/10/28/the-dvorak-keyboard/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 02:07:20 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Nonsensical Rant]]></category>
		<category><![CDATA[keyboard]]></category>

		<guid isPermaLink="false">http://fooberry.com/2008/10/28/the-dvorak-keyboard/</guid>
		<description><![CDATA[<br/>I&#8217;ve always heard about this mythical keyboard layout that was the apogee of all keyboards, the glowing golden standard to which all others fail to equal, and the other keyboard, designed to be slow and awkward. What might surprise some people is it&#8217;s the other, slower keyboard that has sprouted up on desks and laps [...]]]></description>
			<content:encoded><![CDATA[<br/><p><a title="Dvorak on Flickr - Photo Sharing!" href="http://flickr.com/photos/booddin/314523515/"><img class="alignleft" src="http://farm1.static.flickr.com/109/314523515_e72376d476_m.jpg" alt="" width="240" height="180" /></a><br />
I&#8217;ve always heard about this mythical keyboard layout that was the apogee of all keyboards, the glowing golden standard to which all others fail to equal, and the other keyboard, designed to be slow and awkward. What might surprise some people is it&#8217;s the other, slower keyboard that has sprouted up on desks and laps all over the world and the <a title="Secretariat (horse) - Wikipedia, the free encyclopedia" href="http://en.wikipedia.org/wiki/Secretariat_(racehorse)">Secretariat</a> of keyboards never gets its chance to show its true legs.</p>
<p>The <a title="QWERTY - Wikipedia, the free encyclopedia" href="http://en.wikipedia.org/wiki/Qwerty">Qwerty</a> keyboard was designed to keep the mechanical arms of typewriters from jamming by positioning common successive strokes on either sides of the machine. In contrast the <a title="Dvorak Simplified Keyboard - Wikipedia, the free encyclopedia" href="http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard">Dvorak keyboard</a> was designed to make the most common letters and<br />
sequences of letters the easiest to type.</p>
<p>While installing Ubuntu this evening I noticed the Dvorak keyboard as an option. Immediately I thought about the several Dell keyboards I have tucked away in drawers gathering dust. Now I love my new <a title="Apple Store  (U.S.) - Apple Keyboard" href="http://store.apple.com/us/product/MB110LL/A?fnode=MTY1NDA1Mg&amp;mco=NzU3ODU5">slim Apple keyboard</a>, but I&#8217;m going to stow it in the drawer for the next few weeks. Tomorrow I plan on laying out a Dvorak and giving it a try. I would like to find a typing <a title="Test Your Typing Speed" href="http://www.mediacollege.com/test/keyboard/">speed test</a> and see how it compares to the Qwerty and how it improves over time.</p>
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2008/10/28/the-dvorak-keyboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Join the Dark Side of the Force</title>
		<link>http://fooberry.com/2008/10/15/join-the-dark-side-of-the-force/</link>
		<comments>http://fooberry.com/2008/10/15/join-the-dark-side-of-the-force/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 19:35:11 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Nonsensical Rant]]></category>
		<category><![CDATA[colors]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://fooberry.com/?p=432</guid>
		<description><![CDATA[<br/>I catch a lot of grief at work, hopefully in jest, about my non-traditional IDE colors. After reading through some links on A Continuous Learner&#8217;s Weblog I stumbled upon a link showing people&#8217;s dark IDE colors, so I thought I would post mine. I&#8217;ve tried a lot of different IDE colors, but still haven&#8217;t been [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I catch a lot of grief at work, hopefully in jest, about my <em>non-traditional </em>IDE colors. After reading through some links on <a href="http://spietrek.blogspot.com/2008/10/links-1082008.html">A Continuous Learner&#8217;s Weblog</a> I stumbled upon a link showing people&#8217;s dark IDE colors, so I thought I would post mine. I&#8217;ve tried a lot of different IDE colors, but still haven&#8217;t been persuaded away from <a href="http://fooberry.com/wp-content/uploads/2008/10/fooberrydarkcolors2.vssettings">my color scheme</a>.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-433" title="12" src="http://fooberry.com/wp-content/uploads/2008/10/12.png" alt="" width="702" height="603" /></p>
<p style="text-align: left;">I stole the example text from <a href="http://www.codinghorror.com/blog/archives/000682.html">CodingHorror</a>. The font is Monaco which comes with Mac OS X, but can also be <a href="http://www.webdevkungfu.com/textmate-envy-aka-monaco-font-for-windows/">found for the PC</a>.</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2008/10/15/join-the-dark-side-of-the-force/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Incentivizing Programmers</title>
		<link>http://fooberry.com/2008/10/14/incentivizing-programmers/</link>
		<comments>http://fooberry.com/2008/10/14/incentivizing-programmers/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 02:44:09 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Nonsensical Rant]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Team Build]]></category>

		<guid isPermaLink="false">http://fooberry.com/?p=422</guid>
		<description><![CDATA[<br/>In most factories, especially those that pride themselves on their safety records, you&#8217;ll find a sign that says something like &#8220;600 days since our last lost time incident&#8221;. We should have the same for our automated build qualities, although I doubt they will ever reach 600 days of consecutive green builds. It would hopefully generate [...]]]></description>
			<content:encoded><![CDATA[<br/><p><img class="alignright size-full wp-image-430" title="brokenbuilds001" src="http://fooberry.com/wp-content/uploads/2008/10/brokenbuilds001.png" alt="" width="400" height="239" />In most factories, especially those that pride themselves on their safety records, you&#8217;ll find a sign that says something like &#8220;600 days since our last lost time incident&#8221;. We should have the same for our automated build qualities, although I doubt they will ever reach 600 days of consecutive green builds. It would hopefully generate a sense of pride in the build. Imagine if you joined a team that had 60 days of green builds and that number was publicized for the entire organization to see. Wouldn&#8217;t you take extra care to make sure you don&#8217;t do something that flips it over to red, even for one build?</p>
<p>Gaining momentum behind doing automated build is something our organization is struggling with at the moment. For some reason the value isn&#8217;t immediately apparent or the schedules and budgets don&#8217;t allow for it at the moment. Both of those are topics for another post. Maybe a component to gaining that momentum is illustrating the elevation and longevity of the quality of the builds. I see two metrics being valuable.</p>
<ol>
<li>Days of consecutive green builds</li>
<li>Change in the number of unit tests over time</li>
</ol>
<p><em>Potentially a third being the number of customer reported defects.</em></p>
<p>The number of consecutive green builds is important, but if one team is doing nightly builds and another is doing continuous integration, does one team have a significant advantage in quality over another? I would say there is benefit there, but I wouldn&#8217;t categorize the advantage as significant. Also, looking at the change in the number of tests provides a better indication of progress than percentage change. Adding a hundred unit tests to a build that already has a thousand is substantially better than adding one unit test to a set of ten. I imagine you&#8217;re saying that is still rather subjective because you could have ten quality tests and a thousand horribly simple ones and that&#8217;s true, but maybe this isn&#8217;t the place to make those determinations. Let&#8217;s assume all unit tests are of roughly the same complexity and comprehension.</p>
<p>So here is my question. <strong>Would it be valid and beneficial to incentivize teams to improve these metrics or compete against other teams to improve the metrics?</strong> In the past we&#8217;ve given out $5 gift cards to Starbucks or iTunes when people did good jobs on something, just as a nice &#8220;thank you&#8221;. Would that work here? Could giving a $5 gift card to the each member of the team that has the longest stretch of green builds or added the most unit tests in the last month help motivate people? Now I don&#8217;t expect people to add hundreds unit tests every month to get their free <em>fat free half caf soy carmel white chocolate mocha macchiato</em> (I&#8217;m not even sure that drink exists or if would be less than $5 if it did). I&#8217;m not saying those are the metrics and the periodicity of the rewards that would work the best, just wondering if the spirit of it would work.</p>
<p>Recent posts by <a title="Sins of Omissions" href="http://ayende.com/Blog/archive/2008/10/11/sins-of-omissions.aspx">Ayende</a> and <a title="How Hard Could It Be?: Sins of Commissions, Marketing and Advertising Article - Inc. Article" href="http://www.inc.com/magazine/20081001/how-hard-could-it-be-sins-of-commissions.html?partner=fogcreek">Joel Spolsky</a> seem to imply it would fail miserably.</p>
<p>I&#8217;m not sure something like $5 will lead teams to work the system just for the reward. Even without the monetary reward <strong>the principle behind taking pride in the build quality could established by making an aggregated build report public</strong>. Something <em>really</em> public. Maybe a screen when I get off the elevators, or a TV in the lobby that gives some metrics. Let me see who the people are who are writing the most unit test. I&#8217;m sure they can answer some of my questions or give me advice. Show me who isn&#8217;t building and we can get them the help they need to get it off the ground. There should be something we could do to help.</p>
]]></content:encoded>
			<wfw:commentRss>http://fooberry.com/2008/10/14/incentivizing-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
