<?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>Gojko Adzic &#187; oredev</title>
	<atom:link href="http://gojko.net/tag/oredev/feed/" rel="self" type="application/rss+xml" />
	<link>http://gojko.net</link>
	<description>Building software that matters</description>
	<lastBuildDate>Tue, 22 May 2012 19:12:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Dan North at Oredev: Embrace Uncertainty</title>
		<link>http://gojko.net/2011/11/10/dan-north-at-oredev-embrace-uncertainty/</link>
		<comments>http://gojko.net/2011/11/10/dan-north-at-oredev-embrace-uncertainty/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 13:51:28 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[oredev]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=2660</guid>
		<description><![CDATA[As usual, Dan North did a fantastic keynote today at Oredev. Amazon should really start paying his salary &#8212; I ended up buying several books while he was still talking. North&#8217;s central idea was that patterns for effective software delivery derive from embracing uncertainty and that the delivery landscape changes...]]></description>
			<content:encoded><![CDATA[<p><img src="http://gojko.net/wp-content/uploads/2011/11/uncertainty-300x225.png" alt="" title="uncertainty" width="300" height="225" class="alignleft size-medium wp-image-2661" />As usual, <a href="http://dannorth.net/"  target="_blank" >Dan North</a> did a fantastic keynote today at Oredev. Amazon should really start paying his salary &mdash; I ended up buying several books while he was still talking. North&#8217;s central idea was that patterns for effective software delivery derive from embracing uncertainty and that the delivery landscape changes significantly once we understand that. <span id="more-2660"></span></p>
<p>North started by repeating the key ideas from his Oredev 2007 keynote, &ldquo;Fear leads to risk, risk leads to process, process leads to hate… and suffering and Gantt charts&rdquo;. Many elements of delivery processes in organisations are there to address risks because people are afraid of uncertainty.  &ldquo;We are terrified of uncertainty &#8211; we would rather be wrong than uncertain,&rdquo; said North. Many of this process elements are wasteful and counter-productive, because uncertainty is a fact of life and more structure in a process does not address that properly. As an example, North mentioned the pointlessness of rigour in requirements and long term planning, citing a <a target="_blank" href="http://www.infoq.com/articles/the-curse-of-the-change-control-mechanism">recent research</a> which states that requirements have a half-life of only a few months today (the time it takes for half of the written requirements to become obsolete).</p>
<p>Dealing with uncertainty is at the core of the ideas promoted by the agile manifesto, but according to North that was widely misunderstood and many teams focused on practices expecting them to eliminate uncertainty. The original <a target="_blank"  href="http://www.amazon.com/gp/product/0321278658/ref=as_li_ss_tl?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399369&#038;creativeASIN=0321278658">XP book</a> has a tag line <i>Embrace Change</i>, which suggests that people should prepare for change but teams tried to predict where the change will happen and plan for it. According to North, uncertainty isn&#8217;t just about expecting change, it&#8217;s assuming that some unexpected bad things will happen during the project and that we can&#8217;t even know about them when we start. We can&#8217;t plan for them &mdash; if we could they wouldn&#8217;t be unexpected. &ldquo;Embrace change was wrongly named…,&rdquo; said North, &ldquo;your ability to survive is directly related to handling the unexpected. Embrace uncertainty; expect the unexpectable and anticipate ignorance.&rdquo;</p>
<p>As a potential technique to deal with uncertainty, he suggested <a href="http://dannorth.net/2010/08/30/introducing-deliberate-discovery/"  target="_blank" >Deliberate Discovery</a>: if we know that some unexpected bad things will happen, we can optimise the delivery process for discovery instead of optimise it for structure. &ldquo;The premise is assuming this will happen, what would you do differently?&rdquo; asked North, adding that &ldquo;we can actively reduce ignorance &#8211; instead of saying &lsquo;I want to do estimation&rsquo;, get people in the room and do stuff that is likely to produce the learning.&rdquo;</p>
<p>He called the strategy double-loop learning &mdash; not just aim to improve the process, but learn to improve how we improve the delivery process.</p>
<p>He also suggested <a target="_blank" href="http://www.jrothman.com/Papers/rolling-wave-planning.html">rolling wave planning</a> as a way to embrace uncertainty of scope: &ldquo;Get started and get data.&rdquo;</p>
<p>For embracing uncertainty of technology, he suggested not splitting the deliverables in spikes and features any more and imposing rigour in testing and delivery on features. He said: &ldquo;For features we have certain rules. spikes are hacks to learn and promise to throw the code away. what if you didn&#8217;t choose? what if i&#8217;m always going to start code by sketching. When it stats taking shape, stabilise it, make it testable, introduce rigour.&rdquo; </p>
<p>For embracing the uncertainty of effort, he suggested investigating <a target="_blank"   href="http://www.amazon.com/gp/product/1578518660/ref=as_li_ss_tl?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399369&#038;creativeASIN=1578518660">Beyond Budgeting</a>, summarising it as &ldquo;Measure stuff, spend money as if it&#8217;s your own.&rdquo;</p>
<p>For embracing uncertainty of structure, North suggested using <a target="_blank"   href="http://www.infoq.com/articles/real-options-enhance-agility">Real Options</a>. He said: &ldquo;Structure is an illusion of control, you can&#8217;t predict the future, so you can relax a bit. Use options, which have value and expire, commit deliberately and never commit early unless you know why.&rdquo;</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2011/11/10/dan-north-at-oredev-embrace-uncertainty/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Three cool Java TDD ideas from Oredev</title>
		<link>http://gojko.net/2010/11/15/three-cool-java-tdd-ideas-from-oredev/</link>
		<comments>http://gojko.net/2010/11/15/three-cool-java-tdd-ideas-from-oredev/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 14:10:36 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jtestr]]></category>
		<category><![CDATA[mockrunner]]></category>
		<category><![CDATA[oredev]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[unitils]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=2107</guid>
		<description><![CDATA[Neal Ford presented several ideas, tools and libraries for more productive Java unit testing at Oredev 2010. Ford suggested going outside the box and looking at writing unit tests in other JVM languages even if the target language is Java. “Always test a weaker language with a stronger one”, said...]]></description>
			<content:encoded><![CDATA[<p><a href="http://memeagora.blogspot.com/">Neal Ford</a> presented several ideas, tools and libraries for more productive Java unit testing at <a href='/tag/oredev'>Oredev 2010</a>.<span id="more-2107"></span></p>
<p>Ford suggested going outside the box and looking at writing unit tests in other JVM languages even if the target language is Java. “Always test a weaker language with a stronger one”, said Ford, suggesting that people should use Groovy to write Java unit tests. According to him, Groovy makes writing unit tests easier because it ignores privates and exceptions. Another option is JRuby. “Ruby guys have the coolest testing tools in the world”, said Ford. Java developers can use those tools with the help of <a href="http://jtestr.codehaus.org/">JTestR</a>, which makes it easy to write Java unit tests in JRuby and use standard Ruby testing tools for Java projects. </p>
<p>For teams working with J2EE technologies, he suggested using <a href="http://mockrunner.sourceforge.net/">Mockrunner</a>, which “stubs out J2EE by magic”, according to Ford. Mockrunner has stubs that provide out of the box functionality for JMS, JDBC, Servlet and many other J2EE APIs. It should allow unit testing of code that depends on J2EE APIs outside a container.</p>
<p>For teams that work with the Spring stack and related APIs, he suggested using <a href="http://unitils.org">Unitils</a>, a “swiss army chainsaw of useful stuff”. It supports stubbing out Hibernate, Spring, JPA and similar APIs to speed up unit testing without having to really load the spring context or work against a database</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2010/11/15/three-cool-java-tdd-ideas-from-oredev/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Challenging requirements &#8211; slides</title>
		<link>http://gojko.net/2010/11/12/challenging-requirements-slides/</link>
		<comments>http://gojko.net/2010/11/12/challenging-requirements-slides/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 18:07:18 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[presentations]]></category>
		<category><![CDATA[oredev]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=2104</guid>
		<description><![CDATA[Here are the slides from my presentation on challenging requirements yesterday at Oredev.]]></description>
			<content:encoded><![CDATA[<p>Here are the slides from my presentation on challenging requirements yesterday at Oredev.</p>
<p><object id="__sse5757653" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=challengingreqsoredev-101112120414-phpapp02&#038;stripped_title=challenging-requirementsoredev&#038;userName=gojkoadzic" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5757653" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=challengingreqsoredev-101112120414-phpapp02&#038;stripped_title=challenging-requirementsoredev&#038;userName=gojkoadzic" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2010/11/12/challenging-requirements-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slides from Agile Acceptance TestingSpecification by Example success stories</title>
		<link>http://gojko.net/2010/11/11/slides-from-agile-acceptance-testingspecification-by-example-success-stories/</link>
		<comments>http://gojko.net/2010/11/11/slides-from-agile-acceptance-testingspecification-by-example-success-stories/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 17:51:33 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[presentations]]></category>
		<category><![CDATA[oredev]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=2086</guid>
		<description><![CDATA[Here are my slides from the &#8220;Agile Acceptance TestingSpecification by Example success stories&#8221; presentation today at Oredev. Winning Big With Specification by Example on Prezi]]></description>
			<content:encoded><![CDATA[<p>Here are my slides from the &#8220;<del>Agile Acceptance Testing</del>Specification by Example success stories&#8221; presentation today at Oredev.</p>
<div class="prezi-player">
<style type="text/css" media="screen">.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }</style>
<p><object id="prezi_f2k76bc39k3l" name="prezi_f2k76bc39k3l" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="bgcolor" value="#ffffff"/><param name="flashvars" value="prezi_id=f2k76bc39k3l&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0"/><embed id="preziEmbed_f2k76bc39k3l" name="preziEmbed_f2k76bc39k3l" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=f2k76bc39k3l&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0"></embed></object>
<div class="prezi-player-links">
<p><a title="" href="http://prezi.com/f2k76bc39k3l/winning-big-with-specification-by-example/">Winning Big With Specification by Example</a> on <a href="http://prezi.com">Prezi</a></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2010/11/11/slides-from-agile-acceptance-testingspecification-by-example-success-stories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Checking is not testing, testing is not checking</title>
		<link>http://gojko.net/2009/11/06/checking-is-not-testing-testing-is-not-checking/</link>
		<comments>http://gojko.net/2009/11/06/checking-is-not-testing-testing-is-not-checking/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 11:12:28 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[exploratory testing]]></category>
		<category><![CDATA[oredev]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1386</guid>
		<description><![CDATA[Today at the Oredev conference in Malmo, James Marcus Bach suggested renaming a large part of what is now called tests to checks. Bach said there is a big difference between a conscious process of questioning and evaluating a product and almost mechanical rule-based verifications. These two things are different...]]></description>
			<content:encoded><![CDATA[<p>Today at the Oredev conference in Malmo, <a href="http://www.buccaneerscholar.com/blog/">James Marcus Bach</a> suggested renaming a large part of what is now called tests to checks. Bach said there is a big difference between a conscious process of questioning and evaluating a product and almost mechanical rule-based verifications. These two things are different enough that they should have different names, and bundling them under the name of &#8220;test&#8221; causes confusion. He suggested calling the former kind of work <i>testing</i> and latter <i>checking</i>.<span id="more-1386"></span></p>
<p><img src="/images/oredev_bach.jpg" /></p>
<p>Bach compared the situation in testing today to early days of software development where compiling and writing code were all called programming, then compiling got separated and renamed to reflect the fact that it is completely done with a machine. Checking can be automated to a great degree and delegated to the machine, said Bach, offering an example of classic TDD unit tests. Testing as a concious process needs to be done by a trained specialist. This allows us to put more emphasis on exploratory testing, which Elisabeth Hendrickson listed as one of the <a href="http://gojko.net/2009/10/13/seven-key-agile-testing-practices-for-releasable-software/">key seven practices for successful agile testing</a>.</p>
<p>On a similar note, Mary Poppendieck talked about how <a href="http://gojko.net/2009/10/16/mary-poppendieck-test-driven-development-redefined/">testing is a learning activity</a> at the <a href="/tag/agiletd">Agile Testing Days</a> conference in Berlin, contrasting it to checking the correctness using known expectations. </p>
<p>See other articles from the <a href="/tag/oredev">Oredev</a> conference.</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/11/06/checking-is-not-testing-testing-is-not-checking/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

