<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Agile Pain Relief</title>
	
	<link>http://agilepainrelief.com</link>
	<description>Best practices for your goals</description>
	<lastBuildDate>Mon, 14 May 2012 19:50:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/NotesFromAToolUser" /><feedburner:info uri="notesfromatooluser" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>45.39</geo:lat><geo:long>-75.75</geo:long><feedburner:emailServiceId>NotesFromAToolUser</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Looking for 100 Agile Voices we should hear more from</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/hmqiHJDj7MI/looking-for-100-agile-voices-we-should-hear-more-from.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/04/looking-for-100-agile-voices-we-should-hear-more-from.html#comments</comments>
		<pubDate>Tue, 24 Apr 2012 04:23:02 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=2327</guid>
		<description>In the past few years a number of Agile people I respect have published top 100 or even top 200 lists. While I like many others appreciate the attention they’ve brought the whole idea seems very anti-agile. Agile promotes a democratic meritocracy. These lists do the opposite, they create “hero’s” people whose ideas are more [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.agilepainrelief.com/images/2012/04/microphone-small.jpg"><img style="background-image: none; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" title="microphone-small" src="http://www.agilepainrelief.com/images/2012/04/microphone-small_thumb.jpg" alt="microphone-small" width="185" height="240" align="right" border="0" /></a>In the past few years a number of Agile people I respect have published top 100 or even top 200 lists. While I like many others appreciate the attention they’ve brought the whole idea seems very anti-agile. Agile promotes a democratic meritocracy. These lists do the opposite, they create “<a href="http://agilepainrelief.com/notesfromatooluser/2011/05/agile-gurus-or-thought-leaders.html">hero’s</a>” people whose ideas are more important others. Instead I think we should be widely read in the Agile community often reaching outside our immediate realm. To that end I’m asking for your help creating a list of voices we should hear more from. My goal is find ~100, the limit is more from my time and energy than the lack of more people we could find.</p>
<p><span id="more-2327"></span></p>
<p>Some simple ground rules:</p>
<ul>
<li>Nominees have to be a track record of doing something Agile for at least a year</li>
<li>Not the top 100 of any previous list</li>
<li>There are no algorithms involved – when I discuss backlog ranking/ordering in my Scrum training I suggest that human ordered lists have more value than those ordered ROI calculations</li>
<li>I’m most interested in people who write about their experiences (good or bad)</li>
<li>Please don’t suggest yourself</li>
<li>I will reject suggested people for no visible reason <em>Ok this one is poorly phrased, the only point is that if  I don&#8217;t include someone I won&#8217;t write a paragraph about why.</em></li>
<li>Inclusion in this list is completely arbitrary, based entirely on my judgement (there is no appeal board :-)</li>
</ul>
<p>When you suggest someone please tell me:</p>
<ul>
<li>Who they are and why they’re interesting</li>
<li>Where they write blog (or some other source)</li>
<li>Twitter ID, Google+ link, etc…</li>
</ul>
<p>If you suggest someone but don’t include their blog it makes hard to find their writing, please make it easy for me. This list will only be about Agile people. Another time I will shine a light on interesting sources outside the Agile community. Suggested #100Agilelessorknowns &#8211; not perfect but its shorter.</p>
<p>In the spirit of inspect and adapt I’m open to suggestions that will make this better.</p>
<p><em>Update: &#8220;I will reject suggested people for no visible reason&#8221; &#8211; It was suggested that this was poorly said. Agreed. When I other talked to the authors of other lists they say they use stats to make the decision to avoid controversy and having to justify their choices. This list will come from the heart and might not include someone who you think should be there. My only point was that when I do exclude people I don&#8217;t want to spend the time writing about why. I acknowledge the list is arbitrary as is any human curated list that&#8217;s what will make it interesting.</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=hmqiHJDj7MI:22k2OJShYsM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=hmqiHJDj7MI:22k2OJShYsM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=hmqiHJDj7MI:22k2OJShYsM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=hmqiHJDj7MI:22k2OJShYsM:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=hmqiHJDj7MI:22k2OJShYsM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=hmqiHJDj7MI:22k2OJShYsM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=hmqiHJDj7MI:22k2OJShYsM:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/hmqiHJDj7MI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/04/looking-for-100-agile-voices-we-should-hear-more-from.html/feed</wfw:commentRss>
		<slash:comments>33</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/04/looking-for-100-agile-voices-we-should-hear-more-from.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=looking-for-100-agile-voices-we-should-hear-more-from</feedburner:origLink></item>
		<item>
		<title>ScrumMaster Tales – New People on the Team</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/cdLlIythfYQ/scrummaster-talesnew-people-on-the-team.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/04/scrummaster-talesnew-people-on-the-team.html#comments</comments>
		<pubDate>Wed, 11 Apr 2012 06:03:40 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[ScrumMaster Tales]]></category>
		<category><![CDATA[Teams]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=2108</guid>
		<description>After six months ScrumMaster John has finally found someone to fill the role of Senior Software Developer on the team. The goal is to find someone who can round out the team and play many roles (see: Bottlenecks). After many interviews they’ve settled on Kirby[1] who has over 20 years experience developing software, both server [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.agilepainrelief.com/images/2012/04/kids-teamwork.png"><img style="background-image: none; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" title="New People on the Team Don't Always Play well with Others" src="http://www.agilepainrelief.com/images/2012/04/kids-teamwork_thumb.png" alt="New People on the Team Don't Always Play well with Others" width="244" height="186" align="right" border="0" /></a>After six months ScrumMaster John has finally found someone to fill the role of Senior Software Developer on the team. The goal is to find someone who can round out the team and play many roles (see: <a href="http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-talesthe-team-gets-bottlenecked.html" target="_blank">Bottlenecks</a>). After many interviews they’ve settled on Kirby[1] who has over 20 years experience developing software, both server side and GUI. He is a self proclaimed expert in most of the technologies the team uses and that’s where the problems start. In addition the team members assume that he is being very well paid, perhaps better than any of the rest of them.</p>
<p>Attempting to learn the basics of the code base in his first few Sprints, Kirby takes on GUI, Middle tier, Server and Testing Tasks. He asks his teammates for code reviews and the code is pretty good, however it becomes clear that he can be touchy on some subjects and isn’t eager to receive negative feedback. On the subject of feedback he says: “I’m a Senior Developer, I don’t need to learn from you, it should be the other way round”. At first the team just try to accommodate his needs, but after five to six weeks tensions begin to rise. Ian (the Middle Tier guy) feels threatened, he sees Kirby trying to occupy the niche he has occupied on the team. To compensate Ian spends more time doing server side work, which in turn causes Doug some concern. Even Tonia feels a little bit threatened as Kirby starts doing some automation work.<span id="more-2108"></span></p>
<p>Seven weeks into Kirby’s tenure, during a daily stand-up (<a href="http://agilepainrelief.com/notesfromatooluser/2010/04/pathologies-of-the-daily-scrum-or-standup.html" target="_blank">Daily Scrum</a>), he is describing about his work to display book prices in the local currency when Ian (usually a calm individual) blurts out: “He’s stealing my work”. John swings into action saying: “Ian thanks, this seems important could we discuss after Standup and let Kirby finish”, Ian agrees sheepishly. John turns back to the team and just says why don’t we pickup again with Kirby. After standup John grabs Ian and says lets go out for coffee. Over coffee they chat and John hears Ian’s view on the situation:</p>
<ul>
<li>Kirby isn’t open to suggestions or comments about his code</li>
<li>Kirby is pushing him out the work that he does regularly</li>
<li>Kirby often denigrates the quality of the existing code</li>
<li>Kirby makes it clear that the other developers should be learning from him</li>
</ul>
<p>After coffee with Ian, John goes for a walk with Kirby to hear his point of view:</p>
<ul>
<li>Kirby sees that the code doesn’t have the quality (see Technical Debt) he would expect of it</li>
<li>Kirby is aware that he’s sometimes seen as pushy and isn’t sure how to solve that problem</li>
<li>Kirby understands how Ian feels push aside but isn’t sure that this is his problem to help solve</li>
</ul>
<p>John spends the rest of the day, buying coffee and tea for the rest of team, talking to one person at a time. While they don’t feel as much pain as Ian they feel some of it.</p>
<p>The question is what to do now?</p>
<h2>Analysis</h2>
<p>First and foremost John can’t take sides here. He can look to find the positives he sees going on but can’t champion anyone’s viewpoint. As soon as he starts to do that he will erode his credibility as a neutral ScrumMaster. The best he can do is get the various players talking and see if they can resolve the problem. To see some of the problems here read Brian Buzzoto’s: “<a href="http://www.bigvisible.com/2012/02/watch-for-triangles/" target="_blank">Watch for Triangles</a>”.</p>
<p><em>My viewpoint as Editor: </em>Many of the things Kirby is doing: working across the code base, doing testing work, writing unit tests, generally raising the code quality are good for the team. The problem is that in doing this he comes across as a know it all.</p>
<p>The key here is remember <a href="http://en.wikipedia.org/wiki/Tuckman's_stages_of_group_development" target="_blank">Tuckman’s Model of Team Formation</a> (Forming, Storming, Norming, Performing). When even a single team member changes the team reverts to forming and after seven weeks they’re rediscovered storming. Storming part of process can’t be avoided, skillful ScrumMastering aka interference, in fact interference make it last longer.</p>
<h2>Story</h2>
<p>The next day John gets Kirby and Ian to sit down and talk. He sets out ground rules: talk about your feelings, talk about events, use “I” statements not “You” statements. He suggests the goal isn’t to solve any problems today just understand how the other feels. Even if they still disagree, they need to understand the other person’s viewpoint. In future Ian suggests that checkin every day with how their working relationship is with the other person.</p>
<p>… The story could/should continue for weeks. At this stage lets assume that they’ve at least started to understand each other. Maybe we will see hints of this story in future posts.</p>
<h2>Analysis</h2>
<p>It’s striking that this problem occurred in part because the team weren’t involved in the interview process. Hiring well is a very difficult problem, its even harder when the people who will spend the most time with the new hire haven’t met them before. I find it very effective to involve team members in the interview process. I would even get the potential hire to pair program with the rest of the team as part of the interview. There is nothing like a few hours of coding (spread across the entire team) to get a sense of what working with them will be like.</p>
<p>[1] Any resemblance to the author of this blog is purely accidental as Kirkby is purely a fiction of my imagination.</p>
<p>[2] To make this work the team need some basic interview training so they avoid the various legal pitfalls. Ragnwald had some great examples recently in: “<a href="http://raganwald.posterous.com/i-hereby-resign" target="_blank">I hereby (fictionally) resign</a>”</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cdLlIythfYQ:b83X2kUT93I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cdLlIythfYQ:b83X2kUT93I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=cdLlIythfYQ:b83X2kUT93I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cdLlIythfYQ:b83X2kUT93I:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cdLlIythfYQ:b83X2kUT93I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cdLlIythfYQ:b83X2kUT93I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=cdLlIythfYQ:b83X2kUT93I:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/cdLlIythfYQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/04/scrummaster-talesnew-people-on-the-team.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/04/scrummaster-talesnew-people-on-the-team.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=scrummaster-talesnew-people-on-the-team</feedburner:origLink></item>
		<item>
		<title>ScrumMaster Tales–The Team Learn How to Learn</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/4LROyuzi9zc/scrummaster-talesthe-team-learn-how-to-learn.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/03/scrummaster-talesthe-team-learn-how-to-learn.html#comments</comments>
		<pubDate>Wed, 28 Mar 2012 18:47:27 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[ScrumMaster Tales]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=2070</guid>
		<description>The Team are struggling to payoff the Technical Debt (or mess) that they’ve spent the last six months accumulating. They’ve started to institutionalize writing Unit Tests (by adding it to “Done”) and they’re using Sonar to help track Code Coverage, PMD warnings et al. (Ed: Don’t take Sonar or any other measure as more than [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.agilepainrelief.com/images/2012/03/dojo-martial-arts.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" title="Coding Dojo - a safe place to learn" src="http://www.agilepainrelief.com/images/2012/03/dojo-martial-arts_thumb.jpg" alt="Coding Dojo - a safe place to learn" width="244" height="184" align="right" border="0" /></a>The Team are struggling to payoff the <a href="http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-talesstop-digging-new-holes.html" target="_blank">Technical Debt</a> (or mess) that they’ve spent the last six months accumulating. They’ve started to institutionalize writing Unit Tests (by adding it to “Done”) and they’re using <a href="http://www.sonarsource.org/" target="_blank">Sonar</a> to help track Code Coverage, PMD warnings et al. (<em>Ed: Don’t take Sonar or any other measure as more than a first order view of the code, it hints where you need to look no more).</em></p>
<h2>Story</h2>
<p>During the Standup Ian reports that he is starting his third day of refactoring[1], a <a href="http://lostechies.com/chrismissal/2009/05/28/anti-patterns-and-worst-practices-monster-objects/" target="_blank">monster class</a> called BuyABook. ScrumMaster John’s antenna go up immediately, after all the team had split all tasks in one day or less. After standup he stops to have a quick chat with Ian to find out what is up. Ian explains that this class depends on many other classes and as a result it very difficult to test. He continues that he’s been reading the Feather’s book: “<a href="http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052">Working Effectively with Legacy Code</a>” but it’s a struggle to put the ideas into practice. When he’s finished John talks to Doug and Martin finding that they’re having similar problems.</p>
<p>John puts on his thinking cap, he knows the team needs practice and knows that they need a safe place to do it before they use the ideas in the main stream code. After a few minutes Goggling he stumbles on the idea of <a href="http://codingdojo.org/" target="_blank">coding dojo’s</a> and based on the experience of others: <a href="http://agilepainrelief.com/notesfromatooluser/2008/10/tdd-randori-session.html" target="_blank">TDD Randori Session</a>, <a href="http://agilepainrelief.com/notesfromatooluser/2008/10/tdd-randori-workshop.html" target="_blank">TDD Randori Workshop</a> and <a href="http://www.lagerweij.com/2011/06/23/my-first-coding-dojo/" target="_blank">My First Coding Dojo</a>. The idea behind a Coding Dojo is taken from the world of Martial Arts. It is just a safe place to practice. In this case John imagines the team would like to be able to practice the ideas that Feather’s proposed either on artificial problem or on a small problem in their own code base. He sees them getting together in a meeting room with a projector and solving a small problem as a team.<span id="more-2070"></span></p>
<p>Reading the experience posts John learns:</p>
<ul>
<li>It’s best to start with small problems</li>
<li>Bring a real mouse, not just a laptop trackpad</li>
<li>Pair Programming is best – one driver and one navigator</li>
<li>Ask the pair to explain their decisions, making it clear to the audience what is happening. In addition it keeps the audience engaged.</li>
<li>Rotate the pair partners every 5-7 minutes</li>
<li>Get enough Pizza for everyone</li>
<li>90-120 minutes is about the right length</li>
<li>Small steps</li>
<li>Ask questions if you don’t know what’s going on</li>
<li>Hold a retrospective at the end</li>
</ul>
<p>John gathers the team together and proposes the idea. They agree instantly, but Ian points out that “BuyABook” class is awfully large to get their heads wrapped around in 90 minutes. Instead they agree to tackle a smaller problem get the “ChargeBookToMasterCard” under test[2]. They agree to run the Dojo the next day at lunch.</p>
<p>They gather in a meeting room with a projector, a laptop and couple of other developers from a sister team that is also working on the bookstore. John had invited everyone to spend a few minutes preparing for the session by studying the code before hand. After a brief introduction to Coding Dojo’s (see Wouter Lagerweij’s <a href="http://www.slideshare.net/wouterla/coding-dojo-in-5-minutes" target="_blank">presentation via Slideshare</a>), Ian frames the problem. ChargeBookToMasterCard is difficult to test because all the existing constructors require access to the MasterCard processing server.</p>
<p>After a few minutes of struggling to understand the myriad of methods on the Mastercard, they realize that “ChargeBookToMasterCard” really only uses three of those of methods. They conclude that using a Facade to wrap the MasterCardProcessor is the simplest way to go. With the Facade they can either pass in the real MasterCard processor or a fake that can be used for testing. (<em>Ed: Yes this essentially manual mocking and real Mock tool would be faster to use). </em>Once they’re able to construct a “ChargeBookToMasterCard” now they can start trying to test the public methods and refactor the ones which are complex. At the end of 90 minutes they’ve got a good start at refactoring a previously challenging class. If they’re happy with the code quality they could check it in, otherwise a developer can use the work as inspiration to do the actual tidy up. Since Coding Dojo’s invite us to take risk they usually don’t result in code that you can use.</p>
<p>During the retrospective Ian says that the exercise has helped him see a way of biting off a smaller chunks of work when paying down technical debt. In addition Doug says he now has a much better understanding of the payment system. The team agree to hold another Coding Dojo next week.</p>
<h2>Analysis</h2>
<p>For a couple hours of time and the price of some Pizza the team members have gained a little confidence at doing something that had previously seemed hard and risky. While there are still many more hills to climb, knowing that its possible is often one of the biggest barriers to paying down Technical Debt. When we see just how small some problems are it becomes a bit easier. In addition all the developers on the team have learned some new ideas today. It will take months to get the team to the place that we see as possible but they will only get there one step at a time.</p>
<p>Notes:</p>
<p>[1] I always take exception to this misuse of the word refactoring. <a href="http://martinfowler.com/refactoring/" target="_blank">Refactoring</a> is “is a series of small behavior preserving transformations”. When we have to talk about a multi-day refactoring its long past the point of small. If they must happen I call them rework or rebuilding.</p>
<p>[2] Serendipity. Just after inventing “ChargeBookToMasterCard” I grabbed Feather’s Legacy Code book of the shelf, open a random page and find a very detailed example of the problem we will tackle on pages 106-113 <a href="http://books.google.ca/books?id=fB6s_Z6g0gIC&amp;pg=PT134&amp;lpg=PT134&amp;dq=The+Case+of+the+Irritating+Parameter&amp;source=bl&amp;ots=Z4MpQDGSGj&amp;sig=ZUoXSwSDotI7aginC7KnklaOHzE&amp;hl=en&amp;sa=X&amp;ei=KzJzT5nzI8i9gAflru1S&amp;ved=0CB8Q6AEwAA#v=onepage&amp;q=The%20Case%20of%20the%20Irritating%20Parameter&amp;f=false" target="_blank">The Case of the Irritating Parameter</a> (link to Google Books)</p>
<p>Part of an ongoing series called <a href="http://agilepainrelief.com/notesfromatooluser/category/agile/scrum/scrummaster-tales">Scrum Master Tales</a>. The series covers ScrumMaster John and his team as they develop an online bookstore.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=4LROyuzi9zc:oCTw9_kRN-Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=4LROyuzi9zc:oCTw9_kRN-Q:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=4LROyuzi9zc:oCTw9_kRN-Q:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=4LROyuzi9zc:oCTw9_kRN-Q:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=4LROyuzi9zc:oCTw9_kRN-Q:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=4LROyuzi9zc:oCTw9_kRN-Q:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=4LROyuzi9zc:oCTw9_kRN-Q:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/4LROyuzi9zc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/03/scrummaster-talesthe-team-learn-how-to-learn.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/03/scrummaster-talesthe-team-learn-how-to-learn.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=scrummaster-talesthe-team-learn-how-to-learn</feedburner:origLink></item>
		<item>
		<title>Scrum Training Goal</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/UYoc2Qj7MkU/scrum-training-goal.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/03/scrum-training-goal.html#comments</comments>
		<pubDate>Sat, 24 Mar 2012 00:44:55 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=2066</guid>
		<description>I was asked earlier in the week the ultimate goal of my Scrum training. Someone wanted to know, did I expect my students to use Scrum? That has given me pause for thought, Scrum is an excellent tool in many situations but not the only one. I’ve never worried if people use Scrum, what matters [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.agilepainrelief.com/images/2012/03/goal-soccer.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="Scrum Training Goal" border="0" alt="Scrum Training Goal" align="right" src="http://www.agilepainrelief.com/images/2012/03/goal-soccer_thumb.jpg" width="240" height="238" /></a>I was asked earlier in the week the ultimate goal of my Scrum training. Someone wanted to know, did I expect my students to use Scrum? That has given me pause for thought, Scrum is an excellent tool in many situations but not the only one. I’ve never worried if people use Scrum, what matters more is if you help your organization by delighting your customers/clients.</p>
<p>To that end the goal of my course: Open peoples eyes to what is possible, help them see opportunities/impediments and awaken a spirit that won&#8217;t let go. All else is an implementation detail.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=UYoc2Qj7MkU:0jg1dRbwp_8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=UYoc2Qj7MkU:0jg1dRbwp_8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=UYoc2Qj7MkU:0jg1dRbwp_8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=UYoc2Qj7MkU:0jg1dRbwp_8:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=UYoc2Qj7MkU:0jg1dRbwp_8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=UYoc2Qj7MkU:0jg1dRbwp_8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=UYoc2Qj7MkU:0jg1dRbwp_8:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/UYoc2Qj7MkU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/03/scrum-training-goal.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/03/scrum-training-goal.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=scrum-training-goal</feedburner:origLink></item>
		<item>
		<title>ScrumMaster Tales–Stop Digging New Holes</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/BVoKZYcWP6o/scrummaster-talesstop-digging-new-holes.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-talesstop-digging-new-holes.html#comments</comments>
		<pubDate>Tue, 28 Feb 2012 19:10:58 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[ScrumMaster Tales]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=1955</guid>
		<description>The first law of holes is “When you’re in one stop digging”. In the last sprint the team discovered that they’re in a hole – in this case they had dug themselves into technical debt. We join the team this week in their Sprint Planning session, they start by rechecking their Retrospective action items: Respect [...]</description>
			<content:encoded><![CDATA[<div id="attachment_1957" class="wp-caption alignright" style="width: 310px"><a href="http://agilepainrelief.com/images/2012/02/holes-first-law-digging-pickaxe.jpg" target="_blank"><img class="size-medium wp-image-1957 " style="margin: 5px;" title="holes-first-law-digging-pickaxe" src="/images/2012/02/holes-first-law-digging-pickaxe-300x206.jpg" alt="First Law of Holes is Stop Digging" width="300" height="206" /></a><p class="wp-caption-text">Scrum Team digging a hole</p></div>
<p>The first law of holes is “When you’re in one stop digging”. In the last sprint the team discovered that they’re in a hole – in this case they had dug themselves into technical debt.</p>
<p>We join the team this week in their Sprint Planning session, they start by rechecking their Retrospective action items:</p>
<ul>
<li>Respect the “Definition of Done” – write Unit Tests (their complete “Definition of Done): Checked In, Peer Reviewed, Unit Tested, Manually Tested)</li>
<li>Temporarily add Unit Test column to their story board</li>
<li>Install <a href="http://www.sonarsource.org/" target="_blank">Sonar</a> (a platform to help visualize Code Quality) to help improve awareness of Code Quality and Technical Debt</li>
<li>Spend 20% of their time in the next couple of Sprints to tackle Technical Debt Issues <em>(Ed note: From experience this seems a bit low for team that have accumulated a fair amount of technical debt, but the team will have to learn on their own)</em></li>
</ul>
<p>They start by discounting their historical velocity (currently at ~20 Story points) by 20% to account for paying down the Technical Debt (16 Story Points). Then they recheck the “Definition of Done” for each story they’re about to commit to. At this stage Product Owner Sue pipes up to protest that all this focus on technical debt doesn’t help her get features out the door. She’s concerned the CEO will banging on her door soon. Doug explains that if the team doesn’t start to tackle the technical debt now the delivery of new features will slow down even more, while the bug count rises. He explains that the next 3-4 sprints will be rough the situation needs to stabilised <em>(Ed: He’s optimistic) </em>. ScrumMaster John reminds Sue that she is responsible for the product that the team delivers. In turn the team is responsible for deciding how much they can deliver and for ensuring its quality. Sue raises the flag of surrender but says she is really concerned and wants to revisit this two sprints from now.<span id="more-1955"></span></p>
<p>Once the planning actually gets going the team finds that they can’t even commit to 16 Story Points of work. They realize that it will be hard to write Unit Tests for some of the new stories. The team commit to installing Sonar and then look at the Technical Debt Backlog for key items. Based on what they’ve picked up from “<a href="http://www.artima.com/forums//threaded.jsp?forum=155&amp;thread=182754" target="_blank">Laurent method</a>” they’ve found a few large files that change frequently. They’ve discovered that several of these are 10,000+ line “<a href="http://en.wikipedia.org/wiki/God_object" target="_blank">God</a>/<a href="http://lostechies.com/chrismissal/2009/05/28/anti-patterns-and-worst-practices-monster-objects/" target="_blank">Monster</a> classes”, the class that everything else hangs off. When something small changes in these classes it ripples through the entire code base.</p>
<p>After the Sprint Planning Meeting John modifies the Story/Task Board to look like:</p>
<p><a href="http://www.agilepainrelief.com/images/2012/02/image.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Scrum Story/Task Board" src="http://www.agilepainrelief.com/images/2012/02/image_thumb.png" alt="Scrum Story/Task Board" width="431" height="150" border="0" /></a></p>
<p>Adding the “Definition of Done” at the top (permanently) and a “Unit Test” column (only until Unit Testing becomes a habit).</p>
<p>On <strong>Day 1</strong>, Ian (the unofficial Build Master) and Doug sit down together to get <a href="http://www.sonarsource.org/" target="_blank">Sonar</a> up and running. After spending a few hours getting it configured in their CI system they have a pretty page of Java projects to visit from their dashboard.<a title="Screenshot from Sonar's own Nemo" href="http://nemo.sonarsource.org/filters/index/1?asc=false&amp;sort=3" target="_blank"><img style="background-image: none; margin: 5px 5px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border: 0px;" title="Screenshot from Sonar's own Nemo" src="http://www.agilepainrelief.com/images/2012/02/image1.png" alt="Screenshot from Sonar's own Nemo" width="403" height="80" align="left" border="0" /></a></p>
<p>After having some fun looking at the worst violations, they come to realize that the default configurations of PMD can be very noisy (with warnings for method name too long and too short). They quickly decide to load up PMD in Eclipse and make a first pass at simplifying rules. Even after simplification they find the code base still has over 10,000 rule violations. They agree to raise the issue in the next <a href="http://agilepainrelief.com/notesfromatooluser/2010/04/pathologies-of-the-daily-scrum-or-standup.html" target="_blank">Daily Scrum</a>. They also decide to write a short note to the team explain which rules they dropped and why. In addition they discovered that their existing Unit Tests only provide 10% Code Coverage.</p>
<p><strong>Day 2</strong> During Daily Scrum – Ian describes what they’ve learned from installing Sonar and trying to configure PMD. After the meeting the developers have a five minute to chat to agree on a strategy to handle the PMD issues. They agree just to eliminate PMD warnings as they work on a class. When there are too many warnings to eliminate in one sitting, they agree to at least chip away at some and create a technical debt card/postit to capture the bigger issue(s).</p>
<p><strong>Day 3</strong> Splitting the God/Monster classes proves painstaking and slow, first the functionality has to be moved to a new class then that class has to be passed in to all the places its required, …, finally test cases need to written.</p>
<p>…<em>Ed we could keep going but its clear that the process is slow and painstaking. Let’s take a step back and find some options for the team.</em></p>
<h2>Analysis</h2>
<p>I happen to know that the team haven’t got a lot of experience with Unit Testing or Restructuring Legacy Code. Let’s give them some reading/study options. From experience I start with the simple Unit Testing before growing them to Test Driven Development (and beyond):</p>
<ul>
<li><a href="http://www.manning.com/koskela2/" target="_blank">Unit Testing in Java</a> (Manning MEAP) – Lasse Koskela (early access as the book isn’t completely finished)</li>
<li><a href="http://artofunittesting.com/" target="_blank">The Art Of Unit Testing</a> (Manning) – Roy Osherove (.NET)</li>
<li><a href="http://pragprog.com/book/utc2/pragmatic-unit-testing-in-c-with-nunit" target="_blank">Pragmatic Unit Testing in C#</a> (Pragmatic Bookshelf) – Andy Hunt and Dave Thomas with Matt Hargett</li>
</ul>
<p>Once they’ve mastered the basics they will need to start thinking about how to make how to make the larger scale changes that will be necessary, good reading choices here include:</p>
<ul>
<li><a href="http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052" target="_blank">Working Effectively with Legacy Code</a> &#8211; Michael Feathers – its from 2004, but the problems the book helps you solve remain the same</li>
<li><a href="http://www.agical.com/mikmeth/mikadomethod.pdf" target="_blank">Mikado Method</a> (Draft PDF) and <a href="https://mikadomethod.wordpress.com/book/" target="_blank">Book WordPress Site</a> &#8211; Daniel Brolund and Ola Ellnestam – while still in draft the book looks close to being finished.</li>
</ul>
<p>In the course of breaking dependencies in the legacy code the team will likely find a <a href="http://en.wikipedia.org/wiki/Mock_object" target="_blank">mocking framework</a> handy, in the world of Java things have evolved alot in the past few years:</p>
<ul>
<li><a href="https://code.google.com/p/mockito/" target="_blank">MockIto</a> – uses a literate style (my personal preference) without also requiring states i.e. recording/playback so I would definitely take it out for a test drive</li>
<li><a href="https://code.google.com/p/powermock/" target="_blank">PowerMock</a> – promises to handle some of the difficult things to mock (statics, final, etc.) in legacy code</li>
<li><a href="http://www.jmock.org/" target="_blank">JMock</a> hasn’t had a release in a couple of years but is probably still worth a look</li>
</ul>
<h2>Story</h2>
<p>By end of the Sprint the team have completed the Stories they originally committed and they have made some of the Monster classes are a bit smaller, the team realize that the size of the problem. They’ve also started to do some of their reading and appreciate the tools that they have available to solve their problems. In addition since they’ve got Sonar installed they can already see some of the improvements.</p>
<p><em>With a spot of luck perhaps in the next few sprints they will make their codebase marginally cleaner and easier to work with. </em></p>
<p>Part of an ongoing series called <a href="http://agilepainrelief.com/notesfromatooluser/category/agile/scrum/scrummaster-tales">Scrum Master Tales</a>. The series covers ScrumMaster John and his team as they develop an online bookstore.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=BVoKZYcWP6o:WIKkFsmFzBU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=BVoKZYcWP6o:WIKkFsmFzBU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=BVoKZYcWP6o:WIKkFsmFzBU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=BVoKZYcWP6o:WIKkFsmFzBU:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=BVoKZYcWP6o:WIKkFsmFzBU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=BVoKZYcWP6o:WIKkFsmFzBU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=BVoKZYcWP6o:WIKkFsmFzBU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/BVoKZYcWP6o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-talesstop-digging-new-holes.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-talesstop-digging-new-holes.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=scrummaster-talesstop-digging-new-holes</feedburner:origLink></item>
		<item>
		<title>ScrumMaster Tales – Technical Debt is Slowing the Team</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/9aQsQE85iIU/scrummaster-tales-technical-debt-is-slowing-the-team.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-tales-technical-debt-is-slowing-the-team.html#comments</comments>
		<pubDate>Sat, 18 Feb 2012 00:43:40 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[Scrum]]></category>
		<category><![CDATA[ScrumMaster Tales]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=1892</guid>
		<description>Cross Skilling is starting to happen and already there are fewer bottlenecks. John is starting to have more time to step back from the day to day and look at the big picture. He’s heard that most Scrum teams become more productive over time and he wonders how is team is doing. He pulls up [...]</description>
			<content:encoded><![CDATA[<p><a href="http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-talesthe-team-gets-bottlenecked.html" target="_blank">Cross Skilling</a> is starting to happen and already there are fewer bottlenecks. John is starting to have more time to step back from the day to day and look at the big picture. He’s heard that most Scrum teams become more productive over time and he wonders how is team is doing. He pulls up the CFD for the current release:<a href="http://www.agilepainrelief.com/images/2012/02/CFD-for-Technical-Debt-annotated-small.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="CFD for Technical Debt-annotated-small" src="http://www.agilepainrelief.com/images/2012/02/CFD-for-Technical-Debt-annotated-small_thumb.jpg" alt="CFD for Technical Debt-annotated-small" width="600" height="463" border="0" /></a></p>
<p>and immediately notices that the rate at which stories are being selected has slowed down in the past few sprints. Historically the team has a trailing average of 30 story points a sprint. In the past few sprints they’ve only achieved 25 and 22. Is this drop meaningful? Is it related to the team’s cross skilling efforts? John decides to ask the team what is going on. He writes a short note, describing the problem he’s seen (without his own suspicions) and asks the team to reflect on the discovery. After Daily Scrum John invites the team members to talk about the problems they see:</p>
<ul>
<li>Cross Skilling has slowed the team to a small extent</li>
<li>Interruptions are down, so if anything the team should be more productive</li>
<li>Unit Tests aren’t getting written for very often</li>
<li>Ian and Doug report that they’ve spent a fair amount of time in the past few sprints implementing a new story only to find it broke an existing story.</li>
<li>Its also noted that there are several places in the code that have become rather hairy and are difficult to change safely.</li>
</ul>
<p><span id="more-1892"></span></p>
<h2>Analysis</h2>
<p>The team have just discovered Technical Debt (see my article “<a href="http://www.infoq.com/articles/technical-debt-levison" target="_blank">Technical Debt a Managers Perspective</a>”) or a <a href="http://blog.objectmentor.com/articles/2009/09/22/a-mess-is-not-a-technical-debt" target="_blank">mess</a> (where Uncle Bob would argue that I misuse technical debt). Either way it would appear that the code is slowing the team down. At the start of the project they appeared to fast but now they’re slowing down. In reality they weren’t really going fast, instead they weren’t ensuring that they were really done.</p>
<h2>Back to the Story</h2>
<p>Doug remembers reading about the problems of technical debt (aka a mess) recently and suggests that this is probably what they’re starting to see. The team agrees to run a 2 day spike to investigate this issue and they warn Product Owner Sue that this will affect what they’re able to deliver.</p>
<p>Coding Java the team have a rich supply of tools available to them:</p>
<ul>
<li><a href="http://pmd.sourceforge.net/" target="_blank">PMD</a> – “scans Java source code and looks for potential problems&#8221; examples: Dead code, Duplicate Code, missed private and final markers, over complicated code etc.</li>
<li><a href="http://www.sonarsource.org/" target="_blank">Sonar</a> – “Sonar is an open platform to manage code quality” – it uses static analysis tools (including PMD), code coverage tools et al to measure the state of the code. It plugs into the CI server and keeps data on an ongoing basis.</li>
<li><a href="http://www.artima.com/forums//threaded.jsp?forum=155&amp;thread=182754" target="_blank">Sort</a> – Laurent Bossavit taught us this year’s ago: “getting a file list of all source code files, then sorting that list by (decreasing) file size. I start with the largest source file, and see if there&#8217;s a reason it&#8217;s the largest”</li>
</ul>
<p>Doug and Ian decide to use PMD and Sorting by filesize as a starting point, as Sonar takes a bit longer to configure. Each time they find a major issue they take write it down on a large postit note along with some reference information (i.e. the files involved anything else. <em>Ed note the precise format doesn’t matter – what matters is that the developers understand the issue its describing and will be able to guess which stories they might affect in the future). </em>By the end of the first day they’ve come up with over 50 postit that contain noteworthy items (vs. a missing private or final which can be fixed in a few seconds). On the 2nd day they sit down with the rest of the team to prioritize the items using slows us down the most as criteria. During the remainder of the Sprint team members tackle smaller technical debt items (&lt; 2hrs) when the items are related to the story they’re working on.</p>
<p>During the retrospective the Technical Debt problem comes up and the team start to discuss where it comes from. John starts by asking the team to review the existing “Definition of Done”:</p>
<ul>
<li>Checked In</li>
<li>Peer Reviewed</li>
<li>Unit Tested</li>
<li>Manually Tested</li>
</ul>
<p>A few minutes of conversation led the team to realize that the while most code was peer reviewed, very little was Unit Tested. Perhaps the bigger issue was that they didn’t have a good idea roughly how much of the code was unit tested or if the existing Unit Tests where of good quality.</p>
<p>Their SMART Actions (see: <a href="http://agilepainrelief.com/notesfromatooluser/2010/05/agile-retrospectives.html" target="_blank">Agile Retrospectives</a>):</p>
<ul>
<li>Respect the Definition of Done – write Unit Tests</li>
<li>Temporarily add Unit Test column to their task wall</li>
<li>Install Sonar to help improve awareness of Technical Debt</li>
<li>Spend 20% of their time in the next couple of Sprints to tackle Technical Debt Issues</li>
</ul>
<p>John promises to post this above the task wall to ensure that the team sees them.</p>
<p>Next week we will see how the team fare <em>(Ed – I’m stretching this out over several stories because Technical Debt takes time to be weeded out).</em></p>
<p>Part of an ongoing series called <a href="http://agilepainrelief.com/notesfromatooluser/category/agile/scrum/scrummaster-tales">Scrum Master Tales</a>. The series covers ScrumMaster John and his team as they develop an online bookstore.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=9aQsQE85iIU:nGu0o1BxFj8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=9aQsQE85iIU:nGu0o1BxFj8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=9aQsQE85iIU:nGu0o1BxFj8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=9aQsQE85iIU:nGu0o1BxFj8:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=9aQsQE85iIU:nGu0o1BxFj8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=9aQsQE85iIU:nGu0o1BxFj8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=9aQsQE85iIU:nGu0o1BxFj8:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/9aQsQE85iIU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-tales-technical-debt-is-slowing-the-team.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-tales-technical-debt-is-slowing-the-team.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=scrummaster-tales-technical-debt-is-slowing-the-team</feedburner:origLink></item>
		<item>
		<title>Blog Note</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/d6O3UIE3uMY/blog-note.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/02/blog-note.html#comments</comments>
		<pubDate>Thu, 09 Feb 2012 19:24:19 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=1885</guid>
		<description>Due to an unfortunate mistake on my part the RSS feed hasn&amp;#8217;t been updating correctly since the beginning of November. You should now see 7 posts that you missed in that time.</description>
			<content:encoded><![CDATA[<p>Due to an unfortunate mistake on my part the RSS feed hasn&#8217;t been updating correctly since the beginning of November. You should now see 7 posts that you missed in that time.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=d6O3UIE3uMY:tpY1vZJ6voI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=d6O3UIE3uMY:tpY1vZJ6voI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=d6O3UIE3uMY:tpY1vZJ6voI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=d6O3UIE3uMY:tpY1vZJ6voI:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=d6O3UIE3uMY:tpY1vZJ6voI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=d6O3UIE3uMY:tpY1vZJ6voI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=d6O3UIE3uMY:tpY1vZJ6voI:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/d6O3UIE3uMY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/02/blog-note.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/02/blog-note.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=blog-note</feedburner:origLink></item>
		<item>
		<title>ScrumMaster Tales – The Team Gets Bottlenecked</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/EJAjgSGTNVY/scrummaster-talesthe-team-gets-bottlenecked.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-talesthe-team-gets-bottlenecked.html#comments</comments>
		<pubDate>Tue, 07 Feb 2012 19:52:35 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[ScrumMaster Tales]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=1857</guid>
		<description>Its day four of the sprint and ScrumMaster John is studying the Story + Task wall to see how the sprint is progressing. After a few minutes he sees three things that standout: Martin the only team member who knows how to make changes to the database has his name on four tasks that are [...]</description>
			<content:encoded><![CDATA[<p><img style="display: inline; margin-top: 5px; margin-bottom: 5px; margin-right: 20px;" title="Image Credit: BrokenNarts: http://www.sxc.hu/photo/432287" src="http://www.sxc.hu/pic/m/b/br/brokenarts/432287_drink_bottle.jpg" alt="Bottleneck" width="173" height="300" align="left" />Its day four of the sprint and ScrumMaster John is studying the Story + Task wall to see how the sprint is progressing. After a few minutes he sees three things that standout:</p>
<ol>
<li>Martin the only team member who knows how to make changes to the database has his name on four tasks that are in progress. Two of those tasks are blocking the remaining work on their respective stories.</li>
<li>Ian the business logic developer has his name on three tasks, two of which are blocked by Martin. The other task is blocking continued work on another story.</li>
<li>There are <strong>six</strong> stories in progress even though the team has previously agreed on a WIP (Work In Progress) <a href="http://agilepainrelief.com/notesfromatooluser/2011/09/scrummaster-talesthe-story-of-an-incomplete-sprint.html" target="_blank">limit of 3 stories</a> in progress at one time.</li>
</ol>
<h2>Analysis</h2>
<p>The team is currently blocked on Martin’s database related tasks. However even if that bottleneck were resolved they would still be blocked on Ian’s tasks.</p>
<p>The team isn’t respecting its own WIP limits.<span id="more-1857"></span></p>
<h2>Risks</h2>
<ul>
<li>With this many stories in progress, many of them will remain incomplete by the end of the sprint.</li>
<li>Many of the stories require multiple handoffs, example: Brad (BA) –&gt; Ian (Middle Tier) –&gt; Martin (Database Specialist) –&gt; Ian –&gt; … –&gt; Tammy (Tester). Each handoff increases the risks of miscommunication, bugs and other mistakes all due to incomplete knowledge transfer.</li>
<li>The teams lottery number sits at one. I.E. if any of Martin, Ian or Tammy win the lottery and decide to leave the organization the team will struggle because no one else really knows how to play their role.</li>
</ul>
<h2>Story</h2>
<p>John raises this as an impediment at the Daily Scrum and asks for quick meeting right afterwards. He shares the three observations and asks the team what they think. Team members say things like: “Database work isn’t my speciality/skill” and “I wouldn’t be as productive on that”. As a result they say that they moved onto lower priority work. To get through the sprint without another disastrous ending (see: <a href="http://agilepainrelief.com/notesfromatooluser/2011/09/scrummaster-talesthe-story-of-an-incomplete-sprint.html" target="_blank">The Story of an Incomplete Sprint</a>), John asks what they can do to offload Martin and Ian allowing them to unblock higher priority work. Among other ideas the team decide:</p>
<ul>
<li>to temporarily abandon work on the lower priority stories</li>
<li>to pair with Martin and Ian to get the higher priority stories sooner</li>
</ul>
<p>During the retrospective the team focused on the problems with only one team member being able to do certain key tasks (Database work, Business Logic). Rather than address it piecemeal Martin suggests that they create a <a href="http://www.gembapantarei.com/2007/04/skill_matrix_tutorial_part_1.html" target="_blank">Skills Matrix</a>:</p>
<p><a href="http://www.gembapantarei.com/2005/11/skill_matrix_enables_suggestio.html" target="_blank"><img src="http://www.gembapantarei.com/skill%20matrix%20-%20Gemba.JPG" alt="skill matrix - Gemba.JPG" /></a></p>
<p><span style="font-size: xx-small;">Image Credit: Jon Miller – gemba pana rei</span></p>
<p>That shows the inventory of skills across the team. (<em>Ed note – when I facilitate one of these we spend 15-20 minutes coming up with a list of potential useful skills for the team). </em>After an hour of work the team assembled a matrix that helped spot many areas where they only had one person who could do the work. It turns out the gaps are larger than can be addressed in the next couple of sprints, so the team decides to focus. They choose:</p>
<ul>
<li>Grow Database Skills so at least three team members can make database changes without requiring Martin to oversee all aspects of the work.</li>
<li>Grow understanding of the Business Logic so that coding team member can work safely in that layer without requiring Ian’s help.</li>
<li>Teach all team members the rudiments of Exploratory Testing so that stories are tested sooner and developers get earlier feedback on their work. Tammy will receive an additional benefit because most Stories will really be done by the time they reach her. (<em>Ed Note – they still haven’t discovered ATDD, BDD or even TDD yet).</em></li>
</ul>
<p>To grow skills in those areas they agree to us a mixture of pair programming, interactive workshops and one on one coaching. While these activities will slow the team down in the next few sprints, the benefits of getting higher priority work done faster will soon out weigh.</p>
<p>Finally the team posts the skills matrix in the team area and commits to revisit it in six to eight weeks.</p>
<p>Part of an ongoing series called <a href="http://agilepainrelief.com/notesfromatooluser/category/agile/scrum/scrummaster-tales">Scrum Master Tales</a>. The series covers ScrumMaster John and his team as they develop an online bookstore. Tell me what problems you would like to see John tackle next.</p>
<p><em><strong>Update: </strong>As I went to compile a cast of characters I realized that I was using Doug and Martin interchangeably between posts. I changed this post to make Martin our database guy.</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=EJAjgSGTNVY:LN-WPHoI8ms:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=EJAjgSGTNVY:LN-WPHoI8ms:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=EJAjgSGTNVY:LN-WPHoI8ms:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=EJAjgSGTNVY:LN-WPHoI8ms:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=EJAjgSGTNVY:LN-WPHoI8ms:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=EJAjgSGTNVY:LN-WPHoI8ms:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=EJAjgSGTNVY:LN-WPHoI8ms:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/EJAjgSGTNVY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-talesthe-team-gets-bottlenecked.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/02/scrummaster-talesthe-team-gets-bottlenecked.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=scrummaster-talesthe-team-gets-bottlenecked</feedburner:origLink></item>
		<item>
		<title>NeuroAgile Quick Links #4</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/cx8FoGadtlY/neuroagile-quick-links-4.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/02/neuroagile-quick-links-4.html#comments</comments>
		<pubDate>Tue, 07 Feb 2012 05:54:24 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[NeuroAgile]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=1840</guid>
		<description>This episode has been brought to you by a quick trip to California. Tom Stafford wrote about his use of Psychology to avoid Bystander Apathy. Interesting his approach point to a specific person (or persons) and tell them exactly what to do has been standard training for first aiders for years. Sharp Brains had an [...]</description>
			<content:encoded><![CDATA[<p>This episode has been brought to you by a quick trip to California.</p>
<p><a href="http://www.sxc.hu/photo/1175306" target="_blank"><img style="margin: 0px 5px 5px 0px; display: inline; float: left" title="" alt="Stress" align="left" src="http://www.sxc.hu/pic/m/n/nk/nkzs/1175306_paperwork.jpg" /></a>Tom Stafford wrote about his use of Psychology to avoid <a href="http://bps-research-digest.blogspot.com/2011/11/tom-stafford-avoiding-bystander-apathy.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+BpsResearchDigest+%28BPS+Research+Digest%29" target="_blank">Bystander Apathy</a>. Interesting his approach point to a specific person (or persons) and tell them exactly what to do has been standard training for first aiders for years.</p>
<p>Sharp Brains had an excellent series “Under­stand­ing the Human Brain and How It Responds to Stress”:</p>
<ul>
<li>Octo­ber 17th: <a href="http://www.sharpbrains.com/blog/2011/10/17/the-neurobiology-of-stress-the-human-brain-and-how-it-responds-to-stress/">The Human Brain and How it Responds to Stress</a> </li>
<li>Octo­ber 24th: <a href="http://www.sharpbrains.com/blog/2011/10/24/the-neurobiology-of-stress-gray-matters/">Grey Mat­ters</a> </li>
<li>Octo­ber 31st: <a href="http://www.sharpbrains.com/blog/2011/10/31/the-neurobiology-of-stress-the-little-brain-down-under/">The Lit­tle Brain Down Under</a> </li>
<li>Novem­ber 7th: <a href="http://www.sharpbrains.com/blog/2011/11/07/the-neurobiology-of-stress-the-stress-response-explained/">Stress Response Explained</a> </li>
<li>Novem­ber 14th: <a href="http://www.sharpbrains.com/blog/2011/11/14/the-neurobiology-of-stress-the-human-brain-likes-to-be-in-balance/">The Human Brain Likes Balance</a> </li>
</ul>
<p>Study Hacks described a study of <a href="http://calnewport.com/blog/2011/11/11/if-youre-busy-youre-doing-something-wrong-the-surprisingly-relaxed-lives-of-elite-achievers/" target="_blank">elite vs average violin players</a>. The difference in their practice wasn’t their dedication, on average they spent the same amount of time – it was how they practiced. Elite players spent time stretching their skills, pushing their boundaries and practicing the uncomfortable. In addition elite players consolidated their practice into well defined blocks (two a day) vs. the average who spread their practice through out the day.</p>
<p>Stephanie West Allen shares <a href="http://westallen.typepad.com/brains_on_purpose/2012/01/ever-use-swot-.html" target="_blank">evidence that SWOT analysis may lead us to dead ends</a>.</p>
<p>Garth Sundem suggests that “<a href="http://www.wired.com/geekdad/2012/01/everything-about-learning/" target="_blank">Everything You Thought You Knew About Learning Is Wrong</a>”. In an interview with Robert Bjork it is suggested our learning model of attempting to master one skill before moving onto the next might be completely wrong.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cx8FoGadtlY:v2tDXtE8eqM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cx8FoGadtlY:v2tDXtE8eqM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=cx8FoGadtlY:v2tDXtE8eqM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cx8FoGadtlY:v2tDXtE8eqM:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cx8FoGadtlY:v2tDXtE8eqM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=cx8FoGadtlY:v2tDXtE8eqM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=cx8FoGadtlY:v2tDXtE8eqM:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/cx8FoGadtlY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/02/neuroagile-quick-links-4.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/02/neuroagile-quick-links-4.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=neuroagile-quick-links-4</feedburner:origLink></item>
		<item>
		<title>A Rebuttal of Groupthink</title>
		<link>http://feedproxy.google.com/~r/NotesFromAToolUser/~3/2nvnXAhfCeM/a-rebuttal-of-groupthink.html</link>
		<comments>http://agilepainrelief.com/notesfromatooluser/2012/01/a-rebuttal-of-groupthink.html#comments</comments>
		<pubDate>Fri, 20 Jan 2012 20:22:17 +0000</pubDate>
		<dc:creator>Mark Levison</dc:creator>
				<category><![CDATA[NeuroAgile]]></category>

		<guid isPermaLink="false">http://agilepainrelief.com/?p=1512</guid>
		<description>In a New York Times article: “The Rise of the New Groupthink” this week Susan Cain claims that teams and collaborative work give rise to groupthink. Groupthink is not out of the question, as Christopher Chabris and Daniel Simons demonstrate in “The Invisible Gorilla” group think is a risk – cite the example of the [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.agilepainrelief.com/images/2012/01/Planning.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="A 19212" border="0" alt="A 19212" align="left" src="http://www.agilepainrelief.com/images/2012/01/Planning_thumb.jpg" width="180" height="240" /></a>In a New York Times article: “<a href="https://www.nytimes.com/2012/01/15/opinion/sunday/the-rise-of-the-new-groupthink.html?pagewanted=all" target="_blank">The Rise of the New Groupthink</a>” this week Susan Cain claims that teams and collaborative work give rise to groupthink. Groupthink is not out of the question, as Christopher Chabris and Daniel Simons demonstrate in “<a href="http://www.theinvisiblegorilla.com/" target="_blank">The Invisible Gorilla</a>” group think is a risk – cite the <a href="http://books.google.ca/books?id=f8AN1DAud5sC&amp;pg=PA102&amp;lpg=PA102&amp;dq=invisible+gorilla+georgian+war&amp;source=bl&amp;ots=VY6lhqKlGC&amp;sig=uRWxwDG40J4cVzpysdyEA0yR4zg&amp;hl=en&amp;sa=X&amp;ei=PJQVT_eVI8260QHQ6LykBQ&amp;ved=0CCAQ6AEwAA#v=onepage&amp;q&amp;f=false" target="_blank">example of the Georgian War in 2008</a>:</p>
<blockquote><p>When Mikheil Saakashvili was elected president of Georgia in 2004. he was only thirty —six years old. He stocked the government with loyal ministers who were also in their thirties and lacked military experience but sympathized with their leader’s views about the importance of reclaiming the breakaway regions from Russian influence. Over the next four years they managed to convince themselves that it was a good idea to fight an army that outnumbered theirs by twenty five to one. It’s not hard to imagine how a group of like—minded government officials could take a set of opinions that none of them held with great confidence individually and aggregate them, by deliberating among themselves and reinforcing one another’s public statements, into a high-confidence conclusion.</p>
</blockquote>
<p><span id="more-1512"></span><br />
<blockquote></blockquote>
<p><em>While it is difficult to diagnose from a distance Saakashvili would have been wise to seek diversity of thought in his cabinet as we recommend on teams. Where that diversity is lacking its important to seek fresh ideas from outside sources to challenge our own thinking. </em></p>
<p>However Cain overplays some of the research that she uses to make her points. In particular she cites DeMarco and Lister’s Coding War study where the authors demonstrated that developers who had privacy were more productive. What is missing is the circumstances around it. DeMarco and Lister weren’t studying teams and so the results don’t speak to teams. Perhaps more relevant in this case are the studies found in “<a href="http://shop.oreilly.com/product/9780596808303.do" target="_blank">Making Software</a> What Really Works, and Why We Believe It” – Andy Oram and Greg Wilson – which is equivocal saying that depending on the type of work some teams benefit from team rooms and others don’t.</p>
<p>Roger Brown and I have done on an InfoQ interview the subject: <a href="http://www.infoq.com/interviews/creativity-and-brain-science">Creativity and Brain Science with Mark Levison and Roger Brown</a>. </p>
<p>Finally Keith Sawyer (author of Group Genius) provides an excellent rebuttal: <a href="https://keithsawyer.wordpress.com/2012/01/16/does-solitude-enhance-creativity-a-critique-of-susan-cains-attack-on-collaboration/" target="_blank">Does Solitude Enhance Creativity? A Critique of Susan Cain’s Attack on Collaboration</a> which provides details in some of the other errors Cain made.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=2nvnXAhfCeM:StVlPUzlbI0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=2nvnXAhfCeM:StVlPUzlbI0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=2nvnXAhfCeM:StVlPUzlbI0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=2nvnXAhfCeM:StVlPUzlbI0:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=2nvnXAhfCeM:StVlPUzlbI0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NotesFromAToolUser?a=2nvnXAhfCeM:StVlPUzlbI0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/NotesFromAToolUser?i=2nvnXAhfCeM:StVlPUzlbI0:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/2nvnXAhfCeM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://agilepainrelief.com/notesfromatooluser/2012/01/a-rebuttal-of-groupthink.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://agilepainrelief.com/notesfromatooluser/2012/01/a-rebuttal-of-groupthink.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=a-rebuttal-of-groupthink</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.657 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-05-14 16:13:40 --><!-- Compression = gzip -->

