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

<channel>
	<title>Thinking Inside a Bigger Box &#187; Non-technical</title>
	<atom:link href="http://johannesbrodwall.com/category/not-technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://johannesbrodwall.com</link>
	<description>Johannes Brodwall&#039;s Musings on Software Architecture and Programming</description>
	<lastBuildDate>Mon, 19 Mar 2012 12:44:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>		<item>
		<title>Tell a story with your project plan</title>
		<link>http://johannesbrodwall.com/2011/05/25/tell-a-story-with-your-project-plan/</link>
		<comments>http://johannesbrodwall.com/2011/05/25/tell-a-story-with-your-project-plan/#comments</comments>
		<pubDate>Wed, 25 May 2011 11:23:32 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[Non-technical]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=777</guid>
		<description><![CDATA[This blog post is a summary of my lightning talk at XP2011 I needed to fail with modern methods for requirement gathering in order to understand old methods for requirements gathering. Many software projects write requirements in what is refered to as &#8220;user stories&#8221;. But a use story is not a story at all. There&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><em>This blog post is a summary of my lightning talk at XP2011</em></p>
<p>I needed to fail with modern methods for requirement gathering in order to understand old methods for requirements gathering. Many software projects write requirements in what is refered to as &#8220;user stories&#8221;. But a use story is not a story at all. There&#8217;s no drama, no action and no resolution. Instead, user stories are often just a bunch of interactions between the user and the system laying in a big heap in a shoe box. Or even worse: In an issue tracking system. Using the form of use cases, a requirement form that had failed me in the past, I have reinserted the drama into my projects.</p>
<p>Humans have used stories to communicate and to think about the world for as long as we&#8217;ve had language. Some elements are common to all stories: A conflict upsets the order of the world. A hero enters the scene. Through the actions of the hero, the world is set back into order and the all is well in the world.</p>
<p>Here is a for a project that makes a webshop, the story of desire:</p>
<ol>
<li>Some person craves stuff (the conflict)</li>
<li>The webshop(the hero) welcomes the craving user to its front page</li>
<li>The webshop lets the user picks stuff</li>
<li>The webshop lets the user pay</li>
<li>Some more stuff happens through the webshop so that the stuff is delivered</li>
<li>Even more stuff happens</li>
<li>The craving person gets his desire fullfilled and the world is set back to the way it was supposed to be</li>
</ol>
<p>Not the most exciting story, you say? Well, you asked for software system requirements, not for literary masterpieces! The use case illustrates my point: A narrative lets us understand the purpose of the system (the hero) in the world and the operations the system needs to perform in order to fulfill its purpose. The first and the last step of this narrative happen without reference to the hero, setting the stage and providing the coda (look it up!), respectively. Each of the action steps between clearly states what sort of capability needs to be built for the system.</p>
<p>The story of desire is a made-up story to illustrate the point. Here is a simplified version of a real story in my current project &#8211; the story of disturbance:</p>
<ol>
<li>There is a disturbance in the balance of production and consumption of electricity (the conflict)</li>
<li>Already, the system (the hero) has received from power plants information about their reserve capacity (this is a story of its own, but for another day)</li>
<li>The system shows the Operator (the real hero!) power plants with reserve capacity
<ul>
<li>Variation: The operator filters the list of power plants using some criteria</li>
</ul>
</li>
<li>The system lets the Operator activate the reserve capacity at a power plant</li>
<li>The system sends an activation request to the power plant in question so they can be activated</li>
<li>The system shows the operator what reserves are currently activated</li>
<li>The system lets the user deactivate reserves</li>
<li>The system sends all activation requests to the accounting system, so the power plant can get paid</li>
<li>The balance is restored</li>
</ol>
<p>If you wonder why this disturbance in the force is a bad thing, take a look at my blog post about xxx. You&#8217;ll quickly see that the balance of electricity may impact whether or not my beer stays cool. Clearly an important concern.</p>
<p>This story is a bit messier, since it deals with more real-world problems. Together with all the details I let out, it also has the disadvantage that it will take one team about a year to develop. Our customer is a bit too eager to get some software out the door to wait for all that.</p>
<p>So, we present: The impatient story of disturbance</p>
<ol>
<li>There is a disturbance in the balance of production and consumption of electricity</li>
<li>Already, the system has received from <em>the old system we&#8217;re replacing</em> information about power plant reserve capacities</li>
<li>The system shows the operator power plants with reserve capacity
<ul>
<li>Variation: The operator filters the list of power plants using some criteria</li>
<li>Variation: The system updates the view it receives new reserves</li>
</ul>
</li>
<li>The system lets the operator activate the reserve capacity at a power plant</li>
<li>The system sends the information about the activation <em>to the old system we&#8217;re replacing</em> for further distribution</li>
<li>The system shows the operator what reserves are currently activated</li>
<ul>
<li>Variation: The system shows the operator what reserves have been activated at a given power plant</li>
<li>Variation: The system displays a chart of what reserves have been activated at a given power plant</li>
</ul>
<li>The balance is restored</li>
</ol>
<p>During the start of our project we wrote about 10 stories like the original story of disturbance. The stories were written by small gangs each consisting of developers and users or other domain experts. The gangs would swap stories and improve each others work. Meanwhile, the product owner and the project architect would try and pry apart a story so it could be delivered by a single programming team in the order of about 4 months.</p>
<p>For a single delivery, we would write an impatient story. Each action step or variation of the &#8220;impatient story of disturbance&#8221; became an item on the backlog of the programming team. I&#8217;ve left out about a thirds of the stories to keep the text of the blog post down. In addition, the team had about 5 technical tasks, such as performance testing. Each week, the team would deliver on average two such items.</p>
<p>After a few months, we have delivered the first increment in a system that tells a new story to the users, but a story they recognize. We have taken the task that they use their existing system for the most and made it easier and faster to use. The result: Happy users. And cold beer. We hope.</p>
<h3>Notes</h3>
<p>This approach has very much the same vision as Jeff Patton&#8217;s user story mapping and Effect maps. The approach of linear textual stories is one that works well for me. I urge you to find an approach that works even better for you. My stories use Alistair Cockburn&#8217;s style of use cases from &#8220;Writing effective use cases&#8221;, but with one changes: I simplify the writing of variations to better support the linear flow and avoid detail. They are roughly at what Cockburn describes as &#8220;kite level&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2011/05/25/tell-a-story-with-your-project-plan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The value my system delivers: Keeping my beer cool</title>
		<link>http://johannesbrodwall.com/2011/04/26/the-other-you/</link>
		<comments>http://johannesbrodwall.com/2011/04/26/the-other-you/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 20:07:21 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Non-technical]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=761</guid>
		<description><![CDATA[This blogpost is a summary of my ScanDev 2011 talk: &#8220;Fearless Improvement&#8221; What is the goal of your current project? I currently work on a project for the transmission system operator for the Norwegian electrical grid. The value of the system we&#8217;re building is that my beer stays cool. Skill If you&#8217;re not skilled at [...]]]></description>
			<content:encoded><![CDATA[<p><em>This blogpost is a summary of my ScanDev 2011 talk: &#8220;Fearless Improvement&#8221;</em></p>
<p>What is the goal of your current project? I currently work on a project for the transmission system operator for the Norwegian electrical grid. The value of the system we&#8217;re building is that my beer stays cool.</p>
<h3>Skill</h3>
<p>If you&#8217;re not skilled at what you&#8217;re doing, you may put in a lot of hours and end up having nothing to show for it. Maybe you ended up writing code that didn&#8217;t compile and you had to throw it away. Maybe you ended up staring at an empty screen for hours waiting for inspiration to strike. Maybe you ended up writing a long document, only to forget to save it and then your computer crashed.</p>
<p>The first trick to making sure that your work is worthwhile is to make sure that the effort you put in actually transforms to some effect. In order to achieve this, you need experience and practice with your craft.</p>
<h3>Purpose</h3>
<p>If you don&#8217;t know why you&#8217;re doing what you&#8217;re doing, you may produce a lot, but it ends up not being valuable to anyone. Maybe the code you write solved the wrong problem. Maybe your long document didn&#8217;t answer the questions of you readers.</p>
<p>The second trick to making sure that your work is worthwhile is to make sure that the effect you have actually produces value. In order to achieve this, you need to move in the right direction.</p>
<p><img src="http://johannesbrodwall.com/wp-content/uploads/2011/04/industry-300x123.png" alt="skill transforms effort into effect; purpose transforms effect into value" title="The secret to human industry" width="450" height="185" class="alignnone size-medium wp-image-762" /></p>
<p>This is the model of all human industry, whether you&#8217;re making cars, books, food, presentations or software.</p>
<p>In software development, effort is the time you put in, skill is your skill as a developer, effect is the working software, purpose is the architecture and value is the business goal.</p>
<p>The fast track to success is to understand the last step: Value.</p>
<h3>&#8220;The other me&#8221;</h3>
<p>Here&#8217;s an example. Find the value:</p>
<p>My current project creates a system which presents in user interface electricity reserves and planned electricity production that it has received from a message gateway, as well as measurements that it has received from an electricity management system.</p>
<p><img src="http://johannesbrodwall.com/wp-content/uploads/2011/04/Regulation-context-300x188.png" alt="" title="System context" width="450" height="282" class="alignnone size-medium wp-image-763" /></p>
<p>This is gobbledygook. If this is how I see the system, I will fail.</p>
<p>In order to see the value, we have to take a step back. The system receives planned production and available reserve capacity from power producers. It presents this, along with measurements of the current balance between consumption and production on the electricity grid to an operator. The operator uses the reserves to regulate production to match consumption.</p>
<p><img src="http://johannesbrodwall.com/wp-content/uploads/2011/04/regulation-users-300x223.png" alt="" title="System users" width="450" height="335" class="alignnone size-medium wp-image-764" /></p>
<p>Hopefully, this is much more understandable. You&#8217;re probably aware that there are companies that produce electrical power, and you probably understand that electricity consumption should match production.</p>
<p>But why?</p>
<p>The ultimate value of the system is to the consumer who want to plug his appliances into the grid and have them work. They should neither blow up (too much production) or lose power (too little production).</p>
<p><img src="http://johannesbrodwall.com/wp-content/uploads/2011/04/Regulation-consumer-300x225.png" alt="" title="System consumer" width="450" height="338" class="alignnone size-medium wp-image-765" /></p>
<p>Who is this mysterious &#8220;consumer&#8221;, then. Why, it&#8217;s me! It&#8217;s not Johannes-the-software-developer, it&#8217;s the other me. The &#8220;me&#8221; who has his fridge connected to the power grid so I can keep my beer cool.</p>
<p><img src="http://johannesbrodwall.com/wp-content/uploads/2011/04/regulation-the-other-you-300x222.png" alt="" title="System - you are the consumer" width="450" height="333" class="alignnone size-medium wp-image-766" /></p>
<p>The purpose of my project is to keep my beer cool.</p>
<h3>The other you</h3>
<p>To understand the purpose of your system, you should try and see how it contributes to your own life. Not the life of the &#8220;you&#8221; who develops software, but the &#8220;you&#8221; who uses electricity, the &#8220;you&#8221; who drives a car, the &#8220;you&#8221; who breathes fresh air, the &#8220;you&#8221; who wants to retire at some point in the future.</p>
<p>If you can&#8217;t see &#8220;the other you&#8221; in your system &#8211; take a step back and look again. If you still can&#8217;t see &#8220;the other you&#8221;, maybe you should be working on a different project.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2011/04/26/the-other-you/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Retrospective techniques</title>
		<link>http://johannesbrodwall.com/2010/11/28/retrospective-techniques/</link>
		<comments>http://johannesbrodwall.com/2010/11/28/retrospective-techniques/#comments</comments>
		<pubDate>Sun, 28 Nov 2010 00:48:29 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Non-technical]]></category>
		<category><![CDATA[Norsk]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=730</guid>
		<description><![CDATA[At the Smidig 2010 Agile User Group confererence in Oslo, I conducted an open space workshop where I tested out a few retrospective techniques on the participants. The workshop was very well attended, and so I&#8217;ve posted a Norwegian language summary on the company blog for Steria Norway. Go check it out if you understand [...]]]></description>
			<content:encoded><![CDATA[<p>At the Smidig 2010 Agile User Group confererence in Oslo, I conducted an open space workshop where I tested out a few retrospective techniques on the participants.</p>
<p>The workshop was very well attended, and so I&#8217;ve posted a Norwegian language summary on the company blog for Steria Norway. <a href="http://sterkblanding.no/blog/2010/11/28/retrospektivteknikker/">Go check it out</a> if you understand Norwegian!</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2010/11/28/retrospective-techniques/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Great Wall of Architecture</title>
		<link>http://johannesbrodwall.com/2010/10/21/the-great-wall-of-architecture/</link>
		<comments>http://johannesbrodwall.com/2010/10/21/the-great-wall-of-architecture/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 06:14:21 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Non-technical]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=686</guid>
		<description><![CDATA[As an architect for a team with a large number of people, I have a couple of problems: I often make decisions that turns out to be quite crappy. Even when I think I&#8217;ve written or drawn something that&#8217;s smart, it often turns out that it&#8217;s incomprehensible to everyone else Luckily, I&#8217;ve noticed that most [...]]]></description>
			<content:encoded><![CDATA[<p>As an architect for a team with a large number of people, I have a couple of problems:</p>
<ul>
<li>I often make decisions that turns out to be quite crappy.</li>
<li>Even when I think I&#8217;ve written or drawn something that&#8217;s smart, it often turns out that it&#8217;s incomprehensible to everyone else</li>
</ul>
<p>Luckily, I&#8217;ve noticed that most developers have characteristics that almost always counter these weaknesses:</p>
<ul>
<li>Most developers are pretty smart, especially when they&#8217;re trying to solve a specific problem.</li>
<li>Most developers don&#8217;t read architecture documentation</li>
</ul>
<p>So instead of trying to force the developers to read my crappy, poorly documented decisions, I decided to try to see what happened if I instead made use of the opportunities that the situation presented to me. Enter: The Great Wall of Architecture.</p>
<p><img src="http://johannesbrodwall.com/wp-content/uploads/2010/10/architecture-wall.jpg" alt="The Great Wall of Architecture" title="The Great Wall of Architecture" width="500" height="373" class="size-full wp-image-687" /></p>
<p>There are two rules for the Great Wall of Architecture:</p>
<ol>
<li>Only the pictures on the Great Wall of Architecture are officially part of the system documentation.</li>
<li>The architect (me) cannot draw pictures to be included on the Great Wall of Architecture</li>
</ol>
<p>As a playful addition, some of the developers have signed their work, just like we used to do in kindergarten. You can&#8217;t actually see it on the photo, but the hand writing on this diagram reads &#8220;made by Christin, 32 years old&#8221;.</p>
<p><img src="http://johannesbrodwall.com/wp-content/uploads/2010/10/by-christin.jpg" alt="Sequence Diagram" class="size-full wp-image-688" /></p>
<p>My hope is that the Great Wall of Architecture will make the whole team feel they can use their strengths on the project. As more drawings come up every day, I&#8217;m optimistic with the result.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2010/10/21/the-great-wall-of-architecture/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Structuring your thinking in three easy steps</title>
		<link>http://johannesbrodwall.com/2010/10/05/three-by-three/</link>
		<comments>http://johannesbrodwall.com/2010/10/05/three-by-three/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 04:57:32 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Non-technical]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=648</guid>
		<description><![CDATA[Sometimes I&#8217;m asked to write or speak about something with very little preparation. In these situations, I need a tool that can help me: Organize my thoughts quickly Prioritize the wheat before the chaff Maintain a coherent train of thought I find a very useful structure for archiving this to be what I call &#8220;three-by-three&#8221;: [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I&#8217;m asked to write or speak about something with very little preparation. In these situations, I need a tool that can help me:</p>
<ul>
<li>Organize my thoughts quickly</li>
<li>Prioritize the wheat before the chaff</li>
<li>Maintain a coherent train of thought</li>
</ul>
<p>I find a very useful structure for archiving this to be what I call &#8220;three-by-three&#8221;: Three main points with three subpoints each.</p>
<ul>
<li>Forcing myself to keep to a structure will make my thoughts flow more quickly. Coming up with three ideas isn&#8217;t hard, so I quickly get something down on paper. Limiting myself to three points forces me to cut out less important ideas, and when I can&#8217;t think of a third point at any one level, I can leave it blank, knowing that I will revisit it later</li>
<li>Using a simple cookie cutter approach allows me to spend more time with the important preparations for the talk, or the important work with the article: iterating over the points I want to make. Nothing improves a talk faster than practice. Nothing improves an article faster than reading it out loud. Deliver early and deliver often.</li>
<li>Finally, using a simple structure like three-by-thee allows me to clearly get my point across. If I&#8217;m writing an article, I can use bullet points or headlines for the points. If I give a talk, I can count down &#8220;the number of things I want to talk about&#8221; on my fingers. And with only three things to remember, the audience has an easier time following what I&#8217;m saying.</li>
</ul>
<p>Of course, any form can be limiting, especially when you&#8217;ve worked with the material for a while. So I have some variations of the three-by-three structure that I often use:</p>
<ul>
<li>Three-plus-three-by-three-plus-three: The middle part of an argument needs to be the most substantial one, so I can fractally subdivide this further into three-by-three arguments.</li>
<li>Three-times-three-plus-one: It&#8217;s often good to end on something different, a counterpoint of some sort. I often add a &#8220;zinger&#8221; to the end of a three-by-three talk</li>
<li>Let it go: As I iterate over something that started out as a simple three-by-three structure, I often find that it no longer no longer lets me express what I want. Then, as with any rule that get in the way, I break it.</li>
</ul>
<p>I use the three-by-three structure in my workshops on how to present, as an assignment for the workshop attendants. This greatly reduces the time before they can start practicing their talks and get to that really great, quick presentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2010/10/05/three-by-three/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Husk å melde deg på til Smidig 2010</title>
		<link>http://johannesbrodwall.com/2010/09/13/husk-a-melde-deg-pa-til-smidig-2010/</link>
		<comments>http://johannesbrodwall.com/2010/09/13/husk-a-melde-deg-pa-til-smidig-2010/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 19:54:27 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[Non-technical]]></category>
		<category><![CDATA[Norsk]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=611</guid>
		<description><![CDATA[Smidig 2010: Norges største smidige konferanse Har du fått med deg at Smidig 2010 arrangeres 16.-17. November på Radisson BLU, Holberg plass i Oslo? Konferansen har åpnet for foredrag. Early bird prisen på billetter varer KUN TIL TORSDAG, så det gjelder å bestemme seg fort! Opplev vårt unike format, med over 70 lyntaler og 100 [...]]]></description>
			<content:encoded><![CDATA[<h3>Smidig 2010: Norges største smidige konferanse</h3>
<p>Har du fått med deg at Smidig 2010 arrangeres 16.-17. November på Radisson BLU, Holberg plass i Oslo? Konferansen har åpnet for foredrag. Early bird prisen på billetter varer KUN TIL TORSDAG, så det gjelder å bestemme seg fort!</p>
<p>Opplev vårt unike format, med over 70 lyntaler og 100 diskusjonsgrupper! Smidigkonferansen er den årlige nasjonale hendelsen som samler mennesker fra alle typer roller i IT-bransjen; prosjektledere, produkteiere, utviklere, bedriftsledere og testere og flere.</p>
<ul>
<li><a href="http://smidig2010.no/users/new">Meld deg på som deltager eller foredragsholder</a></li>
<li><a href="http://events.linkedin.com/Smidig-2010/pub/388694">Meld deg på LinkedIn-gruppa vår</a></li>
<li><a href="http://groups.google.com/group/smidigkonferansen">Meld deg på mailingslista for de som er interessert i Smidig 2010</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2010/09/13/husk-a-melde-deg-pa-til-smidig-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blogging with colleagues</title>
		<link>http://johannesbrodwall.com/2010/02/18/blogging-with-colleagues/</link>
		<comments>http://johannesbrodwall.com/2010/02/18/blogging-with-colleagues/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 19:26:53 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Non-technical]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=512</guid>
		<description><![CDATA[If you wonder why this blog has been so quiet lately, it not (just) that I'm getting lazier. Together with several of my colleagues at Steria Norway, I've started up a blog at <a href="http://sterkblanding.no">http://sterkblanding.no</a>. "Sterk blanding" is Norwegian for "potent mix", and we hope that as representatives for several disciplines, we will be able to give a broad perspective on IT and management issues.

I've not yet decided what posts to publish here and what posts to publish on <a href="http://sterkblanding.no">Sterk Blanding</a>. My present idea is that I'll publish most of my English articles here at <a href="http://johannesbrodwall.com">Thinking inside a Bigger Box</a> and Norwegian language articles at Sterk Blanding. But I can be persuaded to change my mind.

For my Norwegian readers, enjoy my articles on Sterk Blanding:

<ul>
  <li><a href="http://sterkblanding.no/blog/2010/02/16/hvordan-komme-i-gang-med-blogging/">Hvordan komme i gang med blogging</a>: Some tips for people who're considering to write on a blog</li>
  <li><a href="http://sterkblanding.no/blog/2010/01/21/hemmeligheten-bak-gode-spesifikasjoner/">Hemmligheten bak gode spesifikasjoner</a>: How to change your tests from specifying behavior to specify intentions</li>
  <li><a href="http://sterkblanding.no/blog/2010/01/21/scrum-det-var-dyrt-%C3%B8yeblikket/">"Det var dyrt"-øyeblikket</a>: The sobering moment in my project when both I and my customer realized that the transparency of Scrum meant that we could see how much the project was really costing.</li>
  <li><a href="http://sterkblanding.no/blog/2010/01/21/hvordan-endre-en-statisk-klasse-til-en-dynamisk-singleton/">Hvordan endre en statisk klasse til en dynamisk singleton</a>: A step by step guide to an important strategic level refactoring in legacy systems: Changing static calls to use a singleton that can be mocked.</li>
  <li><a href="http://sterkblanding.no/blog/2010/01/29/smidig-brukervennlighet/">Med Ram Yoga: Smidig brukervennlighet</a>: Some practical tips on how to use agile software development and user centric design to complement each other</li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>If you wonder why this blog has been so quiet lately, it not (just) that I&#8217;m getting lazier. Together with several of my colleagues at Steria Norway, I&#8217;ve started up a blog at <a href="http://sterkblanding.no">http://sterkblanding.no</a>. &#8220;Sterk blanding&#8221; is Norwegian for &#8220;potent mix&#8221;, and we hope that as representatives for several disciplines, we will be able to give a broad perspective on IT and management issues.</p>
<p>I&#8217;ve not yet decided what posts to publish here and what posts to publish on <a href="http://sterkblanding.no">Sterk Blanding</a>. My present idea is that I&#8217;ll publish most of my English articles here at <a href="http://johannesbrodwall.com">Thinking inside a Bigger Box</a> and Norwegian language articles at Sterk Blanding. But I can be persuaded to change my mind.</p>
<p>For my Norwegian readers, enjoy my articles on Sterk Blanding:</p>
<ul>
<li><a href="http://sterkblanding.no/blog/2010/02/16/hvordan-komme-i-gang-med-blogging/">Hvordan komme i gang med blogging</a>: Some tips for people who&#8217;re considering to write on a blog</li>
<li><a href="http://sterkblanding.no/blog/2010/01/21/hemmeligheten-bak-gode-spesifikasjoner/">Hemmligheten bak gode spesifikasjoner</a>: How to change your tests from specifying behavior to specify intentions</li>
<li><a href="http://sterkblanding.no/blog/2010/01/21/scrum-det-var-dyrt-%C3%B8yeblikket/">&#8220;Det var dyrt&#8221;-øyeblikket</a>: The sobering moment in my project when both I and my customer realized that the transparency of Scrum meant that we could see how much the project was really costing.</li>
<li><a href="http://sterkblanding.no/blog/2010/01/21/hvordan-endre-en-statisk-klasse-til-en-dynamisk-singleton/">Hvordan endre en statisk klasse til en dynamisk singleton</a>: A step by step guide to an important strategic level refactoring in legacy systems: Changing static calls to use a singleton that can be mocked.</li>
<li><a href="http://sterkblanding.no/blog/2010/01/29/smidig-brukervennlighet/">Med Ram Yoga: Smidig brukervennlighet</a>: Some practical tips on how to use agile software development and user centric design to complement each other</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2010/02/18/blogging-with-colleagues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why don&#8217;t we call our customers &#8220;clients&#8221;?</title>
		<link>http://johannesbrodwall.com/2009/11/15/why-dont-we-call-our-customers-clients/</link>
		<comments>http://johannesbrodwall.com/2009/11/15/why-dont-we-call-our-customers-clients/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 16:07:01 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[Non-technical]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=483</guid>
		<description><![CDATA[Lately I've been thinking a lot about how easy it is to lose sight of the goal of the project and instead focus on whatever means someone first thought was a good starting point when the project was first conceived of. And I think it all comes down to words.

The first years I was working in this business, I didn't see any distinction between "the user" and "the customer". Once I started seeing the distinction, I started to understand that the person who is going to use the system we're developing is not the person who defines what the system should do and neither of these is usually the person that pays me to develop the system. So I starting distinguishing between the product owner, that is, the customer and the end user. But the product owner often calls the person I call "end user" his "customer". What's going on here? Let's check the dictionary:

<blockquote>CUSTOMER
Main Entry:  cus·tom·er
Pronunciation:  \ˈkəs-tə-mər\
Function:  noun
<b>1: one that purchases a commodity or service</b>
2: an individual usually having some specified distinctive trait

CLIENT
Main Entry:  cli·ent
Pronunciation:  \ˈklī-ənt\
Function:  noun
1: one that is under the protection of another : dependent
2a: a person who engages the professional advice or services of another
2b: customer
2c: a person served by or utilizing the services of a social agency
2d: a computer in a network that uses the services (as access to files or shared peripherals) provided by a server
</blockquote>

I've seen suppliers approach their work by asking for a specification of a product to deliver and then trying to deliver something to that specification for payment. The mental model is that of a customer going to the grocery story asking for "eight pounds of CRM software". My experience with organizations with this sort of mindset has always been unsatisfactory.

On the other hand, I've seen suppliers approach their work as an agent of the organization that pays them. "Our job is to enable someone else do their job better." This totally changes the way an organization deals with this relationship. The word "customer" may not be conductive to this sort of thinking. Instead, we should think of ourselves as agents acting on behalf of a <em>client</em>. As an agent, your responsibility is to enable your client. This includes helping your client to find better means of reaching their goal.

By the way, wikipedia defines the word "agent" as "a person who is authorized to act on behalf of another (called the Principal or client) to create a legal relationship with a Third Party". If the "third party" is the computer, then a good developer is an agent acting on their clients behalf in dealings with the computer software.

Why doesn't the software industry use the word "client" instead of "customer"?]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been thinking a lot about how easy it is to lose sight of the goal of the project and instead focus on whatever means someone first thought was a good starting point when the project was first conceived of. And I think it all comes down to words.</p>
<p>The first years I was working in this business, I didn&#8217;t see any distinction between &#8220;the user&#8221; and &#8220;the customer&#8221;. Once I started seeing the distinction, I started to understand that the person who is going to use the system we&#8217;re developing is not the person who defines what the system should do and neither of these is usually the person that pays me to develop the system. So I starting distinguishing between the product owner, that is, the customer and the end user. But the product owner often calls the person I call &#8220;end user&#8221; his &#8220;customer&#8221;. What&#8217;s going on here? Let&#8217;s check the dictionary:</p>
<blockquote><p>CUSTOMER<br />
Main Entry:  cus·tom·er<br />
Pronunciation:  \ˈkəs-tə-mər\<br />
Function:  noun<br />
<b>1: one that purchases a commodity or service</b><br />
2: an individual usually having some specified distinctive trait</p>
<p>CLIENT<br />
Main Entry:  cli·ent<br />
Pronunciation:  \ˈklī-ənt\<br />
Function:  noun<br />
1: one that is under the protection of another : dependent<br />
2a: a person who engages the professional advice or services of another<br />
2b: customer<br />
2c: a person served by or utilizing the services of a social agency<br />
2d: a computer in a network that uses the services (as access to files or shared peripherals) provided by a server
</p></blockquote>
<p>I&#8217;ve seen suppliers approach their work by asking for a specification of a product to deliver and then trying to deliver something to that specification for payment. The mental model is that of a customer going to the grocery story asking for &#8220;eight pounds of CRM software&#8221;. My experience with organizations with this sort of mindset has always been unsatisfactory.</p>
<p>On the other hand, I&#8217;ve seen suppliers approach their work as an agent of the organization that pays them. &#8220;Our job is to enable someone else do their job better.&#8221; This totally changes the way an organization deals with this relationship. The word &#8220;customer&#8221; may not be conductive to this sort of thinking. Instead, we should think of ourselves as agents acting on behalf of a <em>client</em>. As an agent, your responsibility is to enable your client. This includes helping your client to find better means of reaching their goal.</p>
<p>By the way, wikipedia defines the word &#8220;agent&#8221; as &#8220;a person who is authorized to act on behalf of another (called the Principal or client) to create a legal relationship with a Third Party&#8221;. If the &#8220;third party&#8221; is the computer, then a good developer is an agent acting on their clients behalf in dealings with the computer software.</p>
<p>Why doesn&#8217;t the software industry use the word &#8220;client&#8221; instead of &#8220;customer&#8221;?</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2009/11/15/why-dont-we-call-our-customers-clients/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Lær Scrum på 3 minutter</title>
		<link>http://johannesbrodwall.com/2009/09/07/l%c3%a6r-scrum-pa-3-minutter/</link>
		<comments>http://johannesbrodwall.com/2009/09/07/l%c3%a6r-scrum-pa-3-minutter/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 20:31:05 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[Non-technical]]></category>
		<category><![CDATA[Norsk]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=453</guid>
		<description><![CDATA[<blockquote><em>This Norwegian language article introduces a short two-page guide I've written to explain Scrum to people who've only just heard of it.</em></blockquote>

I samarbeid med våre dyktige redaksjonelle medarbeidere på Steria, har jeg forfattet en "3 minutters guide" til Scrum. Denne tar for seg spørsmålene som "hva er egentlig Scrum".

[caption id="" align="alignnone" width="360" caption="Dette er Scrum"]<a href="http://steria.no/gloria/id/11004571/subid/0"><img alt="Hva er egentlig Scrum" src="http://steria.no/image/4954/1/4954_1.jpg" title="Hva er egentlig Scrum" width="360" height="152" /></a>[/caption]
  
3-minutterguidene kan lastes ned fra <a href="http://steria.no/gloria/id/11004571/subid/0">Sterias hjemmesider</a>.
  
Jeg planlegger å følge opp denne guiden med en guide som beskriver hva som skal til for å faktisk lykkes med Scrum. Har du noen ideer?]]></description>
			<content:encoded><![CDATA[<blockquote><p><em>This Norwegian language article introduces a short two-page guide I&#8217;ve written to explain Scrum to people who&#8217;ve only just heard of it.</em></p></blockquote>
<p>I samarbeid med våre dyktige redaksjonelle medarbeidere på Steria, har jeg forfattet en &#8220;3 minutters guide&#8221; til Scrum. Denne tar for seg spørsmålene som &#8220;hva er egentlig Scrum&#8221;.</p>
<div class="wp-caption alignnone" style="width: 370px"><a href="http://steria.no/gloria/id/11004571/subid/0"><img alt="Hva er egentlig Scrum" src="http://steria.no/image/4954/1/4954_1.jpg" title="Hva er egentlig Scrum" width="360" height="152" /></a><p class="wp-caption-text">Dette er Scrum</p></div>
<p>3-minutterguidene kan lastes ned fra <a href="http://steria.no/gloria/id/11004571/subid/0">Sterias hjemmesider</a>.</p>
<p>Jeg planlegger å følge opp denne guiden med en guide som beskriver hva som skal til for å faktisk lykkes med Scrum. Har du noen ideer?</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2009/09/07/l%c3%a6r-scrum-pa-3-minutter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Color coding the taskboard</title>
		<link>http://johannesbrodwall.com/2009/09/03/color-coding-the-taskboard/</link>
		<comments>http://johannesbrodwall.com/2009/09/03/color-coding-the-taskboard/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 22:03:50 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[Non-technical]]></category>

		<guid isPermaLink="false">http://johannesbrodwall.com/?p=446</guid>
		<description><![CDATA[Every Scrum-team should use their taskboard to support their particular way of working. I'd like to share the way we use our taskboard at my current project for your inspiration.

[caption id="attachment_447"  width="300" caption="Colored ink, paper and makers support team process"]<img src="http://johannesbrodwall.com/wp-content/uploads/2009/09/taskboard-300x209.jpg" alt="Colored ink, paper and makers support team process" title="Taskboard" width="300" height="209" class="size-medium wp-image-447" />[/caption]

When I started my current project I went to pick up sticky notes and marker pens for the taskboard. I grabbed, more or less at random three colors of notes (red, green, yellow), four colors of pens (black, red, blue, green) and five color sticky bookmarks (yellow, green, blue, orange, red). Over the first weeks of the project, we evolved a system that uses combinations of all the colors:

<ul>
  <li>For tasks that we plan at the start of an iteration, we use the black pen. Tasks that contribute directly to the project goals go on green notes, meetings go on yellow notes and administrative tasks go on red notes. (I'm still tweaking this)</li>
  <li>For tasks that we discover during the iteration, we use the red pen. The color codes for the tasks are the same.</li>
  <li>We don't write names on tasks. Instead, each of the three team members have three sticky bookmarks of a color (green, blue, orange) that they can place on stuff they work on. We limit the number of bookmarks per person to limit multitasking.</li>
  <li>We don't have a column for tasks that are to be verified. Instead, we use the yellow sticky bookmarks to mark things that should be verified. The yellow sticky is addressed at latest at the next stand-up meeting. Like with concurrent work, we've limited the number of tasks to be verified to three. (So far we've never needed more than one.)</li>
  <li>We use the red sticky bookmarks for tasks that are blocked. That is, tasks where the team needs outside help. We've limited ourselves to three red bookmarks. When we'd like to place the fourth, we'd rather spend our time following up the current blockers.</li>
  <li>Since we had some spare area on our taskboard, we decided to use this to look for improvements to our process. We believe that improvements shouldn't wait until the retrospectives. Instead, we want to think of how to get better all the time. We use the green pen for improvements. Impediments that cause extra work or defects go on red notes, things that would make us work better go on green, and neat ideas that would be fun to try go on yellow notes.</li>
  <li>Finally, we have an area for impediments. We haven't come up with a system for this yet, so we just use arbitrary color notes and pens.</li>
</ul>

[caption id="attachment_448" align="alignright" width="254" caption="Markers support pair programming"]<img src="http://johannesbrodwall.com/wp-content/uploads/2009/09/taskboard-closeup-254x300.jpg" alt="Markers support pair programming" title="Taskboard closeup" width="254" height="300" class="size-medium wp-image-448" />[/caption]

We're always looking for ways to improve the taskboard further. In particular, I'd like to use the blue pen for something. I'm also not totally happy with the division into different sort of tasks. Finally, I'd like to have a special sort of sticky for things that don't really take time, but that we need to remember to do, like sending out meeting invitations.

How do you customize your taskboard to our team's process?
]]></description>
			<content:encoded><![CDATA[<p>Every Scrum-team should use their taskboard to support their particular way of working. I&#8217;d like to share the way we use our taskboard at my current project for your inspiration.</p>
<div id="attachment_447" class="wp-caption alignnone" style="width: 310px"><img src="http://johannesbrodwall.com/wp-content/uploads/2009/09/taskboard-300x209.jpg" alt="Colored ink, paper and makers support team process" title="Taskboard" width="300" height="209" class="size-medium wp-image-447" /><p class="wp-caption-text">Colored ink, paper and makers support team process</p></div>
<p>When I started my current project I went to pick up sticky notes and marker pens for the taskboard. I grabbed, more or less at random three colors of notes (red, green, yellow), four colors of pens (black, red, blue, green) and five color sticky bookmarks (yellow, green, blue, orange, red). Over the first weeks of the project, we evolved a system that uses combinations of all the colors:</p>
<ul>
<li>For tasks that we plan at the start of an iteration, we use the black pen. Tasks that contribute directly to the project goals go on green notes, meetings go on yellow notes and administrative tasks go on red notes. (I&#8217;m still tweaking this)</li>
<li>For tasks that we discover during the iteration, we use the red pen. The color codes for the tasks are the same.</li>
<li>We don&#8217;t write names on tasks. Instead, each of the three team members have three sticky bookmarks of a color (green, blue, orange) that they can place on stuff they work on. We limit the number of bookmarks per person to limit multitasking.</li>
<li>We don&#8217;t have a column for tasks that are to be verified. Instead, we use the yellow sticky bookmarks to mark things that should be verified. The yellow sticky is addressed at latest at the next stand-up meeting. Like with concurrent work, we&#8217;ve limited the number of tasks to be verified to three. (So far we&#8217;ve never needed more than one.)</li>
<li>We use the red sticky bookmarks for tasks that are blocked. That is, tasks where the team needs outside help. We&#8217;ve limited ourselves to three red bookmarks. When we&#8217;d like to place the fourth, we&#8217;d rather spend our time following up the current blockers.</li>
<li>Since we had some spare area on our taskboard, we decided to use this to look for improvements to our process. We believe that improvements shouldn&#8217;t wait until the retrospectives. Instead, we want to think of how to get better all the time. We use the green pen for improvements. Impediments that cause extra work or defects go on red notes, things that would make us work better go on green, and neat ideas that would be fun to try go on yellow notes.</li>
<li>Finally, we have an area for impediments. We haven&#8217;t come up with a system for this yet, so we just use arbitrary color notes and pens.</li>
</ul>
<div id="attachment_448" class="wp-caption alignright" style="width: 264px"><img src="http://johannesbrodwall.com/wp-content/uploads/2009/09/taskboard-closeup-254x300.jpg" alt="Markers support pair programming" title="Taskboard closeup" width="254" height="300" class="size-medium wp-image-448" /><p class="wp-caption-text">Markers support pair programming</p></div>
<p>We&#8217;re always looking for ways to improve the taskboard further. In particular, I&#8217;d like to use the blue pen for something. I&#8217;m also not totally happy with the division into different sort of tasks. Finally, I&#8217;d like to have a special sort of sticky for things that don&#8217;t really take time, but that we need to remember to do, like sending out meeting invitations.</p>
<p>How do you customize your taskboard to our team&#8217;s process?</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2009/09/03/color-coding-the-taskboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

