<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Grundlig eftertanke</title>
	<atom:link href="http://grundlig.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://grundlig.wordpress.com</link>
	<description>Thorough consideration</description>
	<lastBuildDate>Mon, 06 Jul 2009 19:32:30 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>sv</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='grundlig.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/9c6791eb2f417a7d4505a3f5312801a1?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Grundlig eftertanke</title>
		<link>http://grundlig.wordpress.com</link>
	</image>
			<item>
		<title>Sitta tillsammans på olika sätt</title>
		<link>http://grundlig.wordpress.com/2009/07/06/sitta-tillsammans-pa-olika-satt/</link>
		<comments>http://grundlig.wordpress.com/2009/07/06/sitta-tillsammans-pa-olika-satt/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 19:08:27 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[People]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=117</guid>
		<description><![CDATA[Sedan jag först började läsa om agila metoder har jag uppskattat tanken att sitta tillsammans som något självklart och ovedersägligt.
Efter ett par försök på olika håll tycker jag mig se ett par återkommande mönster för vad som får tekniken att fungera bättre.
Gemensamma intressen
För att det ska löna sig för en grupp människor att sitta tillsammans [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=117&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Sedan jag först började läsa om agila metoder har jag uppskattat tanken att sitta tillsammans som något självklart och ovedersägligt.</p>
<p>Efter ett par försök på olika håll tycker jag mig se ett par återkommande mönster för vad som får tekniken att fungera bättre.</p>
<h3>Gemensamma intressen</h3>
<p>För att det ska löna sig för en grupp människor att sitta tillsammans krävs att de har något gemensamt. De bör arbeta i samma projekt, mot samma deadline och samma kodbas.</p>
<h5>Därför</h5>
<p>Forma team som arbetar i grupp mot gemensamma mål, och placera dem tillsammans.</p>
<h5>Men</h5>
<p>Tänk på att inte forma för ensidiga team &#8212; <strong>Gemensamma intressen</strong> betyder inte att alla gillar att knacka Ruby, utan att alla strävar mot samma mål och hjälps åt att komma dit. <a href="http://www.infoq.com/articles/scaling-lean-agile-feature-teams">Tvärfunktionella team</a> innehåller alla kompetenser som behövs för att leverera en färdig produkt.</p>
<hr />
<h3>Lagarbete</h3>
<p>Ola Ellnestam beskriver ett anti-mönster som han kallar för <em><a href="http://ellnestam.wordpress.com/2008/08/29/software-development-team-anti-patterns-pt-2/">The Graveyard</a></em>:</p>
<blockquote>
<p style="line-height:1.5em;margin:0 0 1em;padding:0;">Föreställ dig ett rum, ganska stort. Ungefär 100 kvadrat. Du kan knappt höra surrandet från ett halvdussin datorer. Det är varmt, inte hett, bara lite över normal rumstemperatur. Någon hostar. Sedan blir det tyst igen, förutom det svaga surrande datorljudet. Du lyssnar lite noggrannare och märker ett svagt, oregelbundet klickande. Du får en känsla av att den som är källa till ljudet inte vill störa för mycket. Ljuset i taket flimrar till.</p>
<p style="line-height:1.5em;margin:0 0 1em;padding:0;">Du sveper snabbt med blicken över rummet, räknar till 1, 2, 3 &#8230; 7 sittande personer. De verkar stirra ut i tomma rymden, och det hade de också gjort om det inte vore för datorskärmarna framför dem. Det är som om det stod glasväggar mellan personerna i rummet. En dator står längst ner i rummet. Skärmsläckaren snurrar förbi lite text.</p>
</blockquote>
<p style="line-height:1.5em;margin:0 0 1em;padding:0;">Förutom <strong>Gemensamma intressen</strong> blir det mycket mer värdefullt att sitta tillsammans om man faktiskt jobbar som ett lag istället för som en grupp individer. Man blir mindre beroende av nyckelpersoner, eftersom alla har hygglig inblick i vad som händer.</p>
<h5>Därför</h5>
<p>Som Ola säger, uppmuntra <strong>Lagarbete</strong> och kommunikation genom att hitta rutiner som får flera personer att jobba på olika aspekter av samma uppgift.</p>
<h5>Men</h5>
<p>Ett väl fungerande <strong>Lagarbete</strong> är svårt att skapa på syntetisk väg. Var försiktig så att eventuella knuffar för att stimulera lagarbete inte hindrar teamets naturliga sätt att arbeta.</p>
<hr />
<h3>Storleken har betydelse</h3>
<p>Kommunikationen sägs bli  bättre av att sätta gruppmedlemmar fysiskt nära varandra, så att de kan använda högeffektiva kommunikationsmedier &#8212; tal och ansiktsuttryck &#8212; och uppnå <a href="http://alistair.cockburn.us/Osmotic+communication">osmotisk kommunikation</a>.</p>
<p>Det är dock svårt att skala det här &#8212; större grupper kommunicerar mindre effektivt och det blir svårare för medlemmarna att socialt knyta an till hela gruppen.</p>
<h5>Därför</h5>
<p>Ge dina team <strong>Gemensamma intressen</strong>, så att de har något att kommunicera kring, men inte så stora mål att de behöver vara fler än <a href="http://www.google.se/search?q=team+size">5-9 personer</a>.</p>
<h5>Men</h5>
<p>Om ditt team av någon anledning måste vara stort, försök introducera tekniker och regler för att minimera störningar (både inifrån och utifrån), maximera kommunikationsmöjligheterna och stimulera social interaktion.</p>
<hr />
<h3>Privat sfär</h3>
<p>Jag har vid ett par tillfällen suttit i jättebra grupper, med <strong>Gemensamma intressen</strong> och lagom storlek, men två meter ifrån vår arbetsyta har ett annat, mycket mer högljutt team (med tråkig humor) suttit och förpestat lugnet. Som jag minns det var vi väldigt tysta och skötsamma, men något säger mig att de tänkte samma sak om oss.</p>
<h5>Därför</h5>
<p>Isolera team från varandra genom att ge varje team ett eget rum där de inte störs av buller från utomstående. Alternativt, möblera med skärmar och whiteboards så att teamet får vara någorlunda ifred från störmoment.</p>
<h5>Men</h5>
<p>Att team är fysiskt avskilda från varandra till vardags betyder inte att de ska sluta kommunicera, bara att de ska undvika att störa varandra med slumpmässigt oljud.</p>
<hr />
<h3>Telefonrum</h3>
<p>Om jag delar rum med fem personer och min fru ringer för att fråga om deklarationen vill jag helst inte prata inför mina kolleger. Eller om jag behöver ringa för att boka en läkartid eller bara snacka med en kompis. Dessutom finns det få saker som är så störande för omgivningen som någon annans mobiltelefonsamtal.</p>
<h5>Därför</h5>
<p>Se till att varje team har ett dedikerat rum med dörr som är avsett för privata telefonsamtal. Om lokalerna tryter, låt flera team dela på ett telefonrum. Vi har ett litet konferensrum som man inte kan boka, men som ockuperas för mindre möten. När det är ledigt används det flitigt som telefonrum, annars hänger folk ganska oblygt i korridoren.</p>
<p>Det viktigaste är att folk inte känner sig utsatta när de sköter sina personliga förehavanden, och att deras kolleger inte störs om de saknar normala telefonspärrar.</p>
<hr />
<h3>Samfälliga avbrott</h3>
<p>När någon utomstående kommer in i gruppens rum för att prata med en enskild medlem avbryts och störs alla medlemmars arbete. Ofta tror den som frågar att den har korn på vem som vet mest, men lika ofta visar det sig att gruppen tillsammans vet mer än någon enskild medlem, särskilt om gruppen ägnar sig åt <strong>Lagarbete</strong></p>
<h5>Därför</h5>
<p>Arbeta för att utomstående inte ska tilltala enskilda medlemmar om arbetsrelaterade saker, utan hela gruppen &#8212; alla är ändå inblandade konversationen, från det att någon säger &#8221;Hörru, Kim, jag undrar&#8230;&#8221;.</p>
<h5>Men</h5>
<p>Om det rör privata angelägenheter, lämna gruppens arbetsyta, för att störa så lite som möjligt.</p>
<hr />
<h2>Slutsats</h2>
<p>Som alla tekniker fungerar samsittning olika bra i olika sammanhang. Efter ett gäng bra och några dåliga erfarenheter vill jag driva tesen att fokuserat lagarbete i en mindre grupp i alla fall är en bra start.</p>
<p>Ständigt återkommande teman ovan är <strong>Gemensamma intressen</strong>,<strong> Lagarbete</strong> och <strong>kommunikation. </strong></p>
<p>Kommunikationen<strong> </strong>ses ofta som den stora fördelen med att placera grupper tillsammans, men jag tror inte förbättrad kommunikation kommer gratis, den är avhängig flera andra aspekter av teamets samarbete.</p>
Posted in People, Process  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=117&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/07/06/sitta-tillsammans-pa-olika-satt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>
	</item>
		<item>
		<title>Korrekthet och noggrannhet för småbarnsföräldrar</title>
		<link>http://grundlig.wordpress.com/2009/06/18/korrekthet-och-noggrannhet-for-smabarnsforaldrar/</link>
		<comments>http://grundlig.wordpress.com/2009/06/18/korrekthet-och-noggrannhet-for-smabarnsforaldrar/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 19:02:52 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=130</guid>
		<description><![CDATA[Jag har haft stora problem i mitt liv med att skilja på de engelska termerna accuracy och precision &#8212; jag väljer att översätta det med korrekthet och noggrannhet.
Min tvååriga dotter visade idag exakt hur de skiljer sig.
 
Hon berättade att den stora klumpen till höger, som ser ut som en potatis, var en lång dator. Liksom [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=130&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Jag har haft stora problem i mitt liv med att skilja på de engelska termerna <em><a href="http://en.wikipedia.org/wiki/Accuracy_and_precision">accuracy</a></em><a href="http://en.wikipedia.org/wiki/Accuracy_and_precision"> och </a><em><a href="http://en.wikipedia.org/wiki/Accuracy_and_precision">precision</a><span style="font-style:normal;"> &#8212; jag väljer att översätta det med </span>korrekthet<span style="font-style:normal;"> och </span>noggrannhet<span style="font-style:normal;">.</span></em></p>
<p>Min tvååriga dotter visade idag exakt hur de skiljer sig.</p>
<p> </p>
<div id="attachment_132" class="wp-caption aligncenter" style="width: 310px"><a href="http://grundlig.files.wordpress.com/2009/06/accuracy_precision.png"><img class="size-medium wp-image-132 " title="Etch-a-Sketch with scribbles" src="http://grundlig.files.wordpress.com/2009/06/accuracy_precision.png?w=300&#038;h=241" alt="Etch-a-Sketch with scribbles" width="300" height="241" /></a><p class="wp-caption-text">Accuracy or precision?</p></div>
<p>Hon berättade att den stora klumpen till höger, som ser ut som en potatis, var en lång dator. Liksom de små spetsiga grejerna mitt på ritbrädan, förutom en, som var en bil.</p>
<p>Då slog det mig. Hennes ritande är inte särskilt korrekt &#8212; <em>accurate</em>, men hon är en fena på att rita små, minutiösa detaljer med stor noggrannhet &#8212; <em>precision</em>.</p>
<p>Wikipedias definition talar om sanningsenlig vs. reproducerbar, men det är ju inte alls lika bedårande.</p>
Posted in Editorial  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=130&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/06/18/korrekthet-och-noggrannhet-for-smabarnsforaldrar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>

		<media:content url="http://grundlig.files.wordpress.com/2009/06/accuracy_precision.png?w=300" medium="image">
			<media:title type="html">Etch-a-Sketch with scribbles</media:title>
		</media:content>
	</item>
		<item>
		<title>Språk, makt och inflytande</title>
		<link>http://grundlig.wordpress.com/2009/06/15/sprak-makt-och-inflytande/</link>
		<comments>http://grundlig.wordpress.com/2009/06/15/sprak-makt-och-inflytande/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 19:46:34 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=123</guid>
		<description><![CDATA[När jag funderar på vad som är viktigt för att lyckas med mjukvarudesign återkommer jag ganska ofta till god språkkänsla. Jag har tidigare hävdat att en av de viktigaste kvalitéerna i god design är bra namngivning, men också att vara konsekvent i sitt uttryck (problemlösande) och inte vackla mellan olika stilnivåer (abstraktionsnivåer).
Och samma gäller egentligen för [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=123&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>När jag funderar på vad som är viktigt för att lyckas med mjukvarudesign återkommer jag ganska ofta till god språkkänsla. Jag har <a href="http://grundlig.wordpress.com/2009/02/17/3-hemligheter-bakom-lattlast-kod/">tidigare hävdat</a> att en av de viktigaste kvalitéerna i god design är bra namngivning, men också att vara konsekvent i sitt uttryck (problemlösande) och inte vackla mellan olika stilnivåer (abstraktionsnivåer).</p>
<p>Och samma gäller egentligen för att kunna förstå programkod &#8212; vad termer betyder, hur element passar i sitt sammanhang.</p>
<p>Jag berömmer mig själv med att vara ganska bra på engelska, men jag märker att jag under åren tappat ganska mycket fart för att jag missförstått eller inte alls förstått grundstenar i tredjeparts-API:er och datavetenskapslitteratur. Så mycket av vår vetenskap genomsyras av metaforer att det är rätt tufft att hänga med om man inte är intresserad av att förstå och även av att kunna uttrycka sig.</p>
<p>Men det här gäller nog inte bara den tekniska sidan. Hänvisningar till och vikten av språk återkommer hela tiden i XPs system av tekniker och värderingar (t.ex. <a href="http://c2.com/cgi/wiki?SystemMetaphor">Metafor</a>, <a href="http://en.wikipedia.org/wiki/User_story">User Stories</a>, <a href="http://www.mayford.ca/xp/communication.html">Kommunikation som en del av värdegrunden</a>).</p>
<p>Jag snubblade idag över någon som beskrev en enkel retrospektivövning där varje deltagare ombeds att med <em>ett ord</em> beskriva sina känslor inför en nyss avslutad iteration. Det finns ju professionella författare som hade haft stora besvär med att åstadkomma det.</p>
<p>Vi har en engelskspråkig gruppchef, och jag märker att våra gruppmöten ofta blir lite tysta. Folk är inte rädda för att prata, men tröskeln är högre för att dra ett skämt eller försvara en ståndpunkt på något annat än sitt modersmål, även om alla är väldigt duktiga på engelska.</p>
<p>Knepigt.</p>
<p>Det verkar på det hela taget som att man som systemutvecklare borde vilja slipa sin språkkänsla, så att man lättare kan ta in den massiva ström av metaforer som möter oss dagligen. Förmodligen på engelska.</p>
<p>Men vi borde också vilja träna oss på att uttrycka känslor och önskningar med hjälp av metaforer och andra tekniker, för att effektivt kunna kommunicera med vårt team. Kanske på svenska, kanske på firmans koncernspråk, men åtminstone på teamets <a href="http://en.wikipedia.org/wiki/Lingua_franca">Lingua franca</a>.</p>
<p>Språk ger inte bara makt utan är också en väg till inflytande. Jag försöker bättra mitt språk genom att läsa mycket skönlitteratur och skriva lite rappakalja i bloggformat. Vad gör du?</p>
Posted in Coding, People  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=123&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/06/15/sprak-makt-och-inflytande/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>
	</item>
		<item>
		<title>Projektberoenden måste kanske inte göra ont</title>
		<link>http://grundlig.wordpress.com/2009/04/27/projektberoenden-maste-kanske-inte-gora-ont/</link>
		<comments>http://grundlig.wordpress.com/2009/04/27/projektberoenden-maste-kanske-inte-gora-ont/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 20:52:29 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[People]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=108</guid>
		<description><![CDATA[Beroenden mellan projektgrupper verkar svårt att hantera (det kan vara ett lokalt problem, men jag väljer att låtsas att det är mer allmängiltigt).
Även om små, sammanhållna och seriella projekt verkar vara en ganska populär strategi kan jag ganska sällan i min roll som tjurig utvecklare styra hur projektportföljen ska förvaltas. Däremot har jag en del [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=108&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Beroenden mellan projektgrupper verkar svårt att hantera (det kan vara ett lokalt problem, men jag väljer att låtsas att det är mer allmängiltigt).</p>
<p>Även om små, sammanhållna och seriella projekt verkar vara en ganska populär strategi kan jag ganska sällan i min roll som tjurig utvecklare styra hur projektportföljen ska förvaltas. Däremot har jag en del chanser att påverka hur arbetet fortlider när projekten väl är igång.</p>
<p>Fowler <a href="http://martinfowler.com/bliki/ServiceCustodian.html">presenterar en intressant modell</a> där SOA-tjänster utvecklas i open source-stil, så att team i beroendeställning kan agera patch-bidragsgivare till en tjänst de är beroende av.</p>
<p>Jag tror inte det här behöver vara specifikt för SOA-sfären, utan snarare att  projekt som använder tjänsteorienterade arkitekturer kanske karakteriseras av en viss storlek och flera parallellt aktiva team. Det vill säga; alla projekt över en viss storlek (mer än ett team) skulle kunna koka ihop något i den här stilen oavsett vilken arkitekturstil de råkar använda.</p>
<p>Fowlers vårdnadshavarmodell har mekanismer för att provocera fram kommunikation mellan två team i ett beroendeförhållande och det skulle man kunna spinna vidare på.</p>
<p>Exempelvis, genom att så länge det finns ett beroende i någon riktning kräva en aktiv representant på varandras dagliga stå-möten. Det borde stimulera teamen att hålla varandra uppdaterade på sina respektive behov och planer.</p>
<p>Eller genom att arrangera utbyte mellan teamen så att teamet i beroendeställning får en representant som kan arbeta med deras behov i deras kontext. På så sätt ökar man chanserna dramatiskt att rätt problem löses på rätt sätt.</p>
<p>Ett fokus på kommunikation och samarbete torde kunna mildra problembilden väsentligt.</p>
Posted in People, Process  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=108&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/04/27/projektberoenden-maste-kanske-inte-gora-ont/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>
	</item>
		<item>
		<title>Teambuilding på jobbet, tack</title>
		<link>http://grundlig.wordpress.com/2009/03/09/teambuilding-pa-jobbet-tack/</link>
		<comments>http://grundlig.wordpress.com/2009/03/09/teambuilding-pa-jobbet-tack/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 19:46:53 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=105</guid>
		<description><![CDATA[Jag kanske är tjurig och enslig, men jag gillar inte teambuilding i eventformat. Jag tycker inte öl och pilkastning i skogen för mig närmare mina kolleger på ett sätt som gör att vi kommer att jobba bättre tillsammans.
Sociala aktiviteter utanför arbetsplatsen kan vara roligt, men jag ser ett par problem:

det förekommer som regel alkohol och [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=105&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Jag kanske är tjurig och enslig, men jag gillar inte <a href="http://sv.wikipedia.org/wiki/Teambuilding">teambuilding i eventformat</a>. Jag tycker inte öl och pilkastning i skogen för mig närmare mina kolleger på ett sätt som gör att vi kommer att jobba bättre tillsammans.</p>
<p>Sociala aktiviteter utanför arbetsplatsen kan vara roligt, men jag ser ett par problem:</p>
<ol>
<li>det förekommer som regel alkohol och att finna laganda och samhörighet under påverkan <em>kan</em> fungera, men det finns också en väsentlig risk att folk blir osams eller gör något oöverlagt som de ångrar på måndag morgon, och som deras kolleger kan fnissa åt när de hämtar kaffe</li>
<li>teambuilding-aktiviteter gör anspråk på folks fritid under förespegling att det är något roligt som firman bjuder på, inte något som långsiktigt ska gynna företaget genom att teamen cementeras</li>
<li>att prata jobb när man äntligen är borta från eländet ses som tabubelagt</li>
</ol>
<p>Jag förstår tanken med att stärka relationen mellan teammedlemmar genom att stimulera ett mer personligt umgänge, men jag tror det är svårt att trigga folk att öppna sig på beställning.</p>
<p>Min övertygelse är att teambuilding sker bäst genom att låta team arbeta och lösa problem tillsammans och få förtroende för varandra i en arbetssituation.</p>
<p>Det här är bara en känsla jag har, är det någon som vet om man har granskat hur effektiv modern teambuilding egentligen är?</p>
Posted in People  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=105&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/03/09/teambuilding-pa-jobbet-tack/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>
	</item>
		<item>
		<title>Apelsiner, mognad och kodkvalitet</title>
		<link>http://grundlig.wordpress.com/2009/03/01/apelsiner-mognad-och-kodkvalitet/</link>
		<comments>http://grundlig.wordpress.com/2009/03/01/apelsiner-mognad-och-kodkvalitet/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 08:48:24 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=93</guid>
		<description><![CDATA[Michael Feathers skrev nyligen om förhållandet mellan apelsiner och duplicerad kod. Han jämför kod med fruktkött och strukturelement med de tunna hinnor i en apelsin som håller ihop köttet i klyftor.
Det här angränsar till min teori om ration mellan kod- och strukturelement som mått på kvalitet, men istället för att, som undertecknad, blankt hävda att [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=93&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Michael Feathers skrev nyligen om <a href="http://blog.objectmentor.com/articles/2009/02/17/the-bloat-at-the-edge-of-duplication-removal-the-orange-model">förhållandet mellan apelsiner och duplicerad kod</a>. Han jämför kod med fruktkött och strukturelement med de tunna hinnor i en apelsin som håller ihop köttet i klyftor.</p>
<p>Det här angränsar till <a href="http://grundlig.wordpress.com/2009/01/07/mindre-kod-mer-struktur/">min teori om ration mellan kod- och strukturelement som mått på kvalitet</a>, men istället för att, som undertecknad, blankt hävda att mer struktur är bättre ställer sig Feathers frågan om det finns en optimal ratio. En lite mer mogen inställning.</p>
<p>Det skulle vara intressant att göra lite empiriska mätningar. Mot alla instinkter skulle jag vilja  börja med Java, för jag tror det finns en högre grad av objektorienterade open-source-applikationer skrivna i Java (<a href="http://fitnesse.org/">FitNesse</a>, t.ex). Undrar vad det finns för bra bibliotek för att parsa Javakod&#8230;</p>
Posted in Coding  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=93&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/03/01/apelsiner-mognad-och-kodkvalitet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>
	</item>
		<item>
		<title>3 hemligheter bakom lättläst kod</title>
		<link>http://grundlig.wordpress.com/2009/02/17/3-hemligheter-bakom-lattlast-kod/</link>
		<comments>http://grundlig.wordpress.com/2009/02/17/3-hemligheter-bakom-lattlast-kod/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 21:28:52 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=87</guid>
		<description><![CDATA[Ju mer kod jag läser, desto mer märker jag att riktigt lättläst kod kännetecknas av ett par enkla karaktärsdrag:

 Den har väl namngivna element &#8212; om vi lindar vår kod i bra, betydelsebärande namn är det väsentligt enklare att hitta den och navigera runt i den.
Den är konsekvent &#8212; man löser liknande problem på liknande [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=87&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ju mer kod jag läser, desto mer märker jag att riktigt lättläst kod kännetecknas av ett par enkla karaktärsdrag:</p>
<ul>
<li> Den har väl namngivna element &#8212; om vi lindar vår kod i bra, betydelsebärande namn är det väsentligt enklare att hitta den och navigera runt i den.</li>
<li>Den är konsekvent &#8212; man löser liknande problem på liknande sätt och har en konsekvent kodstil.</li>
<li>Den håller samma abstraktionsnivå inom varje strukturelement &#8212; alla metoder i en klass bör vara på samma abstraktionsnivå, alla uttryck i en metod likaså.</li>
</ul>
<p>Jag inbillar mig att detta är enklare att förklara än design-mönster, <a href="http://en.wikipedia.org/wiki/Coupling_(computer_science)">koppling </a>och <a href="http://en.wikipedia.org/wiki/Cohesion_(computer_science)">sammanhållning</a> och <a href="http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf">SOLID-principer</a>, och jag tror att de här ledstjärnorna tar oss nästan hela vägen fram.</p>
<p>Kod skriven enligt dessa principer är inte nödvändigtvis väldesignad, men den kommer utan tvekan att vara lätt att förstå. Och kod man kan begripa kan man som regel också ändra på.</p>
Posted in Coding, People  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=87&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/02/17/3-hemligheter-bakom-lattlast-kod/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>
	</item>
		<item>
		<title>mailto, Firefox och GMail</title>
		<link>http://grundlig.wordpress.com/2009/02/14/mailto-firefox-och-gmail/</link>
		<comments>http://grundlig.wordpress.com/2009/02/14/mailto-firefox-och-gmail/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 19:30:47 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=85</guid>
		<description><![CDATA[Kortis idag: jag har retat mig lite på att jag inte kan klicka på mailto-länkar i webbläsaren utan att Outlook dras igång på maskinen.
Jag hittade diverse add-ons till Firefox innan jag upptäckte att man i senare revisioner av Firefox faktiskt kan välja GMail som mailto-hanterare.
Det tackar vi särskilt för!
Posted in Tools     [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=85&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Kortis idag: jag har retat mig lite på att jag inte kan klicka på mailto-länkar i webbläsaren utan att Outlook dras igång på maskinen.</p>
<p>Jag hittade <a href="http://lifehacker.com/software/gmail/lifehacker-code-better-gmail-firefox-extension-251923.php">diverse</a> <a href="http://lifehacker.com/software/exclusive-lifehacker-download/better-gmail-2-firefox-extension-for-new-gmail-320618.php">add-ons till Firefox</a> innan jag upptäckte att man i senare revisioner av Firefox faktiskt <a href="http://ffextensionguru.wordpress.com/2008/09/24/gmail-as-default-for-mailto/">kan välja GMail som mailto-hanterare</a>.</p>
<p>Det tackar vi särskilt för!</p>
Posted in Tools  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=85&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/02/14/mailto-firefox-och-gmail/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>
	</item>
		<item>
		<title>Mindre kod, mer struktur</title>
		<link>http://grundlig.wordpress.com/2009/01/07/mindre-kod-mer-struktur/</link>
		<comments>http://grundlig.wordpress.com/2009/01/07/mindre-kod-mer-struktur/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 19:38:46 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=71</guid>
		<description><![CDATA[I väldesignad kod ser man ofta att mängden sammanhängande (jag använder en eufemism sedan &#8221;procedurell&#8221; blivit ett skällsord) kod går mot noll, och mängden strukturelement mot oändligheten. Med &#8221;strukturelement&#8221; menar jag språkets definitionselement &#8212; för typiska OO-språk skulle det vara klass- och metoddefinitioner.
Den här tendensen förstärks t.ex. av objektorienterade designmönster, som i sin iver att [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=71&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I väldesignad kod ser man ofta att mängden sammanhängande (jag använder en eufemism sedan &#8221;procedurell&#8221; blivit ett skällsord) kod går mot noll, och mängden strukturelement mot oändligheten. Med &#8221;strukturelement&#8221; menar jag språkets definitionselement &#8212; för typiska OO-språk skulle det vara klass- och metoddefinitioner.</p>
<p>Den här tendensen förstärks t.ex. av objektorienterade designmönster, som i sin iver att utnyttja polymorfism ökar antalet klasser för att kunna minska mängden villkorslogik.</p>
<p>Se på ett litet C++-program:</p>
<pre class="brush: cpp;">
class Greeting
{
public:
  Greeting(const std::string&amp; target)
    : m_target(target)
  {
  }

  void Utter(std::ostream&amp; channel)
  {
    channel &lt;&lt; &quot;Hello &quot; &lt;&lt; m_target &lt;&lt; &quot;!&quot;;
  }

private:
  std::string m_target;
};

int main()
{
    Greeting greeting(&quot;Dolly&quot;);
    greeting.Utter(std::cout);
    return 0;
}
</pre>
<p>Vi har egentligen bara tre rader procedurell kod här, implementationen av <code>Greeting::Utter</code> och användandet av <code>Greeting</code> i <code>main</code>. Det betyder att 20 rader består av strukturelement. Av dem innehåller i sin tur tre (<code>Greeting</code>, <code>Utter</code> och <code>main</code>) namn som skänker någon sorts betydelse till programmet. Resterande 17 är mest <a href="http://martinfowler.com/bliki/SyntacticNoise.html">syntaktiskt oväsen</a>.</p>
<p>Fast jag hade inte tänkt smutskasta C++ &amp; co här, läs Fowlers artikel för mer tankar om olika språks uttrycksfullhet.</p>
<p>Snarare vill jag kasta ut en fundering: skulle man kunna använda ration mellan strukturelement och kodelement som ett mått på designkvalitet? Något säger mig att det skulle funka ganska bra för språk som C++, Java och C#&#8230;</p>
Posted in Coding  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=71&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/01/07/mindre-kod-mer-struktur/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>
	</item>
		<item>
		<title>Intra-testning</title>
		<link>http://grundlig.wordpress.com/2009/01/03/intra-testning/</link>
		<comments>http://grundlig.wordpress.com/2009/01/03/intra-testning/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 22:54:40 +0000</pubDate>
		<dc:creator>Kim Gräsman</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://grundlig.wordpress.com/?p=59</guid>
		<description><![CDATA[John Carter beskrev en teknik på TDD-listan för ett tag sedan, som jag tog djupt intryck av.
Han beskriver någon sorts fattigmans Design By Contract, som i vaga ordalag går ut på att man strösslar assertions i sin kod för att beskriva antaganden.
Det Carter säger, och som jag till slut förstod, var att detta egentligen är [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=59&subd=grundlig&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://tech.groups.yahoo.com/group/testdrivendevelopment/message/29507">John Carter beskrev en teknik</a> på TDD-listan för ett tag sedan, som jag tog djupt intryck av.</p>
<p>Han beskriver någon sorts fattigmans <a href="http://en.wikipedia.org/wiki/Design_by_contract">Design By Contract</a>, som i vaga ordalag går ut på att man strösslar assertions i sin kod för att beskriva antaganden.</p>
<p>Det Carter säger, och som jag till slut förstod, var att detta egentligen är samma sak som en assertion i ett enhetstest &#8212; bara inbäddat i koden. Vad jag inte hade skänkt så mycket eftertanke var att dessa assertions, precis som dem i enhetstester, faktiskt möjliggör säkrare refactoring.</p>
<p>Jag vill kalla det här för <em>intra-testning</em>, eftersom systemet i någon mån verifierar sig självt (jag var sugen på <em>endo-testing</em>, <a href="http://sourceforge.net/docman/display_doc.php?docid=5585&amp;group_id=18189">men det visade sig vara upptaget</a>. Skit också.)</p>
<p>Vi kanske inte ska kasta xUnit till grisarna riktigt ännu. Förutom att beskriva antaganden är en solid test-svit också ett överlägset sätt att automatiskt köra igenom all kod som täcks av testerna i de spår som dragits upp av testfallen. Att lämna assertions i vår produktionskod ger oss fortfarande inget stöd i att driva den maskinellt.</p>
<p>Men jämför med hur du skulle testa en förändring utan vare sig tester eller assertions. Manuellt, eller hur? Peta och klicka lite, kolla så att allt ser rätt ut? Utan automatiserade tester är det det bästa vi har för att driva systemet, men genom att lägga till intra-testning kan vi ersätta trött okulär besiktning med automatisk evaluering av systemets tillstånd.</p>
<p>Jag säger inte att man bör föredra intra-testning framför enhetstestning, men jag tror att det kan användas för att göra de första penseldragen stadigare när man omarbetar otestad kod för att kunna få den under test.</p>
<p><a href="http://www.michaelfeathers.com/">Michael Feathers</a> nämner aldrig den här tekniken i <a href="http://www.amazon.com/dp/0131177052">Working Effectively With Legacy Code</a>, men den hör nog hemma tillsammans med de andra under rubriken &#8221;How do I know that I&#8217;m not breaking anything?&#8221; som beskriver diverse sätt att bryta beroenden.</p>
Posted in Coding  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grundlig.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grundlig.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grundlig.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grundlig.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grundlig.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grundlig.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grundlig.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grundlig.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grundlig.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grundlig.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grundlig.wordpress.com&blog=2824521&post=59&subd=grundlig&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://grundlig.wordpress.com/2009/01/03/intra-testning/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/584313b8fd63f6fa56554be62a757275?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Kim</media:title>
		</media:content>
	</item>
	</channel>
</rss>