<?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>Altran CIS bloggen &#187; Agile</title>
	<atom:link href="http://blogg.altran.se/cis/index.php/category/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogg.altran.se/cis</link>
	<description>Altran CIS bloggen</description>
	<lastBuildDate>Thu, 26 Jan 2012 18:32:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dag 1 på Øredev 2010</title>
		<link>http://blogg.altran.se/cis/2010/11/11/dag-1-pa-%c3%b8redev-2010-mattias-almens-reflektioner/</link>
		<comments>http://blogg.altran.se/cis/2010/11/11/dag-1-pa-%c3%b8redev-2010-mattias-almens-reflektioner/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 23:10:05 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Øredev]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=792</guid>
		<description><![CDATA[Key Note
Jeffrey Norris från NASA gav oss alla en bra start på Øredev. Han visade på det viktiga med att vara agil genom att resa tillbaka i tiden och peka på hur Bell och hans team var agila på sin tid. Han visade också på konsekvenserna av att inte vara det. VISION, RISK och COMMITMENT [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Key Note<br />
</strong>Jeffrey Norris från NASA gav oss alla en bra start på Øredev. Han visade på det viktiga med att vara agil genom att resa tillbaka i tiden och peka på hur Bell och hans team var agila på sin tid. Han visade också på konsekvenserna av att inte vara det. VISION, RISK och COMMITMENT var hans ledord. Fler paralleller till landningen på månen. Där visades en riktig cool 3D simulering i realtid av de ingående delarna i raketen och månlandaren. Jeff bollade med de olika delarna och de projicerades i 3D.</p>
<p><strong>Embracing HTTP in the .Net &#8211; Glenn Block</strong><br />
Det har efterfrågats en närmare kontakt med http i WCF det finns nu att ladda ner på <a href="http://wcf.codplex.com">http://wcf.codplex.com</a> Det man får är bla en stark typning i accessen till http stacken. Något som jag kanske inte dirket känt ett behov av, än&#8230;</p>
<p>Men det som också erbjuds i och med det är att man kan koppla på processors på den inkommande ellet utgående http strömmen. I och med det så kan man utan att ändra på en befintlig metod, som tex returnerar en IEnumerable, erbuda olika content types att efterfrågas tex json eller odata. Du gör inte detta på din metod utan konfigurerar detta på applikationsnivå.</p>
<p><strong>Android outside a phone &#8211; Chris Hughes</strong><br />
Jag hade hoppas på några coola demos. Men tyvärr hade blivit av med sina prylar (inte här i Sverige) så det blev det inte. Utan presentationen var tekniktung på lågnivå blan komponenter och C kod. Men tydligt blev att Android är lättare och betydligt billigare att använda för att styra diverse devices. Kul var det när Chris berättade om att han hade laddat in Android på en iPhone 3G och kopplat den till en dammsugare. Han kunde nu schemalägga städningen. Dammsugaren hade hela planlösningen klart för sig. Men framför allt så kunde dammsugaren jaga katten <img src='http://blogg.altran.se/cis/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Unleash Your Domain &#8211; Greg Young</strong><br />
Greg berättade om deras applikation som kör över 10 00 transaktioner över en rik modell. Och nyckeln är att dem använder sig av state transitions. Det handlar också om en CQRS modell där för att förenkla det hela Commands och Query har varsin modell. Query delen använder sig av en databas i första normalform. Medans Commands delen använder en databas i tredje eller fjärde normalformen. Klart spännande och man får läsa på mer&#8230; Bla här kan man läsa mer <a href="http://elegantcode.com/2009/11/11/cqrs-la-greg-young/">http://elegantcode.com/2009/11/11/cqrs-la-greg-young/</a> och hur mycket som helst ska finnas här <a href="http://cqrsinfo.com/">http://cqrsinfo.com/</a></p>
<p><strong>Making Java and .Net play well together &#8211; Ted Neward</strong><br />
Ted pratade om varför detta kan behövas och han presenterade ett antal olika metoder beroende på vilka krav man har på snabbhet tex. Spontant kan man tänka sig saker som att använda en databas för att flytta information eller BizTalk och MQSeries (om man nu har dem produkterna). Men det går också att lösa out-of process med tex sockets eller RPC och web services. Det finns även lösningar för In-process med div verktyg tex IKVM och JNBridge.</p>
<p>//Mattias</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2010/11/11/dag-1-pa-%c3%b8redev-2010-mattias-almens-reflektioner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>21SCRUM, Scrumverktyg i SharePoint</title>
		<link>http://blogg.altran.se/cis/2010/08/02/21scrum-scrumverktyg-i-sharepoint/</link>
		<comments>http://blogg.altran.se/cis/2010/08/02/21scrum-scrumverktyg-i-sharepoint/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 08:06:08 +0000</pubDate>
		<dc:creator>Joakim</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=696</guid>
		<description><![CDATA[Jag har tidigare bloggat om Andrew Woodwards Project Aberdovey, och nu har projektet resulterat i en färdig produkt med namnet 21SCRUM.
Det är en SharePoint 2010 sandboxed solution som tillhandahåller ett prydligt interface för att se burndown, planera sprints och storyboard där man via dran&#8217;n'dropp kan starta stories, sätta de som completed osv.
Det finns en trialversion [...]]]></description>
			<content:encoded><![CDATA[<p>Jag har tidigare bloggat om Andrew Woodwards Project Aberdovey, och nu har projektet resulterat i en färdig produkt med namnet <a href="http://www.21scrum.com/" target="_blank">21SCRUM</a>.</p>
<p>Det är en SharePoint 2010 sandboxed solution som tillhandahåller ett prydligt interface för att se burndown, planera sprints och storyboard där man via dran&#8217;n'dropp kan starta stories, sätta de som completed osv.</p>
<p>Det finns en trialversion att ladda ner, produkten kostar $150 för en sitecollection-licens.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2010/08/02/21scrum-scrumverktyg-i-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QCon London 2010 &#8211; Åldrande mjukvara, Mönster, Framtiden och DDD</title>
		<link>http://blogg.altran.se/cis/2010/03/12/qcon-london-2010-aldrande-mjukvara-monster-framtiden-och-ddd/</link>
		<comments>http://blogg.altran.se/cis/2010/03/12/qcon-london-2010-aldrande-mjukvara-monster-framtiden-och-ddd/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 22:55:04 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[Webb]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Arkitektur]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[QCon]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=489</guid>
		<description><![CDATA[Torsdagen har varit mycket inspirerande. Den startade med en keynote av Ralph Johnson (en av Gang of Four) som satte mönster i objektorienterad design på kartan. Ralph diskuterade hur utveckling skiljer sig åt när en programvara skall leva länge kontra dö snabbt. Skillnaderna är stora. En levande programvara behöver underhållas med varsam hand för att [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_490" class="wp-caption alignnone" style="width: 610px"><img class="size-medium wp-image-490" title="Eric Evans om 2015" src="http://blogg.altran.se/cis/wp-content/uploads/2010/03/IMG_0044-600x450.jpg" alt="Eric Evans om 2015" width="600" height="450" /><p class="wp-caption-text">Eric Evans om 2015</p></div>
<p>Torsdagen har varit mycket inspirerande. Den startade med en keynote av Ralph Johnson (en av <a title="GoF" href="http://en.wikipedia.org/wiki/Design_Patterns" target="_blank">Gang of Four</a>) som satte mönster i objektorienterad design på kartan. Ralph diskuterade hur utveckling skiljer sig åt när en programvara skall leva länge kontra dö snabbt. Skillnaderna är stora. En levande programvara behöver underhållas med varsam hand för att kommande generationer av utvecklare skall kunna arbeta vidare.</p>
<p>Kevlin Henney (delförfattare till Pattern Oriented Software Architecture-serien av böcker) diskuterade mönster, och hur viktigt det är att känna till konsekvenserna av att applicera ett mönster. Särskilt de negativa konsekvenserna. Singleton är förutom ett designmönster även en whiskysort, och enligt Kevlin är spriten att föredra framför designmönstret när man designar system&#8230;</p>
<p>Eric Evans (Domain Driven Design) höll två mycket intressanta föredrag, dels om framtiden (What will not change by 2015) så som han såg den, dels om hur man kan arbeta strukturerat med DDD i en Agil uvecklingsmiljö (Folding design into an Aglie Process). Den sistnämnda presentationen var av mycket hög kaliber, med bra tips om vilka signaler man kan lyssna efter när det är dags att ta ett steg tillbaka för att arbeta fram en bättre design. Presentationen filmades, så jag hoppas den kommer upp på nätet så alla intresserade kan ta del av den.</p>
<p>Mer från QCon kommer!</p>
<p>/Emil</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2010/03/12/qcon-london-2010-aldrande-mjukvara-monster-framtiden-och-ddd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QCon London 2010 &#8212; DCI/Lean och REST</title>
		<link>http://blogg.altran.se/cis/2010/03/09/qcon-london-2010-dcilean-och-rest/</link>
		<comments>http://blogg.altran.se/cis/2010/03/09/qcon-london-2010-dcilean-och-rest/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 21:54:48 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[Webb]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[agila arbetssätt]]></category>
		<category><![CDATA[DCI]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[QCon]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=476</guid>
		<description><![CDATA[Tisdagen här i London har förutom ett besök på Milroy&#8217;s of Soho (en av de bättre whisky-butikerna här) gett oss mycket matnyttig kunskap kring DCI/Lean (Data Context Interaction, Lean Software Development, Lean IT), och REST/ROA (REpresentational State Transfer, Resource Oriented Architecture).
Lean-utveckling handlar i mångt och mycket om göra lagom mycket arkitektur &#8221;up front&#8221;, att ta [...]]]></description>
			<content:encoded><![CDATA[<p>Tisdagen här i London har förutom ett besök på Milroy&#8217;s of Soho (en av de bättre whisky-butikerna här) gett oss mycket matnyttig kunskap kring DCI/Lean (<a title="DCI" href="http://en.wikipedia.org/wiki/Data,_Context,_and_Interaction" target="_blank">Data Context Interaction</a>, <a title="LEAN" href="http://en.wikipedia.org/wiki/Lean_software_development" target="_blank">Lean Software Development</a>, <a title="LEAN it" href="http://en.wikipedia.org/wiki/Lean_IT" target="_blank">Lean IT</a>), och REST/ROA (<a title="REST" href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REpresentational State Transfer</a>, <a title="ROA" href="http://en.wikipedia.org/wiki/Resource_oriented_architecture" target="_blank">Resource Oriented Architecture</a>).</p>
<p>Lean-utveckling handlar i mångt och mycket om göra lagom mycket arkitektur &#8221;up front&#8221;, att ta svåra beslut sent, bara utföra arbete som addera värde mm. Detta i kombination med DCI där man tydligt separerar Data (domän) från Context (use cases) och Interaction (Roller) ger en kraftfull mix av användarupplevelse och tillräckligt kraftfull arkitektur för utveckling. Jim Coplien engagerade och underhöll under hela dagen.</p>
<p>Brian Sletten visade hur REST/ROA ger oss möjligheter att arbeta med vår data på helt nya sätt. Dessutom snabbt ( datan kan göras cachebar). Och enkelt (web-baserade protokoll för integration). Den semantiska webben är på gång (igen), den här gången med ROA och REST som drivkrafter. Brian imponerade med demonstrationer av enkelhet och kraftfullhet i <a title="restlet" href="http://www.restlet.org/" target="_blank">Restlets</a> och <a title="netkernel" href="http://www.1060research.com/netkernel/" target="_blank">Netkernel</a>. Mycket av detta finns att läsa om i Roy Fieldings avhandling från 2000: <a title="fielding phd" href="http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm" target="_blank">Architectural Styles and Design of Network-based Software Architectures</a>.</p>
<p>Mer från QCon kommer!</p>
<p>/Emil &amp; Stefan</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2010/03/09/qcon-london-2010-dcilean-och-rest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gör dig av med dina manuella tester</title>
		<link>http://blogg.altran.se/cis/2010/02/01/gor-dig-av-med-dina-manuella-tester/</link>
		<comments>http://blogg.altran.se/cis/2010/02/01/gor-dig-av-med-dina-manuella-tester/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 23:33:00 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Enhetstester]]></category>
		<category><![CDATA[Mike Cohn]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Selenium]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=393</guid>
		<description><![CDATA[En av de viktigaste principerna i Scrum är att systemet byggs i små, inkrementella leveranser, där systemet vid varje sprint avslut kan driftsättas om kunden vill det. I agila projekt är därför testningen inte indelad i en separat fas som körs i slutet av leveransen, utan testningen sker kontinuerligt i varje sprint.
Team som förlitar sig [...]]]></description>
			<content:encoded><![CDATA[<p>En av de viktigaste principerna i Scrum är att systemet byggs i små, inkrementella leveranser, där systemet vid varje sprint avslut kan driftsättas om kunden vill det. I agila projekt är därför testningen inte indelad i en separat fas som körs i slutet av leveransen, utan testningen sker kontinuerligt i varje sprint.</p>
<p>Team som förlitar sig på manuella tester inser snart att det är svårt att köra korta sprintar där det krävs omfattande manuella tester i varje sprint. Teamet kommer också att inse att om man inte tar tag i problemet lär situationen bli värre i nästa sprint, och i nästa&#8230;</p>
<p>Mike Cohn skriver om detta i sin <a href="http://blog.mountaingoatsoftware.com/reduce-manual-test-techcnical-debt" target="_blank">blog</a> och kallar det för projektets &#8221;Manaul Test Technical Debt&#8221;.  Projektet har en sk teknisk skuld, d.v.s det finns en kostnad relaterad till att inte göra sig av med de manuella testerna. Lösningen är att automatisera testerna, men detta kan vara en minst sagt omfattande uppgift om man sedan länge har kört manuella tester.</p>
<p>Team i denna situation kan enligt Mike Cohn hantera problemet i tre steg:</p>
<p>1. Stop bleeding<br />
2. Stay current<br />
3. Catch up</p>
<p>Det första steget går ut på att få kontroll över situationen och se till att man kan behålla sprintlängden och samtidigt genomföra testerna inom sprinten. Börja med att identifiera de tester som tar längst tid och är lättast att automatisera. Fundera även på om det finns andra testaktiviteter som tar lång tid och går att automatisera, till exempel installation i testmiljö eller konfigurering av testdata.</p>
<p>I denna fas bör teamet även definiera en teststrategi om det inte redan finns en sådan. Syftet med en teststrategi är att göra ett antal antaganden om vilken typ av tester man ska ha och hur man ska exekvera dem. Målet är att säkerställa en önskad kvalitetsnivå i systemet och samtidigt minimera den tid det tar att testa systemet.</p>
<p>När teamet har effektiviserat de manuella testerna och börjat automatisera vissa enkla tester, är det dax att gå vidare till nästa steg. För närvarande inför vi nya manuella tester i varje sprint, men vi klarar av att köra dessa inom sprinten eftersom vi har effektiviserat testprocessen och automatiserat de tester som tar längst tid. Nästa steg är att skriva automatiserade tester för all ny funktionalitet som levereras i sprinten. När man gör detta ökar inte den tekniska skulden längre, men den minskar inte heller.</p>
<p>Till slut kan teamet gå in i den sista fasen och det är att börja automatisera de återstående testerna. Börja att automatisera de tester som ger störst nytta i förhållande till den tid det tar. Följande bild speglar omfattningen av att automatisera olika typer av tester.</p>
<p><img class="alignnone size-full wp-image-394" title="Testing layers" src="http://blogg.altran.se/cis/wp-content/uploads/2010/01/testinglayers.gif" alt="Testing layers" width="280" height="221" /></p>
<p><em>Källa: <a href="http://www.codeplex.com/TestingGuidance">Acceptance test engineering guide</a></em></p>
<p>Enhetstester syftar till att verifiera en begränsad och isolerad kodlogik, där testet ersätter &#8221;externa&#8221; beroenden som till exempel SharePoint eller en databas. Enhetstester skrivs av utvecklare och körs i ett testramverk, som till exempel Microsoft Visual Studio Team System eller NUnit. Men det krävs en hel del att införa enhetstester i ett befintligt system, och det beror dels på systemets arkitektur men även den kompetens och motivation som finns inom teamet.</p>
<p>Integrationstester är programmatiska tester som skrivs av utvecklare eller testare, men som till skillnad från enhetstester inte körs isolerade. Syftet med integrationstester är att verifiera att integrationen mellan olika lager och komponenter fungerar. Jämfört med enhetstester är omfattningen något mindre men och andra sidan ökar komplexiteten i testerna eftersom vi måste återställa tillståndet i applikationen efter varje test.</p>
<p>Acceptanstester (<em>även systemtester</em>) representerar ett realistiskt användarscenario i applikationen som helhet. Dessa tester verifierar att applikationen fungerar enligt användarens krav och går ut på att testa systemets användbarhet och funktionalitet. Acceptanstesterna kan automatiseras genom att programmatiskt simulera ett användarscenario. Det finns en uppsjö av verktyg för att göra detta, till exempel Microsoft Visual Studio Team System Webtest eller open-source verktyget Selenium.</p>
<p>I ett befintligt system är det sannolikt enklast att automatisera systemtesterna. Integrationstester och enhetstester kräver båda att systemet följer designmönster som gör det enkelt att skriva programmatiska tester. En viktig princip är att affärslogiken är separerad från UI och infrastrukturrelaterat kod och att man använder standardiserade UI-komponenter och ramverksbaserade lösningar för persistens (OR-mapper), chachning, loggning, validering etc. Teamet kan då fokusera på att skriva tester för en begränsad del av applikationen, och den mest väsentliga delen, nämligen hjärtat i systemet, affärslagret.</p>
<p>Men du bör inte enbart förlita dig till systemtester eftersom det är svårt att skriva tester för alla möjliga scenarier på denna nivå. Det kräver att varje metod och komponent testas var för sig. Enhetstester i kombination med integrationstester, är i längden det mest kostnadseffektiva sättet att verifiera systemet och identifiera eventuella buggar.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2010/02/01/gor-dig-av-med-dina-manuella-tester/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bli en mer produktiv utvecklare</title>
		<link>http://blogg.altran.se/cis/2010/01/10/bli-en-mer-produktiv-utvecklare/</link>
		<comments>http://blogg.altran.se/cis/2010/01/10/bli-en-mer-produktiv-utvecklare/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 19:03:45 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Neil Ford]]></category>
		<category><![CDATA[produktiv utveckling]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=369</guid>
		<description><![CDATA[Efter att ha insupit en god lunch, så var det dags för dagens otacksammaste uppgift att försöka överrösta allas matkoma. Och vad var det för rubrik ”On the lam&#8230;”.
Det här skulle dock visa sig vara dagens absolut bästa och mest underhållande session. Efter 178 (!) slides (en ny var 15:e sekund), så var succéen ett [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Efter att ha insupit en god lunch, så var det dags för dagens otacksammaste uppgift att försöka överrösta allas matkoma. Och vad var det för rubrik ”On the lam&#8230;”.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Det här skulle dock visa sig vara dagens absolut bästa och mest underhållande session. Efter 178 (!) slides (en ny var 15:e sekund), så var succéen ett faktum.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Jag hade fått veta varför jag tänker så bra i duschen, varför jag störs av att arbeta i landskap och varför det är helt okey att leka med leksaker på jobbet. Detta varvat med en mängd nyttiga tips varvad med lättsmält fakta.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Förresten ”The Productive Programmer” var den mer förståeliga undertiteln till dragningen.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Sessionen började med ett boktips, ”The Pragmatic Programmer” av Andy Hunt. Läs den!</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Visste du att man i princip bara använder vänster hjärnhalva när man programmerar, därav vitsen med parprogrammering, där ”kartläsaren” använder sin högra hjärnhalva och så skapas på så sätt en hel hjärna.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Vänster hjärnhalva behöver distraktion, så att den högra kan arbeta ostört. Det kan göras genom att förklara sina problem för en gummianka sittandes på skärmen, eller låta händerna leka med en leksak/kub (distraherar vänster hjärnhalva).</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Jag förstod plötsligt varför jag alltför ofta råkar tvätta håret två gånger i rad. Då jag omedvetet distraherar vänster hjärnhalva sätter höger hjärnhalva igång med dagdrömmandet och det kreativita tänkandet. Hur var det nu, har jag tvättat håret eller inte&#8230;?</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Missa förresten inte Chris Jordons makaklösa fotokonst ”Running the numbers I &amp; II” , som får ASCII-konst att framstå som enkel ABC. http://chrisjordan.com/</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Missa aldrig att skriva ner en bra tanke genom att alltid ha en ”Moleskine” till hands. Kanske iofs inte funkar så bra i duschen, men ändå.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://www.moleskine.com/catalogue/diariesplanners/</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">När man sitter djupt koncentrerad, lyckats komma in i ”zonen” och har flyt imdet man gör och just då blir avbruten, tar det normalt mellan 15-20 minuter tills man återfår koncentrationen.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Börja strukturera tankarna med hjälp av Mind mapping.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Folk som gillar Mac gör det på grund av att den har ett tyst operativsystem utan alla varningsrutor. Till skillnad från XP/Vista som uppför sig som en 3-åring med någon form av bokstavskombination.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Tips på program för att få tyst på XP/Vista är Tweak UI, Jedi Contentrate, m.fl.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Livet är för kort för att använda ett dåligt versionshanteringssystem.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Använd SubVersion, CruiseControl &amp; SAS.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Använd automatiseringar, integrera ständigt, skripta allting, timeboxa uppgifterna och analysera ROI.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Eliminera alla distraktioner i den omgivande miljön.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Skaffa dig en bra stol och dubbla skärmar.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Citat: ”Any company that has better computers for salespeople than developers just doesn’t get it!”</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Agila utvecklare ska ha tillgång till War rooms.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Man behöver inspirerande omgivningar.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">IM fungera bättre än e-post som kommunikationsmedel och är mindre distraherande.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Ett citat till: &#8221;Software development is more about communication than technology.&#8221;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Avslutningsvis en uppmaning:  &#8221;Build insanely great software!!!&#8221;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Får ni möjlighet att lyssna till Neal Ford, gör det!</div>
<p>Varför kommer jag på mina bästa idéer när jag tvättar håret? Varför störs jag av att arbeta i kontorslandskap? Hur kan det vara helt okey att leka med leksaker på jobbet?<br />
Det här inlägget kommer inte att handla om några plugins till din utvecklingsmiljö eller liknande, utan om mycket enklare saker än så.<br />
Nedan följer <strong>cirka </strong><strong>13 lösryckta tips plus 1 visdomsord</strong> på temat hur man blir en mer produktiv utvecklare!</p>
<p>1) Visste du att man i princip bara använder vänster hjärnhalva när man programmerar ensam? Parprogrammerar man däremot finns där ju en ”kartläsare” vid din sida som använder sin högra hjärnhalva för att orientera er. Det är alltså först då en hel hjärna arbetar med problemet!</p>
<p>2) Vill du arbeta mer med din högra, kreativa och intuitiva hjärnhalva behöver vänster hjärnhalva distraktion, så att den högra kan arbeta ostört. Ta därför exempelvis med din favoritgummianka till jobbet och placera den på eller i närheten av skärmen. När du sedan behöver hjälp med att lösa ett problem,  förklara det för din anka och se om du inte kommer på en lösning bara genom att ställa frågan högt. (Förvänta dig dock inte att ankan har några svar&#8230;)<br />
Ett annat alternativ är att låta händerna leka med en leksak eller kub som då distraherar vänster hjärnhalva på samma sätt . Det är alltså av samma anledning jag kommer på nya idéer eller löser problem när jag tvättar håret. (Ibland kan dock håret bli tvättat både 2 och 3 gånger, vilket inte krävs för min urtunnade kalufs&#8230;)</p>
<p>3) Ha alltid ett liten anteckningsbok till hands och skriv direkt ner när du får en idé till lösning. En analog variant ex. av typen Moleskine rekommenderas framför en digital variant i det här fallet.</p>
<p>4) Om du inte redan gör det, testa att strukturera din tankar med hjälp av &#8221;Mind mapping&#8221;.</p>
<p>5) När man sitter djupt koncentrerad och lyckats komma in i ”zonen” och har sådär riktigt gott flyt i det man gör och just då blir avbruten, tar det normalt mellan 15-20 minuter(!) tills man återfår koncentrationen. Se därför att eliminera alla distraktioner i din omgivande miljö! (Ni som har irriterande kollegor får dock inte ta detta för bokstavligt&#8230;)</p>
<p>6) Som PC-användare är man nästan per definition  &#8221;Mac-hatare&#8221;, men man börjar ju bli lite nyfiken.  Folk som gillar Mac gör det dels på grund av att den har ett tyst operativsystem utan alla varningsrutor. Till skillnad från Microsofts diton som uppför sig som 3-åringar med någon form av bokstavskombination. Om man inte är redo att ta steget över till den fruktiga sidan, så kan man alltid använda ett program för att få tyst på sitt Microsoft-OS, som exempelvis Tweak UI eller Jedi Contentrate.</p>
<p>7) Skaffa dig en bra stol och dubbla skärmar. Ett företag, där säljarna har bättre datorer än utvecklarna, har så att säga inte alla indianer i kanoten.</p>
<p>8 ) Agila utvecklare måste ha tillgång till &#8221;war rooms&#8221;. Står det inget ledigt? Träng ihop 2 säljare i ett gemensamt rum och ta det. De ska ju vara ute och sälja ändå och har mindre behov än er utvecklare.</p>
<p>9) Se till att ha en inspirerande omgivning när du arbetar. &#8221;Pimpa&#8221; den om så krävs!</p>
<p>10) Använd hellre IM-verktyg som kommunikationsmedel än e-post. Det förstnämnda fungerar mycket bättre för ändamålet och är mindre distraherande.</p>
<p>Avslutningsvis ska jag vara aningen mer tekniknära:</p>
<p>11) Livet är för kort för att använda ett dåligt versionshanteringssystem. Byt om det inte håller!</p>
<p>12) Använd automatiseringar, integrera ständigt, skripta allting, timeboxa uppgifterna och analysera ROI.</p>
<p>13) Använd verktyg som verkligen underlättar ditt arbete, som t.ex. SubVersion och CruiseControl.<br />
<strong><br />
+1) Kom dock ihåg att utveckling handlar mer om kommunikation än verktyg!</strong></p>
<p><strong> </strong></p>
<p><strong><span style="font-weight: normal; "><br />
&#8212;<br />
Jag lyssnade under Scandinavian Developer Conference våren 2008 till den alltid lika underhållande föredragshållaren Neal Ford, som hade svar på frågor som jag inte visste jag hade! Neal har inspirerat mig till detta inlägg.</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2010/01/10/bli-en-mer-produktiv-utvecklare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test manager in an Agile team</title>
		<link>http://blogg.altran.se/cis/2009/12/07/test-manager-in-an-agile-team/</link>
		<comments>http://blogg.altran.se/cis/2009/12/07/test-manager-in-an-agile-team/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 20:17:47 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[Davor Crnomat]]></category>
		<category><![CDATA[Developer Exploraty Testing]]></category>
		<category><![CDATA[Øredev]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=326</guid>
		<description><![CDATA[Testning i agila projekt skiljer sig från testning i tradionella projekt. Att avsätta en iteration till enbart test är väl i och för sig bra, men egentligen bara ett bevis på att man inte testar (tillräckligt) agilt.
Jag lyssnade till Davor Crnomat under Øredev och fick en del aha-upplevelser. Föredraget imponerade till och med på James [...]]]></description>
			<content:encoded><![CDATA[<p>Testning i agila projekt skiljer sig från testning i tradionella projekt. Att avsätta en iteration till enbart test är väl i och för sig bra, men egentligen bara ett bevis på att man inte testar (tillräckligt) agilt.<br />
Jag lyssnade till Davor Crnomat under Øredev och fick en del aha-upplevelser. Föredraget imponerade till och med på James Bach, som anses som en pionjär inom området.</p>
<p>I ett agilt projekt: </p>
<ul>
<li>Testar alla team-medlemmar och bidrar till testarbetet.</li>
<li>Är Testprocessen lättförstådd.</li>
<li>Är dokumentationen lätt att underhålla.</li>
<li>Testar man inte sin egen kod.</li>
<li>Minimerar man dokumentationen, eftersom utvecklare inte gillar dokumentation.</li>
<li>Får man utvecklare att gilla testning.</li>
<li>Förbättrar man utvecklarnas förmågor inom testning.</li>
<li>Definerar man uppgifter i iterationen som innebär att ta fram testskript/testfall&#8230;</li>
<li>&#8230; och man definierar även uppgifter att sedan testa dessa.</li>
</ul>
<p>Vidare är det en bra idé att lägga till en kolumn med statusen &#8221;Att verifiera&#8221; mellan kolumnera för &#8221;Pågår&#8221; och &#8221;Klart&#8221; på sin &#8221;stand up dashboard&#8221;. Viktigt är också att så långt det är möjligt skripta sina testfall.</p>
<p>Ett nytt begrepp för mig var &#8221;Developer Exploraty Testing&#8221;, som i korthet innebär  att man genomför korta testsessioner flera gånger under sprinten. Hela teamet testar samtidigt det som utvecklats inom iterationen under 1 timme utan avbrott. Testning bör ske i par och resultatet är en enkel rapport, som innehåller testobjekt, utfall, noteringar, ev. buggar, funna problem, etc.<br />
Rapporten ligger sedan till grund för att uppdatera tillvägagångsätten,  testskript, teststatistik, etc.</p>
<p>Att testa i par är något som jag tror mycket på. Erfarenheten visar att mer buggar hittas, team-medlemmarna blir mer entuastiska och risken att man testar sin egen kod blir uppenbart mindre. Vad gäller regressionstester är det dags att tänka om, för inte är omtestning av ett gammalt testfall särskilt pålitligt efter ett tag? Fokusera istället på att testa av den verkliga funktionaliteten på ett konstruktivt sätt!</p>
<p>Hemligheten med agil testning är med andra ord att testa ofta ofta och göra det tillsammans. Detta gör att buggar hittas i ett tidigt skede, blir billigare att åtgärda och så blir utvecklarna betydligt bättre utvecklare genom att bli bättre testare!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2009/12/07/test-manager-in-an-agile-team/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>eXtreme Programming in practice</title>
		<link>http://blogg.altran.se/cis/2009/11/30/extreme-programming-in-practice/</link>
		<comments>http://blogg.altran.se/cis/2009/11/30/extreme-programming-in-practice/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 23:32:17 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[agila arbetsätt]]></category>
		<category><![CDATA[extreme programming]]></category>
		<category><![CDATA[Neal Ford]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[Øredev]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=294</guid>
		<description><![CDATA[Från Neal Fords dragning på Øredev hämtar jag dessa råd och rön kring XP i praktiken.
Några grundprinciper för XP är att förbättra kommunikationen, sträva efter enkelhet, ge feedback och att alltid fortsätta framåt med mod.
Målet ska alltid vara att sträva efter att skapa något mindre extremt än man hade tidigare.
Upprätta en inception sprint (sprint 0 [...]]]></description>
			<content:encoded><![CDATA[<p>Från Neal Fords dragning på Øredev hämtar jag dessa råd och rön kring XP i praktiken.</p>
<p>Några grundprinciper för XP är att förbättra kommunikationen, sträva efter enkelhet, ge feedback och att alltid fortsätta framåt med mod.<br />
Målet ska alltid vara att sträva efter att skapa något mindre extremt än man hade tidigare.</p>
<p>Upprätta en inception sprint (sprint 0 även kallad), där man fångar kraven på en högre nivå. Låt utvecklarna ta fram grova estimat och använd som underlag för planeringen. Sätt upp förutsättningar för att kunna övervaka projektet utifrån data från det verkliga arbetet och följ upp gjorda estimat med utfallet.</p>
<p>Var inte rädd för att ändra åtagandet i kommande sprint om det visat sig vara övermäktigt att leverera enligt tidigare åttaganden. Estimera om dina user storys om estimatet inte verkar stämma.</p>
<p>Använd klara, tydliga och avgränsade user stories, ha mindsetet att det endast finns klara (100%) eller ej klara (0%) user stories.</p>
<p>Flytta runt på personer om så är behövligt. Låt folk mingla och lära av varandra.</p>
<p>Skapa &#8221;spikes&#8221;, dvs. små utredningar huruvida det går att lösa ett problem eller framtida krav på det sätt som man väntar sig.</p>
<p>Håll alltid reda på projektets &#8221;truck number&#8221;, dvs. hur många oumbärliga projektmedlemmar som måste &#8221;gå åt&#8221; för att projektet inte skulle kunna fortsätta.</p>
<p>Skapa inga svulstiga ramverk (frame works). Det bästa &#8221;designverktyget&#8221; är en white board tillsammans med en digitalkamera, så att man kan ta en bild av det man ritat och kommmit fram till.</p>
<p>Parprogrammera! Det kostar 15% mer, men koden innehåller å andra sidan 15% färre buggar.</p>
<p>Testa att ping-pong-programmera, dvs. man skriver koden växelvis och får på så sätt större förståelse och kunskap av det som utvecklats.</p>
<p>Får ni någon gång möjlighet att lyssna till Neal Ford, gör det! En mycket kompetent och fantastiskt rolig föreläsare.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2009/11/30/extreme-programming-in-practice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filmtime med Andrew Woodward</title>
		<link>http://blogg.altran.se/cis/2009/11/11/filmtime-med-andrew-woodward/</link>
		<comments>http://blogg.altran.se/cis/2009/11/11/filmtime-med-andrew-woodward/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 14:39:46 +0000</pubDate>
		<dc:creator>Joakim</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[agila arbetssätt]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=224</guid>
		<description><![CDATA[Spendera 4 minuter av  livet på att höra vad Andrew Woodward har att säga om agil SharePoint-utveckling.
Det är Typemock som intervjuar Andy under SPC09.
]]></description>
			<content:encoded><![CDATA[<p>Spendera 4 minuter av  livet på att höra vad <a title="SPC 2009" href="http://www.viddler.com/explore/Typemock/videos/3/43.431/" target="_blank">Andrew Woodward</a> har att säga om agil SharePoint-utveckling.</p>
<p>Det är Typemock som intervjuar Andy under SPC09.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2009/11/11/filmtime-med-andrew-woodward/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tar du ditt ansvar som yrkesman?</title>
		<link>http://blogg.altran.se/cis/2009/11/09/tar-du-ditt-ansvar-som-yrkesman/</link>
		<comments>http://blogg.altran.se/cis/2009/11/09/tar-du-ditt-ansvar-som-yrkesman/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 21:52:41 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[Cory Haines]]></category>
		<category><![CDATA[Software Craftsmanship]]></category>
		<category><![CDATA[Tyler Jennings]]></category>
		<category><![CDATA[Øredev]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=212</guid>
		<description><![CDATA[Med inspiration från Tyler Jennings föredrag på Øredev 2009 om Software Craftsmanship.
Precis som smeder för i världen gjorde verktyg, så gör även vi som utvecklar mjukvara det. Skillnaden är bara att våra verktyg inte görs av metall utan av 1:or och 0:or. Smederna satte stor ära i sin yrkesskicklighet och ägnade ofta ett helt liv till [...]]]></description>
			<content:encoded><![CDATA[<p>Med inspiration från Tyler Jennings föredrag på Øredev 2009 om Software Craftsmanship.</p>
<p>Precis som smeder för i världen gjorde verktyg, så gör även vi som utvecklar mjukvara det. Skillnaden är bara att våra verktyg inte görs av metall utan av 1:or och 0:or. Smederna satte stor ära i sin yrkesskicklighet och ägnade ofta ett helt liv till att förfina sin yrkesskicklighet. Det borde även vi göra oavsett om vi jobbar som programmerare, arkitekter eller med kravhantering. Vi borde ta varje tillfälle som ges att träna och lära oss av varandra.</p>
<p>Detta är just vad som är innebörden i &#8221;Manifesto for Software Craftsmaship&#8221;.<br />
<a href="http://manifesto.softwarecraftsmanship.org/">http://manifesto.softwarecraftsmanship.org/</a></p>
<p>En man som tagit fasta på detta är Cory Haines. Genom att resa runt i USA och parprogrammera med många olika personer på olika företag vill han utvecklas både som yrkesman och människa. Läs hans intressanta historia här:<br />
<a href="http://www.coreyhaines.com/">http://www.coreyhaines.com/</a></p>
<p>Här är några tips på hur du kan utveckla din yrkesskicklighet:</p>
<ul>
<li>Övning och åter övning med code katas &amp; dojos.</li>
<li>Studera kod från mästare (t.ex Fitnesse eller JRuby).</li>
<li>Glöm aldrig att vara noggran (mitt eget tips).</li>
<li>Parprogrammering och partestning.</li>
<li>Var alltid nyfiken och öppen för nya ideer.</li>
</ul>
<p>Alla som kan musik verkar vara överens om att Stradivarius var en mästare på sitt yrke (att göra fioler). Men han misslyckades med något väldigt viktigt. Han misslyckade nämligen med att överföra sin kunskap till någon som kunde ta över och fortsätta förfina hantverket. Gör inte om hans misstag, se till att dagligen dela med dig av din kunskap!</p>
<p>/Patrik</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2009/11/09/tar-du-ditt-ansvar-som-yrkesman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

