<?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>Platformability &#187; Agile</title>
	<atom:link href="http://blog.caplin.com/tag/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caplin.com</link>
	<description>Single Dealer Platforms, Industry Expertise</description>
	<lastBuildDate>Fri, 03 Feb 2012 15:38:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Caplin to host an Agile UX Safari!</title>
		<link>http://blog.caplin.com/2012/02/01/caplin-to-host-an-agile-ux-safari/</link>
		<comments>http://blog.caplin.com/2012/02/01/caplin-to-host-an-agile-ux-safari/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 18:41:41 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=8282</guid>
		<description><![CDATA[The Agile UX Meetup Group is heading to Caplin! Wednesday, February 15, 2012, 6:30 PM Caplin will be hosting an “Agile UX Safari” in a couple of weeks. It will be a little different to the last one at MindCandy (we don’t have a tree house in our boardroom!) but...]]></description>
			<content:encoded><![CDATA[<h1>The Agile UX Meetup Group is heading to Caplin!</h1>
<h2>Wednesday, February 15, 2012, 6:30 PM</h2>
<p>Caplin will be hosting an “Agile UX Safari” in a couple of weeks. It will be a little different to the last one at <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2gubWluZGNhbmR5LmNvbS8yMDExLzA3L2FnaWxlLXNhZmFyaS1jb21lcy10by1taW5kLWNhbmR5Lw==">MindCandy</a> <em>(we don</em><em>’t have a tree house in our boardroom!)</em> but we share their passion for design and development and mixing the perfect Agile/UX cocktail.</p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5tZWV0dXAuY29tL2F1eG1lZXR1cC9ldmVudHMvNTA0NjM5NjIv">Check out the event</a> &#8211;  We look forward to hosting a healthy discussion on all things design, UX and agile.</p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=8282" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2012/02/01/caplin-to-host-an-agile-ux-safari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Psychology of UX: Part 3</title>
		<link>http://blog.caplin.com/2011/07/27/the-psychology-of-ux-part-3/</link>
		<comments>http://blog.caplin.com/2011/07/27/the-psychology-of-ux-part-3/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 13:03:40 +0000</pubDate>
		<dc:creator>Vanessa</dc:creator>
				<category><![CDATA[UX]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[interaction design]]></category>
		<category><![CDATA[message]]></category>
		<category><![CDATA[mistake]]></category>
		<category><![CDATA[psychology]]></category>
		<category><![CDATA[susan weinschenk]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[user research]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=6996</guid>
		<description><![CDATA[Hello again and welcome back to the Psychology of UX series! Today&#8217;s topic is all about MISTAKES. But before we begin let&#8217;s just define&#8230; What exactly is a mistake? &#8220;..a decision or action, or lack thereof, that we fear we&#8217;ll come to regret. They usually cause some degree of pain,...]]></description>
			<content:encoded><![CDATA[<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvbWlzdGFrZTEuanBn"><img class="alignnone size-full wp-image-7010" title="mistake1" src="http://blog.caplin.com/wp-content/uploads/mistake1-e1311758360706.jpg" alt="" width="500" height="332" /></a></p>
<p>Hello again and welcome back to the Psychology of UX series! Today&#8217;s topic is all about <strong>MISTAKES. </strong>But before we begin let&#8217;s just define&#8230;</p>
<h3>What exactly<em> is</em> a mistake?</h3>
<p><strong>&#8220;..a decision or action, or lack thereof, that we fear we&#8217;ll come to regret. They usually cause some degree of pain, loss or struggle,&#8221;</strong> says Mel Schwartz from <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wc3ljaG9sb2d5dG9kYXkuY29tLw==" 0="target="_blank"">Psychology of Today</a>. For a more software-based explanation we might say a mistake is simply something that is wrong or that causes a problem with a user&#8217;s normal workflow.</p>
<p><strong>Yes, mistakes. We all make them. We wish we hadn&#8217;t.</strong> One snooze button too many. Spending money on things we shouldn&#8217;t. Having that extra cocktail at work drinks and breaking out your embarrassing dance moves&#8230;.I&#8217;m divulging too much of my personal life. <strong>But what about mistakes in the digital world? What happens when a user makes a mistake on a computer? </strong>These are things we will cover in today&#8217;s post.</p>
<h3><strong>&#8216;Assume people will make mistakes. Anticipate what they will be and try to prevent them.&#8217; </strong></h3>
<p><strong> </strong>Susan Weinschenk stated the above in her &#8216;<a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3V4bWFnLmNvbS9kZXNpZ24vdGhlLXBzeWNob2xvZ2lzdHMtdmlldy1vZi11eC1kZXNpZ24=" 0="target="_blank"">Psychologist&#8217;s View of UX</a>&#8216; post, the inspiration for this series.</p>
<h3>Why would we want to prevent them though?</h3>
<p>Well aside from mistakes causing users great frustration and pain when interacting with a system, <strong>mistakes can be rather costly, particularly in the financial sector</strong> where a user might be trading thousands, or even millions, of dollars with one click. It&#8217;s imperative when designing the user experience for financial interfaces to make the workflow easy-to-use and error-free.</p>
<div id="attachment_7009" class="wp-caption alignnone" style="width: 510px"><img class="size-full wp-image-7009" style="border-style: initial; border-color: initial;" title="intro" src="http://blog.caplin.com/wp-content/uploads/intro.jpg" alt="" width="500" height="353" /><p class="wp-caption-text">There goes my retirement fund!</p></div>
<h3>So how do we prevent errors?<strong> </strong></h3>
<p><strong>The best error message is no error message. </strong>What this means is that a system that is designed well will not allow the user to make an error to begin with. The main way we can accomplish this is by <strong>predicting what mistakes a user might make</strong>, based on knowledge gathered by researching  the environment they operate in and their needs with the system. We can then adapt our designs accordingly to avoid allowing those mistakes to be made in the system.</p>
<p>If the task the user will be conducting is very complex or error-prone, a further approach is to <strong>break up the task into smaller steps</strong> so that each step can act as a quality gate before the user is allowed to move onto the next. We often see this design solution in online payment portals on retail websites, like Amazon or this donation website below.</p>
<div id="attachment_7022" class="wp-caption alignnone" style="width: 510px"><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvZG9uYXRpb25fcHJvY2Vzcy5naWY="><img class="size-full wp-image-7022" title="donation_process" src="http://blog.caplin.com/wp-content/uploads/donation_process-e1311761602558.gif" alt="" width="500" height="325" /></a><p class="wp-caption-text">One step at a time...</p></div>
<h3>How do we treat errors in the system?</h3>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvZXJyb3JtZXNzYWdlcy5wbmc="><img class="alignnone size-full wp-image-6999" title="errormessages" src="http://blog.caplin.com/wp-content/uploads/errormessages.png" alt="" width="500" height="300" /></a><img class="alignnone size-full wp-image-7000" title="CARerror-1" src="http://blog.caplin.com/wp-content/uploads/CARerror-1-e1311757880635.gif" alt="" width="500" height="259" /><img class="alignnone size-full wp-image-7006" style="border-style: initial; border-color: initial;" title="2" src="http://blog.caplin.com/wp-content/uploads/2.jpg" alt="" width="356" height="113" /></p>
<p><strong><span style="font-size: medium;">Not like this.</span> </strong>Can you read that? Honestly? Even you developers out there (who often are the ones who have the mission of writing these error messages). You are human too &#8212;  we don&#8217;t talk like that. The first crucial step to dealing with errors in a system is <strong>speak in human language!</strong> <strong>Explain that an error has occurred, what the error is, how the user can correct it and where they can go for more help to fix it.</strong> In plain language. When something goes wrong in a system, it&#8217;s of the highest importance that the user knows what to do about it.</p>
<p>The below images are great examples of clear, human language communicating to the user the problem with visual cues (symbols and colours) and sometimes even contextual hints as to where the problem went wrong (i.e. a highlighted password field when the password is wrong)</p>
<div id="attachment_7005" class="wp-caption alignnone" style="width: 510px"><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMy5qcGc="><img class="size-full wp-image-7005" style="border-style: initial; border-color: initial;" title="3" src="http://blog.caplin.com/wp-content/uploads/3.jpg" alt="" width="500" height="94" /></a><p class="wp-caption-text">Suggestions of what to do next</p></div>
<div id="attachment_7002" class="wp-caption alignnone" style="width: 510px"><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjEuanBn"><img class="size-full wp-image-7002" title="21" src="http://blog.caplin.com/wp-content/uploads/21.jpg" alt="" width="500" height="390" /></a><p class="wp-caption-text">Effective colour and symbol usage</p></div>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMy5qcGc="></a></p>
<div id="attachment_7004" class="wp-caption alignnone" style="width: 476px"><a href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMTAuanBn"><img class="size-full wp-image-7004" title="10" src="http://blog.caplin.com/wp-content/uploads/10.jpg" alt="" width="466" height="405" /></a><p class="wp-caption-text">Everything wrong is in red. Perfect. </p></div>
<div id="attachment_7029" class="wp-caption alignnone" style="width: 410px"><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvZmlndXJlMDQuZ2lm"><img class="size-full wp-image-7029" title="figure04" src="http://blog.caplin.com/wp-content/uploads/figure04.gif" alt="" width="400" height="163" /></a><p class="wp-caption-text">Human language! Yippee! </p></div>
<div id="attachment_7003" class="wp-caption alignnone" style="width: 380px"><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMTIuanBn"><img class="size-full wp-image-7003" title="12" src="http://blog.caplin.com/wp-content/uploads/12.jpg" alt="" width="370" height="356" /></a><p class="wp-caption-text">Simple. Problem. What is it. Do this. </p></div>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMTIuanBn"></a>We should also <strong>allow users to UNDO actions, such as mistakes they have just made. Ctrl-Z, anyone?</strong> It&#8217;s been a godsend for me. Users need autonomy within a system and this can only be achieved if the system is so well designed that the user can&#8217;t get so lost down a path they can&#8217;t find their way back to where they were. Allow them to undo and reverse steps. Similarly the &#8216;ESC&#8217; key can be used to exit a curtain task that isn&#8217;t yet completed, to prevent the damage from being done.</p>
<p><img class="alignnone size-full wp-image-7012" style="border-style: initial; border-color: initial;" title="Undo Key" src="http://blog.caplin.com/wp-content/uploads/undo_button_green-e1311758820209.jpg" alt="" width="500" height="408" /></p>
<p><span style="font-size: small;"><strong>In reality, it is near impossible to create a completely error-free system that guarantees the users won&#8217;t make mistakes. But why?</strong></span></p>
<h3>Because people make mistakes and UX Designers are just people.</h3>
<p><span style="font-size: large;"><em>“If Ernest Hemingway, James Mitchener, Neil Simon, Frank Lloyd Wright and Pablo Picasso could not get it right the first time, what makes you think that you will?” –Paul Heckel</em></span></p>
<p>Without sturdy user research, the designer will have a lack of knowledge of the user needs and this can result in an unusable design. That&#8217;s why we as designers <strong>need more time.</strong> <strong>More time for research with the users and more time for testing with the users.</strong></p>
<p><strong><a href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvdGltZS13YXJwMS5qcGc="><img class="alignnone size-full wp-image-7052" title="time-warp1" src="http://blog.caplin.com/wp-content/uploads/time-warp1.jpg" alt="" width="500" height="490" /></a></strong></p>
<p>At a &#8216;Lean UX&#8217; workshop I went to last weekend Janice Fraser, one of the founders of the famous Adaptive Path UX consultancy, said rather powerfully in regards to the Agile methodology, <span style="font-size: small;">“Don’t throw the design out into the world and hope it works. I no longer want that responsibility. <strong>We are supposed to get it right the first time, yet the developers get to do it over and over again.</strong>”</span></p>
<p>UX Designers need the allowance of time and budget to be able to <strong>test our prototypes on real users <em>before</em> the designs are fully coded and completed for product release</strong>. That&#8217;s not to say that a design shouldn&#8217;t be coded to test if it&#8217;s implementable or to test the functioning prototype on a user, but we need time to test the designs before they are finalised.</p>
<div id="attachment_7055" class="wp-caption alignnone" style="width: 400px"><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvRGV2V2F0Y2hpbmdVc2FiaWxpdHlUZXN0LnBuZw=="><img class="size-full wp-image-7055" title="DevWatchingUsabilityTest" src="http://blog.caplin.com/wp-content/uploads/DevWatchingUsabilityTest.png" alt="" width="390" height="257" /></a><p class="wp-caption-text">The problems begin to appear with usability testing</p></div>
<p>That way we can see what errors the user might run into or what errors are prevalent in your design. And then we can <strong>iterate and improve on our designs.</strong></p>
<h3>Not enough time?</h3>
<p><span style="font-size: small;">&#8220;The joy of an early release lasts but a moment. The frustration of an unusable system lasts forever.&#8221;</span></p>
<p>Let&#8217;s do it right, step by step, and try to design a system that is<strong> *mostly*</strong> error-free.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Thanks for reading! The next part of the Psych of UX series will be on how human memory is complicated. Until then&#8230;</p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=6996" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2011/07/27/the-psychology-of-ux-part-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What I Learnt at SPA 2011</title>
		<link>http://blog.caplin.com/2011/06/17/what-i-learnt-at-spa-2011/</link>
		<comments>http://blog.caplin.com/2011/06/17/what-i-learnt-at-spa-2011/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 13:05:00 +0000</pubDate>
		<dc:creator>Ian Alderson</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=6747</guid>
		<description><![CDATA[After weeks of keen anticipation, not to mention many long nights of preparation for my own session, SPA 2011 has now been and gone. Overall it was an excellent conference with a great group of attendees. The numerous inter-session conversations I had with fellow attendees were as enlightening as the...]]></description>
			<content:encoded><![CDATA[<p>After weeks of keen anticipation, not to mention many long nights of preparation for my own session, <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDExL2luZGV4LnBocA==">SPA 2011</a> has now been and gone.</p>
<p>Overall it was an excellent conference with a great group of attendees. The numerous inter-session conversations I had with fellow attendees were as enlightening as the sessions themselves.</p>
<p>Here are my thoughts about the sessions that I attended.</p>
<h2>Monday 13th June</h2>
<h3>HTML5 Boot Camp</h3>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDExL3Nlc3Npb25zL3Nlc3Npb24zOTIuaHRtbA==">This session</a> by Laurie Young and Ismael Celis was one of several focussing on the hot topics of the moment, HTML5 and JavaScript. After a <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zbGlkZXNoYXJlLm5ldC93aWxkZmFsY29uL2h0bWwtNS1ib290LWNhbXA=">brief introduction to HTML5</a> and what it provides we got cracking with the exercises.</p>
<p>Working in small groups we were asked to implement a web page that allowed the user to drag an image from the file system into it. The next task was to upgrade it to get the image(s) to persist when the user refreshes the page using local storage. Finally we were asked to use a web socket to send the image to a pre built server which would then distribute it to everyone else viewing the same web page.</p>
<p>There was a reasonably large range of JavaScript experience within the session, however I think most people managed to complete the exercises. It provided a great introduction to several of the most universally helpful HTML5 JavaScript APIs.</p>
<h3>Improving Trust in Teams</h3>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvdHJ1c3QtaW4tdGVhbXMtZm9yY2UtZmllbGQuanBn"><img class="alignright size-medium wp-image-6797" title="trust-in-teams-force-field" src="http://blog.caplin.com/wp-content/uploads/trust-in-teams-force-field-300x263.jpg" alt="" width="300" height="263" /></a></p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDExL3Nlc3Npb25zL3Nlc3Npb24zODcuaHRtbA==">Rachel Davies&#8217; session</a> looked at how to <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hZ2lsZXhwLmNvbS9wcmVzZW50YXRpb25zL1NQQS1JbXByb3ZpbmdUcnVzdEluVGVhbXMucGRm">improve trust in teams</a>.</p>
<p>Split into groups of four we were encouraged to discuss our various experiences of both low and high trust scenarios. Perhaps unsurprisingly most of the scenarios that were highlighted involved low trust. Once each of us had relayed our own trust stories within our groups we were invited to share the most interesting ones with the wider audience.</p>
<p>Afterwards we resumed working in our groups to draw <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy52YWx1ZWJhc2VkbWFuYWdlbWVudC5uZXQvbWV0aG9kc19sZXdpbl9mb3JjZV9maWVsZF9hbmFseXNpcy5odG1s">force field charts</a> that highlight things that we believed help to improve trust and those things that hinder it. We drew these up on a flip charts and again shared our thoughts with everyone attending the session.</p>
<p>Finally we looked at one of the forces behind improving trust and what we might do to nurture it.</p>
<p>It was an enjoyable session that has really made me start to realise that there are perhaps more facets to trust than I had previously considered.</p>
<h3>At the Extremities of Extreme</h3>
<p>This <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDExL3Nlc3Npb25zL3Nlc3Npb24zOTUuaHRtbA==">catchily titled session</a> by Julian Fitzell and Jason Ayers was a fascinating introduction to the theory behind <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5jaW5jb21zbWFsbHRhbGsuY29tL21haW4vMjAxMC8xMC93b2xmX3BhY2tfcHJvZ3JhbW1pbmcv">wolf pack programming</a>. This technique takes the familiar <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5leHRyZW1lcHJvZ3JhbW1pbmcub3JnL3J1bGVzL3BhaXIuaHRtbA==">pair programming</a>, but turns it up a notch, taking collaboration to a new extreme.</p>
<p>I can barely do the concept justice here, but my simple interpretation is that with adequate tool support developers can collaborate without having to be sat around the same PC if they work on precisely the same instance of the code. The tools would allow a developer to see which functions/methods the other people working on the code base were looking at or editing. This allows pair programming to be followed where appropriate, but the navigator can slip off to do some driving if they think of something that will help to remove a block that they have observed that the driver is about to encounter. They also advocated judicial use of spikes to hunt out the quickest solution to a problem.</p>
<p>They had run an <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDExL3Nlc3Npb25zL3Nlc3Npb24zOTAuaHRtbA==">actual wolf pack programming session</a> on Sunday which I am now disappointed that I missed.</p>
<p>At the moment the example sessions they have been running use Smalltalk, however my thoughts are about how we might trial these techniques for JavaScript development.</p>
<h3>Invited Rant</h3>
<p>John Nolan entertained the conference audience with a rant against the term &#8220;software engineering&#8221;, specifically that:</p>
<blockquote><p>Software engineering does not and should not exist</p></blockquote>
<p>He reaffirmed <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9vdDk5L3Byb2dyYW1tZS9CZWNrX0tlbnQuaHRt">Kent Beck&#8217;s statement</a> that:</p>
<blockquote><p>Software is software</p></blockquote>
<p>He conceded that:</p>
<blockquote><p>Software is like engineering</p></blockquote>
<p>But saying it is engineering is wrong. Instead he introduced us to a different metaphor:</p>
<blockquote><p>Software is cooking</p></blockquote>
<p>The examples he provided were very compelling, although even John conceded that he wouldn&#8217;t be changing his business card to read Software Chef just yet.</p>
<h2>Tuesday 14th June</h2>
<p>Unfortunately I missed most of Tuesday&#8217;s event as I was preparing for my presentation the following day, which leads me to&#8230;</p>
<h2>Wednesday 15th June</h2>
<h3>Web Apps That Shine</h3>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvd2ViLWFwcHMtdGhhdC1zaGluZTEuanBn"><img class="alignright size-medium wp-image-6810" title="web-apps-that-shine" src="http://blog.caplin.com/wp-content/uploads/web-apps-that-shine1-300x203.jpg" alt="" width="300" height="203" /></a></p>
<p>I co-presented this <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDExL3Nlc3Npb25zL3Nlc3Npb24zOTMuaHRtbA==">HTML5 focussed session</a> with my colleague Adam Iley. The specific context for it was the features of HTML5 that allow up to build web apps.</p>
<p>We introduced the offline support that is provided by HTML5, including <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Rldi53My5vcmcvaHRtbDUvd2Vic3RvcmFnZS8=">local storage</a> and the <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDUvb2ZmbGluZS5odG1s">application cache</a>. Afterwards the attendees paired off and worked at upgrading a <strong>n0tr</strong>, simple note taking website, to work offline.</p>
<p>The second section highlighted the tighter integration we can now get between a web app and the device it is running on. On mobile devices access to <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Rldi53My5vcmcvZ2VvL2FwaS9zcGVjLXNvdXJjZS5odG1s">geolocation</a>, and the <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Rldi53My5vcmcvZ2VvL2FwaS9zcGVjLXNvdXJjZS1vcmllbnRhdGlvbi5odG1s">device orientation</a> is available, whilst on the desktop we can implement <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy1hdXRob3Itdmlldy9kbmQuaHRtbA==">drag and drop</a> both within the web app as well as to and from other applications, including dropping files into the page. Again we asked the pairs to upgrade the n0tr app to use some of these techniques.</p>
<p>We concluded by talking about portability and other concerns for building and releasing web apps. The <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dlYmFwcHN0aGF0c2hpbmUuY29tL3ByZXNlbnRhdGlvbi8=">presentation is available online</a> as are the <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dlYmFwcHN0aGF0c2hpbmUuY29tL24wdHIuemlw">exercises</a> that we ran.</p>
<h3>Invited Rant</h3>
<p>Jason Gorman&#8217;s rant was titled <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGVtYW5zaGlwLmNvLnVrL3BhcmxlenVtbC9ibG9nLz9wb3N0aWQ9MTA0MQ==">Slow and Dirty</a>.</p>
<p>It was a thought provoking view on our responsibilities as developers with plenty of statistics to help back up his points. When starting on a new project the features come in thick and fast, however over time productivity starts to plateau. On the 8th major release of a major product (no names mentioned) the cost to write or change a line of code was 20 times as much as it had been initially.</p>
<p>Making our software maintainable is our responsibility, and is not something that we should abandon in our quest to keep adding new features to keep our customers happy. We need to be prepared to pace ourselves for a marathon, not a sprint.</p>
<p>Finally, beware the statistical aberrations that seem to have flouted all of this advice and are major successes nevertheless. Just because your great aunt smoked 60 cigarettes a day and lived to be 103 doesn&#8217;t mean that to give yourself the best chance to survive to 103 means that you should smoke 60 a day.</p>
<h3>Specification By Example: By Example</h3>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvc3BlY2lmaWNhdGlvbi1ieS1leGFtcGxlLmpwZw=="><img class="alignright size-medium wp-image-6796" title="specification-by-example" src="http://blog.caplin.com/wp-content/uploads/specification-by-example-274x300.jpg" alt="" width="274" height="300" /></a></p>
<p>The <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDExL3Nlc3Npb25zL3Nlc3Npb24zNTkuaHRtbA==">final session I attended</a> was run by Lasse Koskela. Lasse asked us to split up into groups of three, then handed out an index card to each group that specified a requirement for a particular software system. Within our groups we needed to capture the specification by writing or drawing out the various  examples we could think of.</p>
<p>My group was asked to produce the specification for an email verification system. We sketched out the interaction between the server and the user, defining 5 different scenarios that we could think of, one of which covered a hacker.</p>
<p>Two members of each group were asked to switch over with people from other groups. The remaining person on each group was asked to explain the examples they had drawn up to the new members, and we were asked what improvements could be made.</p>
<p>Finally everyone changed groups again, moving onto a requirement that none of us had worked on before. We are asked to review what had already been done, then start afresh and come up with our own examples.</p>
<p>Overall the session went very well and it was interesting to see how much would be achieved in a very short period of time by sketching out the examples with tight collaboration between all the members of the group. There was a warning flag though that the lifespan of the examples that we created was limited as there was contextual information that was only available to those who were involved in the conversations surrounding the creation of the examples &#8211; a little more structure might be necessary if these are to persist over a long period of time. Nevertheless this was a technique that I&#8217;ll be trying out at some point soon.</p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=6747" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2011/06/17/what-i-learnt-at-spa-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughtworks Live 2011 &#8211; Continuous Deployment</title>
		<link>http://blog.caplin.com/2011/05/23/thoughtworks-live-2011-continuous-deployment/</link>
		<comments>http://blog.caplin.com/2011/05/23/thoughtworks-live-2011-continuous-deployment/#comments</comments>
		<pubDate>Mon, 23 May 2011 14:51:36 +0000</pubDate>
		<dc:creator>Steve Morgan</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Thoughtworks]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=6447</guid>
		<description><![CDATA[I spent a very informative time last Wednesday at the first day of this year’s ThoughtWorks Live event. The conference was videoed, so I guess TW will be making the conference material available in due course. Here’s my take on what was presented: Adaptive Leadership: Accelerating Organisational Agility Presented by...]]></description>
			<content:encoded><![CDATA[<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvdGhvdWdodHdvcmtzLWxpdmUtMjAxMS1sb2dvLnBuZw=="><img class="alignnone size-full wp-image-6452" title="thoughtworks-live-2011-logo" src="http://blog.caplin.com/wp-content/uploads/thoughtworks-live-2011-logo.png" alt="Thoughtworks Live 2011 - Continuous Deployment" width="390" height="280" /></a></p>
<p>I spent a very informative time last Wednesday at the first day of this year’s <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3Rob3VnaHR3b3Jrcy1saXZlLTIwMTEuZXZlbnRicml0ZS5jb20v" 0="target="_blank"">ThoughtWorks Live</a> event.  The conference was videoed, so I guess TW will be making the conference material available in due course.  Here’s my take on what was presented:</p>
<h2>Adaptive Leadership: Accelerating Organisational Agility</h2>
<p>Presented by Cyndi Mitchell, MD of ThoughtWorks Studios, she did a great job, apparently stepping in for Jim Highsmith at the last moment and presenting a good overview of current thinking on how agile principles can be applied to more than just the development and project management functions.</p>
<p>She covered  goals and constraints, highlighting the choice a business should make between responsiveness and efficiency, suggesting that one should be the primary goal and the other a constraint.  She contrasted Google, who’s primary goal is responsiveness, with Walmart, where the main goal is efficiency.  She went on to talk in detail about the “Core Adaptive Leadership Model”, the role of agile leaders in organisations that are striving to be responsive and how, just as sometimes it’s hard for developers to adopt agile principles, so it also can be for leaders.</p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvQWdpbGl0eS1WaXNpb24uanBn"></a><a href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvQWdpbGl0eS1WaXNpb24uanBn"><img class="size-medium wp-image-6463 alignleft" title="Agility Vision" src="http://blog.caplin.com/wp-content/uploads/Agility-Vision-300x184.jpg" alt="Agility Vision" width="300" height="184" /></a></p>
<p>She discussed both Doing Agile (the adaptive leadership actions of speed-to-value, do-less, quality and engage-and-inspire) and Being Agile (the need to transform leadership mindsets to be adapting, exploring, facilitating and riding paradox).  I liked the “Riding Paradox” ideas the most – the thought that an adaptive leader should move towards AND rather than OR leadership – not making decisions based on one thing OR another (Scrum OR Waterfall, velocity OR quality for example), but finding a way to take the best from each.</p>
<p>There’s an increasing amount of good material appearing in this space (eg.<a  0="title="Management" 1="3.0"" href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbWF6b24uY28udWsvTWFuYWdlbWVudC0zLTAtRGV2ZWxvcGVycy1EZXZlbG9waW5nLUFkZGlzb24tV2VzbGV5L2RwLzAzMjE3MTI0NzE=" 2="target="_blank""> Jurgen Apello’s Management 3.0</a> and <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy50aG91Z2h0d29ya3MuY29tL2FydGljbGVzL2FkYXB0aXZlLWxlYWRlcnNoaXAtYWNjZWxlcmF0aW5nLWVudGVycHJpc2UtYWdpbGl0eQ==" 0="target="_blank"">Jim Highsmith’s paper itself</a>) and these ideas are a useful addition.</p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS93cC1jb250ZW50L3VwbG9hZHMvcGFyYWRveGJyb256ZTAxLmpwZw=="><img class="alignnone size-full wp-image-6455" title="&quot;Paradox&quot; by Michael Bergt" src="http://blog.caplin.com/wp-content/uploads/paradoxbronze01.jpg" alt="" width="324" height="400" /></a></p>
<h2>Done Agile. What Next?</h2>
<p>Presented by Dave West, currently with research firm Forrester, Dave took some stick from the audience when he confessed to being partly responsible for developing RUP in a previous life, but he recovered quickly to present a highly animated and entertaining talk on where to focus once you have the agile development process working well.</p>
<p>His take on Continuous Deployment, based on research by Forrester into many organisations, looked at the whole process from initial idea to release in production.  He introduced the idea of the <em><strong>Water-Scrum-Fall</strong></em> process, suggesting that most organisations, even ones that do agile development well, continue to be far from agile either in the up-front requirements capture and project definition phase, or in the final deployment to live operation phase.</p>
<p>His suggestion for tackling this is to start at the Ops end of the process, because, while still hard, it’s easier to do than addressing the front end.  His assertion is that if you fix the back end so that deployments are simple, fast and can be done whenever the business wants, that will force the front end requirements stage to adapt.  The movement towards extension of agile development practices into the ops arena (the DevOps movement) is central to the concept of continuous deployment and a recurring theme of the conference.</p>
<p>Amongst anecdotes about doors falling off cars and x-ray machines, Dave stressed the need to scale agile, fight Water-Scrum-Fall and aim to continuously deliver.</p>
<h2>Implementing Beyond Budgeting: Unlocking the Performance Potential</h2>
<p>Presented by Bjarte Bogsnes from Statoil, for me, this was the unexpected gem of the conference.</p>
<p>Bjarte introduced the idea that large corporations (and by inference, therefore, any organisation) can cope and indeed thrive without an annual budget process, or even a travel/expenses policy and budget.  He highlighted the absurdity of setting an annual budget and dishing out large pots of money at the start of the year, when in fast moving businesses, it’s hard to guess what’s going to happen next month, never mind in a year’s time.  What Statoil have done at the business level  is bold, agile and sounds to have been very effective.  He talked about management styles applied to <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UaGVvcnlfWF9hbmRfdGhlb3J5X1k=">Theory X and Y</a> people and how traditional management doesn’t work in a dynamic environment.</p>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RpbGJlcnQuY29tL3N0cmlwcy9jb21pYy8yMDA4LTAzLTAzLw==" 0="target="_blank""><img title="Dilbert 2008-" src="http://blog.caplin.com/wp-content/uploads/Dilbert-2008-1.jpg" alt="" width="514" height="161" /></a></p>
<p>Over a period of years, Statoil have moved to embrace a management style that recognises rapid change is inevitable and the way to deal with it is to trust and empower employees (sound familiar??).  They have also moved away from traditional budgeting process to focus on just-in-time decision making on expenditure.  They trust people to do the right thing rather than implement policies to enforce it (eg. No travel policy), then do something about the few who try to abuse the system.  They have broken the link that exists in most organisations between  targets, forecasts and resources – sure, they still use these, but they measure and track them relative to their competition, not in absolute terms and adapt them whenever they need to.</p>
<p>Statoil have taken the idea of Balanced Scorecard, which many organisations use and tried to find a business differentiator.  In their case, they ripple this through the organisation through “Ambition to Action” plans – each group in the organisation identifies its vision and strategies, then creates metrics for each and identifies actions needed to meet the objectives.  A recent innovation is that each part of the organisation (and individuals as well I guess) now updates its Ambition to Action when needed, and not necessarily on an annual basis, so some get updated more frequently and others less.  Real food for thought here, I rushed out and ordered <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbWF6b24uY28udWsvSW1wbGVtZW50aW5nLUJleW9uZC1CdWRnZXRpbmctVW5sb2NraW5nLVBlcmZvcm1hbmNlL2RwLzA0NzA0MDUxNjM=" 0="target="_blank"">Bjarte’s book</a> as soon as the session was over!<br />
<a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=Li4vd3AtY29udGVudC91cGxvYWRzL0RpbGJlcnQtMjAwOC0uanBn"></a></p>
<h2>Guest Speaker, Scott Durchslag, President of Expedia</h2>
<p>Scott joined Expedia a few months ago and has the job of re-invigorating the brand and positioning it for future growth.  He talked through his approach and the challenge he has set the organisation to move to a release cycle of 2 weeks for new features and products.  His approach has been to create a bold vision and mission statement – that Expedia should delight its customers and become a trusted source for all their travel needs. He highlighted the need to break down existing organisational silos and mental models, to focus the organisation on realising change and highlighting what will happen if change doesn’t take place.  Again, he stressed the need for responsiveness in the organisation and how continuous deployment can help that goal.</p>
<h2>Implementing Continuous Delivery</h2>
<p>Presented by Martin Fowler and Jez Humble and based on Jez’s book <a href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbWF6b24uY28udWsvQ29udGludW91cy1EZWxpdmVyeS1EZXBsb3ltZW50LUF1dG9tYXRpb24tQWRkaXNvbi1XZXNsZXkvZHAvMDMyMTYwMTkxMg==" target=\"_blank\">Continuous Delivery</a>, this was a shortened re-run of a <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy50aG91Z2h0d29ya3MuY29tL2V2ZW50cy90aG91Z2h0d29ya3MtY29udGludW91cy1kZWxpdmVyeS1kZXZvcHM=" 0="target="_blank"">seminar </a>I attended at Thoughtworks a couple of months ago.  It was good to hear Martin’s take on the subject and it broadly validates the approach we are trying to take here in Caplin.  What’s the difference between continuous DELIVERY and DEPLOYMENT?  Simply that while that aim of both is to be in a position at all times to be able to deploy working software, with continuous deployment, that final stage is automatically done.  Another question to ask and that will focus attention on continuous delivery is “How long would it take your organisation to deploy a change to one line of code?”  Our target at the moment in Caplin is within 2 weeks, companies such as Flickr appear to be able to do it much quicker.</p>
<p>All in all this was a useful day with a number of thought-provoking sessions.  I was unable to attend the second day, but my colleague and our Build Manager, James, did go and presented a brief session on our use of Go, so maybe he will post some impressions from that.</p>
<p>Now I’m off to talk to our CFO about budgets&#8230;</p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=6447" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2011/05/23/thoughtworks-live-2011-continuous-deployment/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>With design agility must come design ability</title>
		<link>http://blog.caplin.com/2010/07/13/with-design-agility-must-come-design-ability/</link>
		<comments>http://blog.caplin.com/2010/07/13/with-design-agility-must-come-design-ability/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 16:00:32 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[UX]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=3088</guid>
		<description><![CDATA[Why Agile UX is Meaningless without an Agile Attitude This is an interesting post by Anders Ramsay. I definitely think design agility is an important skill, I think it goes without saying that if you do not have agility then you are not agile, but I also think that design...]]></description>
			<content:encoded><![CDATA[<h1>Why Agile UX is Meaningless without an Agile Attitude</h1>
<p><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbmRlcnNyYW1zYXkuY29tLzIwMTAvMDYvMjkvd2h5LWFnaWxlLXV4LWlzLW1lYW5pbmdsZXNzLXdpdGhvdXQtYW4tYWdpbGUtYXR0aXR1ZGU=">This is an interesting post</a> by<em> Anders Ramsay.</em></p>
<p><img class="alignright size-medium wp-image-3096" title="500x_homemade_bsg_viper" src="http://blog.caplin.com/wp-content/uploads/500x_homemade_bsg_viper-300x225.jpg" alt="" width="300" height="225" />I definitely think design <em>agility</em> is an important skill, I think it goes without saying that if you do not have agility then you are not agile, but I also think that design <em>ability</em> is also just as important for agile teams.</p>
<p>Sometimes when we need to produce ‘presentable’ wireframes to show a client complex interactions in an animatic we’ll spend some time polishing them up; but lately we have just been scanning in rough sketches. It makes it much more obviously ‘unfinished’ and definitely leads to looser design discussions.</p>
<p>Often when we need to resolve design issues that come-up ‘in sprint’ we will have a quick chat with the team and produce a 10 second sketch to facilitate the design solution, job done. This is design <em>agility</em> to me. It does depend on the development team having at least some design <em>ability</em> though &#8211; luckily at Caplin our devs are all cool techreatives at heart.</p>
<p><span id="more-3088"></span></p>
<h2>On design collaboration&#8230;</h2>
<p><img class="alignright size-medium wp-image-3094" title="kitchen-aid-artian-mixer" src="http://blog.caplin.com/wp-content/uploads/kitchen-aid-artian-mixer-300x269.jpg" alt="" width="300" height="269" />Obviously collaboration is a fundamental part of the design process, but this doesn’t mean that the whole design process needs to be collaborative.</p>
<p>As <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Rlc2lnbnRoaW5raW5nLmlkZW8uY29tLw=="><em>Tim Brown</em></a> of <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pZGVvLmNvbS8=">IDEO</a> discusses on his blog about ‘<a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Rlc2lnbnRoaW5raW5nLmlkZW8uY29tLz9wPTUxLyNjb250ZW50">Design Thinking</a>’ being a problem solving approach, I think the same is true for UX. There are the two sides of the process, divergent (creating choices) and convergence (making choices)&#8230; Analysis (breaking problems apart) and synthesis (putting ideas together).</p>
<p>The skill for<em> ‘agile design facilitators’</em> is knowing when and where to collaborate. When to ask for input from subject experts, when to gain insights from users and when to open up for multiple inputs. But also knowing when to downsize and focus on synthesizing the design.</p>
<p>Collaborative design doesn’t need to lead to <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbmR5cnV0bGVkZ2UuY29tL2NvbXByb21pc2VkLWRlc2lnbi5waHA=">compromised design</a> (nicely pointed out by <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2FuZHlydXRsZWRnZS5jb20v"><em>Andy Rutledge</em></a>) but both the designer and the organisation need to cultivate a culture of design and <em><strong>trust </strong></em>in design, the <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mYXN0Y29tcGFueS5jb20vYmxvZy9icmV0dC1sb3ZlbGFkeS9hc3Ryby1kZXNpZ24vZGVzaWduLXBvaW50LXZpZXctc2V2ZW4tdHJ1dGhzLWRlc2lnbmluZw==">seven core perspectives</a> offered by Brett Lovelady from <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hc3Ryb3N0dWRpb3MuY29tLw==">Astro Studios</a> distills this idea nicely.</p>
<p>As <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy50d3lsYXRoYXJwLm9yZy9ub2ZsYXNoMi5odG1s">Twyla Tharp</a> (author of <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbWF6b24uY28udWsvQ29sbGFib3JhdGl2ZS1IYWJpdC1MZXNzb25zLVdvcmtpbmctVG9nZXRoZXIvZHAvMTQxNjU3NjUwOS9yZWY9c3JfMV8xP2llPVVURjgmYW1wO3M9Ym9va3MmYW1wO3FpZD0xMjY0MjIxNTgwJmFtcDtzcj0xLTE=">The Collaborative Habit</a>) says&#8230;</p>
<blockquote><p>Collaboration can be internal – an act of listening to others and then having a silent, private conversation with yourself.</p></blockquote>
<h2><strong>Agile attitude</strong> – yes of course but with <em>design agility</em> must come <em>design ability</em> across the organisation.</h2>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3088" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2010/07/13/with-design-agility-must-come-design-ability/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SPA2010 conference  redux</title>
		<link>http://blog.caplin.com/2010/06/04/spa2010-conference-redux/</link>
		<comments>http://blog.caplin.com/2010/06/04/spa2010-conference-redux/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 12:49:00 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=2522</guid>
		<description><![CDATA[SPA2010 I missed the start of SPA2010 on Sunday, I knew it was going to be a heavy week and I needed some time for the family Sorry Phil/Adam. Monday started with the opening plenary, I think it was good, I&#8217;m sure it was&#8230; it&#8217;s just that I was a...]]></description>
			<content:encoded><![CDATA[<h1>SPA2010</h1>
<p>I missed the start of <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDEwL2luZGV4LnBocA==">SPA2010</a> on Sunday, I knew it was going to be a heavy week and I needed some time for the family <img src='http://blog.caplin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Sorry Phil/Adam.</p>
<p>Monday started with the opening plenary, I think it was good, I&#8217;m sure it was&#8230; it&#8217;s just that I was a bit distracted thinking about our impending workshop – would it work out?</p>
<p><span id="more-2522"></span></p>
<h2><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDEwL3Nlc3Npb25zL3Nlc3Npb24yNzYuaHRtbA==">Persona Driven Development – Can it work for you?</a></h2>
<p>Phew! I think the answer is YES!! the Workshop was well attended with about 20 participants. We introduced <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS8yMDEwLzAzLzA0L25hcnJhdGl2ZS1qb3VybmV5LW1hcHMv">Narrative Journey Maps (NJM)</a> and how to create them. The everyone had a go. <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ByZXppLmNvbS9mZHR3ODF1bGtfeGgvcGVyc29uYS1kcml2ZW4tZGV2ZWxvcG1lbnQv">Prezzi </a>the zooming infinite desktop type format worked well (thanks <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuY2FwbGluLmNvbS9hdXRob3Ivc2FyYWhsY2FwbGluLWNvbS8=">Sarah</a>) and the materials seemed to be fit for purpose.</p>
<p>After the first exercise we introduced personas and the re-ran the scenario walking in the shoes of the personas on a &#8216;Discovery&#8217; session. This generated lots of ideas and demonstrated how personas can focus effort and creativity and also unify a teams understanding of the motivations and needs of users.</p>
<p>Feedback on the workshop was very positive. Participants liked the narrative storytelling elements of NJMs and how they visualised a complete interaction flow, a number of participants mentioned that they could think of situations at their own organisations when they would experiment with them.</p>
<p><img class="size-full wp-image-2642 alignnone" title="njm_worksohp" src="http://blog.caplin.com/wp-content/uploads/njm_worksohp.jpg" alt="" width="624" height="274" /></p>
<p>Most participants were aware of personas but had no direct experience of using them, again the feedback was positive and the proof of the power of personas was evident around the room and on the walls with all of the creative ideas and solutions that were generated.</p>
<p>WOW time to relax and have some lunch!</p>
<h2><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDEwL3Nlc3Npb25zL3Nlc3Npb24yNjQuaHRtbA==">Pinocchio: on becoming a Lean Leader</a></h2>
<p><img class="alignright size-full wp-image-2630" title="tales" src="http://blog.caplin.com/wp-content/uploads/tales.jpg" alt="" width="153" height="203" />This session was run by <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zZWxmaXNocHJvZ3JhbW1pbmcuY29tL2Fib3V0Lw==">Portia Tung</a> and <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cubmF5aW1hLmJlLw==">Pascal Van Cauwenberghe</a>. I wasn&#8217;t sure what to expect but as the story of Pinocchio was retold in whiteboard imagery one thing became clear – this was going to be fun.</p>
<p>By pulling examples from the story and focussing on the negatives and the positives (bad decisions made by Pinocchio made his nose grow)&#8230; by being strong and brave (and making good decisions) he was able to become a real boy etc.</p>
<p>Portia and pascal quickly took us from fairytale into corporate philosophies which was an exciting and demanding ride.</p>
<p>Here are some key takeaways:</p>
<p><strong>Lean Leadership Tools:</strong></p>
<ul>
<li>Visual controls – Use simple visual indicators to support Flow and Pull</li>
<li>Standard Work – Adhere to work processes</li>
<li>Daily accountability – Use visual controls to improve focus and drive improvement</li>
<li>Leadership discipline – Set clear expectations and maintain focus</li>
</ul>
<p><strong>Tools of a learning Organisation:</strong></p>
<ul>
<li><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9OZW1hd2FzaGk=">Nemawashi</a> – Make decisions slowly based on consensus, implement decisions quickly</li>
<li><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9IYW5zZWk=">Hansei</a> – Relentless reflection</li>
<li><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9LYWl6ZW4=">Kaizen</a> – Review regularly to establish a stable process and make incremental improvements</li>
</ul>
<p>All of the above is guided by the long term philosophy: Grow and align the whole organisation towards a common purpose greater than purely a financial reward.</p>
<p>This was a fast paced journey that left me wanting to learn more about everything, but my little wooden head can only hold so much.</p>
<p>Apparently there is a whole series of <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hZ2lsZWZhaXJ5dGFsZXMuY29tL2NvbmNlcHQuaHRtbA==">Agile Fairytales</a>, Pinocchio is the first in a new series of Lean Fairytales – go check!</p>
<h2><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDEwL3Nlc3Npb25zL3Nlc3Npb24zMjEuaHRtbA==">Retrospectives Refactored</a></h2>
<p>I haven&#8217;t had a chance to attend to many retrospectives I felt they were an excuse for developers to sit navel gazing. The few  I have been to were actually very constructive and a great way to reconsider ways of doing things and set up new ways of doing things to try out next time.<br />
<a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2FnaWxlY29hY2gudHlwZXBhZC5jb20vYWdpbGUtY29hY2hpbmcv">Rachel Davies</a> made the case for retrospectives as a key part of the &#8216;Agile way&#8217; it was a great opportunity to learn from other organisations on how they run retrospectives and we all shared our good/bad experiences.<br />
I think the key takeaways for me were:</p>
<ul>
<li> To ensure that there are actionable outcomes from retrospectives</li>
</ul>
<ul>
<li> Only take on 2-3 actions for the next sprint</li>
</ul>
<ul>
<li> Assign the actions (ideally people should volunteer)</li>
</ul>
<ul>
<li> Allow TIME during the next sprint for the actions to get done</li>
</ul>
<p>I also liked the idea of not having a retrospective after each sprint (as it becomes part of the mundane) and maybe having a bigger/longer retrospective after a big feature release of tranche of work or after every other sprint.<br />
Taking these bigger retrospectives off-site was also seen as a good thing.</p>
<h2><a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjb25mZXJlbmNlLm9yZy9zcGEyMDEwL3Nlc3Npb25zL3Nlc3Npb24yOTUuaHRtbA==">End users as software engineers – Good idea? Yes but no but&#8230;</a></h2>
<p><img class="size-full wp-image-2627 alignright" title="tree" src="http://blog.caplin.com/wp-content/uploads/tree.jpg" alt="" width="459" height="212" />The theme here from <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21jcy5vcGVuLmFjLnVrL2hjczIv">Helen Sharp</a> and <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saW5rZWRpbi5jb20vaW4vbHVjeWh1bnQ=">Lucy J Hunt</a> was that with advancements in users technical knowledge and the development of simpler tools for software development&#8230; should end users be developing software?</p>
<p>There were so many pros and cons around this issue that I didn&#8217;t reach a clear verdict in my own mind, and I think this was the purpose to expose this conundrum.<br />
You could argue about empowerment and that if a user has created some little software tool to help them get their job done then where is the harm in that.</p>
<p>But you can counter that there are many risks that this exposes. Who is responsible for supporting this software, the hidden costs, liabilities and data loss. The fact that only one person &#8216;knows the code&#8217;  etc. are all up for consideration. This is all before we got on to discussing the professionalism of software development and the unmaintainability of badly written code.</p>
<p>Some of the tools Helen and Lucy used in this workshop can be discovered on the Voluntary Service Overseas (VSO) website within their <a  href="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy52c29pbnRlcm5hdGlvbmFsLm9yZy93aGF0LXdlLWRvL2Fkdm9jYWN5L2luZGV4LmFzcA==">VSO Advocacy Toolkit</a>.</p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=2522" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2010/06/04/spa2010-conference-redux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The beauty of small tests</title>
		<link>http://blog.caplin.com/2010/04/15/the-beauty-of-small-tests/</link>
		<comments>http://blog.caplin.com/2010/04/15/the-beauty-of-small-tests/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 11:53:35 +0000</pubDate>
		<dc:creator>Andrew Darnell</dc:creator>
				<category><![CDATA[QA]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Ajax Testing]]></category>
		<category><![CDATA[Dev Tips]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Test Driven Development]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=1342</guid>
		<description><![CDATA[When tests are small, a test failure means just one thing – somewhere in these ten lines of code which are being tested, there is an error.  Ok, sometimes this can mean that there is an error in the test script, or a there is a failure, or change of...]]></description>
			<content:encoded><![CDATA[<p>When tests are small, a test failure means just one thing – somewhere in these ten lines of code which are being tested, there is an error.  Ok, sometimes this can mean that there is an error in the test script, or a there is a failure, or change of expectation, but fundamentally, it pin-points the cause of the failure to a <strong>small</strong> target, which usually means that debugging becomes <strong>trivial</strong>.</p>
<p>When an end to end acceptance test fails, the failure could be due to any one of a large number of source lines or expectations changes across a large body of code.  Debugging may be quick, but often isn&#8217;t.</p>
<p><span id="more-1342"></span></p>
<p>Small tests run faster too! While a typical small test may take 10 milliseconds to run, a large acceptance test may take twenty minutes.</p>
<p>Just a small back of the envelope calculation tells us that if a developer checks in twice a day and saves an hour each time because potential issues had been found before check-in with fast small tests, and the faster feedback, or has reduced their time spent debugging &#8211; that is two hours a day per developer that could be put to better use.</p>
<blockquote><p>2 hours a day * thirty developers * two working weeks = <strong>600 additional hours</strong> per two week iteration available.</p></blockquote>
<p>This is equivalent to adding seven and a half developers to the team!</p>
<p><strong>What value do you get from tests of different sizes?</strong></p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1342" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2010/04/15/the-beauty-of-small-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile – Tests = Fragile</title>
		<link>http://blog.caplin.com/2010/04/09/agile-%e2%80%93-tests-fragile/</link>
		<comments>http://blog.caplin.com/2010/04/09/agile-%e2%80%93-tests-fragile/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 14:55:46 +0000</pubDate>
		<dc:creator>Andrew Darnell</dc:creator>
				<category><![CDATA[QA]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Dev Tips]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Test Driven Development]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://blog.caplin.com/?p=1341</guid>
		<description><![CDATA[The nature of agile projects, with lots of small releases mean that there are a lot of test runs to execute if you want to have any confidence in the code and the product. Ignoring this testing just generates projects which will fail – not may fail &#8211; will fail,...]]></description>
			<content:encoded><![CDATA[<p>The nature of agile projects, with lots of small releases mean that there are a lot of test runs to execute if you want to have any confidence in the code and the product.</p>
<p>Ignoring this testing just generates projects which will fail – not may fail &#8211; will fail, <strong>categorically will fail!</strong></p>
<p>There are two sets of tests that are critical here&#8230;</p>
<p><strong>Good unit test coverage and a TDD approach to development</strong> ensure that the rest of the organisation is supplied with product that works as developers expect it to.</p>
<p><strong>Component tests and functional acceptance test</strong>s ensure that the product does what the product owner expects it to.</p>
<ul>
<li>Practically, the only way to do solid testing on new features is to have a stable product.</li>
<li>Practically, the only way to assure a stable product is to either have solid regression testing on each release or to not make any changes.</li>
<li>Practically, the only way to make sure that adequate regression testing is done is to automate the regression tests (unit, component, functional).</li>
</ul>
<p>Without these tests in place, iterating quickly places an impossible to meet burden of verification demand on the testers and product owners, which just gives you a <strong>fragile</strong> process not an <strong>agile</strong> one.</p>
<p><strong> Is your process Agile or Fragile?</strong></p>
 <img src="http://blog.caplin.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1341" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.caplin.com/2010/04/09/agile-%e2%80%93-tests-fragile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

