<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Vinegar Tasting</title>
	<atom:link href="http://vinegartasting.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vinegartasting.wordpress.com</link>
	<description>making the most of anything</description>
	<lastBuildDate>Tue, 17 Aug 2010 19:55:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='vinegartasting.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/1fd5af3b9e51aeced42f49d18fc56f76?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Vinegar Tasting</title>
		<link>http://vinegartasting.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vinegartasting.wordpress.com/osd.xml" title="Vinegar Tasting" />
	<atom:link rel='hub' href='http://vinegartasting.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Performance Reviews</title>
		<link>http://vinegartasting.wordpress.com/2010/08/17/performance-reviews/</link>
		<comments>http://vinegartasting.wordpress.com/2010/08/17/performance-reviews/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 18:39:55 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[distractions]]></category>
		<category><![CDATA[achievment]]></category>
		<category><![CDATA[drive]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[incentives]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[running]]></category>
		<category><![CDATA[SMART]]></category>
		<category><![CDATA[success]]></category>

		<guid isPermaLink="false">https://vinegartasting.wordpress.com/2010/08/17/performance-reviews/</guid>
		<description><![CDATA[New job, new directs, new sets of performance reviews to do. More discussions on what an objective or goal should be. SMART always comes up. But there&#8217;s problems with SMART. People try to write something that is specific, measurable, achievable, relevant and timely. I may have some of those wrong and if you google SMART [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=79&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>New job, new directs, new sets of performance reviews to do. More discussions on what an objective or goal should be. SMART always comes up. But there&#8217;s problems with SMART. People try to write something that is specific, measurable, achievable, relevant and timely. I may have some of those wrong and if you google SMART you find different definitions. That&#8217;s one of the problems. It&#8217;s too much to get right and have clear goals.  You end up with long muddled objectives that need reading a few times to understand or that have to be massively simplified.</p>
<p>Instead of trying to meet all those criteria just aim for MT goals. (I got this from manager tools podcast). Measurable and Timed. Complete/improve/change x by exact date. Simple, clear, unambiguous.</p>
<p>OK so x can still be tricky. Complete what exactly?</p>
<p>What do we want from a performance review? Better performance of course!</p>
<p>So x should be something that improves performance measurably. And that&#8217;s where you need to be creative. There is a danger of the objective becoming task management. And another danger of task management is that often the ability to complete the task by a given time depends on many external factors that the guy with the objective has no influence over.</p>
<p>The best performers should not be task managed but asked to make something better, let them determine how. Without constraints those that want to won&#8217;t be constrained and will achieve more.</p>
<p>How often should you review performance? Quarterly? Monthly? At least!</p>
<p>Running has fairly simple targets. Be faster or go further. I&#8217;ve got 6 weeks left to prepare for the Warrington 1/2 marathon, so I&#8217;ve got one big objective &#8211; run from start to finish, no walking. To reach that I have some smaller intermediate goals. At the end of the first week my target was to run 3 1/2K. But by the weekend I had changed this to be reach 5K. Next weekend a new target to reach 7 1/2K. All was going well at 6K so again I pushed for a bigger target 8 1/2K. Made that too, but it was hard.</p>
<p>Every time a target looks like it can be reached, set a new target that&#8217;s harder to achieve. The best performance comes when the target is just out of reach and we dare to succeed. Sometimes we&#8217;re going to fail when always pushing for the best performance. Set achievable targets and you will never get the best. Always re-evaluate the target as you go along.</p>
<p>Now we often hit a problem. Some organisations like to link the performance review to more than getting the best performance, but also to a pay or salary review. If you can almost never achieve your objectives, and continually deliver fantastic performance, does your review say you&#8217;ve failed, so won&#8217;t get that pay rise? Well, yes if you work for a dumb organisation. If your performing that well go somewhere else.</p>
<p>If you want best performance and you&#8217;re tying it to pay you&#8217;ve missed the links between incentives and performance anyway. Lack of money demotivates, more doesn&#8217;t increase performance. Find out more from Dan Pink below:</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/u6XAPnuFjJc?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=79&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/08/17/performance-reviews/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>
	</item>
		<item>
		<title>Prioritisation should be easy, ask a donkey</title>
		<link>http://vinegartasting.wordpress.com/2010/08/03/prioritisation-should-be-easy-ask-a-donkey/</link>
		<comments>http://vinegartasting.wordpress.com/2010/08/03/prioritisation-should-be-easy-ask-a-donkey/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 22:48:23 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[donkey]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[moscow]]></category>
		<category><![CDATA[priority]]></category>
		<category><![CDATA[waterfall]]></category>

		<guid isPermaLink="false">http://vinegartasting.wordpress.com/?p=76</guid>
		<description><![CDATA[As we move from a waterfall to iterative to agile software development and through to single piece flow, we go from gathering lots of requirements up front to enough requirements upfront. We go from having a prioritisation in waterfall of do everything, possibly with some sort of MoSCoW (Must have, Should have, Could have, Won&#8217;t [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=76&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As we move from a waterfall to iterative to agile software development and through to single piece flow, we go from gathering lots of requirements up front to enough requirements upfront. We go from having a prioritisation in waterfall of do everything, possibly with some sort of MoSCoW (Must have, Should have, Could have, Won&#8217;t have), to picking a group of items to prioritise for an iteration to an absolute priority.</p>
<p>If we&#8217;re truely going for single flow we work on one feature (a minimum marketable feature or MMF) at a time. We want to work on the highest priority. Whilst we&#8217;re not working on the rest of the features in the queue, the business can change their priority as often as they like, it costs very little in development terms until we&#8217;ve actually started working on the feature.</p>
<p>But we often have a couple of features and it&#8217;s difficult to tell which is the highest priority, especially when you come from a background where you&#8217;re allowed to have 10 Must haves, a couple of Should haves and few Could haves (Oddly enough I&#8217;ve had to work on projects where features were put into must, should, could, want; and then project success was defined as all must and should have&#8217;s delivered &#8211; so much for that relative prioritisation).</p>
<p>So how do you work out an absolute priority. Often we&#8217;re asked to do both. It could be that both features will be developed before a release, but that shouldn&#8217;t be necessary. If we can develop one and release it we have delivered real value. So there is an important decision to be made, which is the highest priority?</p>
<p>There has to be one, even a donkey with two identical carrots placed an equal distance either side of it&#8217;s head won&#8217;t stand there and starve to death. It will very quickly decide on one carrot to eat before the other. Donkeys don&#8217;t starve.</p>
<p>Now we&#8217;re a little more complex and with better reasoning than a donkey. And this can make it difficult to decide which out of a small set of features is the highest priority. We can just randomly pick one feature over another, that&#8217;s quite easy to do. But to be able to accurately determine which feature should be developed first we really need to start to understand the benefits and trade-offs of picking one feature over another.</p>
<p>This takes some thought and knowledge and understanding of things like cost of delay. The more we move from a batched/grouped priority to a queue the more this needs to be understood.</p>
<p>Of course we get some benefits from working and delivering a single feature, much quicker feedback from our customers which should help improve our knowledge and prioritisation of future development. But when you&#8217;re starting out, don&#8217;t starve, we&#8217;re smarter than donkey&#8217;s &#8211; something has to be more important than any other feature, and do you know why?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/76/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=76&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/08/03/prioritisation-should-be-easy-ask-a-donkey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>
	</item>
		<item>
		<title>Monkey Learning</title>
		<link>http://vinegartasting.wordpress.com/2010/07/18/monkey-learning/</link>
		<comments>http://vinegartasting.wordpress.com/2010/07/18/monkey-learning/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 15:22:58 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[distractions]]></category>
		<category><![CDATA[5whys]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[monkeys]]></category>
		<category><![CDATA[tradition]]></category>

		<guid isPermaLink="false">https://vinegartasting.wordpress.com/2010/07/18/monkey-learning/</guid>
		<description><![CDATA[I don&#8217;t know if this is a true story but I did find it posted on s US naval site so it just might be. Some time ago the US navy took 5 monkeys and put them in a cage, in the cage was a step ladder with a load of bananas at the top. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=74&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know if this is a true story but I did find it posted on s US naval site so it just might be. </p>
<p>Some time ago the US navy took 5 monkeys and put them in a cage, in the cage was a step ladder with a load of bananas at the top. Whenever a monkey touched the ladder the cage was flooded with icy cold water. This was repeated until the monkeys no longer approached the step ladder. </p>
<p>At thus point of of the monkeys was taken out and replaced with another monkey that had never been subjected to the cold icy water. The cold water jets were also switched off. No more threat of being soaked. </p>
<p>The new monkey saw the bananas and headed straight for the ladder. The other monkeys, not wanting another soaking dragged it away and stopped it going near the ladder through whatever persuasive techniques available to them. </p>
<p>Once that new monkey no longer wanted to go near the ladder, a second monkey wad introduced that again had never been soaked, replacing one of the original (and now presumably angry and hungry) monkeys. </p>
<p>Again the new monkey was restrained by all the others, even though there was no risk of cold icy water. </p>
<p>And so the monkeys were slowly replaced until not a single monkey in the cage had ever been soaked, yet not one monkey would approach the ladder for fear of being mindlessly attacked by the others. </p>
<p>Humans would never do anything like this would they?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=74&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/07/18/monkey-learning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>
	</item>
		<item>
		<title>What&#8217;s in a tradition?</title>
		<link>http://vinegartasting.wordpress.com/2010/07/18/whats-in-a-tradition/</link>
		<comments>http://vinegartasting.wordpress.com/2010/07/18/whats-in-a-tradition/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 14:56:20 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[distractions]]></category>
		<category><![CDATA[5whys]]></category>
		<category><![CDATA[belief]]></category>
		<category><![CDATA[superstition]]></category>
		<category><![CDATA[tradition]]></category>

		<guid isPermaLink="false">https://vinegartasting.wordpress.com/2010/07/18/whats-in-a-tradition/</guid>
		<description><![CDATA[There&#8217;s two stories I&#8217;ve often heard that are almost the same that demonstrate tradition. First off is the story of the onion &#8211; and it starts with a newly wed couple. The husband wanting to impress his wife cooks their Sunday roast. Into the pan with chicken goes half an onion. Once the roast is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=73&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s two stories I&#8217;ve often heard that are almost the same that demonstrate tradition. </p>
<p>First off is the story of the onion &#8211; and it starts with a newly wed couple. The husband wanting to impress his wife cooks their Sunday roast. Into the pan with chicken goes half an onion. Once the roast is cooked, the onion is taken out and thrown away. Puzzled the wife asks why do that? </p>
<p>The reply &#8220;well I&#8217;ve always done that, I don&#8217;t know why &#8211; it&#8217;s what my mum did.&#8221;</p>
<p>So the ring the guys mum and ask her why there was an onion roasted next to the chicken only for it to be thrown away. </p>
<p>Her reply is just like her sons &#8220;i don&#8217;t know &#8211; it&#8217;s just what my mum did.&#8221;</p>
<p>So they ring up the husbands grandma and ask her why she put onions in with the roast dinner, only to throw it away. </p>
<p>At last comes an answer, &#8220;oh, when I was little we did&#8217;t have non stick pans and you really had to scrub the pan hard to get it clean after cooking in it, but if you put an onion in it helps to stop bits sticking, of course I don&#8217;t bother doing that now!&#8221;</p>
<p>Far too often we just do things without knowing why. Because someone else does it a particular way, because it worked that way for us once before (could have just been luck, or really sub optimal). There Is very little thought it challenge. Tradition happens because no one wants to stand out or ask why, if you wait too long before asking you may never know why at which because those that started the tradition may be dead by then. Then we call it dogma because to make sure we keep following the rules it has to sound more important than a tradition. </p>
<p>The second story also involves a man trying to impress his girlfriend/wife with his cooking. This time it&#8217;s a turkey he&#8217;s cooking, and before he puts it in the oven he snaps off the legs and lays them down next to the rest of the bird. His wife asks why? He doesn&#8217;t know &#8211; it&#8217;s what we&#8217;ve always done. So they ring the mother who does it because het mother did, who tells them that she did if because they only had s small oven that wouldn&#8217;t fit a turkey in with it&#8217;s legs attached. </p>
<p>Beware of onions or broken turkey legs. Challenge what is being done and ask why. If you ever get because we&#8217;ve always done it that way, or no one got fired for picking IBM, or because amazon do it that way, think about what your doing cos you&#8217;re probably doing something wrong, most likely wrong and stupid. </p>
<p>&#8212;&#8211;</p>
<p>Read about &#8220;Why England Lose&#8221; for more examples http://bit.ly/bYpxok</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=73&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/07/18/whats-in-a-tradition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting up Eclipse for TDD</title>
		<link>http://vinegartasting.wordpress.com/2010/07/11/setting-up-eclipse-for-tdd/</link>
		<comments>http://vinegartasting.wordpress.com/2010/07/11/setting-up-eclipse-for-tdd/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 10:52:11 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[continuous testing]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[infinitest]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://vinegartasting.wordpress.com/?p=64</guid>
		<description><![CDATA[This is a short post to remind myself what I&#8217;ve done to set up Eclipse for running TDD. As we&#8217;re about to start running some dojos at work to help reinforce the practices and principles of TDD, a common easy to use environment with quick feedback helps a lot. So what&#8217;s needed for TDD &#8211; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=64&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is a short post to remind myself what I&#8217;ve done to set up Eclipse for running TDD. As we&#8217;re about to start running some dojos at work to help reinforce the practices and principles of TDD, a common easy to use environment with quick feedback helps a lot.</p>
<p>So what&#8217;s needed for TDD &#8211; red, green, refactor &#8211; with quick feedback. I&#8217;ve had a quick look at the <a title="Infinitest" href="http://improvingworks.com/products/infinitest/">infinitest</a> plugin for Eclipse and it&#8217;s really good, however I&#8217;m not going to be able to justify the cost whilst we&#8217;re just starting out on TDD, perhaps the single user cost, but not the corporate cost. Fortunately the project started off as an open source project and whilst this version doesn&#8217;t give all the feedback goodies, it works pretty well.</p>
<p>Infinitest will run only the unit tests relevant to what you&#8217;ve been changing and in an order to give you feedback really quickly. Go get the <a title="4.0.3 GPL Version of Infinitest" href="http://infinitest.googlecode.com/files/infinitest-4.0.3.zip">4.0.3 version from Google code</a>, then unzip to some location on your system.</p>
<p>Although be default Eclipse is configured to build a project automatically, it doesn&#8217;t save files automatically like IntelliJ does. Currently I set Eclipse up to not build automatically, but change the preferences to save automatically before build, then use Ctrl-B to trigger a save all and build. If I&#8217;ve edited more than one file this saves at least two key presses.</p>
<p><a href="http://vinegartasting.files.wordpress.com/2010/07/savebeforebuild.png"><img class="alignnone size-thumbnail wp-image-67" title="SaveBeforeBuild" src="http://vinegartasting.files.wordpress.com/2010/07/savebeforebuild.png?w=150&#038;h=140" alt="" width="150" height="140" /></a></p>
<p>The Infinitest download comes with instructions, basically add the infinitest.jar to the projects build path as an external jar:</p>
<p><a href="http://vinegartasting.files.wordpress.com/2010/07/addinfinitesttobuildpath.png"><img class="alignnone size-thumbnail wp-image-65" title="AddInfinitestToBuildPath" src="http://vinegartasting.files.wordpress.com/2010/07/addinfinitesttobuildpath.png?w=150&#038;h=103" alt="" width="150" height="103" /></a></p>
<p>Then create a run configuration passing the main class of org.infinitest.Infinitest, and run.</p>
<p><a href="http://vinegartasting.files.wordpress.com/2010/07/configurerunconfiguration.png"><img class="alignnone size-thumbnail wp-image-66" title="ConfigureRunConfiguration" src="http://vinegartasting.files.wordpress.com/2010/07/configurerunconfiguration.png?w=150&#038;h=104" alt="" width="150" height="104" /></a></p>
<p>As mentioned before I also like VIM, and to aid navigation around the editor window I&#8217;ve installed the <a title="vrapper" href="http://vrapper.sourceforge.net/home/">vrapper plugin</a> and mapped toggling this on and off to the Ctrl-] key.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=64&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/07/11/setting-up-eclipse-for-tdd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>

		<media:content url="http://vinegartasting.files.wordpress.com/2010/07/savebeforebuild.png?w=150" medium="image">
			<media:title type="html">SaveBeforeBuild</media:title>
		</media:content>

		<media:content url="http://vinegartasting.files.wordpress.com/2010/07/addinfinitesttobuildpath.png?w=150" medium="image">
			<media:title type="html">AddInfinitestToBuildPath</media:title>
		</media:content>

		<media:content url="http://vinegartasting.files.wordpress.com/2010/07/configurerunconfiguration.png?w=150" medium="image">
			<media:title type="html">ConfigureRunConfiguration</media:title>
		</media:content>
	</item>
		<item>
		<title>Begginner to expert &#8211; easy!</title>
		<link>http://vinegartasting.wordpress.com/2010/07/01/begginner-to-expert-easy/</link>
		<comments>http://vinegartasting.wordpress.com/2010/07/01/begginner-to-expert-easy/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 07:46:27 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[distractions]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[skill]]></category>

		<guid isPermaLink="false">https://vinegartasting.wordpress.com/2010/07/01/begginner-to-expert-easy/</guid>
		<description><![CDATA[Only a couple of weeks ago I&#8217;d watch my daughter stumble along trying to ride her scooter to school. She was slow, kept tripping and looked pretty inept whilst older and bigger kids would fly past. Now, in just a short few days she has joined the ranks of the accomplished. No longer the ugly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=62&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Only a couple of weeks ago I&#8217;d watch my daughter stumble along trying to ride her scooter to school. She was slow, kept tripping and looked pretty inept whilst older and bigger kids would fly past. </p>
<p>Now, in just a short few days she has joined the ranks of the accomplished. No longer the ugly duckling of the scooter world, but a fully fledged swan. </p>
<p>Bombing down steep hills, weaving in and out of other kids, pushchairs and parents. The ability to travel yards without touching the floor and skipping on and off whilst travelling at a frightening pace.</p>
<p>No longer do I walk along feeling embarrassed at her attempts, now I can barely watch as the beginner has moved up to daring expert. </p>
<p>It&#8217;s amazing how quickly new skills can be mastered when you have no fear of failure, just chase the taste of success.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=62&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/07/01/begginner-to-expert-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>
	</item>
		<item>
		<title>Picking an IDE: IntelliJ or Eclipse</title>
		<link>http://vinegartasting.wordpress.com/2010/06/30/picking-an-ide-intellij-or-eclipse/</link>
		<comments>http://vinegartasting.wordpress.com/2010/06/30/picking-an-ide-intellij-or-eclipse/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 23:51:44 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://vinegartasting.wordpress.com/?p=56</guid>
		<description><![CDATA[How do you go about picking an IDE to use for a project? There are some constraints (although please challenge them&#8230;). It&#8217;s a team who will work on the project, and there will be lots of times when there will be pairing. To keep things consistent throughout the team the same editor should be used. The pragmatic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=56&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>How do you go about picking an IDE to use for a project? There are some constraints (although please challenge them&#8230;).</p>
<p>It&#8217;s a team who will work on the project, and there will be lots of times when there will be pairing.</p>
<p>To keep things consistent throughout the team the same editor should be used.</p>
<p>The pragmatic programmers recommend (Tip 22) that you should use a single editor and get really good at it. That also implies we should pick one editor to use consistently across the team.</p>
<div>
<p>There&#8217;s also the licensing costs to consider, free or paid for. And although Agile principles imply that we should have the best tools available to us, cost is still a consideration.</p>
</div>
<p>Some team members are more familiar with and prefer IntelliJ, others Eclipse (no one&#8217;s using Netbeans, so it&#8217;s only a deathmatch between two).</p>
<p>Does it matter which one? In some ways the choice of IDE shouldn&#8217;t matter. Kind of like driving a car. It helps being familiar with a particular car, but they are all similar enough that once you can drive one, you can drive another. At first there might be a few things in different places (windscreen wipers and indicators swapped around), but you can quickly adjust to these things. It&#8217;s the ability to drive that matters, not what you&#8217;re driving in.</p>
<p>I once drove round Germany in a hire car picked up in France. It was left hand drive &#8211; at first I was worried about this, but having the gear stick on the other side wasn&#8217;t a problem. There was some initial problems finding reverse, I was used to pushing the gear stick down, not lifting some latch on the stick &#8211; but once figured out &#8211; no more problems.</p>
<p>The road signs are all a little different, and on an empty road I&#8217;d sometimes end up on the wrong side after turning right.</p>
<p>Thing is, I could still drive, corner, avoid other cars and get around safely.</p>
<p>When programming, it&#8217;s nice if the IDE completely dissapears into the background and you can concentrate on the programming without being interupted by figuring out what key presses to make. But those key presses can be learn&#8217;t pretty quickly, and most of software development isn&#8217;t about the key presses, but the decisions made when coding. Using experience of how to do development, supported with TDD/BDD techniques makes the choice of IDE irrelevant to how well we can produce good, safe software.</p>
<p>At the moment I like IntelliJ, because the keyboard shortcuts are the ones I&#8217;m familiar with from Visual Studio with Resharper and Rubymine. But I&#8217;m not coding .Net or Ruby, so I&#8217;ve already got one mental switch in language to get around.</p>
<p>When working in multiple (human) languages I used to swap the keyboard mappings from English to French and could touch type in either no problem, French for French and English for English. So a different programming language with different keyboard shortcuts shouldn&#8217;t be a problem either given the different mental context (or does this indicate I&#8217;ve got some sort of split personality disorder?).</p>
<p>In the end I expect it will be Eclipse because of the cost and currently no genuine justification of the price of IntelliJ.</p>
<p>Without wanting to start an IDE war &#8211; how did you decide on which editor to use?</p>
<div>Oh and for the record, my editor of choice is VIM (I just couldn&#8217;t get into Emacs), I&#8217;m not sure I can get anyone else to use Vim over a Java IDE either.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=56&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/06/30/picking-an-ide-intellij-or-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>
	</item>
		<item>
		<title>Agile Software Development and Process</title>
		<link>http://vinegartasting.wordpress.com/2010/03/18/agile-software-development-and-process/</link>
		<comments>http://vinegartasting.wordpress.com/2010/03/18/agile-software-development-and-process/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 00:29:24 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[individuals]]></category>
		<category><![CDATA[interactions]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[OpenUP]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://vinegartasting.wordpress.com/?p=45</guid>
		<description><![CDATA[Whilst the agile manifesto states that we should value Individuals and interactions over processes and tools What is a process? A Process is an unnatural thing that helps us go faster with less energy. Swimming is a process. Even babies when thrown in to a pool don&#8217;t drown. But the way they swim is just [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=45&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Whilst the <a href="http://www.agilemanifesto.org/" target="_blank">agile manifesto</a> states that we should value</p>
<blockquote><p>Individuals and interactions over processes and tools</p></blockquote>
<p>What is a process?</p>
<blockquote><p>A Process is an unnatural thing that helps us go faster with less energy.</p></blockquote>
<p>Swimming is a process.</p>
<p>Even babies when thrown in to a pool don&#8217;t drown. But the way they swim is just like a dog. All arms and legs pushing around and they don&#8217;t get very far very fast. It uses lots of energy. This is our natural behaviour in water.</p>
<p>Learning to swim is a move from the natural following a process. Learning to swim helps you go faster using less energy. It is not something that happens naturally. It has to be learnt. It takes a while.</p>
<p><strong>Armbands</strong><br />
To get started swimming some people use armbands. This helps them stay afloat, stops them drowning whilst they learn a new stroke. Gives them confidence to start moving faster. The armbands are tools, sometimes tools will start to slow you down &#8211; but eventually you want to discard them.</p>
<p><strong>Tuning</strong><br />
There are different strokes in swimming. Some faster than others. There is more than one process to accomplish your goals. You need to be able to pick the right one.</p>
<p>If you start from breast stroke, you can only go so fast. Sometimes as individuals we need to work out that to go faster means adopting a completely new stroke.</p>
<p>To swim really fast using very little energy means lots of fine tuning to your process. <a title="Total Immersion Swimming on Amazon.co.uk" href="http://www.amazon.co.uk/Total-Immersion-Revolutionary-Better-Faster/dp/0743253434/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1268872227&amp;sr=8-1-spell" target="_blank">Total Immersion Swimming</a> will show you how to swim front crawl properly, but it&#8217;s over 200 pages long! Lots of fine tuning. But if you want to be the fastest these are all the refinements you need to learn.</p>
<p><strong>Copying</strong><br />
Even top swimmers still change their technique to try and stay ahead. Michael Phelps winner of so many golds at the last Olympics has changed the way he swims to try and go faster. If it works, others will copy this faster way of swimming.</p>
<p>It&#8217;s not just in swimming that this constant search for a better process goes on &#8211; the British Olympic team from the cycling to the bob skeleton always seek out any performance advantage. This never stops. Tiger Woods in golf when at the top of the rankings rebuilt his golf stroke from scratch to be better.</p>
<p><strong>On Being Agile</strong><br />
Agile software development emphasis individuals and interactions over processes. But we need to have a process to tweak, to improve. Agile rails against a fixed process. When the process dictates how we work and we cannot change it, then we are no longer agile.</p>
<p>Agile software development covers so many different processes from OpenUP to Scrum to XP to Kanban. They share some practices, they try to be as light weight as possible, but the only true agile process is one that can be changed. Don&#8217;t be dogmatic. Don&#8217;t get stuck following the process. Value your individuals interactions and how you should change the process to support them.</p>
<blockquote><p>Individuals and interactions drive processes and tools</p></blockquote>
<p>is the agile way.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=45&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/03/18/agile-software-development-and-process/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>
	</item>
		<item>
		<title>Scaling on the Web: Weird or just different</title>
		<link>http://vinegartasting.wordpress.com/2010/03/09/scaling-on-the-web-weird-or-just-different/</link>
		<comments>http://vinegartasting.wordpress.com/2010/03/09/scaling-on-the-web-weird-or-just-different/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 23:16:29 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[distractions]]></category>

		<guid isPermaLink="false">http://vinegartasting.wordpress.com/2010/03/09/scaling-on-the-web-weird-or-just-different/</guid>
		<description><![CDATA[Scaling an application to work across the web takes a different approach to scalability than a non web application. Jim Webber gave a quick talk on HATEOS at my workplace today. Where the web stands a traditional problem upside down is in enabling scalability. The web is inherently scalable and reliable, but with a pull [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=37&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Scaling an application to work across the web takes a different approach to scalability than a non web application.</p>
<p><a title="Jim Webber's Blog" href="http://http://jim.webber.name/" target="_blank">Jim Webber</a> gave a quick talk on HATEOS at my workplace today. Where the web stands a traditional problem upside down is in enabling scalability. The web is inherently scalable and reliable, but with a pull model, not a push. On the web it is not the service that is responsible for ensuring reliability but the client to continually pull (or poll) the server for the latest information.</p>
<p>In a non web application this continuous polling kills scalability, however with the infrastructure of the web providing caching and reverse proxies our service can be defended against the polling until there is an update to give to the clients.</p>
<p>Ebay turn referential integrity on it&#8217;s head to ensure that their systems can scale too. No longer is the integrity of data enforced in the database, data is inserted with the foreign keyed data first. The standard example of an order with several line items will have each line item inserted and then finally the order item. This removes the need for transactions and constraints slowing down the access and the processing within the database. Consistency of the data is achieved eventually through the software, with a separate clean up process removing any orphaned records.</p>
<p>These counter intuitive methods are the key to building the reliable, scalable applications that run on the web.</p>
<p>Change your perspective and build something better. Please post anything else in the comments and enjoy the contribution from <a title="TED" href="http://www.ted.com" target="_blank">TED</a>:</p>
<p><span style="display:block;width:425px;margin:0 auto;">  <embed src='http://widgets.vodpod.com/w/video_embed/ExternalVideo.927587' type='application/x-shockwave-flash' AllowScriptAccess='sameDomain' pluginspage='http://www.macromedia.com/go/getflashplayer' wmode='transparent' flashvars='vu=http://video.ted.com/talks/dynamic/DerekSivers_2009I-medium.flv&su=http://images.ted.com/images/ted/tedindex/embed-posters/DerekSivers-2009I.embed_thumbnail.jpg&vw=432&vh=240&ap=0&ti=755&introDuration=16500&adDuration=4000&postAdDuration=2000&adKeys=talk=derek_sivers_weird_or_just_different;year=2009;theme=new_on_ted_com;theme=unconventional_explanations;theme=the_power_of_cities;event=TEDIndia+2009;' width='425' height='350' />
<div style="font-size:10px;">     more about &quot;<a href="http://vodpod.com/watch/2951026-tedtalks-derek-sivers-weird-or-just-different-derek-sivers-2009?pod=">Derek Sivers: Weird, or just differen&#8230;</a>&quot;, posted with <a href="http://vodpod.com?r=wp">vodpod</a>  </div>
<p></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=37&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/03/09/scaling-on-the-web-weird-or-just-different/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Application Architecture</title>
		<link>http://vinegartasting.wordpress.com/2010/03/05/web-application-architecture/</link>
		<comments>http://vinegartasting.wordpress.com/2010/03/05/web-application-architecture/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 11:26:23 +0000</pubDate>
		<dc:creator>tom mcmillen</dc:creator>
				<category><![CDATA[web application]]></category>
		<category><![CDATA[cappuccino]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[tokyo cabinet]]></category>

		<guid isPermaLink="false">http://vinegartasting.wordpress.com/?p=28</guid>
		<description><![CDATA[Remembering that this project is for a bit of fun and learning, there&#8217;s a lot being hacked together to make this work. When it is then there will be time to reflect and comment on the different bits and pieces. So here&#8217;s a rough diagram of the application architecture. Product data of some sort is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=28&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Remembering that this project is for a bit of fun and learning, there&#8217;s a lot being hacked together to make this work. When it is then there will be time to reflect and comment on the different bits and pieces.</p>
<p>So here&#8217;s a rough diagram of the application architecture. Product data of some sort is going to be defined and managed within a cappuccino based application, and persisted through a thin RESTful interface defined within sinatra through to tokyo cabinet.</p>
<p>In theory the models for the data will only be defined in one place within the entire application &#8211; within the cappuccino interface for managing the data. As new fields are added to the product data they will be added at this point and will propagate through the rest of the system without having to change any code. Of course to render the information back to the customer web site, the HTML rendering will need to call the name of the field.</p>
<p>This does place some limitations on the type of data being stored to what can be supported using the key/value approach within tokyo cabinet. One of the challenges to overcome will be how to map groupings of products within the data store.</p>
<div id="attachment_31" class="wp-caption alignnone" style="width: 310px"><a href="http://vinegartasting.files.wordpress.com/2010/03/web-app-architecture2.png"><img class="size-medium wp-image-31" title="Web Application Architecture" src="http://vinegartasting.files.wordpress.com/2010/03/web-app-architecture2.png?w=300&#038;h=225" alt="Proposed architecture showing product data capture, customer website and content mangement" width="300" height="225" /></a><p class="wp-caption-text">Target Architecture</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinegartasting.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinegartasting.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinegartasting.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinegartasting.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinegartasting.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinegartasting.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinegartasting.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinegartasting.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinegartasting.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinegartasting.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinegartasting.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinegartasting.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinegartasting.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinegartasting.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinegartasting.wordpress.com&amp;blog=12312540&amp;post=28&amp;subd=vinegartasting&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinegartasting.wordpress.com/2010/03/05/web-application-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b0331a2c9f584c359348840126479c2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tom mcmillen</media:title>
		</media:content>

		<media:content url="http://vinegartasting.files.wordpress.com/2010/03/web-app-architecture2.png?w=300" medium="image">
			<media:title type="html">Web Application Architecture</media:title>
		</media:content>
	</item>
	</channel>
</rss>
