<?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>Liz Keogh&#039;s blog &#187; feedback</title>
	<atom:link href="http://lizkeogh.com/category/feedback/feed/" rel="self" type="application/rss+xml" />
	<link>http://lizkeogh.com</link>
	<description>Software, Training, Coaching, Writing</description>
	<lastBuildDate>Sat, 04 Feb 2012 20:22:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Real Cost of Change</title>
		<link>http://lizkeogh.com/2012/01/30/the-real-cost-of-change/</link>
		<comments>http://lizkeogh.com/2012/01/30/the-real-cost-of-change/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 12:37:42 +0000</pubDate>
		<dc:creator>liz</dc:creator>
				<category><![CDATA[breaking models]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[learning models]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://lizkeogh.com/?p=760</guid>
		<description><![CDATA[We have a strange desire for control.
I was in a planning meeting with my project manager and several of the devs. &#8220;What happened?&#8221; the project manager said. &#8220;Why did this one story take so long?&#8221;
&#8220;There was some functionality we needed and didn&#8217;t know about,&#8221; I replied. &#8220;We managed to get it in before the deadline, [...]]]></description>
			<content:encoded><![CDATA[<h3>We have a strange desire for control.</h3>
<p>I was in a planning meeting with my project manager and several of the devs. &#8220;What happened?&#8221; the project manager said. &#8220;Why did this one story take so long?&#8221;</p>
<p>&#8220;There was some functionality we needed and didn&#8217;t know about,&#8221; I replied. &#8220;We managed to get it in before the deadline, though.&#8221; The business had been quite happy with that, and they were notoriously hard to please.</p>
<p>&#8220;If they&#8217;re going to change their mind like this,&#8221; the PM replied, &#8220;we&#8217;re going to have to introduce some kind of change control.&#8221;</p>
<p>&#8220;Please don&#8217;t,&#8221; I begged. &#8220;If you do that, the business will spend more time investing in getting things right to start with.&#8221;</p>
<p>&#8220;Exactly.&#8221;</p>
<p>&#8220;But they&#8217;ll still get it wrong. No amount of planning would have spotted that missing piece before we showed it to them! When they get it wrong now, though, they&#8217;ll encounter the change control and they&#8217;ll want to spend even <em>more</em> time getting it right first time. And they&#8217;ll <em>still</em> get it wrong, but now we&#8217;ll have made it more expensive for them to be wrong. We&#8217;ll have a formal process which means it takes even longer for us to find out what&#8217;s missing, by which time us devs will have to work to remember the code and the change will take longer. It will slow us down. So they&#8217;ll see that, and spend even <em>more</em> time trying to get it right, and before you know it they&#8217;ll be planning whole projects up front.&#8221;</p>
<p>We have a word for that. It&#8217;s called <em>Waterfall</em>.</p>
<p><a href="http://imgur.com/PbhfM"><img src="http://i.imgur.com/PbhfM.png" alt="Waterfall's reinforcing feedback loop" width="80%" height="80%" /></a></p>
<p>That desire to control change creates a reinforcing feedback loop, in which the cost of change makes us want to invest up-front, which makes the change expensive later on, which makes us want to invest up-front, and so on.</p>
<p>In this case, it would have been pointless, except as a way of shifting blame and risk back to the analysts (and this was an internal project). The cost of change was quite low; we had clean code with a good suite of tests. It was only the cost of <em>discovery</em>, and the implementation that followed, that was really expensive.</p>
<h3>Don&#8217;t confuse the cost of discovery with the cost of change.</h3>
<p>Discovering something later on only costs more than planning for it if you&#8217;ve made a <em>commitment</em> to something else.</p>
<p>In fact, if you don&#8217;t plan for it, it can cost less. The newly-discovered knowledge will be fresh in everyone&#8217;s minds. Because the ideas haven&#8217;t been known for long, nobody&#8217;s mentally committed to them either, which makes them easier to question and clarify.</p>
<p>This is even more important when there&#8217;s a chance that the analysis might be wrong (and there&#8217;s always that chance; we learnt this from Waterfall). If you plan for something that you later have to revert, you&#8217;ve introduced a cost of change right there. Perhaps the cost is just changing some documents. Perhaps the developers have designed for the plan, and built on top of the thing which needs changing.</p>
<p>But we need to do <em>some</em> planning, right? Otherwise the chances of us being wrong and building on top of the wrong thing are even bigger, and there&#8217;s even more chance that we&#8217;ll have made commitments the wrong way. So how should we plan?</p>
<p>I&#8217;ve got few more guidelines I&#8217;d like to share. Here&#8217;s the first:</p>
<h3>Keep the cost of change low.</h3>
<p>This is more important even than planning, because there&#8217;s <em>always</em> a chance that we&#8217;ll get something wrong.</p>
<p>This is what we&#8217;re aiming for: the ideal, low cost of change on an Agile project.</p>
<p><a href="http://imgur.com/XfR4U"><img src="http://i.imgur.com/XfR4U.png" alt="The wonderfully low cost of change on a very nice Agile project." width="80%" height="80%" /></a></p>
<p>The first thing to notice about this is that the cost of change is <em>not zero</em>. That&#8217;s going to become important in the next section, and it&#8217;s what drives the team&#8217;s desire for change control and starts kicking off that Waterfall loop.</p>
<p>The second thing to notice is that this bears little resemblance to actual, real Agile projects.</p>
<p>On a real Agile project, it&#8217;s likely that we have fluctuating levels of stress, concentration, experience and desire for feedback. All of these &#8211; or lack of them &#8211; will lead us to occasionally write code that is, shall we say, less than ideal.</p>
<p>It takes discipline to write code that&#8217;s easy to change. On a real Agile project, we tend not to do it all the time. Oh, we might <em>say</em> we do, but we don&#8217;t. Not always. And if we do, our team-mates don&#8217;t. The real skill isn&#8217;t in writing clean code &#8211; it&#8217;s in cleaning up the horrible mess we made the week before. And it takes <em>even more discipline</em> to do it afterwards, especially if you&#8217;re under pressure to just hack the next working thing in too.</p>
<p><a href="http://imgur.com/A7vgE"><img src="http://i.imgur.com/A7vgE.png" alt="The real cost of change on an Agile project, showing how we clean up after ourselves." width="80%" height="80%" /></a></p>
<p>If we don&#8217;t clean up and keep that cost of change low, we&#8217;re making a commitment to the wrong thing. The longer that commitment stays in place, the higher the cost of change will become. We&#8217;ll find ourselves on that Waterfall cost of change curve, and the longer we&#8217;re on it, the more expensive it is.</p>
<p>I&#8217;ve found the skill to clean up afterwards is even more important in high-learning projects, where a lot of the technology or domain is new, at least to the team. There&#8217;s no point in writing tests up front for a class when you don&#8217;t even know what&#8217;s possible, or what other frameworks and libraries will do for you, or what the business really want. In those environments, rather than TDD or BDD, teams tend to <em>Spike and Stabilize</em>. The spikes aren&#8217;t really prototypes &#8211; they&#8217;re small pieces of features, often with hard-coded data behind them, designed to get some feedback about techology or requirements. <a href="http://dannorth.net/2011/01/15/on-craftsmanship/">Dan North, who gave me the term,</a> might write more about this later if we ask nicely, but for this post, we can simply bear in mind that the skill to stabilize later &#8211; ensuring that the cost of change is <em>lowered</em> &#8211; is often more important than the skill to keep the cost of change low up-front.</p>
<p>Because we get it wrong too.</p>
<h3>Assume you got it wrong.</h3>
<p>Human beings are hard-wired to try and get things right, and to pretend that they did even when they didn&#8217;t. I love <a href="http://en.wikipedia.org/wiki/List_of_cognitive_biases">this list of cognitive biases on Wikipedia</a>. These are just some of the ways in which we get it wrong and don&#8217;t even notice.</p>
<p>If we assume that we got it wrong, then we start to look for <em>feedback</em>, and quickly. This is difficult for most human beings. We much prefer to get validation than feedback; to be told that we did it right, rather than finding out what we did wrong. Our brain gives us these little kicks of nice chemicals when we learn that we did something right, and it feels much better than the other kind.</p>
<p>If we can remember, though, that we probably got it wrong, our focus will change. Instead of trying to invest in good requirements and nice code, we&#8217;ll try to find out what we got wrong in the things we&#8217;ve already done. Of course, we need to invest in stabilizing what we&#8217;ve done, or the cost of change goes up, and that will make it more expensive later if we find out we were wrong, which is the assumption we were trying to make in the first place&#8230; ah, the paradox!</p>
<p>There&#8217;s a fine balance to be struck between getting quick feedback &#8211; often itself an expensive proposition, given the business of most domain experts &#8211; and getting it right up front. So where does the balance lie?</p>
<h3>Don&#8217;t sweat the petty stuff.</h3>
<p>If it&#8217;s easy to change, don&#8217;t worry about it. Analysts, learn what&#8217;s easy to change. Typos, colours, fonts, labels, sizes, placement on the screen, tab order, an extra field&#8230; these are all usually easy to change, and do not normally need to be specified up-front. Even if you have a particular style you want to see on a page or form, this can usually be abstracted out and changed later &#8211; just let the devs know that you want that consistency at some point.</p>
<p>It&#8217;s more important for us to know the rough shape of what you want to see, and the flow and process of that information. We don&#8217;t want to know every field on an order item. We just want to know that it needs to be sent to the warehouse and stored locally because you&#8217;re going to check the money in the till and count the stock. The fine detail of that is pretty easy to change, so we can get feedback on it later. Getting the fine detail right would definitely be an investment, and we might have got the big picture wrong.</p>
<h3>Deliberately discover things you&#8217;ve never done before.</h3>
<p><a href="http://dannorth.net/2010/08/30/introducing-deliberate-discovery/">Dan North wrote an excellent post on Deliberate Discovery</a>, and I&#8217;ve been using it to manage risk on my projects for a while now. It&#8217;s one of the most important tools in my toolbox, along with Real Options to which it&#8217;s strongly related, so I want to cover how I use it here.</p>
<p>I really like using <a href="http://en.wikipedia.org/wiki/Cynefin">Cynefin</a> to help me work out what to target for discovery. We treat a lot of software as if it&#8217;s <em>complex</em>, and we talk about self-organising teams and high learning environments, but in reality there are huge chunks in most applications which follow well-established rules, have been done a thousand times before and probably have libraries or third-party apps to do the job for you. They&#8217;re not complex. They&#8217;re <em>complicated</em>. They require the application of a bit of expertise, and are likely to be done right and never changed again. User registration and logging in are great examples of this. You don&#8217;t need a big, thick document to describe them. The fine details might change, of course, but we already know not to sweat the petty stuff.</p>
<p>It is <em>OK to plan some aspects of a system as if it&#8217;s Waterfall</em> &#8211; for instance, deciding up-front whether you want to use your own login or let Google authenticate. Even better than requirements documents, and quicker, is to say, &#8220;It&#8217;s user registration. Make it work like Twitter&#8217;s, but we also need the user&#8217;s loyalty card number. We should offer to send them a card if they don&#8217;t have one.&#8221; Dan North calls this pattern &#8220;Ginger Cake&#8221; &#8211; it&#8217;s like a chocolate cake, but with ginger. He <em>even cuts and pastes code</em>. And it&#8217;s OK! Honestly, it is! This code is also absolutely prime for TDDing &#8211; if you actually have to write it yourself, that is, since it&#8217;s been done before so someone&#8217;s probably written something to do it for you already. You can also give this code to junior devs, for whom it&#8217;s new, and guide them in TDDing, making it perfect pair-programming territory. Everything you have ever been told about Agile software development applies particularly in this place.</p>
<p>Fortunately, most applications have a minimum set of requirements that they share with other, similar applications. David Anderson calls these <em>commodities</em> &#8211; table stakes that you have to have just to play the game &#8211; so *most* code in an application will end up going this way.</p>
<p>The places in which we&#8217;re most likely to get it wrong, and need fast feedback, are places where we&#8217;re doing something <em>new</em>. They might be technological, particular to a domain, or just things that the team themselves have never looked at. My favourite book for understanding risk is <a href="http://www.amazon.com/Waltzing-Bears-Managing-Software-Projects/dp/0932633609/">&#8220;Waltzing with Bears&#8221;</a>, which starts the first chapter with, &#8220;If a project has no risks, don&#8217;t do it.&#8221; It&#8217;s these new, risky aspects of the project that differentiate it from others and make it valuable in the first place!</p>
<p>For new and risky aspects of a project, the best thing to do is assume you got it wrong, and work out how quickly you can get feedback on how wrong you are.</p>
<h3>Any new or unknown aspect of a project will need to be changed.</h3>
<p>I was chatting to one of our analysts. &#8220;I can see this feature is in analysis at the moment,&#8221; I said. &#8220;Does that mean it&#8217;s the next thing we want the developers to do?&#8221;</p>
<p>&#8220;Oh, no,&#8221; the analyst said. &#8220;It&#8217;s only there because the analysis is quite complex. It&#8217;s all new stuff, so we&#8217;re having to be careful with it and it&#8217;s taking a bit of time. Once we get the analysis done, the development should be very easy, so we&#8217;ll do it later.&#8221;</p>
<p>&#8220;Oh, the development will be easy, I&#8217;m sure&#8230; but wouldn&#8217;t you like to find out what you did wrong now, rather than later, while it&#8217;s still fresh in your mind?&#8221;</p>
<p>The analyst smiled. The company was very much more used to Waterfall, and the idea that it was OK to get it wrong was something very new.</p>
<p>It&#8217;s OK to get it wrong, as long as you get feedback quickly, while the cost of change is still low. By working out which parts of a project are unknown or new, and targeting those <em>first</em>, we make small investments while the cost of change is still low.</p>
<h3>Keep your options open &#8211; do the risky stuff first and keep tech debt low.</h3>
<p>Anyone who&#8217;s run into me at conferences will know how much I love Real Options, and it&#8217;s really at the heart of the cost of change.</p>
<p>The only reason change costs more is because of the <em>commitment</em> that we already made. Chris Matts describes technical debt as an &#8220;unhedged call option&#8221;. <strong>Edit:</strong> while Chris came up with the metaphor, it was <a href="http://www.higherorderlogic.com/2010/07/bad-code-isnt-technical-debt-its-an-unhedged-call-option/">Steve Freeman</a> who described it. He says, &#8220;You give someone the right to buy Chocolate Santas from you at 30 cents each. That&#8217;s fine, as long as the price of chocolate stays low. As soon as it goes up, you still have to pay to make the Santas, and now you&#8217;re in trouble and your company is going bust, because you didn&#8217;t give yourself the option to get the chocolate somewhere else.&#8221;</p>
<p>Similarly, technical debt is absolutely fine until we&#8217;re called on to act, and act fast. At that point, we&#8217;re in trouble. This is the biggest reason for keeping the cost of change low &#8211; because it gives us the option for change, later. It&#8217;s a frequently-cited reason for replacing legacy projects &#8211; and, bizarrely, often forgotten when the pressure mounts and the business want their replacement app.</p>
<p>This isn&#8217;t helped by <a href="http://dannorth.net/2009/07/01/the-perils-of-estimation/">common practices of estimation and the associated promises</a>, which often lead to that pressure building up in the first place. Rather than making these promises up-front, why not try the risky bits first? I often hard-code data so that I can get feedback on a new UI early, or I spike something out using a new library or framework, or connect to that third-party application just to see what the API is really like to use, or have a chat with the team writing that other system we&#8217;re going to need in June, so I can find out how communicative and receptive to feedback they are. Doing this means that we give ourselves the most time to recover from any unexpected discoveries, and we can worry about the more predictable aspects of a system later.</p>
<p>Once we&#8217;ve got spikes out of the way, adding tests to act as documentation and examples for any legacy code we&#8217;ve created, cleaning it up so it&#8217;s self-commenting, ensuring that architectural and modular components are properly decoupled, etc., all help us to <em>stabilize</em> the code. At the same time, the effort involved in creating stable code is itself an investment. If there&#8217;s a good chance that the code might be wrong, it could be worth getting feedback on <em>that</em> &#8211; knocking up integration tests, showing it to the business, testing it, getting it live &#8211; before it&#8217;s made stable.</p>
<p>That way, the commitment made is small, and the cost of change is low.</p>
<p>Just remember to clean up and keep it that way!</p>
<p><strong>Update:</strong> Dan is currently writing about <em>Spike and Stabilize</em> and <em>Ginger Cake</em> as part of his &#8220;Patterns of Effective Delivery&#8221;. If you&#8217;re interested in finding out more, you might like to watch his <a href="http://vimeo.com/24681032">Roots talk</a> on the topics.</p>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2012/01/30/the-real-cost-of-change/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Splitting stories into tasks &#8211; when, why and how (or not)</title>
		<link>http://lizkeogh.com/2011/08/23/splitting-stories-into-tasks-when-why-and-how-or-not/</link>
		<comments>http://lizkeogh.com/2011/08/23/splitting-stories-into-tasks-when-why-and-how-or-not/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 20:57:40 +0000</pubDate>
		<dc:creator>liz</dc:creator>
				<category><![CDATA[feedback]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[stories]]></category>

		<guid isPermaLink="false">http://lizkeogh.com/?p=733</guid>
		<description><![CDATA[Before I write anything about this, I&#8217;d like to clarify what I mean by a task and a story.
A feature is something tangible that works and which we could potentially deliver, if it was enough to provide business benefit. Usually a bit of a screen or page, together with all the logic and validation associated [...]]]></description>
			<content:encoded><![CDATA[<p>Before I write anything about this, I&#8217;d like to clarify what I mean by a <em>task</em> and a <em>story</em>.</p>
<p>A <em>feature</em> is something tangible that works and which we could potentially deliver, if it was enough to provide business benefit. Usually a bit of a screen or page, together with all the logic and validation associated with it, is a feature. A feature is the highest-level thing which a developer could work on without doing significant bits of analysis. It&#8217;s a part of an idea made at least concrete enough to imagine.</p>
<p>A <em>story</em> is a part of a feature on which we can get feedback from relevant stakeholders. For instance, we might code the UI, then the validation and messages, then an aspect or two of the behaviour behind the UI. Each of these would be a possible story. The only real reason for splitting features into stories is to get faster feedback and a better idea of progress.</p>
<p>A <em>task</em> is a part of a story which doesn&#8217;t allow us to get feedback from relevant stakeholders. If you can get feedback, it&#8217;s probably a story rather than a task, because it affects the UI in some way, or at least gives something that can be visibly verified and critiqued and which stakeholders care about. There are lots of UIs and lots of stakeholders and users, so &#8220;put logging in to help maintenance debug the situation where the elephant appears on the screen&#8221; might be a perfectly good story. Anything that&#8217;s just a part of a story is a task.</p>
<p>A task can&#8217;t really be tested either, even by a developer. You have no idea if a database has the right tables or data until you connect it to something. You have no idea if an interface to another system will work until it&#8217;s actually talking to that system. You might unit-test it, or run some queries, but it&#8217;s a level below the feedback and user testing available for features and stories. (There are higher levels of testing too, in which we can look for user capabilities and business outcomes, stakeholder goals, profit / loss, etc. &#8211; so you can&#8217;t really tell if *anything* works until you put it into production &#8211; but that&#8217;s a blog post for another day).</p>
<h3>Why do some teams split stories into tasks?</h3>
<p>A lot of Scrum teams particularly do this, because it&#8217;s traditionally taught as part of the Certified Scrum Master course. Hopefully good CSTs, and their CSMs, are teaching the benefits along with the practices.</p>
<p><strong>It can lead to more accurate estimates.</strong> Splitting stories into tasks can help developers to think about the amount of work involved in a story, and find any pieces they missed.</p>
<p><strong>It can help with collaboration. </strong>By splitting a story into tasks, developers can each take that task &#8211; usually a different horizontal slice &#8211; and work with minimal merge conflicts and just a bit of adjustment to get their piece working with other people&#8217;s. Splitting a story into tasks is useful for swarming, and a lot of swarming teams do this instinctively, even if they haven&#8217;t written the tasks down.</p>
<p><strong>It can help senior developers mentor junior developers</strong> and verify that they&#8217;re taking a good approach towards a story. Some mistakes are worth avoiding.</p>
<p><strong>They can be used as a measure of progress</strong> to someone tracking the team, like a PM or Scrum Master.</p>
<h3>Why don&#8217;t other teams do this?</h3>
<p>Some teams prefer to focus on delivering something on which they can get feedback, and find the tasks distracting.</p>
<p>There are also other ways of getting accurate estimates. Talking through scenarios can help with this. A lot of teams don&#8217;t use estimates anyway, preferring to stick to SLAs or their own instinctive understanding of how much work they can get done and whether they&#8217;re going to release on time. Anther purpose of estimation is usually so that the business stakeholders can have trust and confidence in the team, and there are different ways of getting the trust of stakeholders, too.</p>
<h3>What bad things might happen if we split our stories into tasks?</h3>
<p>Splitting stories into tasks might indeed distract from delivering something on which the team can get feedback. When a developer sees a list of tasks in front of him, he tends to work through those tasks methodically. He might not notice that, for instance, the team isn&#8217;t going to deliver *any* stories this week.</p>
<p>Using tasks to estimate team progress can also be misleading. If all the developers end up working on their own stories, the PM might see lots of tasks being done. If none of those stories are ready for the showcase, though, the team won&#8217;t be able to get feedback from their stakeholders &#8211; and might end up building the wrong things altogether! Also, the Pareto Principle suggests that 20% of the causes are responsible for 80% of the effects &#8211; or that the last 20% of the story might take 80% of the time. Often developers will start with the easy bits and leave the hard things until last.</p>
<p>People seeing the tasks can use them to micro-manage the team, asking who&#8217;s working on which task, or even assigning particular tasks ahead of time! But anyone with a manager or Scrum Master who does this has bigger problems than the task-splitting, I think.</p>
<h3>Why do you absolutely hate people splitting tasks then putting hourly estimates on them?</h3>
<p>First and foremost, this harks back to the old myth that <em>time</em> = <em>work done</em>. Even if developers are only held to be productive 50 or 60% of their &#8220;ideal&#8221; working day, the focus is still on the number of hours spent, rather than useful software being produced. It&#8217;s perfectly possible to spend hours on something that doesn&#8217;t work. A team which signs off all its tasks is subtly encouraged to say that they&#8217;re &#8220;done&#8221; without checking that the software they&#8217;re producing is useful.</p>
<p>What about the developer who plays with something else while turning over a problem in the back of his mind, then delivers an ingenious solution in 2 hours? Or the developer who wants to try out another way of solving the problem which might involve a steep learning curve, but which would benefit the project in the long run? By pinning these developers down to their hourly estimates, insisting on a certain timescale of productivity, we encourage them to tread the path they had in mind when they made the estimate, even if a different idea occurs to them at the time. Since human beings get a kick out of being right &#8211; suffering horribly from confirmation bias and the preference for validation &#8211; just the act of estimating the hours will pin them down subconsciously. They may not even think about the problem or have the new idea! Hourly estimates can stifle innovation, and the less wriggle room there is, the more innovation will be stifled.</p>
<p>Finally, it encourages micro-management. A project manager who sees a developer working on some tasks that should have taken 8 hours, but have taken all week, might wonder why that developer is taking so long. However, uncomfortable enquiries will only cause the developer to pad their estimates next time &#8211; and work expands to fill the time available, so the team will eventually slow down.</p>
<h3>Should we do it or not?</h3>
<p>If you think splitting stories into tasks might be helpful, try it. If it doesn&#8217;t help, stop. However, please resist the urge to put hourly estimates on them &#8211; or to ask that your team does so.</p>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2011/08/23/splitting-stories-into-tasks-when-why-and-how-or-not/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Who are your Users?</title>
		<link>http://lizkeogh.com/2010/02/07/who-are-your-users/</link>
		<comments>http://lizkeogh.com/2010/02/07/who-are-your-users/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 20:03:10 +0000</pubDate>
		<dc:creator>liz</dc:creator>
				<category><![CDATA[feedback]]></category>
		<category><![CDATA[metathinking]]></category>

		<guid isPermaLink="false">http://lizkeogh.com/?p=564</guid>
		<description><![CDATA[I&#8217;ve wanted to write this post for a while, and reading &#8220;Metaphors we live by&#8221; has given me some language and ideas to express it in. So here goes.
Requirements come from above
In a straw-man Waterfall project, requirements are delivered to senior developers to design. Senior developers deliver the designs to junior developers to implement. Managers [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve wanted to write this post for a while, and reading <a href="http://www.amazon.com/Metaphors-We-Live-George-Lakoff/dp/0226468011/">&#8220;Metaphors we live by&#8221;</a> has given me some language and ideas to express it in. So here goes.</p>
<h3>Requirements come from above</h3>
<p>In a straw-man Waterfall project, requirements are delivered to senior developers to design. Senior developers deliver the designs to junior developers to implement. Managers instruct teams in how to progress. We have, in our language and hierarchical organisation, a metaphor which maps &#8220;up&#8221; to the origin of the project, and &#8220;down&#8221; to the implementing details. We also think in terms of seniority and power, with the originators of the vision having that seniority and power, and the more junior developers and testers being at the bottom of the pile. We even talk about the team members &#8220;on the ground&#8221;.</p>
<p>Think of every organisational chart with the managers at the top, or the V-model in which the requirements are split into increasing detail towards the bottom.</p>
<p>In life, things naturally flow downwards.</p>
<h3>Orders come from above</h3>
<p>The other hierarchy with which we&#8217;re familiar is the military. We can map our employment and communication hierarchies to those of the military. We even talk about companies fighting for market share, defending their reputation, a hostile trading environment, captains of industry, command-and-control management, etc. It&#8217;s hardly surprising that we have, in our subconsciousness, another pattern: that the more junior members of a company should obey orders. (This isn&#8217;t necessarily true even in the military, but it fits our perception of it.)</p>
<h3>Turning the world upside-down</h3>
<p>I once heard of a business analyst who got tired of explaining the requirements to the developers. &#8220;I&#8217;ve told you three times already!&#8221; she snapped. &#8220;Everything&#8217;s clear. Just do it.&#8221; The BA sees the developers as working to fulfil her requirements. They serve her needs, rather than the other way around.</p>
<p>When we write and deliver software to a user on an Agile project, we ask them for their feedback. </p>
<ul>
<li>Is this useful to you?</li>
<li>Is this easy to use?</li>
<li>Is anything difficult to use?</li>
<li>Does it help you to do your job more effectively?</li>
<li>Can you think of any ways we could make this more intuitive?</li>
<li>What would you like next?</li>
</ul>
<p>Because we think of communication in terms of orders, we also think of junior staff delivering value to senior staff. We don&#8217;t necessarily think in terms of the communication itself being a form of delivery. If we did, we might ask for feedback from the users of our communication. </p>
<ul>
<li>Is this communication useful to you?</li>
<li>How easy was our communication to use?</li>
<li>Was anything difficult to understand?</li>
<li>Did it help you to do your job more effectively?</li>
<li>Can you think of any format you&#8217;d find more intuitive than this?</li>
<li>Any questions?</li>
</ul>
<p>If the BA above was a piece of software, her users would be filing bug reports, working around her, and using her competitors instead. I imagine instead that she&#8217;ll get a poor review and teams will prefer to work with her colleagues. If they only have the one BA to work with, the project will probably fail &#8211; the developers won&#8217;t be able to use her to get their job done.</p>
<h3>Stakeholders aren&#8217;t users</h3>
<p>I&#8217;ve <a href="http://lizkeogh.com/2010/02/02/theyre-not-user-stories/">written about this before</a>, and it takes on a new importance in the context of users, and stakeholders, of communication. When we get a management report, we often think, &#8220;So what?&#8221; We hit the delete key. Instead, we could try to think, &#8220;Who is it that cares about us understanding this? Why does he care?&#8221; It&#8217;s often the case that a user is meant to do something, as part of his job, which is for the benefit of someone else. Similarly, we may be asked to understand or act on something for someone else&#8217;s benefit &#8211; and it <em>won&#8217;t be the person delivering the message</em> either.</p>
<p>The stakeholders of communication on a project are often stakeholders of the project itself &#8211; the security expert, the chief architect, the facilities manager, etc.</p>
<h3>Project experience</h3>
<p><a href="http://manicprogrammer.com/cs/blogs/willeke/default.aspx">Eric</a> gave me the concept of a &#8220;Project experience&#8221;. In the same way that we can think of communication as a form of delivery, we can think of the experience that our stakeholders and customers have when they ask us, as a project team, to deliver their code. We can ask usability questions about the team.</p>
<ul>
<li>How easy is it to use the team?</li>
<li>Is it easy to see what&#8217;s going on and get information about the progress of the team?</li>
<li>Is it easy to undo a mistake?</li>
<li>Is it easy to input a new idea?</li>
</ul>
<p>We often hold retrospectives amongst ourselves to work out how to change our processes. I&#8217;d also like to see us actively getting feedback from the people who use the project. And next time someone gives you some instructions which are unclear or don&#8217;t help you to do your job, perhaps this metaphor will help.</p>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2010/02/07/who-are-your-users/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Evil Hat</title>
		<link>http://lizkeogh.com/2010/01/06/the-evil-hat/</link>
		<comments>http://lizkeogh.com/2010/01/06/the-evil-hat/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 15:10:11 +0000</pubDate>
		<dc:creator>liz</dc:creator>
				<category><![CDATA[breaking models]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[learning models]]></category>
		<category><![CDATA[metathinking]]></category>

		<guid isPermaLink="false">http://lizkeogh.com/?p=523</guid>
		<description><![CDATA[You&#8217;ve got a problem.
You want to measure, and improve, something about your project or people. You&#8217;ve got a good idea about how to do this. Perhaps the metric you want to use is already widely measured. Perhaps  it&#8217;s been in the industry for a while. It might be a KPI, related to a management [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve got a problem.</p>
<p>You want to measure, and improve, something about your project or people. You&#8217;ve got a good idea about how to do this. Perhaps the metric you want to use <a href="http://en.wikipedia.org/wiki/Story_points">is already widely measured</a>. Perhaps  <a href="http://www.developer.com/tech/article.php/988641/Its-Not-About-Lines-of-Code.htm">it&#8217;s been in the industry for a while</a>. It might be a <a href="http://en.wikipedia.org/wiki/Key_performance_indicator">KPI</a>, related to a <a href="http://www.telegraph.co.uk/health/healthnews/5008442/NHS-targets-may-have-led-to-1200-deaths-in-Mid-Staffordshire.html">management incentive</a> or perhaps you simply want to <a href="http://www.constraintmanagement.co.uk/Throughput_Accounting.htm">replace your existing metrics with something better</a>.</p>
<p>Before you put that measurement in place, borrow my Evil Hat.</p>
<h3>The Seventh Hat</h3>
<p><a href="http://www.flickr.com/photos/randysonofrobert/2027867775/"><img src="http://farm3.static.flickr.com/2403/2027867775_36317edd61_m.jpg" /></a></p>
<div style="font-size: smaller; color:#bbbbbb;" xmlns:cc="http://creativecommons.org/ns#" about="http://www.flickr.com/photos/randysonofrobert/2027867775/"><a  style="color:#bbbbbb" rel="cc:attributionURL" href="http://www.flickr.com/photos/randysonofrobert/">Photo by randysonofrobert on Flickr</a> / <a rel="license" style="color:#bbbbbb" href="http://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a></div>
<p><a href="http://en.wikipedia.org/wiki/Edward_de_Bono">Edward de Bono</a> identified six different ways in which people prefer to think, and created the <a href="http://en.wikipedia.org/wiki/Six_Thinking_Hats">six famous thinking hats</a>.</p>
<p>Unfortunately for humanity, there&#8217;s a seventh way in which we think. It comes unconsciously from our innate desire for an easy life, our craving for approval, and mechanisms of feedback which tell us whether we&#8217;re doing the right or the wrong thing. It comes more consciously from our desire to be paid more, keep or improve our jobs, and make our bosses happy. If we&#8217;re determined to be evil, we can think of it as a way of manipulating the system for our personal gain.</p>
<p>The problem is, even if we aren&#8217;t evil, we do start responding subconsciously to the feedback provided by our measurements and responses to them. Like an electrical current, we tend to take the path of least resistance. If we&#8217;re seeing problems as a result of the metrics, we&#8217;ll address the problems &#8211; and if we&#8217;re doing it subconsciously, we may not actually analyze the cause of those problems, or the effect of our changes outside of the system. We&#8217;ll respond to praise for achieving the targets, and to criticism for missing them &#8211; even if the targets and the praise are implicit.</p>
<p>By putting on the Evil Hat, we can move those subconscious reactions into the conscious realm. Pretend, for a moment, that you have no care whatsoever for the success of your project, your team or the bigger picture. You are merely interested in your own personal gain. You are not interested in making life better for anyone else but yourself. This is what your brain is already doing, before the altruism in your conscious mind or subconscious habit kicks in (and there are plenty of arguments to suggest that altruism itself is merely done for psychologically selfish reasons).</p>
<p>Congratulations. The Evil Hat has just turned you into a <a href="http://en.wikipedia.org/wiki/Sociopath">sociopath</a>.</p>
<h3>Sociopaths can destroy your company or project</h3>
<p>When a sociopath wants something, they can resort to any means necessary to get it. <a href="http://findarticles.com/p/articles/mi_qa5427/is_200907/ai_n32127546/">This article, Sociopaths in High Places,</a> illustrates some of the behaviour we can expect from sociopaths, including bullying, cruelty, manipulation and outright fraud.</p>
<p>This only happens because sociopaths don&#8217;t care about other people. Of course, most of us are born with empathy. We feel other people&#8217;s pain. Don&#8217;t we?</p>
<p>When we&#8217;re stressed, our adrenaline levels rise. We are primed for <a href="http://en.wikipedia.org/wiki/Fight-or-flight_response">fight or flight</a>. Our instincts are turned inwards, to our own survival. We are more likely to act in our own interests, and less likely to worry about those around us. <a href="http://www.avataroverdrive.com/stressac.html">This rather lovely article</a> talks about the circular nature of stress and concentration, relating the feeling of compassion to the state of relaxation. The opposite is also true.</p>
<p>So, let&#8217;s imagine that we&#8217;ve been set some targets, and we&#8217;re not meeting them. Our boss (who has targets of his own) is putting the pressure on us. Now we&#8217;re starting to feel stressed, which makes us less empathic. Even if we&#8217;re not sociopaths ourselves, we&#8217;re capable of selfishness, and it&#8217;s starting to show.</p>
<h3>Sociopaths are in charge</h3>
<p>The targets in any company tend to filter down from the top. The shareholders want a profit. The CEOs, board members and upper management are in charge of delivering that profit. Their targets and metrics are clear. As <a href="http://decision-coach.com/">Chris Matts</a> has said when talking about <a href="http://www.limitedwipsociety.org/2009/05/27/feature-injection/">Feature Injection</a>, they need to &#8220;make money, save money or protect money&#8221;.</p>
<p>Two psychologists, Paul Babiak and Robert Hare, started applying a checklist for psychopaths to the boardroom members of corporations, and published some of their findings in a book, <a href="http://www.amazon.com/Snakes-Suits-When-Psychopaths-Work/dp/0061147893">&#8220;Snakes in suits&#8221;</a>. <a href="http://www.abc.net.au/rn/talks/bbing/stories/s1158704.htm">This transcript of a radio interview</a> with the authors and other experts illustrates some of the behaviours they found.</p>
<p>It&#8217;s often easier for a psychopath to achieve their goals by destroying others. Certainly, they have no empathic reason to want to help others, and they will protect themselves and the power they amass quite jealously. There are some phrases that we can look for to see if we or our colleagues are becoming less empathic with stress:</p>
<p><strong>&#8220;It&#8217;s not my fault.&#8221;</strong></p>
<p><strong>&#8220;<em>X</em> did it.&#8221;</strong></p>
<p>This is us, protecting our power and our jobs at the expense of someone else. We&#8217;re not thinking about the impact on others when we say these things. We&#8217;re doing it to protect ourselves.</p>
<p>Of course, true sociopaths and psychopaths (<a href="http://en.wikipedia.org/wiki/Sociopath#Psychopathy_vs._sociopathy">Wikipedia defines the difference nicely</a>) will protect themselves <em>in advance</em>, so rarely have to resort to passing the blame &#8211; it will already be obvious to all powerful onlookers that they are blameless. Or, worse, the powerful onlookers will themselves have sociopathic tendencies, and be <a href="http://www.yourdictionary.com/cahoots">in cahoots</a> with their sociopathic comrades.</p>
<p>As the stress mounts, the more clever amongst us will start <a href="http://en.wikipedia.org/wiki/Cover_your_ass">protecting ourselves</a>. We keep those emails, do everything in writing, and insist that processes are followed, making sure that we cannot be blamed for anything more than being cogs in a giant machine. The more creative amongst us find ways of becoming more influential and indispensable &#8211; hoarding knowledge, hiding our lack of skill, making friends in high places, setting others up to take the fall. As the habits develop, we become more and more sociopathic ourselves. Anyone who finds themselves unable to dispense with morality leaves, and the <a href="http://en.wikipedia.org/wiki/Organizational_culture">company culture is now fully riddled with blame</a>.</p>
<h3>Sociopaths can save your company or project</h3>
<p>As <a href="">Robert Hare says in the radio interview</a>:</p>
<p style="margin: 0 10%">Enlightened self-interest is not a bad idea for psychopaths, and try to indicate or convince them that there are ways in which they can get what they want and need without having to actually harm other people. &#8220;Enlightened self-interest is not a bad idea for psychopaths…&#8221; Now it’s easier said than done, because their behavioural patterns are fairly entrenched. But these are not stupid people, I mean the range of intelligence amongst psychopathic populations is the same as it is in the general population. These are people who know what’s going on.</p>
<p></p>
<p>So, what&#8217;s going on?</p>
<p>The word is spreading. <a href="http://www.stevedenning.com/High-Performance-Teams/most-high-performance-teams-are-self-organizing.aspx">Self-organising teams</a>, in which <a href="http://www.qualitydigest.com/mar99/html/body_teams.html">the members are not merely cogs</a>, are more performant. <a href="http://findarticles.com/p/articles/mi_m1154/is_n6_v81/ai_13822630/">Employee empowerment and learning</a> improves company morale, reduces expensive employee turnover and <a href="http://www.bizhelp24.com/you-and-work/empowering-employees-2.html">can help make money</a>. <a href="http://theproductivityblog.blogspot.com/2008/04/transparency-and-openness-in-workplace.html">Transparency in the workplace fosters productivity</a>. <a href="http://blog.projectconnections.com/alan_koch/2009/04/what-makes-a-project-agile-part-6-incremental-delivery.html">Incremental delivery</a> reduces risk, resulting in more successful projects and more fulfilled staff; <a href="http://www.ogc.gov.uk/delivery_lifecycle_application_development___modularity.asp">even governments are listening</a>.</p>
<p>It turns out that in most cases, doing the empathic thing &#8211; creating positive cultures and professional experiences for employees &#8211; is also the most profitable thing, helping those sociopathic CEOs. It&#8217;s the most productive thing, helping their cahooting managers. If it involves transparency, it&#8217;s hard for anyone else to manipulate, and because an enabled, positive, productive workforce <a href="http://decision-coach.com/">creates options</a> it reduces risk and provides the greatest possible control in the event of uncertainty.</p>
<p>The sociopaths of the world &#8211; CEOs, managers, and democratic governments &#8211; are also starting to listen. If you know yourself to be a sociopath or a psychopath, you&#8217;re in a position of power, and you&#8217;re not paying attention, then you&#8217;re losing this race.</p>
<p>If, however, you are already cynically manipulating your company culture to be better, faster, more productive, empowered, self-organising, transparent, learning, improving, Lean, Agile, incremental, feedback-driven, forward-thinking, creative, optimistic and prepared, then congratulations. You are about to rule your slice of the world. Just what you always wanted.</p>
<h3>Put on the Evil Hat</h3>
<p>By pretending to a certain amount of sociopathy before we start introducing metrics and targets, we can ask ourselves, &#8220;How will we respond to these targets?&#8221; Will we <a href="http://en.wikipedia.org/wiki/Gaming_the_system">game the system</a>, manipulating these in a way which serves our purposes, but not the whole? Are they <a href="http://en.wikipedia.org/wiki/Perverse_incentive">perverse incentives</a> in disguise? Will we <a href="http://lizkeogh.com/2009/11/30/estimation-anti-patterns/">see anti-patterns emerge</a> as a result?</p>
<p>We can also use the Evil Hat to turn this around. What metrics and targets could we put in place that would lead to even more productive behaviours? That would lead to success, and therefore maximise our personal gain? How can we make sure that <a href="http://blog.gdinwiddie.com/2009/12/27/tracking-your-investments/">the things we&#8217;re measuring are the things we most want?</a></p>
<h3>It&#8217;s Good to be Evil</h3>
<p>I was in a meeting when someone suggested introducing a KPI for measuring team leaders. &#8220;One of their jobs is to remove obstacles from the path of the team,&#8221; a manager suggested. &#8220;We should measure how many obstacles they remove.&#8221;</p>
<p>&#8220;Excuse me a moment,&#8221; I grinned. &#8220;That sounds like fun. Just let me put on my Evil Hat, and I&#8217;ll tell you what I&#8217;m going to do in response&#8230;&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2010/01/06/the-evil-hat/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Change, and keep changing</title>
		<link>http://lizkeogh.com/2009/09/21/change-and-keep-changing/</link>
		<comments>http://lizkeogh.com/2009/09/21/change-and-keep-changing/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 14:11:50 +0000</pubDate>
		<dc:creator>liz</dc:creator>
				<category><![CDATA[feedback]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[metathinking]]></category>

		<guid isPermaLink="false">http://lizkeogh.com/?p=420</guid>
		<description><![CDATA[Sometimes people ask me, &#8220;When we&#8217;ve gone Agile&#8230; when we are fully Lean&#8230; what will it look like?&#8221;
The only answer I can come up with is this:
Things will be changing. You&#8217;ll be in a better place to respond to change. Your people will have a culture of courage and respect, and will seek continuous improvement, [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes people ask me, &#8220;When we&#8217;ve gone Agile&#8230; when we are fully Lean&#8230; what will it look like?&#8221;</p>
<p>The only answer I can come up with is this:</p>
<p>Things will be changing. You&#8217;ll be in a better place to respond to change. Your people will have a culture of courage and respect, and will seek continuous improvement, feedback and learning.</p>
<p>I don&#8217;t know what your process will look like. The Lean and Agile communities have some ideas you can use to start with. Not all of them will work. Your processes will change, and keep changing.</p>
<p>I have no idea what skills your people will need. The people you have are good people; start with them. The need for their skills will change, and keep changing.</p>
<p>I don&#8217;t know what language, tools or technologies you&#8217;ll be using. Start with something that&#8217;s easy to change. Technology will change, and keep changing.</p>
<p>I don&#8217;t know which projects will succeed. Start with the most important project, or the most risky, or the one which has the highest cost of delay. Your market, your business and your customers will change, and keep changing.</p>
<p>There is no end-state with Agile or Lean. You&#8217;ll be improving, and continue to improve, trying new things out and discarding the ones which don&#8217;t work.</p>
<p>If you do find yourself with an end-state, the chances are that you&#8217;ve documented your processes somewhere, and are now asking your teams to adhere to them. Either your process is perfect, or you haven&#8217;t reached the end-state yet. I&#8217;m guessing your process isn&#8217;t perfect. Change, and keep changing.</p>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2009/09/21/change-and-keep-changing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile 2009: BDD Clinic, Feedback Workshop and Programming with the Stars</title>
		<link>http://lizkeogh.com/2009/08/19/agile-2009-bdd-clinic-feedback-workshop-and-programming-with-the-stars/</link>
		<comments>http://lizkeogh.com/2009/08/19/agile-2009-bdd-clinic-feedback-workshop-and-programming-with-the-stars/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 18:48:37 +0000</pubDate>
		<dc:creator>liz</dc:creator>
				<category><![CDATA[bdd]]></category>
		<category><![CDATA[feedback]]></category>

		<guid isPermaLink="false">http://lizkeogh.com/?p=427</guid>
		<description><![CDATA[At Agile 2009, Pat Maddox of RSpec will be running a BDD Clinic with me. Between us we have experience with Java, .NET and Ruby code, and we&#8217;re willing to look at and learn from anything else. If you bring your work or ideas along, we will be able to give you feedback and maybe [...]]]></description>
			<content:encoded><![CDATA[<p>At Agile 2009, Pat Maddox of RSpec will be running a BDD Clinic with me. Between us we have experience with Java, .NET and Ruby code, and we&#8217;re willing to look at and learn from anything else. If you bring your work or ideas along, we will be able to give you feedback and maybe make some suggestions for writing more readable or maintainable scenarios, examples and code. I&#8217;m hoping that this will be a community event, since the room is quite large &#8211; if you fancy yourself as an expert and want other people&#8217;s opinions, come along! Feel free to drop in and out of the session at any time; it&#8217;s not a presentation or an ordered workshop, and we&#8217;re there to be disturbed (if we&#8217;re not disturbed enough already).</p>
<p>I will also be running a workshop on giving and receiving effective personal feedback, and judging the Programming with the Stars competition.</p>
<p>We have been asked, as presenters, to provide materials for our sessions. Unfortunately the BDD clinic has capacity for 300 people! So, I&#8217;m not going to be able to bring enough post-its, index cards, pens, pencils etc. with me from England. If you&#8217;re coming to the clinic and fancy writing down any of our grains of wisdom or the pearls that you form around them, please bring your own. I imagine most of the vendors and exhibitors will have free pens that you can grab (try the Thoughtworks stand, they&#8217;re very friendly).</p>
<p>If you&#8217;re coming to the Feedback workshop and you can&#8217;t remember what you learnt, I should have done my job better. You might want to bring some paper and pens anyway. There&#8217;s always room for improvement!</p>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2009/08/19/agile-2009-bdd-clinic-feedback-workshop-and-programming-with-the-stars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feedback sandwiches and Real Options</title>
		<link>http://lizkeogh.com/2009/05/28/feedback-sandwiches-and-real-options/</link>
		<comments>http://lizkeogh.com/2009/05/28/feedback-sandwiches-and-real-options/#comments</comments>
		<pubDate>Thu, 28 May 2009 10:53:42 +0000</pubDate>
		<dc:creator>liz</dc:creator>
				<category><![CDATA[feedback]]></category>
		<category><![CDATA[nlp]]></category>

		<guid isPermaLink="false">http://lizkeogh.com/?p=413</guid>
		<description><![CDATA[Esther Derby writes great advice on giving feedback. I&#8217;m intrigued by her closing comment:
Praise sandwich tends to erode trust in the feedback givers intentions, and once that&#8217;s gone, there&#8217;s not much chance any useful information will get through.
I think it depends on how a feedback sandwich is used. I tend to use it to make [...]]]></description>
			<content:encoded><![CDATA[<p>Esther Derby writes <a href="http://www.estherderby.com/weblog/2009/05/praise-sandwich-tastes-icky-ii.html">great advice</a> on giving feedback. I&#8217;m intrigued by her closing comment:</p>
<div style="margin-left: 30px; margin-right: 30px;">Praise sandwich tends to erode trust in the feedback givers intentions, and once that&#8217;s gone, there&#8217;s not much chance any useful information will get through.</div>
<p>I think it depends on how a feedback sandwich is used. I tend to use it to make a safe space in which I can share feedback with people without them feeling like the world&#8217;s just been cut out from underneath them. I find it helps me phrase feedback in a very positive, constructive manner.</p>
<p>This is not, to me, the most effective feedback sandwich, despite adhering to any rules I might previously have given:</p>
<div style="margin-left: 30px; margin-right: 30px;">&#8220;I learn a lot from pair-programming with you, but you sometimes take the keyboard from me when I&#8217;m trying to type. If you could please ask me before you do that, it would help me to learn and I&#8217;d feel less frustrated. I&#8217;d like to pair with you more often and I think it could be fun.&#8221;</div>
<p>So, here&#8217;s how I&#8217;m using the feedback sandwich now (all <a href="http://andypalmer.com/2009/05/making-feedback-more-effective/">other</a> <a href="http://www.estherderby.com/weblog/labels/feedback.html">rules</a> of <a href="http://www.evancarmichael.com/Business-Coach/330/How-To-Give-Effective-Feedback.html">giving</a> <a href="http://www.thekua.com/atwork/2009/04/improving-collaboration-between-developers-and-testers/">effective</a> <a href="http://www.thekua.com/atwork/2007/06/asking-for-feedback-today/">feedback</a> also apply).</p>
<h3>I value this&#8230;</h3>
<p>Whenever someone gives me some advice or criticism, it makes me want to change things so that I&#8217;m more effective, or so that the problem is fixed.</p>
<p>For instance, a graphic designer gave me some feedback on my new business cards. &#8220;You need to revisit the whole card,&#8221; he told me. &#8220;Change the shape, add some texture. Put in a tag line, something catchy that people can remember you by.&#8221;</p>
<p>Well, I&#8217;m not a graphical artist! Nor am I pretending to be, so the feedback didn&#8217;t really get me down. I knew I couldn&#8217;t get new business cards ready in time for the conference, nor can I really afford the services of a graphical artist right now. I thought to myself, &#8220;I could just give out my email address; that&#8217;s worked for me before. I don&#8217;t really need to take my business cards to the conference.&#8221;</p>
<p>Then it occurred to me much later that perhaps that wasn&#8217;t the artist&#8217;s intention. So I asked him: &#8220;Would it be better for me not to take the cards at all?&#8221;</p>
<p>&#8220;Oh, no! That&#8217;s not what I meant. They&#8217;re fine, I mean, they&#8217;ll do the job if that&#8217;s what you want. I just wanted to give you some help to improve them.&#8221;</p>
<p>&#8220;Fantastic!&#8221; I smiled. &#8220;So, what do you like about them?&#8221;</p>
<p>&#8220;I like the colour scheme, and the symbol you&#8217;ve chosen &#8211; the big red moon &#8211; is very powerful.&#8221; And then he described the things he liked about the card.</p>
<p>Without anchoring the things that I value, I am in danger of losing them altogether. If I bring up someone&#8217;s annoying behaviour when they pair program with me, they might just stop pair programming. If I suggest a different way of solving a problem, they might stop thinking of themselves as problem-solvers. The human mind has this dangerous way of abstracting generalisations from particular situations, and confidence can be easily knocked! Even in the situation with the business cards, where I didn&#8217;t really feel depressed by the feedback, I was in danger of throwing away valuable work.</p>
<p>So, I can anchor the things I value; things that might change as a result of what I&#8217;m about to say. </p>
<div style="margin-left: 30px; margin-right: 30px;">&#8220;I learn a lot when I&#8217;m pair-programming with you.&#8221;<br />
&#8220;I love the solution you&#8217;ve come up with.&#8221;<br />
&#8220;I really like the colour scheme and the icon.&#8221;</div>
<h3>And&#8230;</h3>
<p>The next bit of the &#8220;feedback sandwich&#8221; is the trickiest. It&#8217;s always tempting to put the word &#8220;but&#8221; or &#8220;however&#8221; in here! The word &#8220;but&#8221; has the impact of <a href="http://www.inspiritive.com.au/article_andreas_buts.htm">negating the first part of the sentence</a>. I&#8217;ve heard this example a lot:</p>
<p><strong>Mum:</strong> Well, he&#8217;s ugly, but he&#8217;s rich.<br />
<strong>Daughter:</strong> Yes, Mum. He&#8217;s rich, but he&#8217;s ugly.</p>
<p>See what I mean?</p>
<p>Even the act of thinking &#8220;but&#8221; tends to lead me to phrase it unconsciously. So I&#8217;ve been trying to replace it with the word &#8220;and&#8221;. Like &#8220;should&#8221; in BDD, this leads my brain to go a different way. Instead of thinking of how to phrase the negative advice in a way which is palatable, I find myself phrasing things very differently.</p>
<div style="margin-left: 30px; margin-right: 30px;">&#8220;I learn a lot when I&#8217;m pair-programming with you and I&#8217;d like to learn more.&#8221;<br />
&#8220;I love the way you&#8217;ve solved this problem, and I&#8217;d like to build on that.&#8221;<br />
&#8220;I love the colour scheme and the icon, and I think there may be some ways of making them stand out.&#8221;</div>
<p>This has led me to new ways of providing feedback. I can even talk to managers now!</p>
<div style="margin-left: 30px; margin-right: 30px;">&#8220;Thank you very much for letting us try out this Agile stuff! It&#8217;s great; I&#8217;m having fun. I really like the lightweight documentation, and I&#8217;d like to try and work out how to align that aspect of it with the reports you asked me for. Can you help me?&#8221;</div>
<p>I don&#8217;t always need to criticise the behaviour that&#8217;s causing me problems in order to suggest changing it. Thinking about the last part of the feedback sandwich, and using that to work out what goes after the &#8220;and&#8230;&#8221;, helps me work out what to say.</p>
<h3>&#8230;I want this.</h3>
<p>There&#8217;s some place that I want to get to; some goal that I want to achieve. NLP&#8217;s <a href="http://www.nlp-now.co.uk/wfo.htm">well-formed outcomes</a> can help here, or if you&#8217;re a software developer, think about the <a href="http://testingdiary.blogspot.com/2009/05/we-aint-got-no-smart-requirements.html">SMART</a> technique for writing tests. How will you know that you&#8217;ve got to the place that you want to be in? What will you see? What will you hear? What will you be doing &#8211; or not doing &#8211; differently?</p>
<div style="margin-left: 30px; margin-right: 30px;">&#8220;I learn a lot when I&#8217;m pair-programming with you and I&#8217;d like to learn more. Would it be OK if I typed sometimes? I think I learn faster when I&#8217;m actually doing the typing myself.&#8221;</p>
<p>&#8220;I love the colour scheme and the icon, and I think there may be some ways of making them stand out. Perhaps if we had something textured, or cut into a different shape, that would catch people&#8217;s attention.&#8221;</p>
<p>&#8220;I love the way you&#8217;ve solved this problem, and I&#8217;d like to build on that. Maybe we could assign responsibility for this bit of the code to another class. I think that would make this class simpler, and then we could write some tests to describe its behaviour so that other people could use it too.&#8221;</p>
<p>&#8220;Thank you very much for letting us try out this Agile stuff! It&#8217;s great; I&#8217;m having fun. I really like the lightweight documentation, and I&#8217;d like to try and work out how to align that aspect of it with the reports you asked me for. Can you help me? I&#8217;m looking for a way to try and use the data that&#8217;s up on the walls and the project board to make this easier.&#8221;</p></div>
<p>Even when there&#8217;s some particular unpalatable behaviour that really does need to stop, this can help.</p>
<div style="margin-left: 30px; margin-right: 30px;">&#8220;I learn a lot when I&#8217;m pair-programming with you and I&#8217;d like to learn more. I&#8217;m finding it tricky because when I&#8217;m typing, you sometimes tell me what to type before I&#8217;ve had a chance to think through the problem myself. If I could have a bit more time to think things through I think I&#8217;d understand the domain more quickly, and if I&#8217;ve got it right then my code should make sense to you. Please let me know if it doesn&#8217;t.&#8221;</div>
<p>Even when it&#8217;s <em>really</em> unpalatable behaviour.</p>
<div style="margin-left: 30px; margin-right: 30px;">&#8220;I love that you have so much energy. It really comes out when I&#8217;m sitting next to you pair-programming, and you throw your arms in the air and wave them, and it makes me feel really energized too. Unfortunately when you do that, there&#8217;s an unpleasant smell&#8230; is there anything that can be done to change that? I really like some of the new Lynx fragrances, and my friend rates Right Guard; something like that would smell nice.&#8221;</div>
<h3>Provide options</h3>
<p>I like the feedback sandwich because it sits very well with GROW, in which we move to our <strong>Goal </strong>from our <strong>Reality</strong>, looking at <strong>Options </strong>and selecting a <strong>Way Forward</strong>. Reality is the current behaviour that we value (not the problem!) and the Goal is where we want to get to.</p>
<p>In the examples of feedback I&#8217;ve given above, I&#8217;ve provided multiple options, or left an opening for them. Even when there&#8217;s only one option that can realistically be taken &#8211; nobody&#8217;s going to say &#8220;no&#8221; when I ask for more time to type code without having a back-seat driver telling me what to do &#8211; I&#8217;ve phrased it in a way which makes the other option available. Using words like &#8220;maybe&#8221;, or asking questions like &#8220;What do you think? Can you help me?&#8221; can invite other options, things that we haven&#8217;t thought of.</p>
<p>There&#8217;s safety in these options. By providing them, and allowing the coachee to make the choice, we&#8217;re saying, &#8220;You have the power here. You get to make the choices.&#8221; All I&#8217;m doing is sharing a place that I want to get to with you, and leaving it up to you to decide how to get there. You can ask me for help if you want, and even give me feedback if there&#8217;s something that I can do that might make a difference.</p>
<p>I was reading <a href="http://www.informit.com/articles/article.aspx?p=1334908">this article</a> which starts with an assertion, &#8220;old commented-out code is an abomination&#8221;. That makes me wince, because an abomination is something <a href="http://en.wiktionary.org/wiki/abomination">hateful, wicked or shamefully vile</a>, and what I see is someone learning! That&#8217;s not vile at all; it&#8217;s a wonderful thing, and I heartily encourage it. Instead of insisting that the code is deleted, I might suggest trying it out, and seeing which one works best. I might even talk about the benefits of deleting the code. Creating it as an option, instead of &#8220;the only right way&#8221;, will allow Alphonse to feel safe trying out other things, too.</p>
<p>(Incidentally, the way that the feedback is given in the scenario with Alphonse isn&#8217;t very safe. Giving feedback in private is usually better than giving it in public.)</p>
<p>Big thanks to Chris Matts and Real Options for helping me see the similarities between GROW and the sandwich model, and fitting Options into it. I&#8217;ve found it&#8217;s worth paying to create Options, and I might sacrifice some related feedback I want to give, or my idea of &#8220;the right way to solve it&#8221;, in order to do so. This has been very effective, and I find it a very natural way of giving feedback now. </p>
<p>Why don&#8217;t you give it a try?</p>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2009/05/28/feedback-sandwiches-and-real-options/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cargo Cults and Agile Values</title>
		<link>http://lizkeogh.com/2009/05/22/cargo-cults-and-agile-values/</link>
		<comments>http://lizkeogh.com/2009/05/22/cargo-cults-and-agile-values/#comments</comments>
		<pubDate>Fri, 22 May 2009 11:47:56 +0000</pubDate>
		<dc:creator>liz</dc:creator>
				<category><![CDATA[breaking models]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[learning models]]></category>
		<category><![CDATA[values]]></category>

		<guid isPermaLink="false">http://lizkeogh.com/?p=409</guid>
		<description><![CDATA[What&#8217;s a Cargo Cult?
Once upon a time, during World War II, there was an island on which planes landed. The islanders loved the planes landing, because they brought goods that the islanders couldn&#8217;t normally get. The soldiers shared the goods with the islanders, and the islanders considered themselves wealthy, lucky, and blessed by the gods.
When [...]]]></description>
			<content:encoded><![CDATA[<h3>What&#8217;s a Cargo Cult?</h3>
<p>Once upon a time, during World War II, there was an island on which planes landed. The islanders loved the planes landing, because they brought goods that the islanders couldn&#8217;t normally get. The soldiers shared the goods with the islanders, and the islanders considered themselves wealthy, lucky, and blessed by the gods.</p>
<p>When the planes stopped landing, the islanders missed the cargo that the planes had brought, and decided they&#8217;d try to bring them back.</p>
<p>They did the same things that they&#8217;d seen the soldiers do to make the planes land. They created signal fires, waved at the sky, wore coconut-headphones on their ears and made replica planes from wood and straw. The cult which surrounded this sympathetic magic came to be known as a <a href="http://en.wikipedia.org/wiki/Cargo_cult">cargo cult</a>.</p>
<h3>What&#8217;s Cargo-Cult Agile?</h3>
<p>As the <a href="http://en.wikipedia.org/">Wikipedia</a> author says, the islanders mistook a <em>necessary</em> condition for the planes arriving as being a <em>sufficient</em> condition for the planes arriving.</p>
<p>Teams and individuals sometimes make this same mistake with Agile. They believe that by following the practices of XP, Scrum or some other methodology, they&#8217;ll be successful in creating a culture which allows them to succeed.</p>
<p>Unfortunately, the islanders hadn&#8217;t realised that the soldiers created the airstrips because there were planes that wanted to land. The planes caused the airstrips &#8211; not the other way round! Without the planes, there would have been no desire for control towers or signal fires, for radios or waving arms, or for headphones, coconut or otherwise. And although these artifacts made it <em>easier</em> for the planes to land, the soldiers could have experienced some success with just a bare strip of earth and a little caution.</p>
<h3>Agile values</h3>
<p>In World War II, the leaders who wanted to win the war realised that planes were necessary. The air-strips helped them to use the planes effectively.</p>
<p>In Agile, the Agile practices that we know have emerged from teams that wanted to deliver valuable, working software, and who had discovered certain personal values that were effective in delivery. The practices they used allowed them to leverage those personal values effectively, but really, a bare strip of dirt &#8211; or any kind of process that reminded them what they were trying to achieve &#8211; would have enabled them to experience some kind of success.</p>
<p>I&#8217;ve found lots of different names for the values that allow teams to be successful &#8211; collaboration, trust, responsibility, innovation, camaraderie, rapport, honesty, transparency, helpfulness, forthrightness, motivation, responsiveness, agility, idealism, pragmatism, curiosity&#8230; the list goes on. They&#8217;re all wonderful ways of expressing those personal values, and I&#8217;ve seen or heard of teams succeeding with these values, <em>regardless of which methodology they use</em>. Partly this is because the values they&#8217;ve adopted allow them to try things out, to feel safe in questioning the processes they follow, to recognise better ways, and to be pragmatic in balancing the adoption of new ways of doing things with the responsibility for delivery.</p>
<p>I&#8217;ve also found that the following five values encompass pretty much everything that I&#8217;ve written in the list above, either alone or in combination:</p>
<ul>
<li><strong>respect</strong> &#8211; the belief that other people are valuable, able to teach you something and amaze you, able to succeed given experience and support, interested in others&#8217; well-being and success, and motivated by the desire to make the world a better place; and that any behaviour to the contrary is caused by external pressures or ordinary, forgivable human frailty</li>
<li><strong>courage</strong> &#8211; willingness to try new things which might not work, to accept personal risk for professional gain, to make oneself vulnerable in order to learn, and to lead others to do the same</li>
<li><strong>communication</strong> &#8211; the art of making oneself clearly understood, understanding others and feeding back any lack of understanding so that it can be corrected, listening and imagining, being aware of the impact of communications (verbal and otherwise), and finding other ways to communicate when required.</li>
<li><strong>simplicity</strong> &#8211; the ability and desire to reduce complexity, mitigate or isolate it where it&#8217;s inevitable, and avoid introducing it; to start, where it&#8217;s possible to start, without worrying about how or where it will end.</li>
<li><strong>feedback</strong> &#8211; knowing that our perception of our world and the ways in which we model it may be inaccurate, actively seeking out those inaccuracies (which may require courage!), trusting any existing mechanisms which can inform us of those inaccuracies, and listening to them when they do.</li>
</ul>
<p>These are the five values of Extreme Programming, as outlined by Kent Beck (the poor definitions are my own).</p>
<p>As a coach, I&#8217;ve run competitive workshops in which these values formed the basis of the point-scoring. I&#8217;ve seen companies, especially <a href="http://screwfix.com">Screwfix</a>, adopt Agile using these values as a backbone, and seen them successfully release projects with previously unimagined scope and resource constraints. I&#8217;ve seen Scrum adoptions that were failing take on these values and begin working out the kinks, and XP adoptions that were rigidly bound by their processes, but whose employees lived by these values, become more fluid and successful as they aligned themselves accordingly.</p>
<p>I&#8217;ve also seen methodologies adopted without these values, leading to rebellion and the quick return to known, established practices that don&#8217;t leverage them. I&#8217;ve seen mailing lists on Agile topics become cliques &#8211; at least, I don&#8217;t feel I can post in them because of the lack of respect shown by some participants to others. And Kent Beck himself had to add that value &#8211; Respect &#8211; because it turned out not to be as obvious as he would have liked.</p>
<h3>Measuring values</h3>
<p>I&#8217;ve used the Dreyfus Model of Skills Aquisition frequently to measure how well the adoption of particular practices is progressing. I&#8217;ve found it useful to map the levels to these values as well, where:</p>
<ol>
<li>Novice: still shows anti-patterns, behaviours which are not aligned with the values</li>
<li>Beginner: behaves like a normal human being, and would be pleasant to work with</li>
<li>Practitioner / Competent: is a model for these values, has few &#8220;off-days&#8221; and is forgiving of others on theirs</li>
<li>Knowledgeable: maintains these values intuitively, not only as part of their work-life, and can lead others in adopting them; has become a better person as a result of adopting these values</li>
<li>Expert: maintains these values in the face of adversity and in environments where these values create vulnerability; can articulate the benefits of holding these values both personally and professionally; can teach others and provide constructive feedback to help them adopt the values and leverage them more effectively.</li>
</ol>
<p>That &#8220;Practitioner / Competent&#8221; level, 3, is in my experience the average that a team needs to achieve in each of these values in order to successfully adopt any Agile or Lean methodology. They also appear to lead to more enriched, fulfilling lives at work.</p>
<h3>Landing planes</h3>
<p>The great thing about these values is that it&#8217;s hard to introduce <a href="http://en.wikipedia.org/wiki/Perverse_incentive">perverse incentives</a> when using them as a metric. One participant in a workshop asked, &#8220;What if we just pretend?&#8221; Well, you can&#8217;t pretend to communicate better without actually communicating better. You can&#8217;t pretend to make things simpler without reducing complexity. You can say that you don&#8217;t believe in these values, or that you don&#8217;t think they&#8217;re helpful &#8211; but in my experience, teams who&#8217;ve tried them have discovered that they&#8217;re so much more fun than <em>not</em> maintaining them, they haven&#8217;t looked back. Even pretending to value these values leads to good habits, and the reaction of co-workers has often been positive enough to cause them to be subconsciously ingrained.</p>
<p>So, give it a try, and if you&#8217;re thinking of adopting Agile or Lean, land those planes first. The practices will follow, and make a lot more sense.</p>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2009/05/22/cargo-cults-and-agile-values/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I am not a Pr0n Star: avoiding unavoidable associations</title>
		<link>http://lizkeogh.com/2009/04/29/i-am-not-a-pr0n-star-avoiding-unavoidable-associations/</link>
		<comments>http://lizkeogh.com/2009/04/29/i-am-not-a-pr0n-star-avoiding-unavoidable-associations/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 10:44:56 +0000</pubDate>
		<dc:creator>liz</dc:creator>
				<category><![CDATA[breaking models]]></category>
		<category><![CDATA[feedback]]></category>

		<guid isPermaLink="false">http://lizkeogh.com/?p=408</guid>
		<description><![CDATA[I just read Matt Amionetti&#8217;s thoughtfully worded response to the reaction he&#8217;s got from his presentation, &#8220;CouchDB: Perform like a Pr0n star&#8221;.
Indeed, reading the response, it seems almost inconceivable that anyone could possibly be offended by his presentation. Matt warned people beforehand that there would be potentially offensive images, I believe in his stated intentions, [...]]]></description>
			<content:encoded><![CDATA[<p>I just read Matt Amionetti&#8217;s <a href="http://merbist.com/2009/04/28/on-engendering-strong-reactions/">thoughtfully worded response</a> to the reaction he&#8217;s got from his presentation, &#8220;CouchDB: Perform like a Pr0n star&#8221;.</p>
<p>Indeed, reading the response, it seems almost inconceivable that anyone could possibly be offended by his presentation. Matt warned people beforehand that there would be potentially offensive images, I believe in his stated intentions, and I heed his call that we should be contributing something useful to the discussion.</p>
<p>So, I&#8217;d like to give you, the reader, a little bit of insight into the human brain, how it makes connections and comparisons, and help you to understand your power over other people and their perceptions.</p>
<p>I&#8217;d like to start by telling you another story.</p>
<h3>The Tale of the T-Shirt</h3>
<p>On one dress-down Friday, a colleague came in wearing a beach T-shirt, featuring a topless woman coming out of the surf. It was just a black and white image, and the focus was on the scene as a whole, but nonetheless some of us felt that it was inappropriate. So I asked him not to wear it again.</p>
<p>&#8220;Why?&#8221; our colleague said. &#8220;I didn&#8217;t think it would offend anyone.&#8221;</p>
<p>&#8220;It&#8217;s not really that it&#8217;s offensive,&#8221; I said, &#8220;but think about this. I&#8217;m pair-programming with you, sitting next to you at a table. Someone else comes along to talk to both of us. They see your T-shirt, with that image, and then they scan across from that image to me. Can you see the comparison they&#8217;re making in their mind? Even subconsciously? That&#8217;s why I would prefer you not to wear that T-shirt &#8211; so that people don&#8217;t think about topless women while they&#8217;re talking to me, and while I&#8217;m trying to work. At worst, the comparison is offensive. At best, the t-shirt is distracting.&#8221;</p>
<p>Our colleague took the feedback very well, and agreed not to wear the t-shirt again.</p>
<h3>How the brain makes associations</h3>
<p>The human brain consists of a bunch of neurons, between which connections and pathways are built. Those pathways form associations. There are associations of which we&#8217;re conscious, associations of which we&#8217;re not conscious, and a blurred space in between.</p>
<p>Here&#8217;s a conscious association. If I want to remind myself to pick up my dry-cleaning after work, I can hide my handbag. Sound strange? Well, as soon as I go to pick up my handbag, and it&#8217;s not where I left it, I&#8217;ll remember why I hid it. I&#8217;ve built myself a conscious association between the absence of the handbag, and the task I had to remember.</p>
<p>For a subconscious association, watch yourself thinking of all the things you remember about Germany, when I say the word &#8220;Germany&#8221;, or &#8220;Elephant&#8221;. The vast majority of our associations are not in, and often not available to, our conscious mind. They add to our personality, drive the learning we get from our experiences, and there are simply too many of them for us to be aware of them all.</p>
<p>For an example of the blurred space between, I offer my fiancé&#8217;s habit of driving directly home from the station, even though we agreed we&#8217;d stop at the Chinese takeaway on the way home. He associates the act of driving down a particular road with a particular route, and consciously manipulates the car to follow his subconscious association.</p>
<h3>So what does this have to do with pr0n stars?</h3>
<p>Human beings learn associations by &#8211; amongst other things &#8211; proximity; either in time, or in place. That is; they will build associations more easily if two or more things are experienced close together.</p>
<p>If you&#8217;ve watched Matt&#8217;s slideshow, and you find yourself using CouchDB on a project in the future, will you be thinking of his slideshow? It was very memorable. I think I will find it hard in the future to disassociate that slideshow from the featured product. That&#8217;s a conscious association I&#8217;ve built. I&#8217;m aware of it.</p>
<p>There&#8217;s a subconscious association going on in that show, too; another proximity which is harder to spot. We&#8217;ve just experienced words of technology &#8211; key phrases like <em style="font-style: italic;">scalability</em>, <em style="font-style: italic;">REST</em>, <em style="font-style: italic;">public </em><em style="font-style: italic;">interfaces</em> &#8211; with images of women whom we&#8217;re told are available for visual sexual gratification. There are a few men in some of the images; they appear to me to be in positions of power and influence. The images of women, on the other hand, tend to be submissive. So we&#8217;re learning, subconsciously, that women associated with technology are also associated with sexual gratification and submissiveness. (The only strong women in the slideshow are associated with conflict, which we try to avoid.)</p>
<p>If you doubt this is true, look through <a href="http://www.slideshare.net/mattetti/couchdb-perform-like-a-pr0n-star">the presentation</a> (and bear in mind that it might be considered Not Safe For Work). At some point, Matt introduces a picture of a typical development team. To which team member are your eyes drawn, and why?</p>
<p>At the very least, we start making comparisons. No wonder she doesn&#8217;t look happy.</p>
<h3>The power of people with influence</h3>
<p>Earlier this year, I finished reading <a href="http://www.amazon.co.uk/Influence-Practice-Robert-B-Cialdini/dp/0205663788/">Robert Cialdini&#8217;s &#8220;Influence&#8221;</a>. It&#8217;s a very readable, memorable book. It explains some of the ways in which associations are made. In particular, he describes these mechanisms for influencing other people (his titles, my poor definitions):<br />
 </p>
<ul>
<li>Social proof &#8211; if other people do it, we should do it too</li>
<li>Authority &#8211; if someone in a leadership position tells us to do it, we should do it</li>
</ul>
<p>Examples which Cialdini uses to demonstrate these concepts include the <a href="http://en.wikipedia.org/wiki/Jonestown">mass suicide at Jonestown</a>, and the <a href="http://en.wikipedia.org/wiki/Milgram_experiment">Milgram experiment</a>.</p>
<p>So, if a community is building associations, or you&#8217;re recognised as or portraying yourself as an authority telling people to build associations, those associations will be stronger than normal. People will be more likely to act on those associations. In the same way that my fiancé takes the turning for home, &#8220;routes&#8221; will be set which the brain naturally follows, and acts upon. And it will seem perfectly reasonable, or justifiable, to do so &#8211; at the time.</p>
<h3>So what can you do now?</h3>
<p>If you were sitting in Matt&#8217;s presentation, or have experienced similar presentations or associations in the past:</p>
<ul>
<li>you might consciously choose to wear a topless women on your t-shirt, because your brain subconsciously confirms that it&#8217;s acceptable.</li>
<li>You might expect women to be more submissive; to accept delegated tasks more easily, or question process less, or accept lower pay.</li>
<li>You might find it uncomfortable to have a female manager or team lead.</li>
<li>You might cause the women around you start dressing in less feminine ways, to distance themselves from any association.</li>
<li>You might erroneously think you have a chance of scoring with your female colleague (notwithstanding cases of genuine mutual attraction).</li>
<li>You might not expect the woman on your team to be able to teach you anything new.</li>
</ul>
<p>And, if you&#8217;re Matt, or one of the many commenters whose opinions I&#8217;ve read, you might not completely understand the backlash. Hopefully this post helps.</p>
<p>If you&#8217;re not suffering these or similar biases, trust my experience that others are, or have done, and start thinking about how you might have been influenced. The associations aren&#8217;t helpful for me, and I doubt they&#8217;re helpful for the people who have them. Recognising the influence of others will help you to consciously choose different paths.</p>
<p>Hopefully if you&#8217;ve found the presentation through this blog, you&#8217;ve now read through this post and are now better guarded against these associations. (That&#8217;s why I didn&#8217;t put the link at the top).</p>
<p>You can also strengthen more useful associations. Go find the women in your team and talk to them about their technical abilities; the things that brought them to IT; times when they&#8217;ve felt empowered and assertive. Find strong female role-models &#8211; I recommend <a href="http://www.estherderby.com/">Esther Derby</a>, <a href="http://www.desimcadam.com/">Desi McAdam</a>, <a href="http://sarahtaraporewalla.com/thoughts/">Sarah Taraporewalla</a>, <a href="http://www.jrothman.com/">Johanna Rothman</a>, <a href="http://www.thoughtworks.co.uk/who-we-are/leadership-profiles/cyndi-mitchell.html">Cyndi Mitchell</a>, <a href="http://www.agilexp.com/rachel.php">Rachel Davies</a>, <a href="http://www.martinitconsulting.com/agile/home.html">Angela Martin</a>, and many others too numerous to list here. If you&#8217;re looking for something more entertaining to get into your subconscious, try <a href="http://www.imdb.com/title/tt0078748/">Ellen Ripley</a>, <a href="http://www.imdb.com/title/tt0118276/">Buffy Summers</a>, <a href="http://en.wikipedia.org/wiki/Promethea">Alan Moore&#8217;s &#8220;Promethea&#8221;</a> or <a href="http://www.amazon.co.uk/Boudica-Dreaming-Eagle-1/dp/0553814060/">Manda Scott&#8217;s &#8220;Boudica&#8221; series</a>.</p>
<p>And, if you&#8217;re thinking of presenting something similar in the future, be aware of the <a href="http://en.wikipedia.org/wiki/Uncle_Ben#.22With_great_power_comes_great_responsibility.22">power</a> that you have.</p>
<h3>On engendering subconscious reactions</h3>
<p>Matt entitled his response, &#8220;<a title="Permanent Link toOn Engendering Strong Reactions " rel="bookmark" href="http://merbist.com/2009/04/28/on-engendering-strong-reactions/">On Engendering Strong Reactions</a>&#8220;. I&#8217;m worried about the subconscious reactions; about the effect that it has on the people who see that presentation and the way in which they react to me, and to my other female colleagues, afterwards. Matt said, &#8220;I would have hoped that people who were likely to be offended would have simply chosen not to attend my talk or read my slides on the internet&#8221;.  That doesn&#8217;t stop the associations being built, and I can&#8217;t necessarily avoid working with people who have built those associations.</p>
<p>So I&#8217;m not offended by the presentation &#8211; I can understand why some women might be &#8211; but I am concerned by it. Hopefully this provides some positive insight into why. Matt &#8211; I hope you find it useful and enlightening; please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2009/04/29/i-am-not-a-pr0n-star-avoiding-unavoidable-associations/feed/</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
		<item>
		<title>Feedback loops</title>
		<link>http://lizkeogh.com/2007/03/16/feedback-loops/</link>
		<comments>http://lizkeogh.com/2007/03/16/feedback-loops/#comments</comments>
		<pubDate>Fri, 16 Mar 2007 05:01:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[feedback]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[
 Because our customer doesn&#8217;t know what he wants, he finds out from the people that want the system. He sometimes gets this wrong.
 Because I don&#8217;t know what to code, I find out from our customer. I sometimes get this wrong.
 Because I make mistakes while coding, I work with an IDE. My IDE [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li> Because our customer doesn&#8217;t know what he wants, he finds out from the people that want the system. He sometimes gets this wrong.</li>
<li> Because I don&#8217;t know what to code, I find out from our customer. I sometimes get this wrong.</li>
<li> Because I make mistakes while coding, I work with an IDE. My IDE corrects me when I&#8217;m wrong.</li>
<li> Because I make mistakes while thinking, I work with a pair. My pair corrects me when I&#8217;m wrong.</li>
<li> Because my pair is human and also makes mistakes, we write unit tests. Our unit tests correct us when we&#8217;re wrong.</li>
<li> Because we have a team who are also coding, we integrate with their code. Our code won&#8217;t compile if we&#8217;re wrong.</li>
<li> Because our team makes mistakes, we write acceptance tests that exercise the whole system. Our acceptance tests will fail if we&#8217;re wrong.</li>
<li> Because we make mistakes writing acceptance tests, we get QA to help us. QA will tell us if we&#8217;re wrong.</li>
<li> Because we forget to run the acceptance tests, we get Cruise Control to run them for us. Cruise Control will tell us if we&#8217;re wrong.</li>
<li> Because we forget to maintain the acceptance tests, we get QA to check that the system still works. QA will tell us if it&#8217;s wrong.</li>
<li> Because we only made it work on Henry&#8217;s laptop, we deploy the system to a realistic environment. It won&#8217;t work if the deployment is wrong.</li>
<li> Because we sometimes misunderstand our customer, we showcase the system. Our customer will tell us if we&#8217;re wrong.</li>
<li> Because our customer sometimes misunderstands the people that want the system, we put the system in production. The people who want it tell us if we&#8217;re wrong.</li>
<li> Because it costs money to get it wrong, we do all these things as often as we can. That way we are only ever a little bit wrong. </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lizkeogh.com/2007/03/16/feedback-loops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

