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

<channel>
	<title>Social Complexity and Agility</title>
	<atom:link href="http://www.metaprog.com/blogs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.metaprog.com/blogs</link>
	<description>Joseph Pelrine&#039;s weblog</description>
	<lastBuildDate>Thu, 22 Jul 2010 07:50:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>1st International Workshop on Complexity and Real-World Applications, Day 1</title>
		<link>http://www.metaprog.com/blogs/2010/07/1st-international-workshop-on-complexity-and-real-world-applications-day-1/</link>
		<comments>http://www.metaprog.com/blogs/2010/07/1st-international-workshop-on-complexity-and-real-world-applications-day-1/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 07:50:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Social Complexity]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=112</guid>
		<description><![CDATA[Yesterday was the first day of the 1st International Workshop on Complexity and Real-World Applications , an invitation-only event held in Southampton. Set in a scenic venue, the conference was organised in a loveably sloppy way by Andrew Tait and Kurt Richardson. The two of them are doing an admirable job, but the scenic venue [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday was the first day of the <a href="http://www.complexityapplications.com">1st International Workshop on Complexity and Real-World Applications</a> , an invitation-only event held in Southampton. Set in a scenic venue, the conference was organised in a loveably sloppy way by Andrew Tait and Kurt Richardson. The two of them are doing an admirable job, but the scenic venue is tending to be the biggest problem. As a hotel that probably caters mainly to weddings on weekends, it is woefully inadequate as a conference venue. You can follow the conference on Twitter (hashtag #cxapps), but the bad internet connectivity means that the back-channel communication I&#8217;m accustomed to from geek conferences isn&#8217;t happening. Also, being stuffed in a room with tables arranged in a U-form introduced an environment that was more conducive to presenting than to discussing, but at least we could break out into other parts of the scenic venue for conversations – and we did that a lot.</p>
<p>The workshop started with Kurt explaining the motivation behind organising it, after which followed the round of what Mark McKergow called &#8220;creeping-death&#8221; introductions. Although I also dislike such introduction rounds, it was fascinating to hear what diversity and depth of experience the attendees brought with them, and it was comforting to hear that they understood the same thing that I do for terms such as complexity and self-organisation.</p>
<p>After the introductions, we enjoyed the first part of a talk by <a href="http://www.rzevski.net/" target="_blank">George Rzevski</a>, professor emeritus for complexity science at the Open University. I won&#8217;t go into the talk in detail; the slides are available on the workshop <a href="http://www.complexityapplications.com" target="_blank">website</a>. One slide, though, was very thought- and discussion-provoking. There is still no generally agreed-on definition of complexity, and dozens of attempts exist. George presented his 7 criteria for complexity, which we found that (although there were differing points of view that could be discussed) seemed to all of us to be ok, good enough, a good first step towards a common definition.</p>
<p><strong>George Rzevski&#8217;s Seven Criteria for Complexity</strong></p>
<ol>
<li> INTERACTION &#8211; A complex system consists of a large number of diverse components (Agents) engaged in rich interaction</li>
<li>AUTONOMY &#8211;  Agents are largely autonomous but subject to certain laws, rules or norms;  there is no central control but agent behaviour is not random</li>
<li>EMERGENCE &#8211; Global behaviour of a complex system “emerges” from the interaction of agents and is therefore unpredictable</li>
<li>FAR FROM EQUILIBRIUM – Complex systems are “far from equilibrium” because frequent occurrences of disruptive events do not allow the system to return to the equilibrium</li>
<li>NONLINEARITY &#8211; Nonlinearity occasionally causes an insignificant input to be amplified into an extreme event (butterfly effect)</li>
<li>SELF-ORGANISATION &#8211; Complex systems are capable of self-organisation in response to disruptive events</li>
<li>CO-EVOLUTION &#8211; Complex systems irreversibly co-evolve with their environments</li>
</ol>
<p>After lunch, we held an extended poster session. Having never done a poster session before, I simply drew one using visualisation techniques (thanks to Martin Haussmann for teaching me!), and was surpised at the positive responses I got. My topic is the bi-directional insights of using the Cynefin method to understand why Agile works, and using Scrum as a framework for managing work in the complex domain. I&#8217;ll be presenting my paper on this later this morning, and am looking forward to the feedback and discussions that will come. During the poster session, I also had interesting talks with <a href="http://www.sfwork.com" target="_blank">Mark McKergow</a> on solution-focused therapy and complexity, and with Ed Olson on his CDE model and the Cynefin ABIDE model, which I use quite heavily in my work on self-organising teams.</p>
<p>When the poster session was done, there was still some time until the evening barbeque, and George Rzevski presented the second part of his talk. He&#8217;s done fascinating and world-class work, I highly recommend checking out his slides.</p>
<p>Dinner, drinks and conversation followed, and by the time I got to bed, I was suffering from information overload, and was too tired to write this blog post, which is why I&#8217;m doing it now.</p>
<p>More later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2010/07/1st-international-workshop-on-complexity-and-real-world-applications-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On understanding Agility&#8230;</title>
		<link>http://www.metaprog.com/blogs/2010/04/on-understanding-agility/</link>
		<comments>http://www.metaprog.com/blogs/2010/04/on-understanding-agility/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 14:20:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=104</guid>
		<description><![CDATA[An email popped into my inbox yesterday that made me very happy. My paper on applying the Cynefin model to Agile software development was accepted to the 1st international workshop on complexity and real-world applications.
I was pleased because this acceptance is recognition of the research and work I&#8217;ve been doing for almost 15 years on [...]]]></description>
			<content:encoded><![CDATA[<p>An email popped into my inbox yesterday that made me very happy. My paper on applying the Cynefin model to Agile software development was accepted to the 1<sup>st</sup> international workshop on complexity and real-world applications.</p>
<p>I was pleased because this acceptance is recognition of the research and work I&#8217;ve been doing for almost 15 years on understanding why Agile processes work. Even more, I was happy because my session on this topic, as well as my session on coaching self-organising teams, were both rejected for the Agile 2010 conference, although both sessions had been presented there twice in the past (as well as at many other conferences), and had received excellent reviews each time.</p>
<p>I&#8217;m starting to think that the average Agile practitioner&#8217;s position with regards to complexity science etc. can best be described as &#8220;a little knowledge is a dangerous thing&#8221;. Terms such as complexity, self-organisation, emergence, and so on, are bandied about in a way that they&#8217;ve become as content-free as the term &#8220;Agile&#8221; itself. People also seem to be content to accept such idiotic statements as &#8220;Architecture self-organizes around working code&#8221;. I don&#8217;t know about you, but the last time I saw architecture self-organising was last Friday night, when a re-run of Terminator 2 came on late-night television.</p>
<p>In any case, that&#8217;s enough for this little rant. I&#8217;m going to get back to my research and writing, and hope that some of you will be as interested as I am in finding out why this Agile stuff really works. More (including the finished paper) later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2010/04/on-understanding-agility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Coaching self-organising teams&#8221; at the Orlando Scrum Gathering</title>
		<link>http://www.metaprog.com/blogs/2010/03/coaching-self-organising-teams-at-the-orlando-scrum-gathering/</link>
		<comments>http://www.metaprog.com/blogs/2010/03/coaching-self-organising-teams-at-the-orlando-scrum-gathering/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 10:24:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=101</guid>
		<description><![CDATA[I&#8217;m really looking forward to doing yet another run of my &#8220;coaching self-organising teams&#8221; session at next week&#8217;s Scrum Gathering in Orlando. A number of people have asked if the session is worth attending. I think it&#8217;s pretty good &#8211; I&#8217;ll be attending it &#8211; but I&#8217;m not really objective. If you&#8217;re also wondering, you [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m really looking forward to doing yet another run of my &#8220;coaching self-organising teams&#8221; session at next week&#8217;s Scrum Gathering in Orlando. A number of people have asked if the session is worth attending. I think it&#8217;s pretty good &#8211; I&#8217;ll be attending it &#8211; but I&#8217;m not really objective. If you&#8217;re also wondering, you might want to check out what others have written about it:</p>
<p><a href="http://www.cio.com/article/447712/_Agile_Leadership_Lessons_for_the_Suits">http://www.cio.com/article/447712/_Agile_Leadership_Lessons_for_the_Suits</a><br />
<a href="http://www.agilitrix.com/2009/12/coaching-self-organizing-teams/">http://www.agilitrix.com/2009/12/coaching-self-organizing-teams/</a><br />
<a href="http://www.infoq.com/presentations/coaching-self-org-teams">http://www.infoq.com/presentations/coaching-self-org-teams</a><br />
<a href="http://www.infoq.com/news/2008/08/coaching_teams">http://www.infoq.com/news/2008/08/coaching_teams</a><br />
<a href="http://agilepainrelief.com/notesfromatooluser/2008/08/coaching-self-organizing-teams.html">http://agilepainrelief.com/notesfromatooluser/2008/08/coaching-self-organizing-teams.html</a><br />
<a href="http://chcrudy.wordpress.com/2009/08/30/joseph-pelrine-self-organizing-teams-and-turning-up-the-heat/">http://chcrudy.wordpress.com/2009/08/30/joseph-pelrine-self-organizing-teams-and-turning-up-the-heat/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2010/03/coaching-self-organising-teams-at-the-orlando-scrum-gathering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Now that&#8217;s customer service!</title>
		<link>http://www.metaprog.com/blogs/2010/02/now-thats-customer-service/</link>
		<comments>http://www.metaprog.com/blogs/2010/02/now-thats-customer-service/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 07:59:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Diverse]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=99</guid>
		<description><![CDATA[A recent Swiss flight I took to Berlin was delayed for an hour because of snow, and when we got on board, the purser announced that there would be a further delay. What happened next was amazing. The captain himself came out of the cockpit, grabbed the microphone, and explained to us what was happening. [...]]]></description>
			<content:encoded><![CDATA[<p>A recent Swiss flight I took to Berlin was delayed for an hour because of snow, and when we got on board, the purser announced that there would be a further delay. What happened next was amazing. The captain himself came out of the cockpit, grabbed the microphone, and explained to us what was happening. Because of the delay getting into Zürich, we lost our slot for the flight, and the next one was in 45 minutes. He said that if we lucked out and were given an earlier slot, and were still standing outside, the time we needed to board would have caused us to miss that slot too. For that reason, he decided to board us, and was now able to complain to flight control that he had a full plane that was waiting for an earlier slot. It worked! We got a slot after 25 minutes.</p>
<p>Now that&#8217;s what I call customer service! Thanks, Captain Martin Simon!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2010/02/now-thats-customer-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On retrospective coherence &#8211; Part 1</title>
		<link>http://www.metaprog.com/blogs/2009/10/on-retrospective-coherence-part-1/</link>
		<comments>http://www.metaprog.com/blogs/2009/10/on-retrospective-coherence-part-1/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 17:39:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=78</guid>
		<description><![CDATA[I met up with my friend Michael last night. Michael&#8217;s a great guy, an expert in many fields, but one thing he really does well is throw a party. I have many happy (and sometimes drunken) memories of bashes held at his place.
One of the reasons I met up with him was because I&#8217;m planning [...]]]></description>
			<content:encoded><![CDATA[<p>I met up with my friend Michael last night. Michael&#8217;s a great guy, an expert in many fields, but one thing he really does well is throw a party. I have many happy (and sometimes drunken) memories of bashes held at his place.</p>
<p>One of the reasons I met up with him was because I&#8217;m planning a small surprise party for another close friend, and I wanted to benefit from his experience and advice. What made Michael&#8217;s parties so good? During our chat, we realized that it was it the people attending, and their conversations. Not only that, it was also the music. Of course, we couldn&#8217;t forget the food and drink.</p>
<p>In the end, I decided to ask Michael to help me organize the party. He knew exactly what needed to be done for a party to be a success, and I was convinced that, if we just did the same things he always did, my party would turn out great. So, what was the first thing he said?</p>
<p>&#8220;Joseph, if you want to have a great party, you have to invite all of my friends.&#8221;</p>
<p>I thought I didn&#8217;t hear right. I wanted to invite my own friends, but on the other hand, I knew that with his friends, the party would be a smash, like his parties. Sensing my disappointment, he tried to cheer me up by saying that he could save me a lot of money. I wouldn&#8217;t need a DJ, he said, because he noted all the songs his DJ played, and he could just give me a playlist for my iPod. I&#8217;d have to lock the iPod away, so that no one could manipulate the song order, but he was sure that with these specific songs, played exactly in this order, the party would be a success. Also, it seems he videotaped his last party, and noted what everyone ate and drank. He&#8217;d provide me with scripts for all the guests, with precise timings, so that everybody ate and drank the proper things at the proper time. Of course, all conversation and interaction would also be scripted.</p>
<p>So, just imagine you plan to have a party, and it must be as good as the last one you held. You invite the same people, and just to make sure you’ve covered everything, you tell them to wear the same things, and speak only to the same people as last time. You’ve got the same music playlist, the same food, drinks and layout. Will this be a good party? Does something seem wrong with this story?</p>
<p>The answers to these last questions seem logical, although you can&#8217;t easily explain why. There is a reason, though, and this reason is key to understanding the basic issues surrounding complex problems and agile methods.</p>
<p>It&#8217;s called retrospective coherence.</p>
<p>One thing that makes complex systems complex is their causality. In an ordered system, if you do something, you expect a specific result. Do it again, expect the same result. It&#8217;s that simple. In a complex system, though, the causality emerges as the system emerges. As the party goes on, the reasons for its success become established, not before. After it&#8217;s over, you can say that a party was a success, and that these people were there, this music was played, and this much beer was downed  – but you cannot say that the party was a success <em><strong>because</strong></em> these people were there, this music was played, and this much beer was downed!</p>
<p>In a complex system, causality emerges as the system itself emerges, so that at the end, you can say how you got to where you are, but you can&#8217;t guarantee that by doing exactly the same things, you&#8217;ll get to the same place again – and you probably won&#8217;t. In complex systems, we say the causality is retrospectively coherent.</p>
<p>So let&#8217;s take a closer look, and consider what it actually was that made Michael&#8217;s party so good. It wasn’t any one factor, but how they interacted. It wasn’t the components, but the emergent complex system, that was a success. An interesting thing to note here is that the things that people often interpret as being the causes of a success aren&#8217;t that, they&#8217;re the symptoms. For instance, was it the people that made the party a good one? The music that was played? His choice of fine food and drink? Well, yes and no. Michael played a significant part because he&#8217;s a great host. He&#8217;s constantly walking around, looking, questioning. Is anyone standing all alone? Introduce them to a group! Does everyone have a drink? If not, get some more beer! Are people dancing? Trying to talk? Put on upbeat or down-tempo music as appropriate! All the time, the good host is surveying the scene and making small adjustments.</p>
<p>As a good host, Michael drew some boundaries. His bedroom was off-limits. His single-malt collection locked away. And, he set up a few things that people would be attracted to: a wide-screen television, a keg of beer, some games maybe. Every party needs attractors. Did you ever wonder why so many people congregate in the kitchen at a party, even if it&#8217;s the smallest room?<br />
One thing he didn&#8217;t do is to define success, prescribe or proscribe behaviour (could you imagine saying that a party would only be a success if someone danced on the table with a lampshade on their head?). He let the party evolve, observed which patterns emerged, gently supported the good patterns, disrupted the bad patterns as soon as he noticed them, but generally let the party run itself.</p>
<p>Now shift the focus to a project. We tend to make the mistakes above when it comes to project planning. What worked last time? Why? Well, it must have been the people, the methodology, the meeting schedule – let’s do it the exact same way again. Like the repeat party, a project planned on this basis is likely to be a flop.</p>
<p>Contrary to Einstein’s definition, in a socially complex system, insanity is doing the same thing over and over again and expecting the <em><strong>same</strong></em> result!</p>
<p>(n.b. Dave Snowden has a classic story on organizing a child&#8217;s birthday party, and his story served as an inspiration for my version. You can find the story <a href="http://tr.im/DjQR" target="_blank">here</a>. Thanks, Dave!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2009/10/on-retrospective-coherence-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Turning up the heat &#8211; the levels</title>
		<link>http://www.metaprog.com/blogs/2009/07/turning-up-the-heat-the-levels/</link>
		<comments>http://www.metaprog.com/blogs/2009/07/turning-up-the-heat-the-levels/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 11:57:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=74</guid>
		<description><![CDATA[(n.b. This section is still a work in progress. I&#8217;ve been finding it easier to explain the different levels by giving examples, i.e. symptoms, than by giving a long description).
Level 5: Burning
(results in team burnout and death marching)
At the burning level, the heat is too high. The stress level results in chaos, aggression, and a [...]]]></description>
			<content:encoded><![CDATA[<p><em>(n.b. This section is still a work in progress. I&#8217;ve been finding it easier to explain the different levels by giving examples, i.e. symptoms, than by giving a long description).</em></p>
<p><strong>Level 5: Burning</strong><br />
(results in team burnout and death marching)<br />
At the burning level, the heat is too high. The stress level results in chaos, aggression, and a regression to primitive behaviour patterns. This is a dangerous level, since the high pressure increases the friction between the team members, increasing the heat even more.</p>
<p>Characteristic behaviour patterns for this level<br />
•    Countless overtime hours leading to no result<br />
•    Stress<br />
•    Disagreements, fights<br />
•    Sickness<br />
•    Lack of communication<br />
•    Inefficiency<br />
•    Hectic<br />
•    Blame<br />
•    Restlessness<br />
•    Self-preservation<br />
•    Paralysis<br />
•    Panic<br />
•    Fear of attack<br />
<strong><br />
Level 4: Cooking</strong><br />
(ideal temperature for continuous improvement)<br />
This is the optimal temperature for mixing up and forming teams. At this level, the heat is high enough to force disruption of behaviour patterns, but not so high that team members regress into pre-conventional mode.</p>
<p>Characteristic behaviour patterns for this level<br />
•    Differences are resolved constructively<br />
•    Continuous improvement<br />
•    Enthusiasm<br />
•    Work is fun<br />
•    High productivity<br />
•    Constructive discussions<br />
•    Consensus<br />
•    Joy<br />
•    &#8220;We&#8221; – feeling<br />
•    Self-reflection<br />
•    Open discussions<br />
•    Progress<br />
•    Results<br />
•    Creativity<br />
•    Fun<br />
•    High performance<br />
•    Organised chaos<br />
•    Good communication</p>
<p><strong>Level 3: Cooling (Stagnation)</strong><br />
(discipline is lost and bad behaviour begins to fester)<br />
If not enough heat is applied, or when things cool down after a while (entropy), a team enters the cooling or stagnating stage. In the kitchen, this is where what was once a fine-tasting soup has become a substrate for fungus and bacteria growth. Most health departments even have laws requiring cooked foods to be cooled down within a certain short period of time, as to pass through this stage as quickly as possible.</p>
<p>Characteristic behaviour patterns for this level<br />
•    Slacking off<br />
•    Work becomes routine<br />
•    Loss of discipline<br />
•    Monotony<br />
•    Indifference<br />
•    9 to 5<br />
•    Too much discussion<br />
•    Minimal communication<br />
<strong><br />
Level 2: Congealing</strong><br />
(team gets too comfortable to achieve and bad habits become the norm)<br />
Increasing pressure to adhere to &#8220;norms“ &#8211; &#8220;that&#8217;s the way we do things here&#8221;</p>
<p>Characteristic behaviour patterns for this level<br />
•    Change becomes difficult<br />
•    Many meetings<br />
•    Multiple implementation of work<br />
•    Problems become difficult to solve, because everything&#8217;s a mass/mess<br />
•    Boredom<br />
•    Much talk, no action<br />
•    Consensus becomes difficult<br />
•    Resignation<br />
•    Splitting of the teams into cliques<br />
•    Everyone works for themselves<br />
•    Minimalism<br />
•    Defensive stance<br />
•    Hiding behind procedures and rules</p>
<p><strong>Level 1: Solid/frozen</strong><br />
(control takes over and change is no longer possible)<br />
Inflexible, rigid burocracy &#8211; &#8220;that&#8217;s the way things are done!&#8221;</p>
<p>Characteristic behaviour patterns for this level<br />
•    No interest or excitement<br />
•    No initiative<br />
•    No exchange or communication<br />
•    No motivation<br />
•    Standing still<br />
•    CYA<br />
•    Feeling of Powerlessness<br />
•    Retreating to and hiding behind rules<br />
•    Avoiding work<br />
•    Lack of motivation</p>
<p><strong>A topological observation of the heat model</strong></p>
<p>An interesting observation, and one which may help explain the entropy analogy, is the fact that the characteristic behaviour patterns seen when the system cools down to the solidifying level and similar to the ones seen at the burning level. The system seems to wrap around topologically (spiral?), similar to the bottom section of the Cynefin butterfly model.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2009/07/turning-up-the-heat-the-levels/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Turning up the heat &#8211; the basic model</title>
		<link>http://www.metaprog.com/blogs/2009/06/turning-up-the-heat-the-basic-model/</link>
		<comments>http://www.metaprog.com/blogs/2009/06/turning-up-the-heat-the-basic-model/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 14:39:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=65</guid>
		<description><![CDATA[In my first book excerpt, I described the idea behind the heat model. Here&#8217;s the model itself.
In the &#8220;turning up the heat&#8221; model, we differentiate between 5 different levels of heat: burning, cooking, cooling, congealing, and solidifying. It takes effort and energy to maintain any level of heat. The dissipation of heat in teams can [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://www.metaprog.com/blogs/?p=49" target="_blank">first book excerpt</a>, I described the idea behind the heat model. Here&#8217;s the model itself.</p>
<p>In the &#8220;turning up the heat&#8221; model, we differentiate between 5 different levels of heat: burning, cooking, cooling, congealing, and solidifying. It takes effort and energy to maintain any level of heat. The dissipation of heat in teams can be thought of as ‘social entropy’.  The natural forces of entropy as described in the Second Law of Thermodynamics apply as much to social organizations and interpersonal relationships as they do to molecules or galaxies.</p>
<p>Why do teams, even ones that are experiencing problems, not want to change? My thesis is that most of the time people and teams are in stasis and so resistant to change. To make change occur we have to raise the heat just enough people no longer feel comfortable in their current environment. I believe that when we see teams that stop doing TDD or other practices that it&#8217;s often because the heat has been turned off. Working in a rigorous fashion I recommend that we only make one change at a time in response to problems we want to improve. This allows us time to observe the system for retrospective coherence and adapt accordingly. It also reflects the fact that changes happen with a delay, and helps us to avoid over-correction (see Dörner&#8217;s example, later in this chapter).</p>
<p>The use of heat has analogy in cooking – most people on turn heat on or off but as coaches we need to understand the five levels. To connect the analogy:</p>
<p>Burning – food tastes burnt, teams fall apart.<br />
Cooking – flavours in food are well integrated, teams adapt to new ideas<br />
Cooling – bacteria grows in food, teams stagnate and start to stop using tools<br />
Congealing – teams are starting to lose their flexibility and lock in their habits<br />
Solid/Frozen – bureaucracy has set in, there are forms to fill out and sign offs</p>
<p>A coach needs to recognise the characteristics of a team in each of the stages. Most often, a team will be moving between levels, unless they’ve got to the state of complete burnout or complete stasis.</p>
<p>In the next book excerpt, we&#8217;ll look at the individual levels in more detail. It&#8217;s challenging for me to explain them, and I find that they&#8217;re most easily defined by example.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2009/06/turning-up-the-heat-the-basic-model/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The relationship between XP and Scrum project variables</title>
		<link>http://www.metaprog.com/blogs/2009/06/the-relationship-between-xp-and-scrum-project-variables/</link>
		<comments>http://www.metaprog.com/blogs/2009/06/the-relationship-between-xp-and-scrum-project-variables/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 18:01:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Agile Adages]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=58</guid>
		<description><![CDATA[I&#8217;m on the road right now, and don&#8217;t have time to write a long post, but I don&#8217;t want to withhold this interesting insight from you.
Last week, I attended the first Swiss Lean/Agile/Scrum conference. As usual, the Swiss take a long time to catch up with new ideas and technology, but when there&#8217;s money to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on the road right now, and don&#8217;t have time to write a long post, but I don&#8217;t want to withhold this interesting insight from you.</p>
<p>Last week, I attended the first Swiss Lean/Agile/Scrum conference. As usual, the Swiss take a long time to catch up with new ideas and technology, but when there&#8217;s money to be had, they&#8217;re right up at the front of the line. Anyway, Ken Schwaber gave a very interesting presentation on the concept of &#8220;Done&#8221;. He showed the canonical burndown chart, and then took the individual vectors apart.</p>
<p style="text-align: center;"><a href="http://www.metaprog.com/blogs/wp-content/uploads/2009/06/scrumvariables.png"><img class="size-medium wp-image-59 aligncenter" title="scrumvariables" src="http://www.metaprog.com/blogs/wp-content/uploads/2009/06/scrumvariables-300x102.png" alt="" width="300" height="102" /></a></p>
<p>Seeing the variables separated like that got me to thinking, and I had the chance to run my thoughts past <a href="http://availagility.wordpress.com/" target="_blank">Karl Scotland</a> and <a href="http://peripateticaxiom.blogspot.com" target="_blank">Keith Braithwaite</a>, both of whom went out for a beer with me afterwards.</p>
<p>Back in the early days of XP, we defined a set of project variables:</p>
<p style="text-align: center;"><a href="http://www.metaprog.com/blogs/wp-content/uploads/2009/06/xpvariables.png"><img class="size-medium wp-image-60 aligncenter" title="xpvariables" src="http://www.metaprog.com/blogs/wp-content/uploads/2009/06/xpvariables-300x168.png" alt="" width="300" height="168" /></a></p>
<p>The rule went, &#8220;Time, Resources, Quality, Scope &#8211; choose three&#8221;. Whichever three you chosse, the fourth variable would be a function of the other three. Which three were actually chosen was the customer&#8217;s decision. Some customers (and managers) don&#8217;t understand this rule, and try to grab control of all 4 variables. By doing that, the first variable that&#8217;s dropped is quality, followed by time.</p>
<p>So, how do these sets of variables map to each other? The first two are easy:</p>
<ul>
<li>time = time</li>
<li>backlog = scope</li>
</ul>
<p>The other 2 are a bit more difficult:</p>
<ul>
<li>V = f(R)</li>
</ul>
<p>Velocity (burndown rate) is a function of the available resources. Regardless of what you have to do, having more resources will normally allow you to go faster. This function is non-simple and non-linear, unfortunately: as <a href="http://en.wikipedia.org/wiki/Brooks%27_law" target="_blank">Fred Brooks rightly says</a>, &#8220;adding manpower to a late software project makes it later&#8221;, but the simple case is a more or less linear function.</p>
<p>Quality is even more complicated:</p>
<ul>
<li>q = ∂<em>V</em>/∂<em>t</em></li>
</ul>
<p>As <a href="http://www.danube.com/blog/danrawsthorne" target="_blank">Dan Rawsthorne</a> says, &#8220;Quality is the first derivative of the burndown&#8221;. The quality of a product is directly related to the development velocity/burndown rate.</p>
<p>So, so much for that thought. Keith spun the thought even further, proposing in his <a href="http://peripateticaxiom.blogspot.com/2009/06/quality-of-non-declining-velocity.html" target="_blank">recent blog post</a> that you can increase velocity by increasing quality. I agree with him, and I recommend you read the post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2009/06/the-relationship-between-xp-and-scrum-project-variables/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The dining geek problem</title>
		<link>http://www.metaprog.com/blogs/2009/06/the-dining-geek-problem/</link>
		<comments>http://www.metaprog.com/blogs/2009/06/the-dining-geek-problem/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 13:37:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=55</guid>
		<description><![CDATA[Last weekend, I attended the Agile Coaches Gathering, which was held in Bletchley Park. I met many old and new friends, and had an enjoyable time. Thanks to Rachel Davies and Mike Sutton for organizing it!
A very interesting incident took place at the gathering, one that got me thinking about the practical application of my [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend, I attended the Agile Coaches Gathering, which was held in Bletchley Park. I met many old and new friends, and had an enjoyable time. Thanks to Rachel Davies and Mike Sutton for organizing it!</p>
<p>A very interesting incident took place at the gathering, one that got me thinking about the practical application of my work in social complexity to the people and teams I deal with. The gathering was structured as an Open Space, running all day Saturday, and all 40 participants met up Friday evening to discuss and decide on topics for the next day. At 19.30, we had a full board of interesting topics, Rachel announced that the evening session was over – and then it happened.</p>
<p>40 people sitting in a room, all thinking &#8220;now what?&#8221;</p>
<p>My friends know that I hate the tradition of everyone at a conference going out to eat together. You all pile into some poor restaurant, start pushing tables together, and generally drive both the restaurant personnel and the other diners mad. Why do you need to push tables together? It makes it much more difficult for the waiters and waitresses to manoeuvre, and honestly, you can&#8217;t talk to more than the 5 people surrounding you at most. It&#8217;s loud, it&#8217;s noisy, it&#8217;s uncomfortable. It puts a stress on the waiters and waitresses, taking all the orders, serving them all at once, and then having to deal with people demanding separate checks and paying with a mix of cash (in multiple currencies), debit card, and credit card. It&#8217;s even worse for the kitchen staff, who get bashed with a large number of orders without any warning.</p>
<p>40 people sitting in a room, all thinking &#8220;I&#8217;m hungry.&#8221;</p>
<p>As if the problem with the restaurant wasn&#8217;t enough, we had to deal with people staying in a number of different hotels, none of which were within walking distance from the gathering site, and a number of people who came by train, and had no way to get to either the restaurant nor the hotel.</p>
<p>So, how does one solve this problem?</p>
<p>Rachel gave it a good try. She told me afterwards that her prime concern was to have no one left stranded. Once she asked people who needed a ride somewhere, though, things took on their own momentum, and there were cries of &#8220;everyone who wants to eat Indian in this corner&#8221; and &#8220;anybody staying at the Premier Inn in this corner&#8221; and &#8220;anyone with a car over to this side&#8221;. Pure chaos. Admittedly, Rachel and Mike had tried to plan things a bit, and had posted a list of restaurants for people to choose from, but as you&#8217;ll see if you look at the list (<a href="http://tr.im/mqen" target="_blank">http://tr.im/mqen</a>) some people either couldn&#8217;t/wouldn&#8217;t decide, or were gaming the system by keeping their options open and not committing themselves.</p>
<p>&#8220;So&#8221;, I thought to myself, &#8220;this is an excellent example of what happens when you try to apply ordered systems techniques to a complex problem domain. How would I deal with this?&#8221; And so I used the incident as a case study in my Open Space session on self-organization the next day.</p>
<p>We all tend to fall into the habit of trying to bring un-orderly situations under control. In complex situations, however, even someone as skilled and experienced as Rachel had a tough time doing so. The domain had three main variables – restaurants, hotels, and transportation – with each person having an unknown combination of the three. With 40 people, that&#8217;s a lot of possible combinations to match up.</p>
<p>So, how would I solve the problem? Instinctively, my first intervention would be to &#8220;turn up the heat&#8221;, to give people the sense of urgency necessary to break through their lethargy and self-organize. Saying something like &#8220;we gotta get out of here in 5 minutes, because they&#8217;re closing&#8221; would provide the shock necessary. The problem here is that the level of heat generated is not predictable (we&#8217;re in a retrospectively coherent complex system here), and we don&#8217;t have the luxury of doing multiple probes in a probe-inspect-adapt loop. Would 10 minutes be better? Would 3 minutes suffice? I don&#8217;t know, so it&#8217;s time to start thinking about what I do know.</p>
<p>One thing I know – or rather, assume with a high degree of certainty – is that all the attendees are adults. They got to Bletchley Park., which means they took responsibility for organizing that, and they assumedly took responsibility for organizing their accommodations for the night. It&#8217;s 19.30, and everyone&#8217;s there, so no one has a hotel that they need to check in to immediately, lest they lose their reservation. So, why not just forget the hotels for now? Doing that would bound the problem more by reducing the number of variables and complexity. People can go to their hotels after dinner. Also, letting people go to dinner first works to our advantage. Social network stimulation takes place at dinner, people find others staying at the same hotel, and the restaurant staff are usually knowledgeable (if not always helpful) about the relative locations of the restaurant and the hotel. They&#8217;ll know how far a walk it is, and can also call a taxi if need be.</p>
<p>This leaves us with two variables  &#8211; food and transportation. Given a choice between catching a ride with someone, and going with interesting people to a restaurant that might not have been first choice, or being fixated on a particular restaurant, at the risk of calling a taxi to get there, and then having to eat alone, I assume that most people would choose the first option. This assumption is supported in part by the fact that quite a number of people signed up for multiple restaurants during pre-planning (see above). So, with the restaurant variable becoming at least partly dependent on the transportation variable, we&#8217;ve gotten things down to one variable – transportation. The simplest way to solve the problem of one variable would be to ask all those attendees who have no transportation to raise their hands, and ask the others to help them. Wait around for a few minutes to ensure that everyone&#8217;s been taken care of, and no one is standing there alone and lost, and you&#8217;ve solved the problem. You&#8217;ve also solved it in terms of Rachel&#8217;s initial concern, i.e., that no one was stranded.</p>
<p>What did I do? I had driven up to the meeting with my good friend and business partner David Harvey – actually, he drove, since I can&#8217;t deal with people driving on the wrong side of the road. Knowing our mutual dislike of large crowds in restaurants, we checked around on the net for a nice quiet place that serves good food, and that was a bit out of town, and booked a table for four there. As we anticipated, we weren&#8217;t the only two who wanted to avoid the post-meeting turmoil, and so we spent an enjoyable evening eating and chatting with Steve Freeman and Keith Braithwaite.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2009/06/the-dining-geek-problem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Turning up the heat &#8211; introduction</title>
		<link>http://www.metaprog.com/blogs/2009/05/turning-up-the-heat-introduction/</link>
		<comments>http://www.metaprog.com/blogs/2009/05/turning-up-the-heat-introduction/#comments</comments>
		<pubDate>Tue, 05 May 2009 10:11:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.metaprog.com/blogs/?p=49</guid>
		<description><![CDATA[This is the first slice from the book chapter on the &#8220;Turning up the heat&#8221; model.
Vegetable soup
My grandfather was a fantastic chef, and he was a great inspiration to me. My parents named me after him, and not only did I inherit his love of, and talent for, cooking, but unfortunately also his girth. One [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first slice from the book chapter on the &#8220;Turning up the heat&#8221; model.</p>
<p>Vegetable soup</p>
<p>My grandfather was a fantastic chef, and he was a great inspiration to me. My parents named me after him, and not only did I inherit his love of, and talent for, cooking, but unfortunately also his girth. One of the first things I learned from him, at a very early age, was how to make vegetable soup. OK, maybe he just wanted some cheap help for mise en place, but at that age, I didn&#8217;t care.</p>
<p>Vegetable soup is simple. It consists of carrots, celery, onions, leeks, some herbs, and lots of water. That&#8217;s all. He&#8217;d let me peel the carrots and onions, and then he&#8217;d chop up all the ingredients and throw them into a pot that was so big it reminded me of something the cannibals threw the missionaries into in an old movie. An hour or so later, magic had happened, and out of all these ingredients emerged a tasty soup.</p>
<p>One day, after I was old enough to be allowed to use a small knife myself, I decided to surprise my grandfather and cook vegetable soup myself. Early one morning, I snuck down into the kitchen, got the ingredients, prepped them, then threw everything into the pot and waited for my grandfather to come. When he entered the kitchen, I jumped up, ran over to him, told him I had a big surprise for him, and proudly pulled him over to the stove. He looked into the pot, and what he saw was – mush. Careful to not upset me, my grandfather said that I had forgotten something. &#8220;But I put in all the ingredients as you always do,&#8221; I said. &#8220;Yes,&#8221; he said, &#8220;but the most important thing in making soup is not an ingredient itself &#8211; it&#8217;s turning up the heat.&#8221;</p>
<p>The same thing happens to us every day. We get a group of great people together, expect they&#8217;ll make a great team, and then watch as they act like a bunch of idiots, without understanding why this is happening, or what we still need to do to get them to work well together. We&#8217;re forgetting the main ingredient!</p>
<p>The team is the fundamental unit of software development. A team of skilled and highly motivated individuals, creative, focused and productive, is the cornerstone of the Agile philosophy. It does not follow that a group of people, however carefully selected, will auto-magically form a team capable of producing excellent software, on time and within budget.</p>
<p>Any group of people will self organize, according to the social and psychological principles, or ‘human nature’ that have influenced human interactions since the days of cave dwellers. Self-organisation will happen eventually, then, but there are two reasons why leaving a group alone to self organise for software development will almost undoubtedly fail. First, few projects incorporate the time or resources necessary to allow a stable organization to emerge before any work is done. As the saying goes, ‘a drop of water may hollow out the hardest stone,’ but we can’t afford to wait that long. Second, the team that emerges will be likely to have developed according to individuals’ ingrained behaviour patterns, many of which will reflect our primate ancestry. All groups of primates self-organize. This mainly results in the establishment of a pecking order, a rank and power hierarchy. Self-organization ends up being a fight for alpha male dominance. This what probably not what you want – unless you&#8217;re the alpha.</p>
<p>So, for a group to become a team, you must turn up the heat high enough that the team members cannot maintain their ingrained behavioural patterns.</p>
<p>If you don&#8217;t increase the heat, people won&#8217;t need to change the way they normally behave, and so they won&#8217;t change. Any self-organization will revert to being the basic primate fight for alpha male dominance. Unfortunately, this isn&#8217;t always an easy thing to do. Another thing I learned from my grandfather: for most people who haven&#8217;t trained as cooks, heat is a Boolean. It&#8217;s either all the way on, or all the way off. A good cook, however, knows how to regulate heat, how to use it to his advantage. He also knows which kind of heat to use in which situation. Too much heat, and things burn. Too little, and they don&#8217;t cook, don&#8217;t blend well enough to become soup – or whatever else you&#8217;re cooking. No heat at all, and they stay in their primitive state – raw. Only when the heat is right does cooking happen, do flavours blend, whilst retaining nuances of individuality.</p>
<p>It&#8217;s the same thing with people. Too much heat, and they burn out. Too little, and they don&#8217;t feel the need to change and adapt. Only when the heat is right do they adapt their behaviour and meld together to form a team.</p>
<p>As the posts go on, we&#8217;ll look at the Heat model, its different temperatures, the thermometers (analysis tools) available, and the various stoves (interventions and techniques) available to turn up the heat on a team.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metaprog.com/blogs/2009/05/turning-up-the-heat-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
