<?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>Heynemann - Just another dev</title>
	<atom:link href="http://blog.heynemann.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.heynemann.com.br</link>
	<description>Experiments on agile software development</description>
	<lastBuildDate>Thu, 15 Dec 2011 23:53:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.heynemann.com.br' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Heynemann - Just another dev</title>
		<link>http://blog.heynemann.com.br</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.heynemann.com.br/osd.xml" title="Heynemann - Just another dev" />
	<atom:link rel='hub' href='http://blog.heynemann.com.br/?pushpress=hub'/>
		<item>
		<title>2010 in review</title>
		<link>http://blog.heynemann.com.br/2011/01/02/2010-in-review/</link>
		<comments>http://blog.heynemann.com.br/2011/01/02/2010-in-review/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 15:09:49 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.heynemann.com.br/?p=256</guid>
		<description><![CDATA[The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health: The Blog-Health-o-Meter™ reads Fresher than ever. Crunchy numbers A helper monkey made this abstract painting, inspired by your stats. A Boeing 747-400 passenger jet can hold 416 passengers. This blog [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=256&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health:</p>
<p><img style="border:1px solid #ddd;background:#f5f5f5;padding:20px;" src="http://s0.wp.com/i/annual-recap/meter-healthy3.gif" alt="Healthy blog!" width="250" height="183" /></p>
<p>The <em>Blog-Health-o-Meter™</em> reads Fresher than ever.</p>
<h2>Crunchy numbers</h2>
<div style="width:288px;float:right;border:1px solid #ddd;background:#fff;margin:0 0 1em 1em;padding:6px;">
<p><img src="http://s0.wp.com/i/annual-recap/abstract-stats-7.png" alt="Featured image" /></p>
<p><em>A helper monkey made this abstract painting, inspired by your stats.</em></p>
</div>
<p>A Boeing 747-400 passenger jet can hold 416 passengers.  This blog was viewed about <strong>1,500</strong> times in 2010.  That&#8217;s about 4 full 747s.</p>
<p>&nbsp;</p>
<p>In 2010, there were <strong>17</strong> new posts, not bad for the first year!</p>
<p>The busiest day of the year was May 26th with <strong>104</strong> views. The most popular post that day was <a style="color:#08c;" href="http://blog.heynemann.com.br/2010/05/26/4x4-dojo-technique/">4&#215;4 Dojo Technique</a>.</p>
<h2>Where did they come from?</h2>
<p>The top referring sites in 2010 were <strong>manicprogrammer.com</strong>, <strong>twitter.com</strong>, <strong>heynemann.github.com</strong>, <strong>flickr.com</strong>, and <strong>thedevelopersconference.com.br</strong>.</p>
<p>Some visitors came searching, mostly for <strong>django compressor</strong>, <strong>bernardo heynemann</strong>, <strong>django-compressor</strong>, <strong>django js compressor</strong>, and <strong>storage module &#8220;compressor.storage&#8221; does not define a &#8220;appsavvycompressorfilestorage&#8221; class.</strong>.</p>
<h2>Attractions in 2010</h2>
<p>These are the posts and pages that got the most views in 2010.</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">1</div>
<p><a style="margin-right:10px;" href="http://blog.heynemann.com.br/2010/05/26/4x4-dojo-technique/">4&#215;4 Dojo Technique</a> <span style="color:#999;font-size:8pt;">May 2010</span><br />
3 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">2</div>
<p><a style="margin-right:10px;" href="http://blog.heynemann.com.br/2010/06/07/django-compressor/">Django Compressor &#8211; Minify/Reduce Requests</a> <span style="color:#999;font-size:8pt;">June 2010</span></p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">3</div>
<p><a style="margin-right:10px;" href="http://blog.heynemann.com.br/2010/07/16/deming-system-of-profound-knowledge-and-key-principles/">Deming &#8211; System of Profound Knowledge and Key Principles</a> <span style="color:#999;font-size:8pt;">July 2010</span><br />
3 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">4</div>
<p><a style="margin-right:10px;" href="http://blog.heynemann.com.br/2010/07/23/dream-team-part-i-the-people/">Dream Team &#8211; Part I &#8211; The People</a> <span style="color:#999;font-size:8pt;">July 2010</span><br />
4 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">5</div>
<p><a style="margin-right:10px;" href="http://blog.heynemann.com.br/about/">About</a> <span style="color:#999;font-size:8pt;">May 2010</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/256/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=256&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2011/01/02/2010-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/meter-healthy3.gif" medium="image">
			<media:title type="html">Healthy blog!</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/abstract-stats-7.png" medium="image">
			<media:title type="html">Featured image</media:title>
		</media:content>
	</item>
		<item>
		<title>Dream Team Part VIII &#8211; Autonomation</title>
		<link>http://blog.heynemann.com.br/2010/12/27/dream-team-part-viii-autonomation/</link>
		<comments>http://blog.heynemann.com.br/2010/12/27/dream-team-part-viii-autonomation/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 12:31:50 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Agile Techniques]]></category>
		<category><![CDATA[Dream Team]]></category>
		<category><![CDATA[LEAN]]></category>
		<category><![CDATA[Series]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[dream team]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[series]]></category>
		<category><![CDATA[values]]></category>

		<guid isPermaLink="false">http://blog.heynemann.com.br/?p=250</guid>
		<description><![CDATA[Introduction Jidoka, also known as &#8220;intelligent automation&#8221; or &#8220;automation with a human touch&#8221;, is lean&#8217;s way of automating repetitive tasks. This time we join the INews team as they try to define how far to go with automating or not repetitive processes. Autonomation John &#8211; Hey guys! How was christmas? Jane &#8211; Pretty good! Yours? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=250&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="http://en.wikipedia.org/wiki/Autonomation" target="_blank">Jidoka</a>, also known as &#8220;intelligent automation&#8221; or &#8220;automation with a human touch&#8221;, is lean&#8217;s way of automating repetitive tasks.</p>
<p>This time we join the INews team as they try to define how far to go with automating or not repetitive processes.</p>
<h2>Autonomation</h2>
<blockquote><p><strong>John</strong> &#8211; Hey guys! How was christmas?<br />
<strong>Jane</strong> &#8211; Pretty good! Yours?<br />
<strong>John</strong> &#8211; Really cool. What about the rest of you?<br />
<strong>All</strong> &#8211; It was great!<br />
<strong>Christian</strong> &#8211; We&#8217;ve been talking a lot about lean concepts and I&#8217;m not that familiar with lean methodology. Whenever I don&#8217;t know something I yearn to learn it. I&#8217;ve spent all my free time in the last weeks studying it. One thing that comes over and over is autonomation. That is a kick-ass concept!<br />
<strong>Jane</strong> &#8211; Autonomation?<br />
<strong>John</strong> &#8211; Yeah Jane. Autonomation means automation with intelligence.<br />
<strong>Jane</strong> &#8211; What do you mean &#8220;with intelligence&#8221;?<br />
<strong>John</strong> &#8211; Well, machines lack intelligence, right? That&#8217;s why it&#8217;s called artificial intelligence. So automation with intelligence means automation with humans involved. It means automating to become more efficient. It means automating well-known repetitive tasks.<br />
<strong>Jane</strong> &#8211; Oh. I see.<br />
<strong>Susan</strong> &#8211; I think we do that already, right? Our build is automated, for one. Oh! Our tests are automated as well! Hmm&#8230; I see your point! We could build and test our app ourselves. We just automated it so we are more effective. We didn&#8217;t replace ourselves for a machine. We are using it to help us!<br />
<strong>John</strong> &#8211; Exactly. Still, I think we are not aggressive enough with autonomation. Susan, when we finish stories, what do you do to help us accept them?<br />
<strong>Susan</strong> &#8211; I verify the results versus my mock screens to see that you got the proper sizes, margins, etc.<br />
<strong>John</strong> &#8211; And that&#8217;s pretty repetitive, isn&#8217;t it? That&#8217;s something we could come up with a creative way of automating. Joseph, you perform a lot of exploratory testing as well don&#8217;t you?<br />
<strong>Joseph</strong> &#8211; Yes I do, but how can you automate exploratory testing, which is by definition human?<br />
<strong>John </strong>- Hmm&#8230; We can&#8217;t automate exploratory testing. What we can do is automate the tests you perform every time. We could come up with some strategy to record the tests you do and automate those. This way, every time you did exploratory testing we would end up with a richer testing suite.<br />
<strong>Joseph</strong> &#8211; I see. Well, I guess we could be more aggressive about autonomation.<br />
<strong>Christian</strong> &#8211; So it seems like a team value, doesn&#8217;t it? Automating things to improve our effectiveness.<br />
<strong>Joseph</strong> &#8211; Indeed it does, Christian. Indeed it does.</p></blockquote>
<h2>Conclusion</h2>
<p>There&#8217;s a big emphasis on not automating things with the intent of replacing humans. The goal of jidoka is to make humans more effective and aid them in detecting problems early and often.</p>
<p>Whenever something can be automated to improve the team&#8217;s capacity to respond to change, it should be. The automation should not happen before the actual way of doing things is well-known to the people involved. This is paramount so the automation has the proper goal (as outlined above).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/250/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=250&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2010/12/27/dream-team-part-viii-autonomation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>
	</item>
		<item>
		<title>Python Test Spy Engine &#8211; MI7</title>
		<link>http://blog.heynemann.com.br/2010/11/21/python-test-spy-engine-mi7/</link>
		<comments>http://blog.heynemann.com.br/2010/11/21/python-test-spy-engine-mi7/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 23:45:32 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[mock]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[spy]]></category>
		<category><![CDATA[stub]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://blog.heynemann.com.br/?p=239</guid>
		<description><![CDATA[Introduction MI7 is my new pet project. I grew tired of the other mocking/stubbing/spying engines in Python that never did quite what I expected them to. I&#8217;ve been TDDing for a while now in .Net, Ruby, Python and JavaScript. I&#8217;ve got my fair share of experience, so I figured I&#8217;d give my 2¢ in this [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=239&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>MI7 is my new pet project. I grew tired of the other mocking/stubbing/spying engines in Python that never did quite what I expected them to.</p>
<p>I&#8217;ve been TDDing for a while now in .Net, Ruby, Python and JavaScript. I&#8217;ve got my fair share of experience, so I figured I&#8217;d give my 2¢ in this issue.</p>
<p>You can check the project at <a href="https://github.com/heynemann/mi7/wiki">https://github.com/heynemann/mi7/wiki</a>. It&#8217;s got a nice tutorial and is currently in 0.1.1 alpha release.</p>
<p>I&#8217;ve got a lot of work to do to make it my main tool for test support, but I&#8217;m going to get there. Without further delay, let&#8217;s get to it.</p>
<h2>Why another Spying Engine?</h2>
<p>If you check the MI7 wiki you&#8217;ll see that I don&#8217;t have anything against any single python test support engine. I just haven&#8217;t found one that suits my needs and those needs ONLY. IMHO they all do too much. I want a simple, straightforward, fun to use spying engine.</p>
<p>Don&#8217;t get me wrong, but I do not believe in mocking in Python. Or stubbing for that matter. Both are akin to dependency injection, IMHO. It just isn&#8217;t pythonic.</p>
<p>Python has been around for a while. In this time, there has been a certain Modus Operandi of doing work. This MO has never included injecting your dependencies around. I figured that&#8217;s why I feel the weirdness on the part of the mocking/stubbing/spying tools.</p>
<p>With MI7 I&#8217;m trying to interfere as less as possible with your code. Production code should be optimized to be production code, and not changed to accommodate your poor testing tools. In the Ruby community they try HARD to make tests and code as clear as possible, not make code work according to tools. I&#8217;m trying to get some of that.</p>
<p>The last point of me doing MI7 is to have some fun, and I&#8217;m trying to bake in the library as much of that fun as possible, with the spy agency metaphor. Hope you enjoy as much as I am.</p>
<h2>Test Sample</h2>
<p>Ok, so I&#8217;ll write a test with MI7. It&#8217;s pretty simple:</p>
<pre><code>from controllers import MyController
from models import User
@new_mission
@agent.spy(User)
def test_user_is_authenticated():
    agents.User.intercept('is_authenticated') \
               .returns(True)
    agents.User.intercept('username') \
               .as_attribute('Bernardo')
    ctrl = MyController()
    result = ctrl.index()
    assert result == "Welcome Bernardo"</code></pre>
<p>So what&#8217;s happening here. I&#8217;m telling MI7 to keep an eye in the User model, wherever it may be used. Then I&#8217;m instructing the User agent (the agents get their code-name from the target they are spying), to intercept calls to is_authenticated and username and return my values.</p>
<p>Now the controller code:</p>
<pre><code>from models import User
class Controller(object):
    def index(self):
        user = User()
        if user.is_authenticated():
            return "Welcome %s" % user.username
        return "Unauthorized"
</code></pre>
<p>As you can see, there&#039;s not a single line of code in that controller that says &quot;I&#039;m testable&quot;. It&#039;s just plain old python coding.</p>
<h2>Current Status</h2>
<p>Currently MI7 supports intercepting modules and classes and telling agents to intercept methods and attributes and to raise exceptions.</p>
<p>Impersonation (stubbing) may come next. Definitely assertions are coming, like what an agent has seen and such.</p>
<h2>Conclusion</h2>
<p>I&#8217;ll keep going with MI7 development as much as I can, because I believe the Python community needs better testing tools and I&#8217;m willing to put extra effort into this.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/239/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=239&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2010/11/21/python-test-spy-engine-mi7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>
	</item>
		<item>
		<title>Dream Team &#8211; Part VII &#8211; Ownership</title>
		<link>http://blog.heynemann.com.br/2010/08/30/dream-team-part-vii-ownership/</link>
		<comments>http://blog.heynemann.com.br/2010/08/30/dream-team-part-vii-ownership/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 23:16:11 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Agile Techniques]]></category>
		<category><![CDATA[Dream Team]]></category>
		<category><![CDATA[LEAN]]></category>
		<category><![CDATA[Series]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[ownership]]></category>
		<category><![CDATA[product management]]></category>
		<category><![CDATA[series]]></category>
		<category><![CDATA[values]]></category>

		<guid isPermaLink="false">https://heynemann.wordpress.com/?p=222</guid>
		<description><![CDATA[Introduction The INews team has reached an important milestone. Four of the team&#8217;s values are defined and understood. This time they are talking about a very controversial topic: product ownership. Who owns it? John &#8211; Hey! How are you all today? All &#8211; Good! John &#8211; I was reading an awesome article last night. It [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=222&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>The INews team has reached an important milestone. Four of the team&#8217;s values are defined and understood.</p>
<p>This time they are talking about a very controversial topic: product ownership.</p>
<h2>Who owns it?</h2>
<blockquote><p><strong>John &#8211; </strong>Hey! How are you all today?<br />
<strong>All &#8211; </strong>Good!<br />
<strong>John &#8211; </strong>I was reading an awesome article last night. It was so good I felt like calling you guys immediately.<br />
<strong>Susan &#8211; </strong>What was it about?<br />
<strong>John -</strong> About product ownership. The idea here is that you push product decisions as close to the people working with them as possible. The company is responsible for setting the context that allows those people to decide.<br />
<strong>Jake &#8211; </strong>What do you mean by context?<br />
<strong>John &#8211; </strong>The company is responsible for setting strategies and broad scope goals, as well as providing the team with whatever other intel they might need &#8211; financial, internal, market share, marketing, you name it. If the team needs that information, they should get it.<strong><br />
Christian &#8211; </strong>Ok, I totally agree with that. I&#8217;m still wondering about the ownership part, though.<br />
<strong>Susan &#8211; </strong>In the last event I attended, Wackile &#8211; agile for the wacky &#8211; I saw a brilliant presentation about how projects are killing agile initiatives. Projects are tricky beasts. They have start, finish and handover. At first there&#8217;s nothing wrong with that, except there&#8217;s no incentive whatsoever for developers to choose long term decisions. They&#8217;ll be long gone by the time their decisions affect the product.<br />
<strong>John &#8211; </strong>I see. Well, Chris, what I meant with ownership is that we as a team should be the ones deciding where the product should go. Not someone with no context about the intricacies of the product. What Susan just pointed out just reinforces the need for the people working with the product to feel part of it.<br />
<strong>Jane &#8211; </strong>I couldn&#8217;t agree more. As an experience designer I get to decide quite a few things about the product. Sometimes, though, I wish the team had more freedom to choose their own path.<br />
<strong>Joseph &#8211; </strong>I&#8217;ll get Daniel here as I believe he&#8217;ll be able to tell us whether this value is aligned with the company&#8217;s values.</p></blockquote>
<p>Ok, you guys don&#8217;t know Danny, but he&#8217;s a great CIO at Acme. He really fights for his teams, in order to provide them with the best possible work environment.</p>
<blockquote><p><strong>Daniel &#8211; </strong>What&#8217;s up guys? What can I do to help you?<br />
<strong>John &#8211; </strong>Hey Danny. Thanks for joining us in so short notice. The thing here is we decided as a team that one of our values is that we want to own the product in the lean sense that we get to make product decisions&#8230;<br />
<strong>Daniel &#8211; </strong>While the company sets the context, right?<br />
<strong>Joseph &#8211; </strong>Right.<br />
<strong>Daniel &#8211; </strong>Perfect. No problems with me. I&#8217;ll get our CEO buy-in. As a start is there any intel I can help you with?<br />
<strong>Susan &#8211; </strong>Hi Danny. Actually, there is: Other news companies&#8217; market share on mobile news delivery.<br />
<strong>Daniel &#8211; </strong>I&#8217;ll get you guys that info asap. Now I gotta run. See you all. Take care.<br />
<strong>All &#8211; </strong>See ya!</p></blockquote>
<p>&#8220;What a great guy!&#8221;, I think to myself.</p>
<blockquote><p><strong>Joseph &#8211; </strong>I guess we just got another team value: we own the product and we&#8217;ll take care of it thinking about the long run.<br />
<strong>Me &#8211; </strong>IMHO this was the best meeting so far. Danny is the best.<br />
<strong>Joseph &#8211; </strong>That he is, Bernardo. That he is.</p></blockquote>
<h2>Conclusion</h2>
<p>The people who are more qualified to make important product decisions are the same ones working with it on a daily basis. They know all of its intricacies and constraints.</p>
<p>Why risk having someone that does not fully understand the issue deal with it?</p>
<p>Yet, most companies keep pulling decisions up in their hierarchies, trying to protect their products from the poor judgement of their employees.</p>
<p>Not trusting the people doing the work to make decisions results in shallow decisions and lack of commitment by the people working with the product. Short-term actions are made, the product evolves in unintended (and bad) ways and eventually people want to get out of the product team. At some point a major redesign and rebuild is needed.</p>
<p>Have you guys ever seen this?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/222/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=222&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2010/08/30/dream-team-part-vii-ownership/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>
	</item>
		<item>
		<title>Dream Team &#8211; Part VI &#8211; Respect and Fun</title>
		<link>http://blog.heynemann.com.br/2010/08/30/dream-team-part-vi-respect-and-fun/</link>
		<comments>http://blog.heynemann.com.br/2010/08/30/dream-team-part-vi-respect-and-fun/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 17:25:04 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Dream Team]]></category>
		<category><![CDATA[LEAN]]></category>
		<category><![CDATA[Series]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[dream team]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[respect]]></category>
		<category><![CDATA[series]]></category>

		<guid isPermaLink="false">http://blog.heynemann.com.br/?p=214</guid>
		<description><![CDATA[Introduction The last time we met with the Acme INews team I was telling you guys how they came to the conclusion that if you don&#8217;t release it, you lose it. Ok, I&#8217;m just kidding, but they all agreed that unreleased code is waste and that it was a value for all of them to diligently [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=214&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>The last time we met with the Acme INews team I was telling you guys how they came to the conclusion that if you don&#8217;t release it, you lose it. Ok, I&#8217;m just kidding, but they all agreed that unreleased code is waste and that it was a value for all of them to diligently work on reducing <a href="http://en.wikipedia.org/wiki/Cycle_time_variation" target="_blank">cycle time variation</a>.</p>
<p>This time around we touch a subject that most companies (well at least some of the ones I know of) don&#8217;t like to discuss. Respecting your employees as you expect them to respect you, and allowing them to have fun. Yes, that&#8217;s right, FUN! Let&#8217;s see what the INews team thinks of that.</p>
<h2>Respect</h2>
<blockquote><p><strong>Jane &#8211; </strong>Hey guys. I wanted to talk to you about something since we first met to do this job.</p>
<p><strong>John &#8211; </strong>Sure Jane, go ahead. I think we must maintain an open channel for communication at all times if we are to succeed as a team.</p>
<p><strong>Jane &#8211; </strong>Thanks John. Well, sometimes in my previous projects I got the feeling of being an outsider among developers. I heard comments about how I was being picky and annoying. That made me feel very bad and in those projects I feel like I contributed less than I could because I was afraid of that behavior.</p>
<p><strong>Jake &#8211; </strong>Jane, that&#8217;s a very good thing to discuss. As a client-side developer I heard comments in these areas as well. After discussing with the devs and explaining to them my point of view, things worked out quite alright, though.</p>
<p><strong>Jane &#8211; </strong>Yeah, it might be so. Even so I still think I shouldn&#8217;t have to do that. If we are in a team we trust each other and respect each other&#8217;s point of view, right?</p>
<p><strong>John &#8211; </strong>Absolutely right! There can be no better opinion or prevalent point of view. If we are a multidisciplinary team, we should value each other&#8217;s opinions above all and treat each other as we want to be treated in return.</p>
<p><strong>Susan &#8211; </strong>No offense, guys, but sometimes I feel the designers take our opinion for granted as well.</p>
<p><strong>Jane &#8211; </strong>Hmm&#8230; I see&#8230; Can you ellaborate, Susan?</p>
<p><strong>Susan &#8211; </strong>Sure. Sometimes a designer comes up with an user experience that&#8217;s great. It really is. I can see myself loving that experience. It just isn&#8217;t realistic given our constraints (might be hardware, network, you name it). Usually I approach the designer and explain that. A lot of times I got a &#8220;it&#8217;s not my problem&#8221; look and had to resort to my boss for help. I would say I didn&#8217;t get the same respect I was showing for that professional.</p>
<p><strong>Jane &#8211; </strong>Sure you didn&#8217;t. Well, I guess it does go both ways, doesn&#8217;t it?</p>
<p><strong>Joseph &#8211; </strong>I&#8217;m pretty sure we can get along if we just try to always see the other person&#8217;s point of view and treat them with the same respect we expect them to show towards us,  don&#8217;t you agree?</p>
<p><strong>All &#8211; </strong>Yep.</p></blockquote>
<p>I keep getting amazed by how simple they make these things look.</p>
<blockquote><p><strong>Christian &#8211; </strong>I&#8217;d like to discuss a related topic. When I&#8217;m contributing to some project or even coding one of my own, usually I have a purpose to fulfill (I need the feature, someone at work does, or I just find it cool). Even though I have a purpose, if it&#8217;s not fun, I won&#8217;t do it. No matter how much I force myself to do it, I just won&#8217;t.</p>
<p>There will be something else that is a lot more fun to do, or I&#8217;ll go read something. I was wondering how can we make sure working in our project is fun. How can we enjoy that feeling of &#8220;Great!!! I&#8217;m going to work today!&#8221; when we wake up?</p>
<p><strong>John &#8211; </strong>I don&#8217;t think there&#8217;s one right answer for that. I believe it&#8217;s a set of things. A great project makes we want to come work on it (the cool tasks as you said). A great environment where we respect each other does that as well. We already have our XBox 360 and our foosball. How do you guys feel of &#8216;do whatever you want&#8217; friday?</p>
<p><strong>Christian &#8211; </strong>What do you mean?</p>
<p><strong>John -</strong> Every two or three fridays we&#8217;ll get a free day. We can code whatever we want, with whomever we want. We can study, experiment or just play a game together. Anything that improves our project in any way whatsoever.</p>
<p><strong>Susan &#8211; </strong>That&#8217;s a very interesting idea. Can we refactor our own product&#8217;s code or implement a feature we&#8217;d like to see int he product?</p>
<p><strong>John -</strong> Sure. Anything we want.</p>
<p><strong>Jane &#8211; </strong>Could I use that day for discovery and experimenting with different things?</p>
<p><strong>John -</strong> Of course! Anything that you think will help!</p>
<p><strong>Jane &#8211; </strong>Ok, can&#8217;t wait till next Friday!!!</p>
<p><strong>Joseph &#8211; </strong>I really love that idea. I think we are set in two <strong>VERY </strong>intertwined values. Might be the same value altogether. Respect and Fun with responsibility. Meaning that we&#8217;ll respect each other and have fun together, while delivering business value to ACME. Is that about right?</p>
<p><strong>All &#8211; </strong>YES!!!</p>
<p><strong>Me -</strong> Ok, again with time to spare, and it&#8217;s about time to go. Anyone for a settlers game?</p></blockquote>
<h2>Conclusion</h2>
<p>Several companies (like <a href="http://developer.yahoo.net/hackday/" target="_blank">Yahoo</a>, <a title="JotSpot" href="http://en.wikipedia.org/wiki/JotSpot">JotSpot</a>, <a title="Atlassian" href="http://en.wikipedia.org/wiki/Atlassian">Atlassian</a>, <a title="Facebook" href="http://en.wikipedia.org/wiki/Facebook">Facebook</a>, <a title="Google" href="http://en.wikipedia.org/wiki/Google">Google</a>, <a title="Atom (standard)" href="http://en.wikipedia.org/wiki/Atom_%28standard%29">Atom</a> and <a title="Technorati" href="http://en.wikipedia.org/wiki/Technorati">Technorati</a>), have already found that by letting your employees self-organize and make their own decisions about the product they are working in pays out big time.</p>
<p>Having a fun environment is not only a bonus to productivity. It is a requirement for creative skilled workers to unlock their full potential. Companies that keep trying to control what their employees are doing (via timesheets, task monitoring or metrics) are in fact killing the motivation that could trigger incredible features to their products.</p>
<p>A product team must be kept in a fun, respectful environment where they can decide what they want to do instead of being bossed around. This way, they&#8217;ll be working in the product in their free time, because they want to do it.</p>
<p>There&#8217;s a very good video by Dan Pink about what motivates us. Basically it&#8217;s authonomy, mastery and purpose. You can learn more by <a href="http://www.youtube.com/watch?v=u6XAPnuFjJc" target="_blank">watching the video</a>. I VERY DEEPLY recommend it. It really changed my way of seeing some things.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/214/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=214&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2010/08/30/dream-team-part-vi-respect-and-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>
	</item>
		<item>
		<title>Dream Team &#8211; Part V &#8211; Delivery</title>
		<link>http://blog.heynemann.com.br/2010/08/22/dream-team-part-v-delivery/</link>
		<comments>http://blog.heynemann.com.br/2010/08/22/dream-team-part-v-delivery/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 02:16:35 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Agile Techniques]]></category>
		<category><![CDATA[Dream Team]]></category>
		<category><![CDATA[LEAN]]></category>
		<category><![CDATA[Series]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[dream team]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[series]]></category>

		<guid isPermaLink="false">http://blog.heynemann.com.br/?p=200</guid>
		<description><![CDATA[Introduction In our last installment, we learned that the INews team decided to never let problems grow and instead solve them as soon as they appear. They also decided on having a formal way of solving problems, so that they (and the rest of the company) may benefit in the future. This time we accompany [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=200&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In our last installment, we learned that the INews team decided to never let problems grow and instead solve them as soon as they appear. They also decided on having a formal way of solving problems, so that they (and the rest of the company) may benefit in the future.</p>
<p>This time we accompany them as they discuss a topic that is very near to my heart: Delivery.</p>
<h2>Release or not Release, that&#8217;s the question</h2>
<blockquote><p><strong>John &#8211; </strong>Morning all! We had a very productive day yesterday, now didn&#8217;t we?</p>
<p><strong>All &#8211; </strong>Yep.</p>
<p><strong>Susan &#8211; </strong>I&#8217;m sooooo sleepy, John! (*chuckles*) Yesterday I went home thinking about some values that I hold dear. I&#8217;m not sure this is the time to discuss it, but I really enjoy delivering business value. I&#8217;m filled with joy when I realize that my work is helping our coworkers in being more productive RIGHT NOW. How do you guys stand on this?</p>
<p><strong>John &#8211; </strong>Well, when you study Lean Manufacturing, you learn all about delivering, since they consider anything that is not being used by a customer or adding value to a product to be waste. So, if you are a factory worker, your sole purpose is to drive the product as fast as possible to a client. Please note that as fast as possible takes into account every single quality factor that the customer expects.</p>
<p><strong>Christian &#8211; </strong>I have a lot of experience in delivering, but we call that releases in my projects. I release as often as I can so I can gather feedback from the community. It is also a very good idea to release as much as you can to minimize the amount of work that goes into a release.</p>
<p><strong>Jake &#8211; </strong>I don&#8217;t have much experience in this area, but something tells me that releasing often makes a lot of sense. I was just wondering how the big guys do it: JQuery, Django, Apache and other projects like that. How do they release?</p>
<p><strong>Christian</strong> &#8211; I&#8217;m not sure how they do their releases, but I love apache&#8217;s concept of a release: &#8220;Releases are, by definition, anything that is published beyond the group that owns it.  In our case, that means any publication outside the group of people on the product dev list.  If the general public is being instructed to download a package, then that package has been released.&#8221; [1]</p>
<p><strong>John -</strong> Yeah, couldn&#8217;t agree more. You should release as much as makes sense. Unreleased code sitting in our laptops does no good to our clients.</p>
<p><strong>Jane -</strong> Well, when I design a user experience for a product, I have to think a little ahead about how our users are going to interact with it. Imagining their experience is in no way a substitute for learning how they are actually using it, so I too consider it to be crucial to have customers using our product as fast as we can, even if we have to cut a little bit on the feature side.</p>
<p><strong>Joseph -</strong> Funny thing, I just purchased Continuous Delivery, a book that was just released (no pun intended). This is one of my favorite subjects. I do believe in continuous delivery. As soon as we mark features as complete, we have them in production. Lean Manufacturing introduces a measure called cycle time, which means the total time between a customer requesting something and the customer getting to use it. What I understand we just agreed, is that we will work diligently to reduce our cycle time as much as we can.</p>
<p><strong>John -</strong> That sounds about right!</p>
<p><strong>Me &#8211; </strong>Once more with time to spare! Let&#8217;s play some foosball.</p></blockquote>
<h2>Conclusion</h2>
<p>Sometimes we are working in something really cool in our projects. Sometimes we are just fixing stuff. The point here is not what we are doing. It&#8217;s who&#8217;s benefiting from it.</p>
<p>If you are building software I assume that someone is going to use what you are building. If that&#8217;s the case, until that customer starts benefiting, your code is waste.</p>
<p>Cycle time is a very interesting measure, in that it measures your turn-around time to new features, as much as your responsiveness to issues that you or your customers find in the software.</p>
<p>From <a href="http://en.wikipedia.org/wiki/Cycle_time_variation" target="_blank">Wikipedia</a>:</p>
<blockquote><p><strong>Cycle time variation</strong> is a proven metric and philosophy for  continuous improvement with the aim of driving down the deviations in  the time it takes to produce successive units on a production line.<sup><a href="http://en.wikipedia.org/wiki/Cycle_time_variation#cite_note-0">[1]</a></sup> It supports organizations&#8217; application of <a title="Lean manufacturing" href="http://en.wikipedia.org/wiki/Lean_manufacturing">lean manufacturing</a> or <a title="Lean production" href="http://en.wikipedia.org/wiki/Lean_production">lean production</a> by eliminating wasteful expenditure of resources. It is distinguished  from some of the more common applications by its different focus of  creating a structure for progressively reducing the sources of internal  variation that leads to <a title="Workarounds (page does not exist)" href="http://en.wikipedia.org/w/index.php?title=Workarounds&amp;action=edit&amp;redlink=1">workarounds</a> and disruption causing these <a title="Wastes" href="http://en.wikipedia.org/wiki/Wastes">wastes</a> to accumulate in the first place. Although it is often used as an  indicator of lean progress, its use promotes a structured approach to  reducing disruption that impacts efficiency, quality, and value.<sup><a href="http://en.wikipedia.org/wiki/Cycle_time_variation#cite_note-breaking-1">[2]</a></sup></p></blockquote>
<p>In my humble opinion, the best thing about cycle time is that it is a TEAM metric and not an individual one. That means that if the team collaborate to improve work and reduce waste everyone benefits from it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/200/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=200&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2010/08/22/dream-team-part-v-delivery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>
	</item>
		<item>
		<title>Dream Team &#8211; Part IV &#8211; Problem Solving</title>
		<link>http://blog.heynemann.com.br/2010/08/04/dream-team-part-iv-problem-solving/</link>
		<comments>http://blog.heynemann.com.br/2010/08/04/dream-team-part-iv-problem-solving/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 03:44:06 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Agile Techniques]]></category>
		<category><![CDATA[Dream Team]]></category>
		<category><![CDATA[LEAN]]></category>
		<category><![CDATA[Series]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[values]]></category>

		<guid isPermaLink="false">http://blog.heynemann.com.br/?p=191</guid>
		<description><![CDATA[Introduction So far our team has decided on a set of values and we saw how they discussed the first one. Now we join them as they get back from Starbucks to discuss again their values. Problem Solving The meeting starts again and once more I&#8217;m in charge of keeping time. John starts: John &#8211; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=191&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>So far <a href="http://blog.heynemann.com.br/2010/07/23/dream-team-part-i-the-people/" target="_self">our team</a> has decided on a <a href="http://blog.heynemann.com.br/2010/07/25/dream-team-part-ii-the-teams-values/" target="_self">set of values</a> and we saw how they <a href="http://blog.heynemann.com.br/2010/07/26/dream-team-part-iii-processes/" target="_self">discussed the first one</a>.</p>
<p>Now we join them as they get back from Starbucks to discuss again their values.</p>
<h2>Problem Solving</h2>
<p>The meeting starts again and once more I&#8217;m in charge of keeping time. John starts:</p>
<div class="wp-caption alignright" style="width: 385px"><a href="http://www.flickr.com/photos/ell-r-brown/4353408737/#/"><img title="Your butts are a big problem (and a pair of bicycles)" src="http://farm5.static.flickr.com/4042/4353408737_ddd7a3995b.jpg" alt="http://www.flickr.com/photos/ell-r-brown" width="375" height="500" /></a><p class="wp-caption-text">Credits to Ell Brown</p></div>
<blockquote><p><strong>Joh</strong><strong>n</strong> &#8211; Hi guys! Welcome back! That was a nice coffee break. There&#8217;s something I&#8217;ve been thinking about and I&#8217;d really like to talk with you guys about.</p>
<p>I would like to discuss how each of you feel about problem solving. If we are to keep continually improving we need a systematic way of solving problems. At least that&#8217;s how I feel.</p>
<p><strong>Jake </strong>- What do you mean by systematic?</p>
<p><strong>John </strong>- I mean we need some way to archive the knowledge we gathered and the solution we had for each problem. This way we don&#8217;t need to repeat ourselves when solving the same problem, or even when some other team in the company wants to solve it. I read about how <a href="http://blog.heynemann.com.br/2010/07/20/problem-solving-scientific-method/" target="_self">Lean companies do it with A3 report cards</a> and I really liked what I read.</p>
<p><strong>Susan </strong>- Even though I never worked with a formal way of solving problems, I often thought that we should have a way of publishing our findings when we decide something.</p>
<p><strong>Christian </strong>- Can you give an example?</p>
<p><strong>Susan </strong>- Sure. In my last project we were using Python as our main language. Some team members had experience with <a href="http://www.djangoproject.com/" target="_blank">Django</a>, while others preferred to use a more low-level framework like <a href="http://www.cherrypy.org/" target="_blank">CherryPy</a>. Preferences aside, we were expected to provide real-time dynamic data to more than a hundred thousand concurrent users, so performance was a key constraint for us.</p>
<p><strong>Jake </strong>- Wasn&#8217;t there a benchmark you could use to decide?</p>
<p><strong>Susan </strong>- We didn&#8217;t find one, so we ended up doing a thorough comparison of some Python Web Frameworks with many different production settings (Apache, Nginx, you name it). The results pointed us in the right direction.</p>
<p>The thing is that even though it was very cool to learn all that on a personal level, I feel that we didn&#8217;t leave behind any trail of this knowledge to other teams. Probably others have done this already, as was reported by our production team. If we don&#8217;t have a formal way of solving problems like this, we are bound to repeat this effort time and again.</p>
<p><strong>John</strong> &#8211; I couldn&#8217;t have summarized it better. Thanks Susan for explaining what I meant. That&#8217;s exactly it. Knowledge generation is a problem that I really care about. What about you guys? What do you think?</p>
<p><strong> </strong></p>
<div class="wp-caption alignleft" style="width: 343px"><strong><strong><a href="http://www.flickr.com/photos/acidwashphotography/2967752733/#/"><img title="The Never Ending Math Problem" src="http://farm4.static.flickr.com/3232/2967752733_b8e2d77f71.jpg" alt="http://www.flickr.com/photos/acidwashphotography" width="333" height="500" /></a></strong></strong><p class="wp-caption-text">Credits to Dan.</p></div>
<p><strong>Jane </strong>- We have that in the Design team. We always leave behind reasons and the discovery made to achieve a certain standard. I thought that you guys did that as well. I most certainly think we need to standardize how we decide things. This is key even within our team.</p>
<p>Imagine me and Christian finish some UI definition together and we want to share with you guys. I expect that you&#8217;ll want to know what were the assumptions and everything that led us to define the UI in the way it was defined, right? In order for that to happen there needs to be some mechanism to formalize knowledge. I really like this A3 thing, since I love sketching with pen and paper.</p>
<p><strong>Christian </strong>- I don&#8217;t have much to add except that whenever I work in Open Source Projects, each project has its own way of preserving knowledge. Wikis, evolution proposals, docs, release notes, you name it. The key thing is that all successful projects share this trait in common. They all keep their knowledge at heart. I think we should do the same. I&#8217;d realy like to try this A3 technique, if we can change it later if we don&#8217;t like it.</p>
<p><strong>Joseph</strong> &#8211; Hey, that&#8217;s brilliant. We agreed already on changing any process that does not work to something better, didn&#8217;t we?</p>
<p><strong>All </strong>- YES!</p>
<p><strong>John </strong>- Ok, we have a way to solve problems, but how are problems going to affect our work. I hear Susan has already worked here in the company using <a href="http://www.strategosinc.com/jidoka_1.htm" target="_blank">Stop the line</a> methodology, right?</p>
<p><strong>Susan &#8211; </strong>Yes, I did. And it was GREAT! The team used the motto: &#8220;The best time to solve a problem is RIGHT NOW!&#8221;. I learned later that this translates to the Jidoka principle in LEAN methodologies. It means that whenever we have a problem we stop working in whatever we are working to solve that problem. It seems counter-intuitive, since we&#8217;ll be &#8220;less&#8221; productive due to solving problems. The thing is even though this slows us down a little in the beginning, it speeds us up GREATLY in the long run.</p>
<p><strong>Christian &#8211; </strong>What about bugs? Do we keep them in a bug tracker?</p>
<p><strong>John </strong>- I reckon that if we keep solving bugs whenever we find them or whenever people report them, we should have 1 or 2 bugs open at any given time tops. Who needs a tracker to track 1 or 2 items?</p>
<p><strong>Christian </strong>- Makes sense.</p>
<p><strong>Joseph &#8211; </strong>So we as a team agree that whenever a problem arises the proper number of people in the team should stop as soon as possible to fix it and then find a way (at first an A3 report) to leave behind the knowledge on how it got fixed and why. Is that it?</p>
<p><strong>All</strong> &#8211; Yep.</p>
<p><strong>Joseph </strong>- Ok, I think we got our second value. <em>The best time to solve any problem or defect is now</em>.</p></blockquote>
<h2>Conclusion</h2>
<p><a href="http://manifesto.softwarecraftsmanship.org/" target="_blank">Software Craftsmanship</a> is a creative activity. As such we are confronted with problems and issues every day. It seems to be a good thing to just archive the issue in some way (bug tracker, tech debt card or any other way you can think of).</p>
<p>The problem with this is that the issues start building up and work starts to slow down. If you keep stopping the line whenever you find a problem, eventually the number of issues will decrease astoundingly. When the number of issues decrease, the speed of the team increases.</p>
<p>Refactoring code is one way to stop the line whenever you see code  that is not clear. Fixing a bug you found while on another story is a  way to stop the line. Acting on an integration problem with the customer  is a way to stop the line. Introducing an improvement in the process is  a way to stop the line. Anything that solves any problem RIGHT NOW is a  way to stop the line.</p>
<p>There must be a way of publishing the results of problem solving in a way that people can benefit or refer to in the future. This leads to a better knowledge management and improved collaboration within the company. One suggested way of doing this is how scientists currently do: the scientific method. Since I already discussed it, I won&#8217;t say anything further.</p>
<p>If anyone has any suggestions on problem solving or stopping the line, please leave comments.</p>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:281px;width:1px;height:1px;overflow:hidden;">http://blog.heynemann.com.br/2010/07/20/problem-solving-scientific-method/</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/191/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=191&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2010/08/04/dream-team-part-iv-problem-solving/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>

		<media:content url="http://farm5.static.flickr.com/4042/4353408737_ddd7a3995b.jpg" medium="image">
			<media:title type="html">Your butts are a big problem (and a pair of bicycles)</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3232/2967752733_b8e2d77f71.jpg" medium="image">
			<media:title type="html">The Never Ending Math Problem</media:title>
		</media:content>
	</item>
		<item>
		<title>Dream Team &#8211; Part III &#8211; Processes</title>
		<link>http://blog.heynemann.com.br/2010/07/26/dream-team-part-iii-processes/</link>
		<comments>http://blog.heynemann.com.br/2010/07/26/dream-team-part-iii-processes/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 08:00:35 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Agile Techniques]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Dream Team]]></category>
		<category><![CDATA[LEAN]]></category>
		<category><![CDATA[Series]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[value]]></category>

		<guid isPermaLink="false">http://blog.heynemann.com.br/?p=159</guid>
		<description><![CDATA[The Value As explained in the previous post, the first value outlined in the iNews team is that processes serve the sole purpose of being challenged and improved. The Discussion The team gathered at a meeting room. At the meeting there were John Miller, Susan Lawrence, Jane Collins, Jake Preston, Christian Fields, Joseph Ross and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=159&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>The Value</h2>
<p>As explained in the previous post, the first value outlined in the iNews team is that processes serve the sole purpose of being challenged and improved.</p>
<h2>The Discussion</h2>
<p>The team gathered at a meeting room. At the meeting there were John Miller, Susan Lawrence, Jane Collins, Jake Preston, Christian Fields, Joseph Ross and me.</p>
<p>I was invited just to listen, no talking allowed. I was in charge of time keeping so they would respect the time box for the meeting (the only thing I was allowed to say).</p>
<p>The first one to speak was John:</p>
<blockquote><p><strong>John: </strong>Hi guys! It&#8217;s a pleasure to be working with such a distinct and diverse team.</p>
<p>We have a very ambitious and interesting project ahead of us. We are in charge of changing the way people think about mobile news.</p>
<p>But before we set out to do just that, I&#8217;d like to discuss with you our team values.</p></blockquote>
<p>All the other team members looked puzzle. Susan quickly replied:</p>
<blockquote><p><strong>Susan: </strong>I don&#8217;t get your meaning, John. I thought we were supposed to use scrum like the rest of the company.</p>
<p>If we are to use it as a process then we already know our values: <a href="http://agilemanifesto.org/principles.html" target="_blank">the twelve principles in the agile manifesto</a>.</p>
<p>What exactly do you mean by &#8220;our values&#8221;?</p></blockquote>
<p>Every pair of eyes in the room turned to John. Tension in the air (ok, that&#8217;s just me being dramatic):</p>
<blockquote><p><strong>John: </strong>Very well observed. The issue here is that those are the agile manifesto principles. Not OUR principles.</p>
<p>We might end up with exactly the same set of principles, but then they&#8217;ll be our principles as well.</p>
<p>If we get to that, I&#8217;m sure we&#8217;ll live by those and in every decision you&#8217;ll abide by them.</p></blockquote>
<p>A sense of shared understanding filled the room. &#8220;That makes just so much sense&#8221;, I thought.</p>
<p>Jane still looked uneasy, though. John, as a good leader sensed that and asked her what was worrying her.</p>
<blockquote><p><strong>Jane: </strong>Well, as a designer I&#8217;m not as used as you guys to a formal process. I&#8217;m very used to change, though.</p>
<p>It&#8217;s very clear to me that change is a competitive advantage.<strong></strong></p>
<p><strong>John: </strong>I see, Jane. It is a good thing that you mentioned the process.</p>
<p>I really believe that processes are guides to help us interact and they serve no other purpose than to be challenged and replaced.</p>
<p><strong>Christian: </strong>Coming from an open-source background, I&#8217;m very used to challenging and replacing &#8220;processes&#8221; of all kinds: contribution, releases, licensing.</p>
<p>Usually you get the processes from some other well-known successful project and start adapting them to your project.</p>
<p><strong>Joseph:</strong> I like that discussion a lot. I come from a ScrumMaster position in the company from the early days of scrum.</p>
<p>A lot of failed Scrum implementations come from the fact that people get the practices without understanding the principles.</p>
<p>This leads to process paralysis. They won&#8217;t change anything in the process even if it gets in their way just because some book says they *HAVE* to do it this way.</p>
<p><strong>John: </strong>What do you think now, Susan?</p>
<p><strong>Susan:</strong> I couldn&#8217;t agree more with you guys.</p>
<p>I never thought that people failed to understand that processes are mutating things.</p>
<p>I always tried to adapt processes to fill my needs.</p>
<p><strong>Jake: </strong>Even though<strong> </strong>I come from a very different background, what you said makes perfect sense.</p>
<p>I do share the concern with Jane, though. What if the current process does not <strong>really</strong> include us in the loop?</p>
<p><strong>John:</strong> That&#8217;s exactly why we are suggesting that the process must be challenged and replaced with a better fit.</p>
<p>If ANYONE in the team feels some practice is not worth doing and have ANY better idea we should at least give it a try.</p>
<p>Best case scenario, we get best at doing what we have to do. Worst case, we learn. Looks like a win-win situation to me.</p></blockquote>
<p>At this point I&#8217;m just amazed at how easily people with such different backgrounds connected over an ideal of delivering more.</p>
<blockquote><p><strong>Joseph:</strong> Well, I can confidently say that we have one of our values defined.</p>
<p>Processes are guides that should and will be challenged any time anyone thinks of a better way of doing some practice (or even not doing it at all).</p>
<p>There are no fool ideas or experiments. There are no reprimands to suggesting improvements by anyone in the team.</p>
<p>Does that sum it in an understandable way?</p></blockquote>
<p><strong></strong>Everyone nods in agreement.</p>
<blockquote><p><strong>John:</strong> Ok, so we abide by this value at all times until we find it to be a poor fit to our team and change it. Ok?</p></blockquote>
<p>Again happy nods in agreement.</p>
<blockquote><p><strong>Me:</strong> Awesome! Done with 5 mins to spare!</p>
<p><strong>Susan:</strong> Yeah, and since I&#8217;m hungry, what do you guys say of a trip to Starbucks?</p>
<p><strong>All: </strong>YAY!</p></blockquote>
<p>Hmmm&#8230; Caffeine addicted, are we?!</p>
<p>They go happily to Starbucks and then come back to discuss next value.</p>
<h2>Conclusion</h2>
<p>This value may seem counter-intuitive at first. If I keep challenging a process that means it&#8217;s not good enough. What&#8217;s the point of having a process if it&#8217;s not good enough?</p>
<p>The team&#8217;s answer to that is that the process is just the current best practices for delivering value and as there&#8217;s no such thing as <strong>THE </strong>best way to deliver software, they are supposed to be continuously challenged, experimented with, improved and replaced.</p>
<p>They do not believe that any of them know exactly the best way of doing anything, yet they uphold the ideal that together, through iterative refinement they can keep improving the way they do things.</p>
<p>This is the reason for this value. The process is not what&#8217;s important. Delivering business value is. The process is just the means to do that.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/159/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=159&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2010/07/26/dream-team-part-iii-processes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>
	</item>
		<item>
		<title>Dream Team &#8211; Part II &#8211; The Team&#8217;s Values</title>
		<link>http://blog.heynemann.com.br/2010/07/25/dream-team-part-ii-the-teams-values/</link>
		<comments>http://blog.heynemann.com.br/2010/07/25/dream-team-part-ii-the-teams-values/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 16:30:14 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Agile Techniques]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Dream Team]]></category>
		<category><![CDATA[LEAN]]></category>
		<category><![CDATA[Series]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[values]]></category>

		<guid isPermaLink="false">http://blog.heynemann.com.br/?p=150</guid>
		<description><![CDATA[Introduction In the last part of the ACME&#8217;s iNews saga, John, Susan, Jane, Jake, Christian and Joseph set out to start the product. They decided that, in order to consistently deliver and provide value to the company, they needed to get their team&#8217;s values straight. What do they believed in as a group? What principles [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=150&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In the last part of the ACME&#8217;s iNews saga, John, Susan, Jane, Jake, Christian and Joseph set out to start the product.</p>
<p>They decided that, in order to consistently deliver and provide value to the company, they needed to get their team&#8217;s values straight. What do they believed in as a group? What principles and ideals would they uphold and work by? So they got together and after some brainstorming they came to the following Team Values Statement.</p>
<h2>Team Values</h2>
<p>The following values are what the entire team considers fundamental and is committed to upholding.</p>
<ol>
<li>Every process exists for the sole purpose of being challenged and improved;</li>
<li>The best time to solve any problem or defect is now;</li>
<li>Code only has value in production. Unreleased code is waste;</li>
<li>Respect and Fun, with responsibility;</li>
<li>We own the product!;</li>
<li>Automate everything you possibly can, except people;</li>
<li>Tranparency above everything. No questions can be invalid or taboo.</li>
</ol>
<h2>Mission Statement</h2>
<p>They finish their value statement with their mission statement:</p>
<ul>
<li>These are our values and we commit to them and to one another.</li>
<li>We also recognize that our purpose is to create value for the organization.</li>
</ul>
<h2>Conclusion</h2>
<p>These values are not something the team &#8220;agreed&#8221; on, or just accepted. This is a set of common values that they share and will uphold above everything.</p>
<p>There&#8217;s a big difference in agreeing with or accepting something and sharing a value with someone. The fundamental difference is commitment. People are committed to their values and this team is committed to the values above.</p>
<p>I&#8217;ll explain in detail in further posts every single one of the values they outlined as they discussed (I was invited to the discussion).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/150/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=150&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2010/07/25/dream-team-part-ii-the-teams-values/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>
	</item>
		<item>
		<title>Dream Team &#8211; Part I &#8211; The People</title>
		<link>http://blog.heynemann.com.br/2010/07/23/dream-team-part-i-the-people/</link>
		<comments>http://blog.heynemann.com.br/2010/07/23/dream-team-part-i-the-people/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 07:00:57 +0000</pubDate>
		<dc:creator>heynemann</dc:creator>
				<category><![CDATA[Agile Techniques]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Dream Team]]></category>
		<category><![CDATA[LEAN]]></category>
		<category><![CDATA[Series]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[values]]></category>

		<guid isPermaLink="false">http://blog.heynemann.com.br/?p=144</guid>
		<description><![CDATA[Introduction Tonight I was wondering if I could describe a dream team. I&#8217;m not talking about dream team members, since I&#8217;ve only worked with very smart and committed people for this last year and a half in globo.com. I&#8217;m talking about a fictitious team where people would apply everything I believe a dream team would: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=144&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>Tonight I was wondering if I could describe a dream team. I&#8217;m not talking about dream team members, since I&#8217;ve only worked with very smart and committed people for this last year and a half in globo.com. I&#8217;m talking about a fictitious team where people would apply everything I believe a dream team would: profound knowledge, scientific method for problem solving, set-based design, continuous improvement, continuous deployment, iterative discovery, design and development, and some other things.</p>
<p>As is very well put by Mary and Tom Poppendieck in their book, it&#8217;s never the workers faults that create bugs, delivery rescheduling or customer dissatisfaction. It&#8217;s <strong>ALWAYS</strong> the system. So the main goal for this team is to make the system as mistake-proof as they possibly can, and then some. Through these posts I&#8217;ll try to describe the people, the process and its improvements and a product they are developing.</p>
<h2>The Product</h2>
<p>The team will be doing an iPhone/iPad app to deliver news to clients of a news agency. It&#8217;s creatively named <strong>iNews</strong>.</p>
<h2>The Team</h2>
<p>Even though this is a fictional team, I want to describe them (even with pictures &#8211; all Creative Commons) so I can translate that <strong>PEOPLE</strong> are the goal, the main thing. These are the people set to do a FANTASTIC product for my fictitious company, ACME Software.</p>
<h3><a href="http://www.flickr.com/photos/ian_munroe/"><img class="alignleft" title="The Many Faces 3 - Credits to Ian Munroe" src="http://farm3.static.flickr.com/2706/4174136961_3e55f1c69c.jpg" alt="http://www.flickr.com/photos/ian_munroe/4174136961/" width="240" height="160" /></a> John Miller</h3>
<p>John Miller is the tech lead for iNews. He used to work for a very large news agency and has more than 10 years of experience developing software.</p>
<p>John has a lot of experience with agile practices and lean software development. ACME&#8217;s board of directors expect him to lead the team to deliver a surprising, efficient and competitive product.</p>
<p>John has experience with static and dynamic languages, yet no experience with iPhone development. He&#8217;s eager to learn all about it, though. He wonders what kinds of architectural issues the iPhone/iPad development model poses.</p>
<p>&nbsp;</p>
<h3><a href="http://www.flickr.com/photos/lara604/"><img class="alignright" title="Angry Friday Face - Credits to Lara604" src="http://farm3.static.flickr.com/2345/2369412952_797e2f8141.jpg" alt="http://www.flickr.com/photos/lara604/2369412952/" width="300" height="225" /></a> Susan Lawrence</h3>
<p>Susan Lawrence is a senior engineer with the company. She is very knowledgeable of Scrum and in previous projects for ACME she loved the methodology. She feels that something was missing, though. There were some issues identified by the team and yet the team did little to solve them.</p>
<p>She has no experience with mobile development but is very eager to learn as much as she can. User experience is a subject that she cares deeply and is looking forward to working with Jane Collins.</p>
<p>She is the author of Stinks, the Continuous Integration server being used by some teams at ACME, so you can tell that she cares a lot about this practice.</p>
<p>&nbsp;</p>
<h3><a href="http://www.flickr.com/photos/dichohecho/"><img class="alignleft" title="For 100,000 faces - Credit to DichoEcho" src="http://farm4.static.flickr.com/3046/2556568314_b36c8ecfde.jpg" alt="http://www.flickr.com/photos/dichohecho/2556568314/" width="225" height="300" /></a> Jane Collins</h3>
<p>Jane Collins is the user experience designer for iNews. She has a success track record with the company on several previous products.</p>
<p>She used to decide on  her own what the user experience was supposed to be. This has proven to be the ineffective way of doing this, since the team always had issues implementing what she designed.</p>
<p>In her last project she tried a more tight integration with developers and they provided invaluable insight into what the users might value and what they wouldn&#8217;t.</p>
<p>She&#8217;s looking forward to the challenges of designing a consistent user experience for such distinct devices as the iPhone and iPad.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>Jake Preston<a href="http://www.flickr.com/photos/titlap"><img class="alignright" title="Two distinct sides on his face - Credits to Titlap" src="http://farm4.static.flickr.com/3449/3936883765_39121dcab5.jpg" alt="http://www.flickr.com/photos/titlap/3936883765/" width="200" height="300" /></a></h3>
<p>Jake Preston used to be an expert at front-end software development. Tired of this separation of front-end and back-end developers, he decided he would be as knowledgeable on back-end development as everyone else in the company (if not more).</p>
<p>Jake has been studying software engineering practices in general and learning more in every project he´s in. The iNews product has several interesting challenges for him. Among them, the different presentation requirements and capabilities of the devices.</p>
<p>He&#8217;s very concerned with how can interface automated testing be done in such devices, as well.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3><a href="http://www.flickr.com/photos/greggoconnell/"><img class="alignleft" title="Thizz Face - Credits to Greggoconnel" src="http://farm1.static.flickr.com/117/252976245_b31c160561.jpg" alt="http://www.flickr.com/photos/greggoconnell/252976245/" width="300" height="225" /></a>Christian Fields</h3>
<p>Christian Fields has just joined ACME. He never worked with news agencies, but has a very good track record with open source projects, being a contributor to large and very large projects.</p>
<p>He has a very strong culture of sharing and contributing. He expects to be able to apply this knowledge to iNews, since collaboration with customers and to some other teams will not only be required, but key to success.</p>
<p>He values second to none automated testing and versioning, being so used to rejecting patches that do not provide automated tests and releasing early and often to gather feedback of the community.</p>
<p>He is VERY excited to be working with a team of smart people in a very promising product.</p>
<p>&nbsp;</p>
<h3><a href="http://www.flickr.com/photos/flechtnerby"><img class="alignright" title="IMG_2529 - Credits to Flechtnerby" src="http://farm5.static.flickr.com/4079/4817094778_97372849b1.jpg" alt="http://www.flickr.com/photos/flechtnerby/4817094778/" width="300" height="225" /></a>Joseph Ross</h3>
<p>Joseph Ross is the project manager. His role is to remove any impediments that stop the team from fulfilling the values in their value statement (next part).</p>
<p>He has a very strong process background being a certified scrum master and PMP. He thinks methodologies are guides whose only purpose is to be improved and replaced with the new improved process.</p>
<p>He has been in the company for more than 10 years, thus he knows virtually every employee and knows exactly how ACME and its people operate, as well as what the company&#8217;s values are.</p>
<h2>Conclusion</h2>
<p>These are the people who, together, will succeed or fail in delivering an innovative news content delivery application for the iPhone/iPad platform.</p>
<p>More about what their values are in the next post.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heynemann.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heynemann.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heynemann.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heynemann.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/heynemann.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/heynemann.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/heynemann.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/heynemann.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heynemann.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heynemann.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heynemann.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heynemann.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heynemann.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heynemann.wordpress.com/144/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.heynemann.com.br&amp;blog=13869183&amp;post=144&amp;subd=heynemann&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.heynemann.com.br/2010/07/23/dream-team-part-i-the-people/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/eca21e5e47811c60e03087fc311e1d29?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heynemann</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2706/4174136961_3e55f1c69c.jpg" medium="image">
			<media:title type="html">The Many Faces 3 - Credits to Ian Munroe</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2345/2369412952_797e2f8141.jpg" medium="image">
			<media:title type="html">Angry Friday Face - Credits to Lara604</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3046/2556568314_b36c8ecfde.jpg" medium="image">
			<media:title type="html">For 100,000 faces - Credit to DichoEcho</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3449/3936883765_39121dcab5.jpg" medium="image">
			<media:title type="html">Two distinct sides on his face - Credits to Titlap</media:title>
		</media:content>

		<media:content url="http://farm1.static.flickr.com/117/252976245_b31c160561.jpg" medium="image">
			<media:title type="html">Thizz Face - Credits to Greggoconnel</media:title>
		</media:content>

		<media:content url="http://farm5.static.flickr.com/4079/4817094778_97372849b1.jpg" medium="image">
			<media:title type="html">IMG_2529 - Credits to Flechtnerby</media:title>
		</media:content>
	</item>
	</channel>
</rss>
