<?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>Crisp&#039;s Blog</title>
	<atom:link href="http://blog.crisp.se/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.crisp.se</link>
	<description>from the Crisp Consultants</description>
	<lastBuildDate>Fri, 11 May 2012 08:55:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Metrics &#8211; what to measure? (Agila mätetal i praktiken)</title>
		<link>http://blog.crisp.se/2012/05/11/henrikkniberg/metrics-what-to-measure-agila-matetal-i-praktiken?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=metrics-what-to-measure-agila-matetal-i-praktiken</link>
		<comments>http://blog.crisp.se/2012/05/11/henrikkniberg/metrics-what-to-measure-agila-matetal-i-praktiken#comments</comments>
		<pubDate>Fri, 11 May 2012 08:53:24 +0000</pubDate>
		<dc:creator>Henrik Kniberg</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[metrics]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1896</guid>
		<description><![CDATA[Here are the slides from my metrics talk &#8220;Agila mätetal i praktiken&#8221; at Dataföreningen in Stockholm. Lots of very engaged and experienced participants, lots of interesting discussions, thanks for coming!]]></description>
			<content:encoded><![CDATA[<p>Here are the <a href="http://dl.dropbox.com/u/1018963/Projects/2012-05-10%20DF%20Metrics/DF%20Metrics.pdf">slides</a> from my metrics talk &#8220;<a href="http://natverk.dfs.se/node/23747">Agila mätetal i praktiken</a>&#8221; at Dataföreningen in Stockholm. Lots of very engaged and experienced participants, lots of interesting discussions, thanks for coming!</p>
<p><a href="http://dl.dropbox.com/u/1018963/Projects/2012-05-10%20DF%20Metrics/DF%20Metrics.pdf"><img class="alignnone" style="border: 1px solid black;" title="Velocity" src="http://dl.dropbox.com/u/1018963/Projects/2012-05-10%20DF%20Metrics/Velocity.png" alt="" width="391" height="293" /></a></p>
<p><a href="http://dl.dropbox.com/u/1018963/Projects/2012-05-10%20DF%20Metrics/DF%20Metrics.pdf"><img class="alignnone" style="border: 1px solid black;" title="Crisp metrics" src="http://dl.dropbox.com/u/1018963/Projects/2012-05-10%20DF%20Metrics/Crisp.png" alt="" width="397" height="299" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/05/11/henrikkniberg/metrics-what-to-measure-agila-matetal-i-praktiken/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Context Appropriate Performance Testing at Let&#8217;s Test</title>
		<link>http://blog.crisp.se/2012/05/07/yassalsundman/context-appropriate-performance-testing-at-lets-test?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=context-appropriate-performance-testing-at-lets-test</link>
		<comments>http://blog.crisp.se/2012/05/07/yassalsundman/context-appropriate-performance-testing-at-lets-test#comments</comments>
		<pubDate>Mon, 07 May 2012 21:12:27 +0000</pubDate>
		<dc:creator>Yassal Sundman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[context-driven]]></category>
		<category><![CDATA[let's test]]></category>
		<category><![CDATA[performance testing]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1870</guid>
		<description><![CDATA[The Let&#8217;s Test conference (&#8220;A European conference on context-driven testing &#8211; for testers, by testers&#8221;) kicked off today in Sweden. I know, I&#8217;m not a tester, so why was I at the conference? Certainly it wasn&#8217;t the &#8220;context-driven&#8221; that drew me, since before I heard of the conference I didn&#8217;t really know what that was. <a href="http://blog.crisp.se/2012/05/07/yassalsundman/context-appropriate-performance-testing-at-lets-test"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.crisp.se/wp-content/uploads/2012/05/IMG_4798.png"><img class="size-full wp-image-1873 alignleft" title="IMG_4798" src="http://blog.crisp.se/wp-content/uploads/2012/05/IMG_4798.png" alt="" width="256" height="193" /></a>The <a title="Let's Test conference link" href="http://lets-test.com/" target="_blank">Let&#8217;s Test conference</a> (&#8220;A European conference on context-driven testing &#8211; for testers, by testers&#8221;) kicked off today in Sweden. I know, I&#8217;m not a tester, so why was I at the conference? Certainly it wasn&#8217;t the &#8220;<a title="context-driven testing" href="http://context-driven-testing.com/" target="_blank">context-driven</a>&#8221; that drew me, since before I heard of the conference I didn&#8217;t really know what that was. The &#8220;for testers, by testers&#8221; wasn&#8217;t so inviting to me as a developer, even though as a member of an agile team I write unit and regression tests, and participate in functional and exploratory testing.</p>
<p>It was actually <a title="Scott Barber blog" href="http://scott-barber.blogspot.se/" target="_blank">Scott Barber&#8217;s</a> tutorial description that got me to sign up:<span id="more-1870"></span></p>
<blockquote><p>Context Appropriate Performance Testing, from Simple to Rocket Science</p>
<p>When most people think of performance testing, they think about the hard parts – the very hard parts. They think about the expensive and complicated tools that are required to simulate the activity of thousands of end-users all at the same time, while collecting tens or hundreds of thousands of measurements.</p>
<p>In reality, many performance issues can be detected and diagnosed with exactly the tools and knowledge you already have at your disposal using information obtained from quick, easy and cheap performance tests</p></blockquote>
<p>I&#8217;ve worked at several different companies over the years, and performance testing is always one of the more difficult parts that is usually left to the end of the project. Performance testing steps into the lime-light when production crashes, or customers complain. Sometimes developers start worrying once all the functional requirements have been met and the product is ready to ship: &#8220;will the system stand up to real users&#8221;? Most often we think of performance too late, and as Scott said the solutions we think of the the &#8220;hard parts&#8221;: We need to reproduce the production environment exactly, we need to reproduce the exact load, we need to reproduce the system interactions exactly, and we need a tool to help us sift through all the data. Well, that&#8217;s pretty insurmountable a week away from release, or when production has already crashed.</p>
<p>I really wanted to learn how to get from &#8220;it&#8217;s impossible to performance test&#8221; to &#8220;we&#8217;re performance testing!&#8221; Even though the tutorial description promised that I would learn how to do that, I wasn&#8217;t too confident that it could be achieved in one day. I&#8217;m glad to say I was wrong! What a great tutorial. You can find the entire presentation <a title="performance testing presentation" href="http://www.perftestplus.com/resources/Simple2RocketScience.pdf" target="_blank">here</a>, but the biggest takeaway for me was the &#8220;Simple items&#8221;:</p>
<p><a href="http://blog.crisp.se/wp-content/uploads/2012/05/executivevisibilty.png"><img class="size-full wp-image-1880 alignright" title="executivevisibilty" src="http://blog.crisp.se/wp-content/uploads/2012/05/executivevisibilty.png" alt="" width="240" height="176" /></a></p>
<div>
<ol>
<li>Make performance a priority</li>
<li>Give performance visibility</li>
<li>Ask lots of questions</li>
<li>Research the competition</li>
</ol>
<p>The bottom line is that talking about performance, planning for it from the beginning, asking questions, and having a bit of data gets you very far. I especially like the breakdown presented in &#8220;Give performance visibility&#8221;, where Scott discusses what to performance test and when. It also turns out that there are a lot of free tools available for performance testing. I already knew about tools such as Apache Bench, YSlow and JMeter, but there&#8217;s a world of resources out there, you just need to know how to interpret the numbers <img src='http://blog.crisp.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://blog.crisp.se/wp-content/uploads/2012/05/IMG_4840.png"><img class="alignleft size-medium wp-image-1893" title="IMG_4840" src="http://blog.crisp.se/wp-content/uploads/2012/05/IMG_4840-300x225.png" alt="" width="300" height="225" /></a>I would have been really happy with the tutorial if it had ended right there, but the last exercise was really the icing on the cake. We played the game &#8220;Set&#8221;. The deck of cards has four features: color, shape, fill and number. The cards in the set have to all have the same feature or all be different for each feature. We had to find as many sets as we could and organize them in a way where you could quickly see how many sets there were. The point was that even with just four features or constraints it&#8217;s pretty difficult to keep track of all the things that were similar even in a small controlled game, let alone when you&#8217;re analyzing massive amounts of performance data. So look for the four most important things and start there, for example: response time, load, cpu, memory!</p>
<p>I&#8217;m really glad I got the chance to participate in this conference, it&#8217;s too bad that we get so stuck in our roles that we don&#8217;t often go to a conference that doesn&#8217;t &#8220;sound&#8221; like it would be a good fit. It was great to be at a testing conference as a developer, even though I didn&#8217;t always follow the discussion, especially a question at the keynote that ended up touching on &#8220;ISTQB&#8221;, &#8220;SBMT&#8221;, &#8220;rapid testing&#8221; and their relation to &#8220;context-driven&#8221; testing!! Luckily, with a smart phone, and helpful lunch company you can get a lot of answers <img src='http://blog.crisp.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/05/07/yassalsundman/context-appropriate-performance-testing-at-lets-test/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Var nyfiken och kreativ och du lever längre</title>
		<link>http://blog.crisp.se/2012/05/06/miakolmodin/var-nyfiken-och-kreativ-och-du-lever-langre?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=var-nyfiken-och-kreativ-och-du-lever-langre</link>
		<comments>http://blog.crisp.se/2012/05/06/miakolmodin/var-nyfiken-och-kreativ-och-du-lever-langre#comments</comments>
		<pubDate>Sun, 06 May 2012 21:11:38 +0000</pubDate>
		<dc:creator>Mia Kolmodin</dc:creator>
				<category><![CDATA[Product Discovery]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1862</guid>
		<description><![CDATA[Jag måste erkänna att jag ganska ofta sparkar lite bakut. För jag vill verkligen inte göra samma sak om och om igen &#8211; jag vill lära mig nya saker, vrida och vända på det jag trodde jag visste och kunde, och träffa och jobba med folk som kan andra saker än jag. Vilket då kanske <a href="http://blog.crisp.se/2012/05/06/miakolmodin/var-nyfiken-och-kreativ-och-du-lever-langre"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Jag måste erkänna att jag ganska ofta sparkar lite bakut. För jag vill verkligen inte göra samma sak om och om igen &#8211; jag vill lära mig nya saker, vrida och vända på det jag trodde jag visste och kunde, och träffa och jobba med folk som kan andra saker än jag. Vilket då kanske inte helt självklart har resulterat i att jag gör saker som jag inte kan speciellt bra, men lär mig en hel del på grund av det.</p>
<p>Kanske inget revolutionerande i sig, men för vissa kan det kanske finnas något litet nytänkande eller till och med provocerande i det. Kan det kanske inte uppfattas som oseriös, naivt eller dåligt? Eller om man är mer optimistiskt lagd kanske modig, eller orädd eller till och med lite dum? Att man är öppen för nya saker innebär ofta att man lär sig något och får nya referenser. Och ju mer man vågar prova på den spännande o-vissa vägen &#8211; desto mer lär man sig ju, och desto roligare blir det.<br />
<span id="more-1862"></span></p>
<p>Visst är det självklart roligt när man känner att man kan bemästra något nästan till perfektion också. Självklart, det tycker nog alla. Men om det är målet, så måste man bredda sig när man har nått dit. Annars blir det för mig i alla fall riktigt jättelångtråkigt.</p>
<h2>Inse att ingen kan allt</h2>
<p>Jag har under de senaste åren träffat massor av nytt folk och gjort massor av saker jag inte har gjort förut. Vilket är fantastiskt roligt, spännande och lärorikt. Jag har testat, lyssnat, sökt stöd, frågat, delat med mig av mina kunskaper och erfarenheter. Mycket har gått väldigt bra, men vissa saker har jag kanske insett att jag inte vill göra. Många människor är nog som jag, och gillar att det är lite utmanande och lärorikt. Det går ju alltid bra tillslut ändå &#8211; eller hur? Men jag har inte bara en gång utan flera gånger stött på det där som är så vanligt hos oss tjejer (kanske hos killar också?) &#8211; Men jag kan ju inte det här till perfektion, så därför säger jag att jag inte kan det alls. Men HUR ska du då någonsin lära dig något nytt frågar jag så klart. Hmmm, ja, gå en kurs kanske, eller kanske fortsätta som det är nu bara? Jovars, det kan man ju hålla på med i all oändlighet i så fall. Du behöver troligtvis ingen kurs och du vill gå vidare. Du behöver kanske bara göra som vi andra gör och inse att INGEN KAN ALLT, och i stället säga att jag gör det där nu som jag inte riktigt kan och så lär jag mig det. Vad kul!</p>
<p>Kanske har jag lyckats sprida min optimism lite på vägen. Jag höll ju faktiskt en kurs alldeles nyligen, och fick där feedbacken att jag var så “härlig” för att jag sa att “Ingen kan allt till kursdeltagarna”. Jo, några frön sådde jag nog i alla fall och det känns riktigt härligt. Hur underbar skulle inte världen vara om vi var fler som vågade göra det vi ville och inte var rädda att bli tittade snett på eller rädda för att kanske, kanske eventuellt misslyckas?<br />
<em><br />
En film från min kurs i &#8220;Attraktiv digital design&#8221; som inte alls handlade om design utan om olika sätt att utforska användarnas mål och ifrågasätta sin design. Att våga testa nya metoder, ifrågasätta det invanda och förstå att perfektion inte alltid är av godo &#8211; var några av grundstenarna i kursen.</em><br />
<object width="640" height="480" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/C8xq4Ocy_BA?version=3&amp;hl=sv_SE&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed width="640" height="480" type="application/x-shockwave-flash" src="http://www.youtube.com/v/C8xq4Ocy_BA?version=3&amp;hl=sv_SE&amp;rel=0" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<h2>Vad är det värsta som kan hända &#8211; och vad är det bästa</h2>
<p>Jag kan också bli rädd, annars är man ju inte människa. Men det som brukar fungera för mig då är att fundera lite över detta &#8211; Vad är det absolut VÄRSTA som skulle kunna hända? Oftast så kommer jag fram till att det är skitfåniga saker som inte gör mig något alls egentligen. Och vad är det BÄSTA som akn hända om jag gör det här? Ofta en massa ny kunskap, nya kontakter &#8211; och mindre rädsla nästa gång. Fantastiska uppsidor!</p>
<h2>En riktigt lång lista</h2>
<p>Om man skulle ge sig på att försöka göra en lista med sånt som man har gjort som verkade halvt galet till att börja med, men sen visade sig leda till något superbra. Så skulle det för min del bli oändligt lång &#8211; men en ganska lärorik sådan. Till exempel att flytta till USA när jag var 17 för att plugga fotografi lite till, efter att ha pluggat redan 4 år i Sverige. Det gick åt skogen så klart, för alla pengar tog slut, jag längtade hem och allt blev tråkigt. Ett stort misslyckande kanske &#8211; jag skulle ju bli nästa Ansel Adams (eller nått). Men jag var faktiskt glad över allt jag hade fått uppleva och lärt mig. Att jag INTE ville hålla på med fotografi, att jag VILLE bo hemma i Stockholm &#8211; och att det var det nya svarta INTERAKTIVA MEDIER jag ville hålla på med. Jättebra! Jag ska nog sluta där tror jag&#8230; för den här bloggsidan skulle faktiskt aldrig ta slut annars. Men jag hoppas och jag brinner för att få fler att våga testa och misslyckas, våga fråga och lära sig mer av det som gör oss nyfikna. Var nyfiken och dela med dig och du lever längre &#8211; eller i alla fall roligare. Det är vad jag försöker leva efter &#8211; så några bakutsparkar till lär det nog bli.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/05/06/miakolmodin/var-nyfiken-och-kreativ-och-du-lever-langre/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile@Home &#8211; simplifying life using agile and lean principles</title>
		<link>http://blog.crisp.se/2012/05/02/henrikkniberg/agilehome?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agilehome</link>
		<comments>http://blog.crisp.se/2012/05/02/henrikkniberg/agilehome#comments</comments>
		<pubDate>Wed, 02 May 2012 14:38:01 +0000</pubDate>
		<dc:creator>Henrik Kniberg</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[lifestyle]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1856</guid>
		<description><![CDATA[Here are annotated slides from my lighting talk Agile@Home at Agila Sverige 2012. Have you tried a BBQ board? Or a travel spike? Or a homework burnup chart? How about Limiting WIP in the kitchen, or the closet? How about agile party planning? There are plenty of ways that Agile and Lean practices and ideas <a href="http://blog.crisp.se/2012/05/02/henrikkniberg/agilehome"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Here are <a href="http://dl.dropbox.com/u/1018963/Projects/2012-04%20Agile%40Home%2C%20Agila%20Sverige%202012/Agile%40Home.pdf">annotated slides</a> from my lighting talk <a href="http://dl.dropbox.com/u/1018963/Projects/2012-04%20Agile%40Home%2C%20Agila%20Sverige%202012/Agile%40Home.pdf">Agile@Home</a> at <a href="http://agilasverige.se/">Agila Sverige 2012</a>.</p>
<p style="text-align: left;">Have you tried a BBQ board? Or a travel spike? Or a homework burnup chart? How about Limiting WIP in the kitchen, or the closet? How about agile party planning? There are plenty of ways that Agile and Lean practices and ideas can be used to make life at home more simple, pleasant, and fun!</p>
<p style="text-align: left;"><a href="http://dl.dropbox.com/u/1018963/Projects/2012-04%20Agile%40Home%2C%20Agila%20Sverige%202012/Agile%40Home.pdf"><img class="aligncenter size-full wp-image-1858" title="AgileAtHome" src="http://blog.crisp.se/wp-content/uploads/2012/05/AgileAtHome1.png" alt="" width="606" height="455" /></a></p>
<p>There are two recordings of the talk: <a href="http://www.youtube.com/watch?v=ZI5QtCHJyWQ">here</a> and <a href="http://bambuser.com/v/2581425">here</a>. The talk is in Swedish though, and the sound quality is pretty bad. And the tempo is very high &#8211; it&#8217;s a 10 minute lightning talk after all <img src='http://blog.crisp.se/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> )</p>
<p>In the <a href="http://dl.dropbox.com/u/1018963/Projects/2012-04%20Agile%40Home%2C%20Agila%20Sverige%202012/Agile%40Home.pdf">slides</a> I&#8217;ve added english subtitles (well, speach bubbles actually). Wanted to try that instead of writing an article, what do you think? <img src='http://blog.crisp.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Enjoy! And please share your own tips and tricks!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/05/02/henrikkniberg/agilehome/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Crisp Hackday is under way!</title>
		<link>http://blog.crisp.se/2012/04/27/mattiasskarin/crisp-hackday-is-under-way?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=crisp-hackday-is-under-way</link>
		<comments>http://blog.crisp.se/2012/04/27/mattiasskarin/crisp-hackday-is-under-way#comments</comments>
		<pubDate>Fri, 27 Apr 2012 09:03:53 +0000</pubDate>
		<dc:creator>Mattias Skarin</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1831</guid>
		<description><![CDATA[The safety belt is off.  Focus is intense.  Standup?  Tdd?   Rubbish!  Crisp hack day!]]></description>
			<content:encoded><![CDATA[<p>The safety belt is off.  Focus is intense.  Standup?  Tdd?   Rubbish!  Crisp hack day! <img src='http://blog.crisp.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://blog.crisp.se/wp-content/uploads/2012/04/crisp_hackday_medium.jpg"><img class="alignleft size-medium wp-image-1832" title="crisp_hackday" src="http://blog.crisp.se/wp-content/uploads/2012/04/crisp_hackday_medium-300x223.jpg" alt="Hacking at Crisp Hackday" width="300" height="223" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/04/27/mattiasskarin/crisp-hackday-is-under-way/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Insights from Innovation games with Luke Hohmann</title>
		<link>http://blog.crisp.se/2012/04/24/mattiasskarin/insights-from-innovation-games-with-luke-hohmann?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=insights-from-innovation-games-with-luke-hohmann</link>
		<comments>http://blog.crisp.se/2012/04/24/mattiasskarin/insights-from-innovation-games-with-luke-hohmann#comments</comments>
		<pubDate>Tue, 24 Apr 2012 21:12:49 +0000</pubDate>
		<dc:creator>Mattias Skarin</dc:creator>
				<category><![CDATA[Product Discovery]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[productmanagement]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1821</guid>
		<description><![CDATA[I got the chance to meet Luke, the founder of innovation games this week. I find his view refreshing &#8211; humans are basically creative. We need to provide the platform for ideas to emerge. Some of my reflections after listening to the stories: It&#8217;s serious play, these games shape the outcome of of real products <a href="http://blog.crisp.se/2012/04/24/mattiasskarin/insights-from-innovation-games-with-luke-hohmann"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I got the chance to meet Luke, the founder of innovation games this week. I find his view refreshing &#8211; humans are basically creative. We need to provide the platform for ideas to emerge. Some of my reflections after listening to the stories:</p>
<ul>
<li>It&#8217;s serious play, these games shape the outcome of of real products for companies like Cisco today</li>
<li>I was a bit skeptical about trying them online, but I find they can provide alternatives to retrospectives for distributed teams.</li>
<li>It is as much about the reasons we reveal for our choices, as the games itself.</li>
<li>I find the games can help developers (and product owners) learn about the (unspoken)  needs of market segments and user groups. Understanding the rationale of their choices is key to designing a good solution.</li>
<li>If I was a sales person, I&#8217;d jump on them right away. Way more fun than death by power point.</li>
</ul>
<p>Here&#8217;s me asking some questions to Luke.</p>
<p><object width="400" height="250" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=40654902&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed width="400" height="250" type="application/x-shockwave-flash" src="http://vimeo.com/moogaloop.swf?clip_id=40654902&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" allowfullscreen="true" allowscriptaccess="always" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/04/24/mattiasskarin/insights-from-innovation-games-with-luke-hohmann/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Slides from the Selenium Conference</title>
		<link>http://blog.crisp.se/2012/04/19/alexandertarnowski/slides-from-selenium-conference?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=slides-from-selenium-conference</link>
		<comments>http://blog.crisp.se/2012/04/19/alexandertarnowski/slides-from-selenium-conference#comments</comments>
		<pubDate>Thu, 19 Apr 2012 20:20:26 +0000</pubDate>
		<dc:creator>Alexander Tarnowski</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Slides]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[webdriver]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1815</guid>
		<description><![CDATA[I gave a presentation called ”Being good at waiting – Using Selenium to test Ajax-intensive pages” in an unconf session at the Selenium Conference in London. The audience was great! Thanks everybody! I certainly didn’t know everything there’s to know about the subject, and that resulted in an interactive session where people from the audience <a href="http://blog.crisp.se/2012/04/19/alexandertarnowski/slides-from-selenium-conference"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I gave a presentation called <em>”Being good at waiting – Using Selenium to test Ajax-intensive pages”</em> in an unconf session at the Selenium Conference in London.</p>
<p>The audience was great! Thanks everybody! I certainly didn’t know everything there’s to know about the subject, and that resulted in an interactive session where people from the audience would share their experience and answer some questions. That was so cool <img src='http://blog.crisp.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<span id="more-1815"></span><br />
Anyway, the point I wanted to make was this: when you google for Selenium/WebDriver and Ajax, you still find plenty of examples where the naïve approach, sleeping (as in <code>Thread.sleep()</code> and similar constructs) is used. My main message was – don’t ever do that! Use a proper WebDriver wait, since it handles the sleeping correctly and plays well with ElementNotFoundExceptions.</p>
<p>I also mentioned implicit waits as something that can be used if you don’t have too many Ajax calls and want to hide that complexity behind a global timeout.</p>
<p>My second point was that there is a category of Ajax calls that have no side effects on the DOM, i.e. when the call completes, nothing happens in the DOM. The example was validation by third party libraries. If you control the code, you can always make it affect the DOM somehow, but not if a third-party library handles the call. In such cases you can intercept the Ajax sending function and the callback using Javascript. In the sending function, a counter can be incremented, and it can be decremented in the callback. This is a canonical way of counting the number of ongoing Ajax calls, and variations of this technique should work with every Javascript library out there with some tweaking. This might not be a silver bullet, but it has worked well enough in our tests.</p>
<p>I actually never got the question why I ran all my code samples as unit tests. None of them actually verified anything; all they did was to print things to stderr. Apparently the reason wasn’t interesting enough, but if it made someone wonder: It was because I wanted my samples to be easy to turn into tests if necessary.</p>
<p>By the way… I totally forgot to mention the AjaxElementLocator* classes.</p>
<p>Some comments and suggestions from the audience:</p>
<ul>
<li>Implicit waits don’t help when waiting for elements that are <strong>not</strong> there</li>
<li>You can check for non-presence of elements by waiting for the element to be present for 0 seconds and accepting the exception.</li>
<li>If you need to, and can, add Ajax call counting in the code of the page, not by injecting the variable through Javascript. (The latter assumes that you don’t have control over the tested page.)</li>
<li>Don’t rely on jQuery’s <em>active</em> variable to check for ongoing Ajax calls. It may indicate other activity as well. (True, but you would probably want to wait for that too in your test, so it may not be that big a problem.)</li>
<li>There is a class called <code>org.openqa.selenium.support.ui.ExpectedConditions</code> (in Java) that has a lot of static methods that can be used as predicates for <code>WebDriverWait</code>. That way, you don’t have to implement them from scratch. (I simply didn’t know that.)</li>
</ul>
<p>All in all, I think we had a productive session, in which we unfortunately didn’t find a sliver bullet for the asynchronicity challenges, but we managed to exchange a lot of knowledge and got a common view of where the API is, and what techniques we can use.</p>
<p>The slides are <a href="http://dl.dropbox.com/u/4893739/AsyncTestingFinal.pdf">here</a>, and I plan to post the code samples on Github soon. Stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/04/19/alexandertarnowski/slides-from-selenium-conference/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Slides from SDC2012 &#8211; Modern product development principles</title>
		<link>http://blog.crisp.se/2012/04/16/mattiasskarin/slides-from-sdc2012-modern-product-development-principles?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=slides-from-sdc2012-modern-product-development-principles</link>
		<comments>http://blog.crisp.se/2012/04/16/mattiasskarin/slides-from-sdc2012-modern-product-development-principles#comments</comments>
		<pubDate>Mon, 16 Apr 2012 12:02:27 +0000</pubDate>
		<dc:creator>Mattias Skarin</dc:creator>
				<category><![CDATA[lean]]></category>
		<category><![CDATA[Product Discovery]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[scalingagile]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1810</guid>
		<description><![CDATA[  Just finished my session at SDC 2012 where I&#8217;m arguing for less hierarchy and economically aligned decision rules that  enables local teams to do tradeoffs.  Mary Poppendieck commented it as &#8220;traditional product management&#8221;.  Maybe that&#8217;s where we are heading Anyway, here are the slides]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.crisp.se/wp-content/uploads/2012/04/sdc2012_speakingat_140x140.png"><img class="alignleft size-full wp-image-1811" title="sdc2012_speakingat_140x140" src="http://blog.crisp.se/wp-content/uploads/2012/04/sdc2012_speakingat_140x140.png" alt="Speaking at sdc logo" width="139" height="139" /></a>  Just finished my session at SDC 2012 where I&#8217;m arguing for less hierarchy and economically aligned decision rules that  enables local teams to do tradeoffs.  Mary Poppendieck commented it as &#8220;traditional product management&#8221;.  Maybe that&#8217;s where we are heading <img src='http://blog.crisp.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway, here are the <a title="Modern product development principles" href="http://dl.dropbox.com/u/1638038/publikationer/sdc2012/modern%20product%20development%20principles%20-%20mskarin.pdf">slides </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/04/16/mattiasskarin/slides-from-sdc2012-modern-product-development-principles/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Value driven meetings</title>
		<link>http://blog.crisp.se/2012/04/13/anderslaestadius/value-driven-meeting?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=value-driven-meeting</link>
		<comments>http://blog.crisp.se/2012/04/13/anderslaestadius/value-driven-meeting#comments</comments>
		<pubDate>Fri, 13 Apr 2012 07:57:34 +0000</pubDate>
		<dc:creator>Anders Laestadius</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[meeting structure]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1751</guid>
		<description><![CDATA[Today at Crisp, we had a short discussion about effective meetings where I described what I think are needed in order to have successful meetings. Meetings, like work meetings, are used to produce some kind of result, achieve a agreed on decision or solve a problem. The discussion got me thinking about how often we <a href="http://blog.crisp.se/2012/04/13/anderslaestadius/value-driven-meeting"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today at Crisp, we had a short discussion about effective meetings where I described what I think are needed in order to have successful meetings. Meetings, like work meetings, are used to produce some kind of result, achieve a agreed on decision or solve a problem. The discussion got me thinking about how often we are overloaded with meetings where many of them give little value back to the project and organization.</p>
<p>Paul Graham describes two different schedules, <a href="http://www.paulgraham.com/makersschedule.html" target="_blank">the manager and the makers schedule</a>, where the former is run by managers working through the day participating in a lot of different meetings, and the latter is run by the workers, the developers and project participants, working through the day developing new versions of the product they are accountable for producing. These two schedules have their place in an organization, but we may get in trouble when the two schedules meet each other, which they do now and then during a normal working day.</p>
<p>Meetings cost quite a lot, and it is often not obvious for the managers working under the manager schedule how big that cost really is. I believe we need some kind of structure, an agreement between the meeting participants and the organizer of what they need to prepare and do before the meeting, in order to guarantee that it will be as efficient as possible. This to ensure that the organization get some kind of ROI from having the meeting.</p>
<p><span id="more-1751"></span></p>
<p><strong>Structure of an effective meeting</strong></p>
<p>In general I run my meetings in the similar way as most agile chops organize their retrospectives, where you should have a similar structure as the following five points:</p>
<ul>
<li>have a dedicated facilitator that help the group build on each others ideas</li>
<li>visualize the agenda which describes the different steps the group will go through during the meeting</li>
<li>express a clear goal with the meeting; what should the group have achieved when the meeting is over?</li>
<li>provide a description of how the group should work during the meeting, how the group will be organized in order to work towards the goals</li>
<li>and finally, end the meeting with a short recap of what have been achieved and all action items are restated so that everybody agrees on them</li>
</ul>
<p>Using this structure the group organize itself better and is more focused on achieving the purpose of the meeting. Meetings without this structure have easily just turned into a discussion without reaching any decision point. These meetings have in many cases just ended with a decision to schedule another meeting to continue with the discussion. Since most organizations are really busy, this should of coarse be avoided by all means.</p>
<p><strong>READY/DONE criteria</strong></p>
<p>Looking at the meetings from a different angle, I believe that we should organize the meetings as timeboxes, where each one has a fixed length and and a agreed on scope, focus for the meeting, and end with a delivered goal at the end. One way of improving the efficiency of the timebox is to use the concept of <a href="http://scrum.jeffsutherland.com/2012/02/on-march-9-jeff-will-be-giving-webinar.html" target="_blank">READY and DONE</a> criteria described by Jeff Sutherland, where the READY criteria describes the detail level of the requirements for them to be accepted into the sprint. The DONE criteria then describes what should have be done in order to say that the requirement has been delivered as requested, The two criteria are used to make the expectations on groups up and down streams from the team, explicit to everybody. They may also act as a baselines for further improvements regarding the collaboration between different groups.</p>
<p>You could use the READY and DONE criteria when organizing the meetings as well. The READY criteria describes what the meeting organizer should have prepared and have done before the meeting is started, and the DONE criteria describes what the group should strive for and have achieved at the end of the meeting. The meeting organizer is accountable for reaching READY, and if the participants don&#8217;t feel that the criteria is met, they may cancel the meeting and ask the organizer to prepare the meeting better. If the READY criteria is met, the group is accountable for reaching DONE, working according to the structure described in the agenda.</p>
<p>An organization should always strive for improving itself, and you can use the READY criteria as a tool helping you creating an efficient structure for your meetings. Let the different groups having short retrospectives around the meeting structures where they improve how they are organized, and capture that structure in the READY and DONE criteria.</p>
<p><strong>Value driven meetings</strong></p>
<p>Thinking further around the READY and DONE criteria and how they are used in Scrum, and the possible use of them during meetings as well, got me thinking about the purpose of having meetings at the first place. I believe we have a tendency having to many meetings, where many of them are run without any clear link to how it will bring the organization or project closer to its goals.</p>
<p>In Scrum, the READY criteria describes how much details and information you should provide to the Scrum team regarding a user story for them to accept it into the sprint backlog. And, the story describes some kind of functionality that should be developed to achieve a value; both user value and organizational value. The team shouldn&#8217;t develop stories that have unclear value since without the value you do not have any business case for developing the story. Working further down this thread, the value of a user story should be linked to what you are trying to achieve with the product as a whole; you should have integrity regarding the purpose and value of the product and the aggregated values of all its different parts and functionality.</p>
<p>You should think in the same way regarding you meetings. Before deciding on setting up a new meeting, you should be able to answer the following question (in either the organizational or the project context):</p>
<ul>
<li>In what way are we, by running this meeting, bringing our organization/project closer to our goals?</li>
</ul>
<p>If you cannot answer this question and therefore not able to describe how the goal of the meeting is bringing value to the organization or project, you should have another thought about what you are trying to achieve and why you would like to spend your colleagues precious time on the meeting. It should be clear at the beginning of the meeting in how the group is bringing value to the organization by having the meeting, and in what way the desired result will bring the organization closer to its goals. All activities should be linked to the organizations goals liked this, but especially meetings since they, by the very fact that we are gathering a lot of people at the same time, is very expensive. You need meetings, but make sure that you only have meetings that are bringing value and a high ROI back to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/04/13/anderslaestadius/value-driven-meeting/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make it possible; change your statement into a question</title>
		<link>http://blog.crisp.se/2012/04/11/mattiasskarin/make-it-possible-change-your-statement-into-a-question?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=make-it-possible-change-your-statement-into-a-question</link>
		<comments>http://blog.crisp.se/2012/04/11/mattiasskarin/make-it-possible-change-your-statement-into-a-question#comments</comments>
		<pubDate>Wed, 11 Apr 2012 12:07:46 +0000</pubDate>
		<dc:creator>Mattias Skarin</dc:creator>
				<category><![CDATA[lean]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[management]]></category>

		<guid isPermaLink="false">http://blog.crisp.se/?p=1801</guid>
		<description><![CDATA[Not long ago I met with a manager who during a discussion ruled out the possibility of success of a solution. I was a bit surprised and afterwards asked why that was not doable. It turned out one of the reasons was the manager was afraid the team would kick off with unrealistic expectations and <a href="http://blog.crisp.se/2012/04/11/mattiasskarin/make-it-possible-change-your-statement-into-a-question"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Not long ago I met with a manager who during a discussion ruled out the possibility of success of a solution. I was a bit surprised and afterwards asked why that was not doable. It turned out one of the reasons was the manager was afraid the team would kick off with unrealistic expectations and leave  disappointed. I pointed out that we won&#8217;t ever get there unless we try.</p>
<p>There is an easy way of getting both: change your statement into a question. This will trigger an intellectual challenge and proof that people have a viable idea. In short: It enables more options.</p>
<p>Turn:<br />
&#8220;It can&#8217;t be done&#8221; &#8211; into &#8211; &#8220;why is that hard&#8221;?</p>
<p>The solution we have are only limited by the questions we are asking.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crisp.se/2012/04/11/mattiasskarin/make-it-possible-change-your-statement-into-a-question/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

