<?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>Sterk blanding</title>
	<atom:link href="http://sterkblanding.no/feed/" rel="self" type="application/rss+xml" />
	<link>http://sterkblanding.no</link>
	<description>– Sterke meninger om IT og ledelse</description>
	<lastBuildDate>Sun, 05 Sep 2010 12:19:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Å skrive tilbud er som å forelske seg</title>
		<link>http://sterkblanding.no/blog/2010/08/24/a-skrive-tilbud-er-som-a-forelske-seg/</link>
		<comments>http://sterkblanding.no/blog/2010/08/24/a-skrive-tilbud-er-som-a-forelske-seg/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 14:43:25 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Smidig]]></category>
		<category><![CDATA[Strategi]]></category>
		<category><![CDATA[tilbud prosjektledelse arkitektur følelser]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=767</guid>
		<description><![CDATA[En varm glede fyller hjertet mitt i dag: Løsningsarkitekturen jeg laget vårt tilbud til Statnetts nye system for handel av kraftreserver ble undertegnet på fredag. De valgte oss! Det siste halve året eller så har jeg gått å gledet og gruet meg over dette tilbudet. Og det har slått meg: Å skrive et tilbud er [...]]]></description>
			<content:encoded><![CDATA[<p>En varm glede fyller hjertet mitt i dag: Løsningsarkitekturen jeg laget vårt tilbud til Statnetts nye system for handel av kraftreserver ble undertegnet på fredag. De valgte oss!</p>
<p>Det siste halve året eller så har jeg gått å gledet og gruet meg over dette tilbudet. Og det har slått meg: Å skrive et tilbud er som å forelske seg.</p>
<p>Først blir man litt kjent med kunden og kundens problem. Noen fanger interessen, og man får lyst til å vite alt om problemet. Man spør og graver. Om man ikke får snakke med kunden (og det får man ofte ikke i denne fasen), så snakker man med kolleger og venner som naturligvis ikke har noe svar: &#8220;Tror du at det er sånn? Tror du at dette er forklaringen på hvorfor det som de ba om var litt pussig? Tror du at de vil være interessert i dette forslaget?&#8221;</p>
<p>Til slutt bestemmer man seg for å satse alt. Søvnløse netter går mens man forsøker å fremstille seg attraktiv for den andre parten. Man forsøker å finne hva den andre parten har lyst til. Og noen ganger må man våge å si noe de ikke vil, men egentlig trenger å høre. Så leverer man et tilbud. Man må tørre å legge alle følelsene sine i tilbudet, fullt vitende om at man kan bli avvist. Den som intet våger, intet vinner.</p>
<p>Så kommer forhandlingene. Den andre parten føler seg attråverdig. De har mange beilere. Man snakker om en mulig fremtid sammen, men den andre parten vil ikke forplikte seg. Man tenker i sitt stille sinn &#8220;men jeg liker deg, liker ikke du meg, da?&#8221; Men man våger naturligvis ikke å si det.</p>
<p>Og til slutt sier de &#8220;ja&#8221;. Man er klar til å knytte knuten.</p>
<p>Og nå starter deg egentlig jobben. Jeg gleder meg.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/08/24/a-skrive-tilbud-er-som-a-forelske-seg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unngå konkurs, utløs innovasjonspotensialet i din virksomhet</title>
		<link>http://sterkblanding.no/blog/2010/08/19/unnga-konkurs-utl%c3%b8s-innovasjonspotensialet-i-din-virksomhet/</link>
		<comments>http://sterkblanding.no/blog/2010/08/19/unnga-konkurs-utl%c3%b8s-innovasjonspotensialet-i-din-virksomhet/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 10:11:42 +0000</pubDate>
		<dc:creator>Jan Helge Maurtvedt</dc:creator>
				<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Innovasjon]]></category>
		<category><![CDATA[Samhandling]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=771</guid>
		<description><![CDATA[Klarer du ikke å fornye din virksomhet går sannsynligvis bedriften med tid og stunder konkurs. Likevel kan det være vanskelig å gjennomføre innovasjon i praksis. En kan leve godt på ”melkekua” i mange år og innovasjon krever som regel endringer i roller og ansvar og da kan det bli motstand og nye maktstrukturer. Man kan [...]]]></description>
			<content:encoded><![CDATA[<p>Klarer du ikke å fornye din virksomhet går sannsynligvis bedriften med tid og stunder konkurs. Likevel kan det være vanskelig å gjennomføre innovasjon i praksis. En kan leve godt på ”melkekua” i mange år og innovasjon krever som regel endringer i roller og ansvar og da kan det bli motstand og nye maktstrukturer. Man kan skyve innovasjonsbehovet foran seg slik de har gjort i bilindustrien i Detroit, eller brette opp ermene og begynne. Er vi enige om å begynne nå? Bra! Hva så? Hva skal vi så gjøre og hva kan software gjøre for å hjelpe?<span id="more-771"></span></p>
<p>Det finnes en rekke innovasjonskonsulenter som gjerne hjelper til med den kreative fasen, eller the Fuzzy Front End (FFE). En kreativ seanse på 2 timer, 80 ideer på gule lapper, ett hav av muligheter – hva skjer så? Ofte veldig lite. Enten er ideene som kommer inn for lite markedsrettet (nye kleshengere i garderoben&#8230;), eller man klarer ikke å realisere potensialet i de ideene som faktisk er gode fordi prosjektet ikke blir dratt fremover eller ideene ikke blir valgt ut blant de 80 andre. Man ender opp med at alle ideene blir &#8220;liggende i skrivebordsskuffen&#8221;, kanskje sporadisk lest men ofte glemt. Isteden burde man valgt de fem beste og dratt de videre med sin beste prosjektleder. En studie <a href="http://stammen.no/innovasjon/hvordan-oppstar-gode-ideer">omtalt og gjennomført på nytt på stammen.no</a> viser sågar at det ikke er de kreative workshopene ideene kommer fra, men fra naturen!</p>
<p>Nå finnes det altså en rekke sosiale, gjerne nettbaserte verktøy for å gjøre samhandlingen bedre og mer rettet mot innovasjon. Mange av dere kjenner sikkert til åpne sider som <a href="http://www.starbucks.com/coffeehouse/community/mystarbucksidea">myStarbucksIdea </a>der alle kunder av Starbucks oppfordres til å komme med ideer. Mange firmaer, har kjørt flere interne konkurranser med lignende sider for å få frem ideer. Vi i Steria brukte i sommer Spigit som samhandlingsverktøy for å få inn ideer først, og deretter drive prosessene videre nettopp for å unngå at ideene blir liggende i en skuff, men sørge for at de blir kommentert, utredet, videreutviklet, besluttet gjennomført, forankret, testet ut på kunder og realisert.</p>
<p>Innovation management software er et område som har modnet kraftig de siste to-tre årene. Det finnes lister over løsninger <a href="http://innovationtools.com/Products/ideamanagement.asp">her</a>, <a href="http://www.web2review.com/browse/categories/165-Innovation-Solution/">her</a> og <a href="http://www.examiner.com/social-networking-in-chicago/a-list-of-every-innovation-collaboration-cms-ideamanagement-tool">her</a> og finn.no har hatt sin <a href="http://labs.finn.no/innovasjon-i-finn/">finnOpp-løsning</a> siden juni 2007.</p>
<p>Porteføljen av løsninger kalles gjerne innovation management eller idea management tools. Har din bedrift tatt i bruk slike løsninger?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/08/19/unnga-konkurs-utl%c3%b8s-innovasjonspotensialet-i-din-virksomhet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lær deg et scriptspråk!</title>
		<link>http://sterkblanding.no/blog/2010/06/30/l%c3%a6r-deg-et-scriptsprak/</link>
		<comments>http://sterkblanding.no/blog/2010/06/30/l%c3%a6r-deg-et-scriptsprak/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 18:53:52 +0000</pubDate>
		<dc:creator>Thomas Kjeldahl Nilsson</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Smidig]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=722</guid>
		<description><![CDATA[La oss si at du er en systemutvikler. Du er ansatt for din ekspertise i et av de &#8220;to store&#8221; applikasjonsspråkene &#8211; Java eller C#. Disse språkene kan brukes til svært mange oppgaver. Du kan teoretisk løse ethvert problem med dem, og de er sannsynligvis hovedgrunnen til at cv-en din er salgbar. Så hvorfor lære [...]]]></description>
			<content:encoded><![CDATA[<p>La oss si at du er en systemutvikler. Du er ansatt for din ekspertise i et av de &#8220;to store&#8221; applikasjonsspråkene &#8211; Java eller C#. Disse språkene kan brukes til svært mange oppgaver.  Du kan teoretisk løse ethvert problem med dem, og de er sannsynligvis hovedgrunnen til at cv-en din er salgbar. <strong>Så hvorfor lære noe mer enn Java eller C#?</strong></p>
<p>Jeg skal fortelle deg hvorfor du bør lære deg et s.k. scriptspråk. Scriptspråk har andre styrker enn Java og C#, og tilfører allsidighet og produktivitet til verktøyskuffen din. En kompetent håndtverker bruker mer enn hammer på jobb: skrutrekker, meisel og knipetang må også med.</p>
<p><span id="more-722"></span></p>
<p>Steve Yegge skrev for noen år siden en glimrende artikkel om hvordan han skiller gode utviklere fra svakere kandidater under jobbintervjuer <sup><a href="#yegge_article">[1]</a></sup>.  Et av poengene hans er at mange utviklere har en akilles-hel: det ene språket de mestrer er ikke ideellt til alle situasjoner. De er &#8220;<strong>one trick ponies&#8221;</strong>.</p>
<p>Her er et intervjuspørsmål som Yegge bruker til å teste kandidater:</p>
<blockquote><p>Last year my team had to remove all the phone numbers from 50,000<br />
Amazon web page templates, since many of the numbers were no longer in<br />
service, and we also wanted to route all customer contacts through a<br />
single page.</p>
<p>Let&#8217;s say you&#8217;re on my team, and we have to identify the pages having<br />
probable U.S. phone numbers in them. To simplify the problem slightly,<br />
assume we have 50,000 HTML files in a Unix directory tree, under a<br />
directory called &#8220;/website&#8221;. We have 2 days to get a list of file<br />
paths to the editorial staff. You need to give me a list of the .html<br />
files in this directory tree that appear to contain phone numbers in<br />
the following two formats: (xxx) xxx-xxxx and xxx-xxx-xxxx.</p></blockquote>
<p>Hvordan ville du løse dette problemet? Hint: Java og C# er ikke førstevalget til Steve, ei heller mitt. Du KAN løse dette og mange lignende problemer i Java eller C#, men et scriptspråk lar deg løse problemet raskere og mer elegant.</p>
<p><strong>Så hva er scriptspråk og hvorfor er de så nyttige?</strong> Jeg definerer kort og godt disse til å være <a href="http://www.ruby-lang.org/en/">Ruby</a>, <a href="http://www.python.org/">Python</a>, og <a href="http://www.perl.org/">Perl</a>. Alle tre er modne, populære språk. Det betyr ikke så mye hvilket av dem du lærer først: alle sammen deler de fleste av følgende styrker:</p>
<ul>
<li>Førsteklasses støtte for å manipulere tekster og filer.</li>
<li>Fungerer bra sammen med kommandolinje-verktøy og shellscripting, spesielt på unix-systemer.</li>
<li>Enkle å komme igang med. Vanligvis preinstallert på Unix, Linux og OS X-systemer.</li>
<li>Gode til proof of concepts og prototyper. Passer bra til å rask iterere frem og demonstrere konsepter.</li>
<li>Ypperlige til å automatisere oppgaver (f.eks scripting av operativsystemer, applikasjoner, byggeprosesser).</li>
<li>Er gjerne dynamisk typede språk, noe som lar deg bruke mindre tid på syntax og mer tid på selve oppgaven du skal løse. <sup><a href="#yegge_video">[2]</a></sup></li>
<li>Kan kjøre oppå, eller sammen med, de tyngre platformspråkene (se <a href="http://jruby.org/">JRuby</a>, <a href="http://ironruby.net/">IronRuby</a>). Best of both worlds!</li>
<li>Gir deg et nytt perspektiv på platformer og språk du allerede mestrer. Det er alltid nyttig å utvide horisontene sine! <sup><a href="#martin_video">[3]</a></sup></li>
</ul>
<p>Høres dette nyttig ut? <strong>Har du lyst til å lære mer? </strong>En god måte å komme igang på kan være å lese denne boka:</p>
<p style="text-align: center"><a href="http://pragprog.com/titles/bmsft/everyday-scripting-with-ruby"><img class="aligncenter size-full wp-image-733" src="http://sterkblanding.no/files/2010/06/rubyBookCover.jpg" alt="" width="300" height="300" /></a></p>
<p>eller denne:</p>
<p style="text-align: center"><a href="http://www.amazon.com/Python-Nutshell-Second-OReilly/dp/0596100469"><img class="aligncenter size-full wp-image-734" src="http://sterkblanding.no/files/2010/06/pythonBookCover.jpg" alt="" width="145" height="217" /></a></p>
<p>Sett deg så ned med et konkret prosjekt<strong>. </strong> Finn f.eks en &#8220;tidstyv&#8221; i hverdagen din &#8211; en rutine som kan automatiseres. Lag et script som løser problemet ditt.</p>
<p>Vips: fremtidig tid spart, og du har begynt å legge et <strong>nytt, kraftig verktøy</strong> i reportoaret ditt!</p>
<h2>Referanser:</h2>
<p>1) <a id="yegge_article" href="http://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions">Yegges artikkel om intervju-spørsmål</a><br />
2) <a id="yegge_video" href="http://www.youtube.com/watch?v=tz-Bb-D6teE">Yegge om styrkene til scriptspråk/dynamiske språk (video)</a><br />
3) <a id="martin_video" href="http://www.akitaonrails.com/2010/06/16/railsconf-2010-video-interview-robert-martin-english">Robert &#8220;Uncle Bob&#8221; Martin om hvorfor du bør lære nye språk (video)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/06/30/l%c3%a6r-deg-et-scriptsprak/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sammen mot en enklere fremtid</title>
		<link>http://sterkblanding.no/blog/2010/06/02/enklere-fremtid/</link>
		<comments>http://sterkblanding.no/blog/2010/06/02/enklere-fremtid/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 06:00:05 +0000</pubDate>
		<dc:creator>Sondre Bjellås</dc:creator>
				<category><![CDATA[Brukervennlighet]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Risikostyring]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[Strategi]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=610</guid>
		<description><![CDATA[Kompleksitet er den viktigste årsaken til at IT-prosjekter feiler. Prosjekter som feiler og dårlig programvare gjør våre kunder og brukere ulykkelige. Hvorfor gjør vi IT-investeringer? Det handler om å redusere komplekse problemer til meningsfylte oppgaver som mennesker kan fullføre. Jeg ønsker å fokusere på utvikling av programvare (løsninger, pakkeprodukter, osv) og hvilken verdi programvare har [...]]]></description>
			<content:encoded><![CDATA[<p>Kompleksitet er den <a href="http://www.objectwatch.com/white_papers.htm#ITComplexity" target="_blank">viktigste årsaken</a> til at IT-prosjekter feiler. Prosjekter som feiler og dårlig programvare gjør våre kunder og <strong>brukere ulykkelige</strong>.</p>
<p>Hvorfor gjør vi IT-investeringer? Det handler om å <strong>redusere komplekse problemer</strong> til meningsfylte oppgaver som mennesker kan fullføre.</p>
<p><span id="more-610"></span></p>
<p>Jeg ønsker å fokusere på utvikling av programvare (løsninger, pakkeprodukter, osv) og hvilken verdi programvare har for våre brukere. Å bygge programvare er en av flere viktige funksjoner som vi gjør hos Steria, og det er tusenvis av andre som også bygger programvare for å løse utfordringer.</p>
<p>Undersøkelser har vist at vi ikke har hatt særlig forbedring i suksessraten i utviklingsprosjekter. Bransjen har ca. 30% suksess i prosjekter som starter opp, og slik har det vært siden 1996 i følge <a href="http://www.standishgroup.com/" target="_self">Standard Group</a> (CHAOS Report). Hvorvidt dette er representativt for det norske markedet er ukjent, men egne erfaringer fra Norge tilsier at det er en betraktelig høyere andel prosjekter med suksess her i landet, mye takket være smidige teknikker og prosesser.</p>
<h2>Programvarens lov</h2>
<p>I henhold til David S. Platts <a href="http://msdn.microsoft.com/en-us/magazine/ff646970.aspx" target="_blank">3 lover om programvare</a>, har programvaren vi bygger i seg selv ingen verdi. Det har liten betydning hvor teknisk bra kildekoden til et program er, det er kun vår egen mor som bryr seg om slikt.</p>
<p>Platts 3 lover sier:</p>
<ol>
<li><strong>Programvare har ingen verdi i seg selv</strong>. Den eneste verdien programvare har er gleden den gir til brukeren.</li>
<li><strong>Programvaren kan øke brukerens glede</strong> på en av to måter. Den kan hjelpe brukeren å fullføre en ønsket oppgave, eller den kan gi en god opplevelse. Eksempelvis hjelper Outlook med å lese og skrive epost, mens HALO på Xbox 360 gir deg en god opplevelse som er underholdende.</li>
<li><strong>Brukeren skal </strong><strong>ikke tenke på<span style="font-weight: normal"> </span>programvaren</strong>. Det viktigste er innholdet og oppgaven, ikke programvaren i seg selv.</li>
</ol>
<p>Målet med programvare bør alltid være å<strong> redusere komplekse problemer til </strong><strong>enkle oppgaver</strong>. Enkle oppgaver som mennesker kan utføre, uten at det krever mye tankearbeid. Desto mindre en bruker må tenke, desto mer glad og produktiv vil han bli.</p>
<h2>Tenke enkelt</h2>
<p>Når vi har et komplekst problem vi ønsker å løse, hvilke mekanismer pleier vi å benytte for å løse dem? Når vi ser på programvaren som har blitt utviklet opp igjennom årene, er det ganske klart at vi ikke tenker på å gjøre ting enkelt.</p>
<p>Vår forståelse av komplekse problemer øker desto mer vi jobber med dem. Men vi har problemer med å komme opp med enkle løsninger. Altfor ofte lager vi kompliserte løsninger for komplekse problemer. Dette må vi forsøke å unngå, for det er hovedårsaken til at utviklingsprosjekter feiler.</p>
<p><strong>Vi må sammen begynne å </strong><strong>tenke enklere.</strong> Vi må sammen utforske hvordan vi kan redusere komplekse detaljer i et løsningsdesign, helt til vi sitter igjen med et design som er så enkelt som overhodet mulig og fortsatt gir verdi til brukerne.</p>
<p>Vårt mål bør være: <strong>Lage en enklest mulig arkitektur</strong>.</p>
<p>Det er selvsagt mange årsaker hvorfor noe som starter enkelt, fort blir komplisert. En viktig faktor er mengden av funksjonalitet i en løsning. Robert L. Glass  skriver i boka &#8220;<a href="http://www.amazon.com/Facts-Fallacies-Software-Engineering-Robert/dp/0321117425">Facts and Fallacies of Software Engineering</a>&#8221; at <strong>25% økt funksjonalitet øker kompleksiteten med 100%</strong>.</p>
<p>Neste gang du står ovenfor et problem som noen ønsker løst ved hjelp av programvare, start med å tenke over brukerne og hvordan du kan øke deres glede. Deretter reduserer kompleksiteten i løsningsdesignet til du oppnår det enkleste designet som er mulig som fortsatt oppnår målet: <strong>Gjøre brukerne glade!</strong></p>
<p>(Se mitt innlegg om <a href="http://sondreb.com/blog/post/MSDN-Live-Solution-Architecture-Slides.aspx" target="_blank">løsningsarkitektur på MSDN Live</a> for mer detaljer om dette emnet)</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/06/02/enklere-fremtid/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hold stø kurs med autotesting!</title>
		<link>http://sterkblanding.no/blog/2010/05/31/hold-st%c3%b8-kurs-med-autotesting/</link>
		<comments>http://sterkblanding.no/blog/2010/05/31/hold-st%c3%b8-kurs-med-autotesting/#comments</comments>
		<pubDate>Mon, 31 May 2010 19:14:04 +0000</pubDate>
		<dc:creator>Thomas Kjeldahl Nilsson</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=643</guid>
		<description><![CDATA[Unit-tester er nyttig for de fleste systemutviklere. Noen av oss kjører strikt, metodisk testdrevet utvikling. Andre bruker bare automatiserte tester nå og da som sikkerhetsnett for å unngå regress-feil. Hvor ofte fyrer du selv av testene dine? Kjører du testsuiten din en gang i ny og ne, eller strikt for hver metode du implementerer? Jeg [...]]]></description>
			<content:encoded><![CDATA[<p>Unit-tester er nyttig for de fleste systemutviklere.</p>
<p>Noen av oss kjører strikt, metodisk testdrevet utvikling. Andre bruker bare automatiserte tester nå og da som sikkerhetsnett for å unngå regress-feil. <strong>Hvor ofte fyrer du selv av testene dine?</strong> Kjører du testsuiten din en gang i ny og ne, eller strikt for hver metode du implementerer?</p>
<p>Jeg liker å kjøre testene mine <strong>ofte</strong> mens jeg arbeider. Det jeg liker enda bedre er å la utviklingsmiljøet mitt kjøre dem for meg, automatisk. Poenget med yrket vårt er jo nettopp å automatisere og effektivisere arbeidsprosesser &#8211; dette forsøker jeg å gjøre også med mine egne rutiner og verktøy. La oss se hvordan vi kan få til dette.</p>
<p><span id="more-643"></span></p>
<p>Mange av oss bruker allerede <a href="http://martinfowler.com/articles/continuousIntegration.html">Continuous Integration</a> for å oppdage feil i den felles kodebasen. Personlig autotesting er det neste, logiske steget: enhetstestene våre burde kjøre i bakgrunnen hver gang vi endrer noe, og gi oss umiddelbar tilbakemelding når vi knekker funksjonalitet. På denne måten oppdager vi våre egne feil før resten av teamet blir påvirket av dem.</p>
<p>Det finnes flere verktøy som gjør dette for deg:</p>
<ul>
<li><span style="font-family: arial, sans-serif"><a href="http://improvingworks.com/products/infinitest/">Infinitest</a> (Java)</span></li>
<li><span style="font-family: arial, sans-serif"><a href="http://www.zenspider.com/ZSS/Products/ZenTest/">Autotest / ZenTest</a> (Ruby)</span></li>
<li><span style="font-family: arial, sans-serif"><a href="http://github.com/lacostej/nosyd">Nosyd</a> (Python)</span></li>
</ul>
<p><strong>Det er imidlertid ikke vanskelig å lage et enkelt autotest-verktøy på egen hånd</strong>. Jeg synes at det er en god ide å bruke litt tid her og der på å forbedre sitt eget utviklingsmiljø. Vi har jo muligheten til å lage våre egne verktøy (<a href="http://no.wikipedia.org/wiki/Smed">smeden</a> er en av få håndverkere som kan si det samme). Som utvikler bør man iallfall klare å slipe sine egne kniver, for å si det sånn. Og dette er en god anledning!</p>
<p><a href="http://sterkblanding.no/files/2010/05/smedVerktoy.jpg"><img class="alignleft size-full wp-image-669" style="margin-top: 0px;margin-bottom: 0px;margin-left: 10px;margin-right: 10px" title="smedVerktoy" src="http://sterkblanding.no/files/2010/05/iStock_000012701407Small.jpg" alt="" width="211" height="296" /></a></p>
<p><strong>Et naivt script for autotesting implementerer du på en ettermiddag.</strong> Alt du trenger er et lite program som reagerer på endringer i prosjektfilene dine, og kjører testene etter behov.</p>
<p>Algoritmen er enkel: La scriptet kjøre regelmessig, f.eks hvert sekund. Kontroller &#8220;forrige endring&#8221;-klokkeslettet for alle filene i prosjektet. Dersom klokkeslettet på en eller flere filer har endret seg siden forrige kontroll, så kjør enhetstestene til prosjektet. Analyser output fra testkjøringen, og se hvorvidt noen tester feilet eller kode knakk helt (exceptions). <strong>Gi så klar tilbakemelding om testene er ok eller feilet.</strong></p>
<p>Tilbakemeldingen kan være litt grafikk og lyd på desktopen (for eksempel med <a href="http://growl.info/">Growl</a> eller <a href="http://www.fullphat.net/index.php">Snarl</a>), en <a href="http://www.artima.com/weblogs/viewpost.jsp?thread=67492">lavalampe</a> på pulten, <a href="http://marketplace.eclipse.org/content/eclipse-xps">blinkende LED-lamper</a> på laptopen&#8230; vær kreativ<strong>!</strong> Bare sørg for er at du får en tydelig tilbakemelding på hvorvidt testene feiler eller ikke.</p>
<p><strong>Filmklippet under viser hvordan mitt eget autotest-miljø fungerer.</strong> Koden er i dette tilfellet skrevet i et språk som heter <a href="http://clojure.org">Clojure</a> og ser derfor kanskje litt pussig ut, men ikke heng deg opp i det: det som demonstreres er at jeg knekker og fikser tester, og får automatisk godt synlig feedback på dette underveis.</p>
<p style="text-align: center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="480" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=11633909&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="480" src="http://vimeo.com/moogaloop.swf?clip_id=11633909&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Ikke spesielt komplisert.</p>
<p><strong>&#8220;Dette ser jo genialt ut! Hvorfor bruker ikke alle autotest-verktøy allerede?&#8221;</strong></p>
<p>Vel, det finnes dessverre noen utfordringer.</p>
<p>Dersom autotesting skal fungere hensiktsmessig må testsuiten som kjøres kun bestå av raske enhetstester, ikke tunge integrasjonstester. Og enhetstestene må gå kjapt! En test-run må ta sekunder, ikke minutter, ellers mister du gevinsten ved den umiddelbare feedbacken.</p>
<p>Problemet med trege tester er betydelig. Det finnes workarounds: man kan analysere avhengigheter mellom tester og kode, kun kjøre de berørte testene, kjøre raske tester først, feilende tester først, nylig feilende tester først&#8230; Men mange av oss har dessverre erfart at det er vanskelig å få til et godt fungerende opplegg for dette i et vanlig moderat stort utviklingsprosjekt.</p>
<p>Så er ikke autotesting nyttig likevel, da? Jo! Autotesting fungerer <strong>knallbra</strong> i<strong> små prosjekter</strong> (som ikke har samlet på seg så mye kode ennå) og <strong>egenopplæring</strong> (når du lærer nye verktøy og språk og ønsker å ta små steg med kjapp feedback). Det kan kanskje også fungere i større prosjekter <strong>dersom</strong> du har muligheten til å segmentere koden og testene dine i mindre moduler på en hensiktsmessig måte.</p>
<p>I bunnen av denne artikkelen har jeg vedlagt et eksempel på hvordan et enkelt autotest-script kan se ut, implementert i <a href="http://ruby-lang.org/">Ruby</a>. Scriptet er skrevet for OS X-miljø, men koden bør være relativt lesbar og enkel å porte til ditt eget favorittspråk og utviklingsmiljø.</p>
<p><strong>Happy testing!</strong></p>
<p><em>Eksempel:</em></p>
<p><code> </code></p>
<p><code> </code></p>
<p><code></p>
<pre># Command line command which launches all unit tests
RUN_TESTS_CMD = "mvn clean test"

# Pick up any changes in files matching this filepath
FILES_TO_MONITOR = "**/*.java"

# Determine test outcome by scraping test output for #telltale signs of failure or exceptions</pre>
<pre>def test_failed?(test_output)
  return (test_output["FAIL in"] != nil) # Any 'FAIL in' strings in test result indicates failure
end

def exception_occurred?(test_output)
  return (test_output["EXCEPTION in"] != nil)
end

# Indicate test state by turning the background color of the test terminal
# a different color - yellow red og green. Currently uses Mac AppleScripts, but could be
# an audible signal, lava lamp, or anything else instead.

def indicate_tests_running
  `osascript bin/autotest/make-term-yellow`
  puts "\n\n\n----------------------------------"
  puts "TESTRUN STARTED #{Time.now}"
  puts "----------------------------------\n\n\n"
end  

def indicate_test_success(description)
  `osascript bin/autotest/make-term-green`
  puts description
end  

def indicate_test_errors(description)
  `osascript bin/autotest/make-term-red`
  puts description
end  

$monitored_files = {} # Stores the last changed time of each file    

def files_changed? # Check if any files have been touched/saved since last check
  file_changed = false;  

  Dir[FILES_TO_MONITOR].each do |filepath|
    if(!File.new(filepath).ctime.eql?($monitored_files[filepath]))
      file_changed = true;
      $monitored_files[filepath] = File.new(filepath).ctime
    end
  end  

  return file_changed
end  

def run_test
  indicate_tests_running
  result = `#{RUN_TESTS_CMD}`  #Run the tests, pipe resulting console output back
  display_results(result)
end    

def display_results(testOutput)
  if test_failed?(testOutput)
    indicate_test_errors("SOME TEST(S) FAILED\n"+testOutput)
  elsif exception_occurred?(testOutput)
    indicate_test_errors("EXCEPTIONS OCCURRED\n"+testOutput)
  else
    indicate_test_success("ALL TESTS SUCCEED\n"+testOutput)
  end
end  

def test_loop
  while true
    if files_changed?
      run_test
    end
    sleep(1) #seconds between each poll for file changes
  end
end  

test_loop # Start testing!</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/05/31/hold-st%c3%b8-kurs-med-autotesting/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Se foredragene fra TED-at-Steria 4</title>
		<link>http://sterkblanding.no/blog/2010/05/31/se-foredragene-fra-ted-at-steria-4/</link>
		<comments>http://sterkblanding.no/blog/2010/05/31/se-foredragene-fra-ted-at-steria-4/#comments</comments>
		<pubDate>Mon, 31 May 2010 08:51:49 +0000</pubDate>
		<dc:creator>Ram Yoga</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=611</guid>
		<description><![CDATA[Med jevne mellomrom arrangerer vi fredagspils med faglig inspirasjon i Steria. Da ser vi etter foredrag som er utenfor IT-verdenen eller som på andre måter kan inspirere, underholde og få oss til å se verden med litt andre øyne. Som regel har vi vist foredrag fra TED-konferansen, en konferanse der verdensledende fagfolk forteller om sitt [...]]]></description>
			<content:encoded><![CDATA[<p>Med jevne mellomrom arrangerer vi fredagspils med faglig inspirasjon i Steria. Da ser vi etter foredrag som er utenfor IT-verdenen eller som på andre måter kan inspirere, underholde og få oss til å se verden med litt andre øyne. Som regel har vi vist foredrag fra <a href="http://www.ted.com/">TED</a>-konferansen, en konferanse der verdensledende fagfolk forteller om sitt arbeid på en lettfattelig måte.</p>
<p>Fredag 28. mai var temaet for kvelden miljø og bærekraftig fremtid. Vi viste følgende foredrag:<br />
<span id="more-611"></span></p>
<ul>
<li><a href="http://www.slideshare.net/AndersLindgren4u/caring-for-earth">Anders Lindgren: Sustainability</a></li>
<li><a href="http://www.ted.com/talks/bill_gates.html">Bill Gates: Innovating to Zero</a><br />Bill Gates snakker om løsninger på klima- og energikrisen og hvor langt de er unna.</li>
<li><a href="http://www.ted.com/talks/shai_agassi_on_electric_cars.html">Shai Agassi: En dristig plan for elektriske biler</a><br />Agassi har allerede konvertert et helt land til å kjøre uten olje. Her presenterer han en ny modell for elektriske biler som også ser på infrastrukturen rundt bilene.</li>
<li><a href="http://www.ted.com/talks/dan_barber_how_i_fell_in_love_with_a_fish.html">Dan Barber: How I fell in love with a fish</a><br />En kjærlighetshistorie som belyser hvordan matvareproduksjon foregår i dag, og som viser at det <em>er</em> mulig å produsere bærekraftig dersom vi tenker annerledes.</li>
<li><a href="http://www.ted.com/index.php/talks/stewart_brand_on_squatter_cities.html">Stewart Brand: Slumbyer er en bra ting</a><br />På 3 minutter viser Brand oss hvorfor slumbyer er bra, både for de som bor der og for befolkningstallet på kloden.</li>
</ul>
<p>Bonusforedrag: Bill Gates nevner i sitt foredrag &#8220;geoengineering&#8221; &#8212; Hvordan vi kan endre været på kloden for å bremse effekten av oppvarmingen.<br />
<a href="http://www.ted.com/talks/david_keith_s_surprising_ideas_on_climate_change.html">David Keith: En overraskende ide for å løse klimaendringer</a></p>
<p>Hva synes du om disse foredragene? Har du tips til andre gode foredrag vi bør vise? Si ifra i kommentarfeltet!</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/05/31/se-foredragene-fra-ted-at-steria-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hva skal barnet hete?</title>
		<link>http://sterkblanding.no/blog/2010/05/27/hva-skal-barnet-hete/</link>
		<comments>http://sterkblanding.no/blog/2010/05/27/hva-skal-barnet-hete/#comments</comments>
		<pubDate>Wed, 26 May 2010 23:17:20 +0000</pubDate>
		<dc:creator>Nils-Erik Auråker</dc:creator>
				<category><![CDATA[Infrastruktur]]></category>
		<category><![CDATA[Sikkerhet]]></category>
		<category><![CDATA[Strategi]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=601</guid>
		<description><![CDATA[Mange elsker å bruke tid på dette. It avdelinger i alle organisasjoner tar del i det, og det kan i mange sammenhenger utvikle seg til å bli en langdrøy affære. Jeg snakker selvfølgelig om etablering av navnestandard for maskiner. Dette er definitivt en navnestandard som mange synes å mene noe om. La oss derfor krympe dette inn [...]]]></description>
			<content:encoded><![CDATA[<p>Mange elsker å bruke tid på dette. It avdelinger i alle organisasjoner tar del i det, og det kan i mange sammenhenger utvikle seg til å bli en langdrøy affære. <span id="more-601"></span>Jeg snakker selvfølgelig om etablering av navnestandard for maskiner.</p>
<p>Dette er definitivt en navnestandard som mange synes å mene noe om. La oss derfor krympe dette inn til å omhandle navnestandard for servere.  Satt på spissen finnes det i hovedsak to strategier. Dette er den enkle og kompliserte strategien.</p>
<p>Den enkle strategien går ut på å navngi serverne sine med et løpenummer for eksempel server001, server002 osv. En annen variant i kategorien enkel, kan være å velge ut et tema fra noe man har kjært. Eksempelvis karakterer i Andeby, for deretter å kalle serverne sine for Donald, Pluto og lignende. Denne varianten bør velges med varsomhet i miljø som eksponerer tjenestenavn direkte mot forretning og kunder som ikke nødvendigvis er like begeistret for temaet.</p>
<p>Strategien som undertegnede definerer som komplisert, baserer seg på en modell som søker å gi tilleggsinformasjon ut i fra serverens navn. Dette kan fungere godt. Et eksempel kan være navnet oslapp001 som indikerer at dette er applikasjonsserver 001 plassert i Oslo.</p>
<p>Det kompliserte elementet i denne strategien er ikke å forklare lokasjon og funksjon, men snarere å finne en balanse i hva som skal forklares. Det er her mange går i fellen. Ofte som et resultat av at det finnes en eller flere ildsjeler som med de beste intensjoner ønsker å forklare mest mulig.</p>
<p>Det er også en risiko for at en komplisert navnestandard mister sin hensikt. Dette kan skje når det ikke tas høyde for miljøendringer. Et eksempel på dette kan være at to datasenter slås sammen og man har benyttet variabler for disse i servernavn.</p>
<p>Det finnes ingen fasit eller mal for en god eller dårlig standard. En ting som passer bra for i en organisasjon kan fort bli en fadese i en annen virksomhet. På generelt grunnlag holder undertegnede en knapp på den enkle varianten med server001. Dette fordi den virker i alle miljø og vil aldri bli utdatert. Øvrig informasjon om selve tjenesten kan lagres separat i en et dokument, katalogtjeneste eller lignende. Noen vil også argumentere for at denne strategien er best i forhold til sikkerhet. Dette fordi man eksponerer ingen opplysninger om serveren ut i fra navn.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/05/27/hva-skal-barnet-hete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Computing – er det bare ”buzz word”?</title>
		<link>http://sterkblanding.no/blog/2010/05/25/cloud-computing-%e2%80%93-er-det-bare-%e2%80%9dbuzz-word%e2%80%9d-2/</link>
		<comments>http://sterkblanding.no/blog/2010/05/25/cloud-computing-%e2%80%93-er-det-bare-%e2%80%9dbuzz-word%e2%80%9d-2/#comments</comments>
		<pubDate>Tue, 25 May 2010 19:22:05 +0000</pubDate>
		<dc:creator>Madjid Saeedi</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Infrastruktur]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=597</guid>
		<description><![CDATA[Det er blitt spådd stor vekst i Cloud Computing markedet de nærmeste årene. Det er mange aktører på dette markedet. Eksempelvis Amazon, Microsoft, Google etc. Hver og en har sin egen visjon for hvordan skybaserte tjenester skal tilbys. I tillegg har selskap som VMware kommet med sin egen definisjon av cloud. Hva er Cloud Computing? [...]]]></description>
			<content:encoded><![CDATA[<p>Det er blitt spådd stor vekst i Cloud Computing markedet de nærmeste årene. Det er mange aktører på dette markedet. Eksempelvis Amazon, Microsoft, Google etc. Hver og en har sin egen visjon for hvordan skybaserte tjenester skal tilbys. I tillegg har selskap som VMware kommet med sin egen definisjon av cloud.<span id="more-597"></span></p>
<p><strong>Hva er Cloud Computing?</strong></p>
<p>Cloud er ikke det nye begrepet for Internett. Selv om Internett er et nødvendig fundament for cloud. Cloud er mer enn Internett. Cloud er der hvor man kan benytte seg av teknologi når man trenger det og for den tiden en ønsker. Cloud kan være både software og infrastruktur.</p>
<p>Tenk deg følgende eksempel: Et firma kjøper opp en tomt og bygger en stor blokk med mange leiligheter på denne tomten. Deretter leier de ut leilighetene. Du får lov å flytte inn og ut når du vil. Og du betaler bare for den tiden du bor i leiligheten. Enkelt sagt fungerer cloud omtrent på samme måte. En cloud leverandør leier ut servere, lagring og andre tjenester du finner på et datasenter.  Du betaler etter bruk. I tillegg får du lov å skalere opp umiddelbart ved behov og kanskje enda viktigere er muligheten for å skalere ned når du ikke trenger så mye ressurser lenger.</p>
<p>Cloud Computing er ikke noe nytt fra teknologisk synspunkt. Men fra et forretningsmessig ståsted introduserer det en helt ny måte å tenke på. Den viktigste grunnen for å velge cloud istedenfor å bygge ut sin egen IT infrastruktur er ikke teknologi, men økonomien i dette.  ”Betal for hva du bruker” modellen i Cloud Computing er i mange tilfeller billigere enn ”Betal for alt på forhånd” modellen.  </p>
<p>Her er noen kriterier som kjennetegner en typisk cloud tjeneste:</p>
<ul>
<li>Tjenesten er tilgjengelig via en webleser eller web tjeneste API</li>
<li>Man betaler etter bruk</li>
<li>Skalerbar</li>
<li>Mulighet for selvbetjening</li>
</ul>
<p><strong>Hva med sikkerhet?</strong></p>
<p>Et av områdene som kritikerne av cloud ofte nevner er sikkerhet. Det å plassere data inn i cloud uten å ha kontroll på servere/disker som det blir lagret data kan for mange virke skummelt. Realiteten er at cloud kan lages like sikkert og til og med sikrere enn ens eget tradisjonelle datasenter. <strong></strong></p>
<p>Før man benytter seg av cloud, er det viktig at:</p>
<ul>
<li>Man sjekker gjeldende lover, regler og standarder</li>
<li>Man setter seg inn hvilke sikkerhetssystemer forskjellige cloud leverandører kan tilby.</li>
</ul>
<p><strong>Til slutt…</strong></p>
<p>En spredning av cloud krever at lover og regler fornyes og tilpasses mulighetene Cloud Computing åpner for. Jeg tror virksomheter litt etter litt flytter tjenester til cloud. IT miljøer vil bli hybride. Det vil si at virksomheter bygger seg en ”intern” cloud som man eier selv, mens man flytter enkelte tjenester til en ”ekstern” cloud. Og dette er bare begynnelsen…</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/05/25/cloud-computing-%e2%80%93-er-det-bare-%e2%80%9dbuzz-word%e2%80%9d-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lean eller agile, hva passer best for deg?</title>
		<link>http://sterkblanding.no/blog/2010/05/24/lean-eller-agile/</link>
		<comments>http://sterkblanding.no/blog/2010/05/24/lean-eller-agile/#comments</comments>
		<pubDate>Mon, 24 May 2010 16:11:21 +0000</pubDate>
		<dc:creator>Rikard Eriksen</dc:creator>
				<category><![CDATA[Samhandling]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=575</guid>
		<description><![CDATA[Lean og Agile er to prosesser som ofte blir plassert i samme bås, som &#8220;smidige&#8221; måter å jobbe på. Men selv om de har mange likhetstrekk, er sannheten at de er to veldig forskjellige tilnærminger til veldig forskjellige problemstillinger, og har sine opphav i helt ulike kulturer. Lean kommer fra en asiatisk kultur, der det [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Lean_software_development">Lean</a> og <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile</a> er to prosesser som ofte blir plassert i samme bås, som &#8220;smidige&#8221; måter å jobbe på. Men selv om de har mange likhetstrekk, er sannheten at de er to veldig forskjellige tilnærminger til veldig forskjellige problemstillinger, og har sine opphav i helt ulike kulturer. <span id="more-575"></span></p>
<p>Lean kommer fra en asiatisk kultur, der det kollektive og prosessen i seg selv er det sentrale. Lean er laget for å strømlinjeforme en spesiell måte å løse en kjent oppgave på. Agile på sin side kommer fra USA, der individet fremheves over alt annet (<a href="http://agilemanifesto.org/">&#8220;Individuals and interactions over processes and tools&#8221;</a>). Agile er først og fremst en effektiv måte å jobbe på når vi ikke kjenner veldig godt til omfanget og innholdet i oppgaven, og er nødt til å finne veien samtidig som vi går den.</p>
<p>I et foredrag på <a href="http://www.scan-agile.org/">Scandinavian Agile Conference</a> 2009 presenterte <a href="http://en.wikipedia.org/wiki/Jim_Coplien">Jim Coplien</a> disse 9 punktene der Lean og Agile er motstykker:</p>
<table>
<tr>
<th>Lean</th>
<th>Agile</th>
</tr>
<tr>
<td>Invitasjonsbasert</td>
<td>Inkluderende</td>
</tr>
<tr>
<td>Tenke</td>
<td>Gjøre</td>
</tr>
<tr>
<td>Feed forward</td>
<td>Feedback</td>
</tr>
<tr>
<td>High throughput</td>
<td>Low latency</td>
</tr>
<tr>
<td>Monokromisk, planlagt</td>
<td>Polykromisk, reaktiv</td>
</tr>
<tr>
<td>Utvikle modeller av verden</td>
<td>Dele modeller av verden</td>
</tr>
<tr>
<td>Prosess</td>
<td>Mennesker</td>
</tr>
<tr>
<td>Håndtere kompliserte problemer</td>
<td>Håndtere komplekse problemer</td>
</tr>
<tr>
<td>Standardisere</td>
<td>Inspect and adapt</td>
</tr>
</table>
<p>En gjennomgang av disse punktene kan være tema for et senere innlegg. Det jeg vil presentere denne gangen, er to praktiske øvelser som illustrerer noen av forskjellene og styrkene ved Lean og Agile. Øvelsene tar ca 5 minutter hver.</p>
<h1>Øvelse 1: Agile</h1>
<p>Finn en gruppe på ca 10-15 personer, og la de stå i et åpent område som de kan bevege seg rundt i. Hver person skal tenke på to andre personer i gruppa. Når alle har valgt ut sine to personer (uten å avsløre til noen hvem de har valgt), så er oppgaven som følger: Hver og en person skal nå plassere seg slik i rommet at han eller hun har nøyaktig like stor avstand til de to personene vedkommende tenkte på.</p>
<p>Før de får begynne å løse oppgaven, så er dette et morsomt spørsmål å stille til eventuelle prosjektledere i rommet: Hvis man skulle benytte klassisk prosjektledelse til å lede gruppa i denne øvelsen, hvordan skulle man gå frem da? Hvilke planer og retningslinjer kunne man lage som ville hjelpe dem fram til et raskt og godt resultat? De fleste vil snart komme fram til den konklusjonen at det er en ganske vanskelig (kompleks) oppgave.</p>
<p>Om vi benytter Scrum som eksempel på en smidig måte å løse dette på, hva ville en god Scrum master eller coach da si? Bare gjør det! Vi lar gruppa være selvorganiserende, og lar hvert enkelt individ ta ansvar for å på en selvstendig måte løse sin del av oppgaven, men i tett samarbeid med de andre i gruppa. Resultatet vil bli at etter en kort tid med tilsynelatende kaotiske og uorganiserte bevegelser, vil alle ha funnet likevektspunktene sine som til sammen løser oppgaven. Et resultat som ville være svært mye mer krevende å oppnå med en sentralt styrt prosess.</p>
<h1>Øvelse 2: Lean</h1>
<p>Hva så med Lean, hvordan kan det illustreres ved hjelp av en øvelse? Her trenger vi litt færre personer, ca 10 er fint. Gi en tilfeldig person i gruppa en gjenstand han kan holde i handa (ei tom flaske er et godt alternativ), og presenter dem for følgende utfordring: Gjenstanden skal nå sendes fra person til person i alfabetisk rekkefølge basert på fornavn. Det skal skje så raskt som mulig, og de vil bli tatt tiden på!</p>
<p>Ved første forsøk vil gruppa bruke litt tid på dette. De må fortelle navnene sine for å finne riktig rekkefølge. De vil typisk bruke et halvt til to minutter på å bestemme rekkefølgen og sende gjenstanden rundt. Fortell dem resultatet, og spør så om de kan gjøre det igjen, raskere. Det vil de naturlig nok klare, etter som de nå bedre kjenner navnene til hverandre.</p>
<p>Etter å ha fortalt dem tiden for forsøk nummer to, la dem forsøke en gang til, og be dem tenke på måten de står plassert på. De vil oppdage at det å stå på rekke eller i en sirkel, i alfabetisk rekkefølge, vil gjøre det enklest mulig å sende gjenstanden fra person til person. Vi <a href="http://en.wikipedia.org/wiki/Lean_software_development#Eliminate_waste">eliminerer waste</a>!</p>
<p>Hvor raskt er det mulig å klare det? Om de står i en tett sirkel, og hver enkelt så vidt berører gjenstanden før nestemann gjør det, kan de klare øvelsen på under et sekund. Det vil være en ganske dramatisk forbedring fra det første forsøket! Det viser hvor effektiv Lean kan være på denne typen oppgaver.</p>
<h1>Oppsummering</h1>
<p>Lean og Agile er laget for å løse forskjellige typer oppgaver. De kommer fra forskjellig bakgrunn, og selv om de virker like, så skiller de seg vidt fra hverandre på noen sentrale områder. Øvelsene over demonstrerer noen av de spesielle styrkene til de to prosessene. Disse styrkene er det viktig å huske på når man skal velge tilnærming til et prosjekt eller andre arbeidsoppgaver som krever en god prosess.</p>
<p>Hvilke erfaringer har du som leser gjort deg med Lean og Agile? Har du opplevd oppgaver eller prosjekter der de har passet spesielt godt eller spesielt dårlig?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/05/24/lean-eller-agile/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>En øvelse for å finne et felles mål for teamet ditt</title>
		<link>http://sterkblanding.no/blog/2010/05/11/en-%c3%b8velse-for-a-finne-et-felles-mal-for-teamet-ditt/</link>
		<comments>http://sterkblanding.no/blog/2010/05/11/en-%c3%b8velse-for-a-finne-et-felles-mal-for-teamet-ditt/#comments</comments>
		<pubDate>Tue, 11 May 2010 11:35:22 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[visjon]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=549</guid>
		<description><![CDATA[En gruppe som skal nå et mål sammen trenger å ha en felles forståelse av målet. Og de trenger å stole på at resten av gruppen også har samme mål. Derfor har mange prosjekter en visjon som man utarbeider i fellesskap. Men hva gjør du fram til du har tid til å lage en grundig [...]]]></description>
			<content:encoded><![CDATA[<p>En gruppe som skal nå et mål sammen trenger å ha en felles forståelse av målet. Og de trenger å stole på at resten av gruppen også har samme mål. Derfor har mange prosjekter en visjon som man utarbeider i fellesskap. Men hva gjør du fram til du har tid til å lage en grundig visjon?</p>
<p><span id="more-549"></span></p>
<p>I Crossing the Chasm foreslår Geoffrey Moore en mal for å lage visjon som jeg selv har hatt mye hell med:</p>
<ul>
<li>For &lt;<em>en målgruppe</em>&gt;</li>
<li>Som har &lt;<em>et behov eller en mulighet</em>&gt;</li>
<li>Så er &lt;<em>produktnavnet</em>&gt; et &lt;<em>type produkt</em>&gt;</li>
<li>Som &lt;<em>har en god grunn til å like</em>&gt;.</li>
<li>I motsetning til &lt;<em>viktigste alternativ</em>&gt;</li>
<li>Har vårt produkt &lt;<em>viktigste differensiator</em>&gt;</li>
</ul>
<p>Formen er ment brukt til å beskrive produkter, som for eksempel &#8220;<strong>For</strong> <em>skogbruksansvarlige på fylkesmannens kontor</em> <strong>som skal</strong> <em>forvalte skogsprosjekter</em> <strong>så er</strong> <em>skogsforvaltningsløsningen</em> <strong>et</strong> <em>regnskapsystem</em> <strong>som gir</strong> <em>kontroll og oversikt over regnskapet</em>. <strong>I motsetning til</strong> <em>den gamle versjonen av systemet</em> <strong>gir vår løsning</strong> <em>støtte for fullstendig elektronisk saksbehandling</em>.&#8221;</p>
<p>Jeg har også brukt den til workshops og andre aktiviteter. Når jeg avholdt en Scrum-workshop startet gruppen med å utarbeide følgende visjon: &#8220;<em><strong>For</strong>  nye og litt erfarne Scrum Mastere <strong>som ønsker</strong>  å bli bedre Scrum Mastere <strong>så er</strong>  Iterasjon-0-workshoppen <strong>en</strong>  gruppeaktivitet <strong>som gir</strong> konkrete tiltak til aktiviteter. <strong>I motsetning til</strong>  å lese en bok <strong>gir denne aktiviteten</strong> mulighet til å utveksle erfaring med andre som har samme rolle.</em>&#8221;</p>
<p>Slik går jeg fram for å hjelpe en gruppe med å komme fram til en visjon:</p>
<ol>
<li>Først bruker jeg fem minutter på å forklare formatet og hvorfor vi gjør oppgaven</li>
<li>Jeg deler gruppen opp i arbeidsgrupper på 3-4 personer. En arbeidsgruppe mister noe når det blir mer enn 4 personer
<li>Hver gruppe får ti minutter på å fylle ut formatet over. Dersom det er mye gode diskusjoner i gruppene lar jeg dem gå fem minutter over tida.</li>
<li>Jeg går gjennom malen og ber alle gruppene lese opp for forsamlingen hva de svarte på hvert punkt. For hvert punkt spør jeg åpent &#8220;hvilket svar var best?&#8221; Det nominerte beste svaret skriver jeg på tavle eller flipover. Dette tar cirka ti minutter.</li>
<li>Vi avslutter workshopen med en liten oppsummering av hva folk fikk ut av øvelsen.</li>
</ol>
<p>Totalt får man en brukbar, felles visjon for en gruppe på under en halv time. Som en bonus blir gruppa som helhet litt bedre kjent med hverandre.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/05/11/en-%c3%b8velse-for-a-finne-et-felles-mal-for-teamet-ditt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lykkes du som kunnskapsmedarbeider?</title>
		<link>http://sterkblanding.no/blog/2010/05/11/lykkes-somkunnskapsmedarbeider/</link>
		<comments>http://sterkblanding.no/blog/2010/05/11/lykkes-somkunnskapsmedarbeider/#comments</comments>
		<pubDate>Tue, 11 May 2010 07:17:54 +0000</pubDate>
		<dc:creator>Jan Helge Maurtvedt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[informasjonseksplosjon]]></category>
		<category><![CDATA[kunnskapsmedarbeider]]></category>
		<category><![CDATA[kunnskapssamfunnet]]></category>
		<category><![CDATA[Samhandling]]></category>
		<category><![CDATA[sosiale medier]]></category>
		<category><![CDATA[utfordringer]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=538</guid>
		<description><![CDATA[Trender i kunnskapssamfunnet er dagens tema for First Tuesday. Vi lever uvilsomt i et kunnskapssamfunn. Mengden av tilgjengelig informasjon har skutt i taket de siste årene. Utviklingen går stadig raskere, veldig mye raskere enn før. Hva er det så som er viktig for å kunne lykkes som medarbeider og menneske i dette ”nye” samfunnet? Det [...]]]></description>
			<content:encoded><![CDATA[<p>Trender i kunnskapssamfunnet er dagens tema for <a href="www.firsttuesday.no">First Tuesday</a>. Vi lever uvilsomt i et <a href="http://www.regjeringen.no/nb/dep/kd/dok/regpubl/stmeld/2006-2007/stmeld-nr-16-2006-2007-.html?id=441395">kunnskapssamfunn</a>. Mengden av tilgjengelig informasjon har <a href="http://en.wikipedia.org/wiki/Information_explosion">skutt i taket </a>de siste årene. Utviklingen går stadig raskere, veldig <a href="http://www.youtube.com/watch?v=yH6-ihF2E48">mye raskere enn før</a>. Hva er det så som er viktig for å kunne lykkes som medarbeider og menneske i dette ”nye” samfunnet? Det er ambisiøst å oppsummere det i fem punkter, men her er mitt forsøk. <span id="more-538"></span></p>
<ol>
<li><strong>Vær god til å søke etter og tilegne deg informasjon raskt</strong>. Hvem har ikke sittet i møter der navn eller tre bokstavs forkortelser blir kastet i mot deg med største selvfølgelighet. Har du ikke hørt om det? Er du helt utdatert eller? Det er flere enn en gang man henter seg inn med et godt søk på internett mens bombardementet pågår. Konsulenttriks kaller noen det, jeg kaller det overlevelsestaktikk. Det er helt umulig å ha full oversikt over alt alltid. Mengden informasjon er simpelthen for stor.</li>
<li><strong>Aksepter at verden endrer seg raskt, og vær åpen for nye og andre innfallsvinkler enn din egen, vær pragmatisk</strong>. Et eksempel: Noen insisterer fortsatt på at bunnposting er tingen i e-post, og argumenterer gjerne heftig for det. Dette til tross for at de aller fleste topp-poster, de fleste klienter viser tråden for emnet og mobiltelefonklienter bare viser toppen av mailen. Vedkommende som har skrevet har lagt sitt svar under noe du for lengst har lest. Det fremstår som unødvendig nerdete.</li>
<li><strong>Basiskunnskap består. Lesing og matte er kanskje de viktigste av alle basiskunnskaper. </strong>Dette danner selve fundamentet for punktene over, så her gjelder det å være god. Læreplanen i den norske grunnskolen i dag er faktisk veldig lik den som ble laget i mellomkrigstiden på 1930-tallet. Sirkelen er fortsatt rund, linjen er fortsatt rett. Bokstavene ordnes ofte i alfabetisk rekkefølge (alfabetet begynner ikke med QWERTY&#8230;) og er de samme som før. Det er her <a href="http://www.regjeringen.no/nb/dep/kd/dok/regpubl/stmeld/2006-2007/stmeld-nr-16-2006-2007-/1.html?id=441396">kløften i samfunnet </a>skapes, de som er flinke til å lese og liker å lese, og de som ikke liker å lese eller er dårlig til å lese og faller av skolen. Fatt mot, det er mulig å øve på <a href="http://www.hurtiglesing.no">hurtiglesing</a>.</li>
<li><strong>Vær kildekritisk og gjør deg opp din mening.</strong> Mange journalister er så hardt presset at de ikke har tid til å undersøke det de skriver. Dersom artikkelen bærer preg av å være markedsføring så er den gjerne det. Ofte kan også økonomiske, politiske eller personlige meninger ligge bak. Kanskje sympatiserer også journalisten med budskapet og det blir enda mer farget. Forsøk å finne en journalistisk artikkel som er negativ til Apple, første treff på Google er <a href="http://en.wikipedia.org/wiki/Criticism_of_Apple_Inc.">wikipedia</a>.</li>
<li><strong>Niche thyself. Oversatt betyr dette noe sånt som «finn din nisje»</strong>. Ordene tilhører Guy Kawasaki og kommer fra boken ”the art of the start”. Han sa det om oppstartsbedrifter. Jeg mener det er minst like sant om fagpersoner. Kan du veldig mye om et smalt felt som er relevant og etterspurt, er du sikret jobb – i hvert fall en stund, til det du kan ikke lenger er etterspurt. Og så må du finne deg en ny nisje. Uttrykket burde kanskje modifiseres litt – <em>Niche thyself, and again, and again</em>.</li>
</ol>
<p> En bør altså være god til både å lære og å huske. Læring har imidlertid blitt mye viktigere enn husking i kunnskapssamfunnet enn hva det var i industrisamfunnet. Det er rett og slett komplett umulig å huske og kunne alt som er tilgjengelig. Er man lykkelig med det man vet og forberedt på å lære noe nytt går det som regel bra. Hvis ikke, google fungerer på iPhone under bordet også.</p>
<p>Det var mine topp fem overlevelsespunkter i kunnskapssamfunnet. Har du andre forslag til punkter?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/05/11/lykkes-somkunnskapsmedarbeider/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Når antivirus blir virus</title>
		<link>http://sterkblanding.no/blog/2010/05/06/antivirus-blir-virus/</link>
		<comments>http://sterkblanding.no/blog/2010/05/06/antivirus-blir-virus/#comments</comments>
		<pubDate>Thu, 06 May 2010 21:44:34 +0000</pubDate>
		<dc:creator>Nils-Erik Auråker</dc:creator>
				<category><![CDATA[Infrastruktur]]></category>
		<category><![CDATA[Sikkerhet]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=531</guid>
		<description><![CDATA[Hvis man spør de ansvarlige for større virksomheter hvordan de oppdaterer operativsystem og applikasjoner, svarer majoriteten at dette gjøres kontrollert igjennom en prosedyre. Det er ikke uvanlig at prosedyren inkluderer egne testmiljø eller at oppdateringer slippes gradvis ut mot en gruppe av objekter. I produksjonsmiljø sendes oppdateringer ofte ut på en slik måte at hvis [...]]]></description>
			<content:encoded><![CDATA[<p>Hvis man spør de ansvarlige for større virksomheter hvordan de oppdaterer operativsystem og applikasjoner, svarer majoriteten at dette gjøres kontrollert igjennom en prosedyre. Det er ikke uvanlig at prosedyren inkluderer egne testmiljø eller at oppdateringer slippes gradvis ut mot en gruppe av objekter. I produksjonsmiljø sendes oppdateringer ofte ut på en slik måte at hvis det skulle være noe galt, er det kun deler av miljøet som blir rammet.<span id="more-531"></span></p>
<p>Hvis man stiller de samme menneskene spørsmålet om hvordan antivirus oppdateres i virksomheten, kommer det uten unntak helt andre svar. Det er helt andre lover og regler som gjelder for antivirus. Dess oftere antivirus definisjonsfilene oppdateres, jo bedre er det. Det kan i hvert fall tyde slik på svarene man får. Det er ikke uvanlig at antivirusdefinisjonsfiler oppdateres opptil flere ganger per døgn i virksomheten. Dette er for så vidt helt greit, men det er ikke dette punktet som skiller oppdatering av antivirus fra andre typer oppdateringer. En ny antivirusdefinisjon, testes sjelden eller aldri i virksomheter før den slippes i produksjon. Det synes som et utstrakt mål at oppdateringer av antivirus skal ut så raskt som overhode mulig.</p>
<p>Hvorfor er dette et problem?</p>
<p>De aller fleste leverandører av antivirusprogramvare har ved en feiltagelse sluppet oppdateringer som har ført til at legale filer feilaktig identifiseres som virus. Noen ganger går dette bra, fordi virksomhetene ikke rekker å oppdatere sine egne kjernesystemer før den ondartede definisjonsfilen trekkes tilbake fra leverandør. Andre ganger får dette katastrofale følger ved at for eksempel kritiske tjenester og operativsystem stopper i det oppdateringen blir gjeldende i et miljø.</p>
<p>Virksomheter er i dag så redd for et virusutbrudd at antivirustjenestenes definisjonsfiler oppdateres for ofte og ukritisk. I praksis spiller mange russisk rullett med sitt produksjonsmiljø fordi man unnlater å teste definisjoner i forkant av en oppdatering. Ved hjelp av simple rutiner som allerede finnes i forbindelse med oppdateringer av annen programvare, kan risikoen for at antivirus blir virus elimineres.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/05/06/antivirus-blir-virus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Topp 5 trender fra Kuppinger Coles IAM-konferanse 2010</title>
		<link>http://sterkblanding.no/blog/2010/05/05/topp-5-trender-fra-kuppinger-coles-iam-konferanse-2010/</link>
		<comments>http://sterkblanding.no/blog/2010/05/05/topp-5-trender-fra-kuppinger-coles-iam-konferanse-2010/#comments</comments>
		<pubDate>Wed, 05 May 2010 21:21:29 +0000</pubDate>
		<dc:creator>Ronny Robinsson-Stavem</dc:creator>
				<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[Infrastruktur]]></category>
		<category><![CDATA[Outsourcing]]></category>
		<category><![CDATA[Samhandling]]></category>
		<category><![CDATA[Sikkerhet]]></category>
		<category><![CDATA[Strategi]]></category>
		<category><![CDATA[Access]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[IAM]]></category>
		<category><![CDATA[Informasjonssikkerhet]]></category>
		<category><![CDATA[Roles]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=509</guid>
		<description><![CDATA[Jeg befinner meg for øyeblikket i München som deltager på Europas store IAM konferanse i regi av analyseselskapet Kuppinger Cole. På agendaen står det mye spennende innenfor fagområdet, som i år også tar for seg Cloud computing sammen med områder innenfor IAM. Jeg oppsummerer her de fem store trendene Kuppinger Cole ser for seg i [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg befinner meg for øyeblikket i München som deltager på Europas store IAM konferanse i regi av analyseselskapet Kuppinger Cole. På agendaen står det mye spennende innenfor fagområdet, som i år også tar for seg Cloud computing sammen med områder innenfor IAM. Jeg oppsummerer her de fem store trendene Kuppinger Cole ser for seg i 2010 og 2011 innenfor IAM, GRC og Cloud computing.</p>
<p><span id="more-509"></span></p>
<p>Som en oppsummering på konferansen presenterer Kuppinger Cole de fem viktigste trendene innenfor IAm, GRC og Cloud computing. Nytt av året er at årets konferanse er slått sammen med Cloud Computing som virkelig er en het potet i Europa nå om dagen. Alle innlegg fram til nå har kommet inn på temaet, og det er stor spenning relatert til dette temaet som er upløyd mark. De viktigste trendene slik de blir formidlet er bl.a. en økende grad av justering mellom virksomhet og IT og evolusjonen mot et hybrid IT miljø bestående av et godt administrert miljø med en blanding av både interne og eksterne IT tjenester. Her er de heteste trendene , oversatt etter beste evne i tilfeller av manglende norske uttrykk, oppsummert fra konferansebrosjyren:</p>
<p><strong>Identity and Access Management (IAM)</strong></p>
<ol>
<li><strong>Mer fleksibilitet i arkitektur<br />
<span style="font-weight: normal">IAM-arkitektur er i endring. Den klassiske monolittiske tilnærmingen med provisioning som kjerne er kun en av flere arkitekturer som vurderes av integratører og kunder. Økende fleksibilitet i arkitekturer, samt integrasjon mot IT tjenester og virksomhetsportaler med sstøte for flere forsyningsverktøy blir mer og mer en realitet. Det hjelper også kunder med å implementere IAM raskere, biligere og mer spisset enn tidligere. </span></strong></li>
<li><strong>Tilgangsstyring og forsyning blir mer integrert<br />
<span style="font-weight: normal">Tilgangsstyring, også kalt IAM-GRC, er blitt en standard i flere arkitekturer og implementeringer, og er plassert på toppen av brukerforsyningen. Det er en økende grad av integrerte tilnærminger, samt en utvidelse av foryningsverktøy i form av tilgangsstyringsverktøy med mer støtte for integrasjon mot flere forsyningsverktøy i tillegg til adaptere for direkte tilkobling til mål- og fagsystemer. KuppingerCole forventer at denne trenden vil fortsette, og da med flere opsjoner for kundene og at tettere integrasjon mellom ulike teknologier vil bli mer standard.</span></strong></li>
<li><strong> Allsidige autentiseringsmekanismer blir mer modent<br />
<span style="font-weight: normal">Allsidige autentiseringsmekanismer, da i betydningen muligheter for å fleksibelt bruke ulike autentiseringsmekanismer basert på vanlig mellomvare blir mer modent og implementeres av flere leverandører. Dette muliggjør gjenbruk av sterk autentiseringsteknologi, samt mulighet for å velge den mest hensiktsemssige teknologien for ulike grupper av brukere (f.eks. interne og eksterne brukere) og brukstilfeller. Kostnaden med sterkere autentisering vil bli redusert.</span></strong></li>
<li><strong>Føderasjon finnes der ute<br />
</strong>Føderasjon, et tema som er gjenstand for mye diskusjon, er blitt en realitet. Tilsutningsraten er økende og vil fortsette å øke. I stedet for at man diskuterer potensialet blir nå føderasjon implementert i prosjekter med virkelige tilfeller.</li>
<li><strong>Økende tilslutning av IAM i mellomstore bedrifter.</strong><br />
IAM har fram til nå kun vært interessant for store selskaper og organisasjoner, og spesielt organisasjoner med compliance krav, men blir nå i økende grad relevant for mellomstore organisasjoner som middel mot å beskytte seg mot data- og informasjonslekkasjer og etterlevelse av krav angående personvern. Leverandører med standardimplementeringer og lettvekter produkter vil helt klart tjene på dette.</li>
</ol>
<p><strong>GRC &#8211; Governance, Risk Management, Compliance</strong></p>
<ol>
<li><strong>Fra punktløsninger til GRC arkitektur<br />
<span style="font-weight: normal">Det er i dag for mange GRC initiativ i organisasjonene. Det spås at dette vil endre seg mot at flere virksomheter tenker mer på en helhetlig GRC arkitektur før man investerer i egne punktløsninger. Dette vil hjelpe virksomhetene til å optimalisere de investeringene som gjøres.</span></strong><strong> </strong></li>
<li><strong>Tilgangsstyring som et startpunkt<br />
<span style="font-weight: normal">Tilgangsstyring er en av de mest økende områdene innenfor IT. Det betraktes som et logisk startpunkt for GRC initativ. Selv om det kun dekker en liten del av It-kontroller, er disse viktige, nemlig de som omhandler tilganger, informasjonslekkasjer, lovverkt angående personvern, og opphavsrett og/eller åndsverk. Det forventes at flere selskaper vil fokusere på tilgangsstyring når de skal investere i IT-GRC.</span></strong></li>
<li><strong>Lukke sløyfen for tilgangsstyring<br />
<span style="font-weight: normal">Et aspekt ved utviklingen er at det i økende grad blir mer integrasjon med automatiseringsteknologi for avstemming, som lukker sløyfen for endringer i målsystemer for attestering og sertifiseringer som har hatt fokus fram til nå. Disse tilnærmingene av lukking<strong><span style="font-weight: normal"> av sløyfene som støtter ikke bare reaktive men også prevantive kontroller blir mer og mer standard i markedet for tilgangsstyring (Access Governance).</span></strong></span></strong></li>
<li><strong><span style="font-weight: normal"><strong><span style="font-weight: normal"><strong>Virksomhets-GRC åpner opp for IT-GRC<br />
<span style="font-weight: normal">I dag er mange av de såkalte virksomhets-GRC verktøy (bedre definert som virksomhetsorientert GRC ) hovedsaklig fokusert på forretningssidens syn på risiko, f.eks. drifts og noen ganger strategisk risiko. Men, forretning er basert på IT-systemer. Derfor er ITrisiko og driftsrisiko tett relatert, og de automatiserte kontrollene for driftsrisiko er basert på på informasjon i IT-systemene. Av den grunn må desse to verdenene konvergere, som helt klart er en stor trend i dag. Kuppinger Cole forventer at muligheten for å støtte integrasjon mellom virksomhetsstyring og IT-styring vil bli en nøkkedifferensiator mellom leverandører.<br />
</span></strong></span></strong></span></strong></li>
<li><strong><span style="font-weight: normal"><strong><span style="font-weight: normal"><strong><span style="font-weight: normal"> <strong>Risikokonsepter blir innført<br />
<span style="font-weight: normal">Risiko er i økende grad forstått som et nøkkelkonsept for IT-ledelse. Risikokonsepter blir i økende grad støttet av verktøy og implementert i organisasjonen. Men, det er typisk i dag et syn på organisatorisk og strategisk risiko som er splittet fra synet på IT-risiko. Analyseselskapet forventer at dette sakte men sikkert vil endres.</span> </strong></span></strong></span></strong></span></strong></li>
</ol>
<p><strong>Cloud computing</strong></p>
<ol>
<li><strong>Fra taktikk til strategi<br />
<span style="font-weight: normal">Cloud computing flytter seg nå fra taktikk til strategi &#8211; fra opportunistisk bruk av eksterne tjenester mot en strategisk tilnærming for anskaffelse av tjenester som dekker både interne og eksterne tjenester på en konsistent måte. Utviklingen er obligatorisk for muligheten til en fleksible anskaffelse av tjenester samt for å minimere risiko ved å ta i bruk standardiserte tilnærminger for valg av tjenestetilbyder(e).</span></strong><strong> </strong></li>
<li><strong>Hybride IT-miljøer blir standard<br />
<span style="font-weight: normal">Virksomhetenes miljøer for cloud computing vil i økende grad være hhybride, med en blanding av eksterne og interne tjenestetilbydere. For de aller fleste organisasjoner vil dette bli en langsiktig realitet, og det er faktisk en realitet i dag når vi ser på eksterne tjenestetilbydere som blir benyttet på mange områder som bl.a. webkonferanse, webhotell, samt SaaS applikasjoner.</span></strong><strong> </strong></li>
<li><strong>Fokus på tjenester og ikke på at de er eksterne<br />
<span style="font-weight: normal">Med utviklingen fra en taktisk tilnærmingen mot standardisering vil tjenester bli kjernen i cloud computing &#8211; alle typer av tjenester og ikke bare eksterne tjenester. Evnen til å vellykket administrere IT er veldig avhengig av en konsistent tilnærming for anskaffelse og administrasjon av tjenester, uavhengig av hvor de kjøres. Dette vil i større grad bli forstått med resulterende endring av fokus fra få store og populære tilbydere av cloud computing mot endring av IT-strategi og ledelse.</span></strong></li>
<li><strong>Det blir mer fokus på sikkerhet enn tidligere<br />
<span style="font-weight: normal">På nåværende tidspunkt blir sikkerhet sett på som et tema innenfor og for skyen, i hvert fall delvis. Kuppinger Cole forventer en økende grad av kunnskap om virkelige sikkerhets- og styringsspørsmål, som helt klart er forskjellig fra dagens tåkete sikkerhetsbekymringer. Utviklingen vil gi organisasjoner bedre muligheter til å håndtere cloud risiko og bygge gyldige sikkerhetsstrategier for bruk av eksterne tjenester i skyen.</span></strong></li>
<li><strong>Mange nyetableringer, sammenslåinger og oppkjøp av selskaper<br />
<span style="font-weight: normal">På lik linje som i andre nye markeder innenfor IT er det mange nyetableringer i markedet for cloud computing, og flere vil komme. Gitt at det er mange nye trusler er det nok av plass for oppstarter. På den andre siden vil det bli flere oppkjøp av større leverandører som vil utvide og styrke sitt eget cloud computing tilbud. </span></strong></li>
</ol>
<p>Verden ser altså ut til å ble mer hybrid enn hva vi ser er vanlig i dag. Interne og eksterne brukere, interne og eksterne applikasjoner og tjenester må administreres og styres. GRC skal dekke dette. IAM må virke med alt sammen. Bevegelse mot en tilnærminger som må støtte denne hybride IT-verden, samtidig med sterk justering mot forretningsnærhet, blir kjernepunkter ITsjefen må forholde seg til. Dette er også i samsvar med hva spesialistene og leverandørene mener og tror også. Min egen vurdering og oppfatning av denne overfloden av informasjon og inntrykk er at Norge på mange områder ligger langt bak mange av landene her i Europa. Men jeg tror også at på mange av disse områdene kommer vi etter etterhvert som kundemarkedet modnes. We are all individuals&#8230; really? Det viser seg at vi ikke er så veldig spesielle med spesielle behov likevel hjemme på berget. Vi er derimot på mange områder hengende etter og har mer taktisk enn strategisk fokus.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/05/05/topp-5-trender-fra-kuppinger-coles-iam-konferanse-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mot til å produksjonssette tidlig?</title>
		<link>http://sterkblanding.no/blog/2010/04/26/mot-til-a-produksjonssette-tidlig/</link>
		<comments>http://sterkblanding.no/blog/2010/04/26/mot-til-a-produksjonssette-tidlig/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 16:56:15 +0000</pubDate>
		<dc:creator>Jan Helge Maurtvedt</dc:creator>
				<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[ITIL]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[Strategi]]></category>
		<category><![CDATA[endringsledelse]]></category>
		<category><![CDATA[mål]]></category>
		<category><![CDATA[prosjektledelse]]></category>
		<category><![CDATA[utfordringer]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=490</guid>
		<description><![CDATA[Har ditt erstatningsprosjekt mot til å produksjonssette på 70 % av funksjonaliteten til det gamle systemet? Det er mange, kanskje spesielt bedriftsledere og avdelingsledere i styringsgrupper rundt om kring, som tror at IT-prosjektet er ferdig når man har produksjonssatt den nye løsningen. Det er en oppfatning som kan få katastrofale følger. Min erfaring er at [...]]]></description>
			<content:encoded><![CDATA[<p>Har ditt erstatningsprosjekt mot til å produksjonssette på 70 % av funksjonaliteten til det gamle systemet? Det er mange, kanskje spesielt bedriftsledere og avdelingsledere i styringsgrupper rundt om kring, som tror at IT-prosjektet er ferdig når man har produksjonssatt den nye løsningen. Det er en oppfatning som kan få katastrofale følger.<span id="more-490"></span></p>
<p>Min erfaring er at det er ved produksjonssetting de virkelige utfordringene begynner, og da din prosjektgruppe trenger fokus. Nettopp da må styringsgruppen og involverte beslutnignstagere forstå at prosjektet trenger arbeidsro og gode rutiner, ikke nedleggelse, nye rapporteringsforpliktelser, bli gjenstand for budsjettkutt eller lignende. Utsagnet <em>et system som ikke endres er et dødt system</em> er virkelig sant i denne perioden. Husk det når du budsjetterer prosjektet og når du setter dine forventninger.</p>
<p>Det er alltid forbundet med risiko å ta en beslutning om konvertering og produksjonssetting, ofte resulterer det, i at man ikke klarer å skru av det gamle systemet likevel, eller at svært mange interessenter blir misfornøyde og skaper mye støy for prosjektet – den gamle løsningen fungerte jo bedre. Man kan teste så mye man orker før produksjonssetting, men Murphy’s lov slår til og ting går galt. Brukeren kan det ikke – da fungerer det ikke. Noe av det testteamet trodde var i orden viser seg kanskje også å skape en nedtur i begynnelsen. Opplevelsen trenger altså ikke bare være basert på reell mangel på funksjonalitet, men opplevd funksjonalitet. Fenomenet kan illustreres med en blodbadkurve, der man opplever at det nye systemet fungerer vesentlig dårligere enn det gamle systemet i en periode etter produksjonssetting.</p>
<p><a href="http://sterkblanding.no/files/2010/04/blodbadet.gif"><img class="alignnone size-full wp-image-492" title="blodbadet" src="http://sterkblanding.no/files/2010/04/blodbadet.gif" alt="" width="540" height="235" /></a></p>
<p>Ved å gjøre de rette grepene kan imidlertid blodbad-perioden reduseres og gjøres minst mulig smertefull. Her er fire tips.</p>
<p><strong>1. Styr forventningene i forkant</strong> – Blodbad-perioden er ofte den samme tidsperioden der styringsgruppen forventer at gevinstene skal realiseres, gjerne nokså umiddelbart. Dette er en umulighet hvis man ser på kurven over. Prosjektet er travelt opptatt med å prioritere feil, lære seg å drifte det nye systemet, lære brukerne å bruke det nye systemet og løse de mest kritiske tingene som mangler i systemet, ofte ved hjelp av tidkrevende workarounds inntil gode nok løsninger er på plass.</p>
<p><strong>2. Gi prosjektet økonomisk handlingsrom</strong> – Det sikreste man kan gjøre for å sikre absolutt fiakso er å legge ned prosjektet i denne fasen. Likevel er ofte “pengene brukt opp”, man hadde jo ikke regnet med at man måtte jobbe når man hadde levert til produksjon og nedleggelse blir realiteten. Det å ikke ha penger til endringer og videreutvikling i denne perioden er den sikreste måten å redusere levetiden på det nye systemet dramatisk. Det kan også tenkes at de som har fått det nye systemet trenger litt tid på å lære det, så regn med noen vikarer.</p>
<p><strong>3. Vær flink til å prioritere og operer med åpne prioriteringslister</strong> – Styringsgruppen ønsker rask realisering av visjonen og at prosjektet skal makte å følge den stiplede grønne utviklingsbanen. Svaret er ja, det skal dere få, men først må prosjektet få hodet over vannet i form av å løse de mest kritiske feilene. Deretter kan man prioritere forbedringer og nyutvikling. Et sikkert tegn på at man har med en umoden styringsgruppe å gjøre er dersom de i denne perioden forventer at prosjektet skal prioritere nye forretningskrav som plutselig har kommet opp når de ser det nye systemet. Prosjektgruppen bør prioritere utestående områder slik at det som er mest kritisk (eller lønnsomt) kommer først.</p>
<p><strong>4. Avklar ansvar og organisasjonsmodell for vedlikehold tidlig</strong> – Etter produksjonssetting kan det være uklare ansvarsforhold knyttet til vedlikehold. Innse det med en gang – et system uten endring er et dødt system. Da må man vite hvordan endringene skal gjennomføres, testes og produksjonssettes også etter oppstart. Ofte “fryses” kanskje systemet for å unngå store endringer rett før oppstart, med den konsekvens at utviklerne som kunne løst feil raskt forsvinner over til andre oppgaver eller mister fokus. Realiteten er at det er i produksjonssettingsfasen at endringstakten, eller i hvert fall feilrettingstakten, bør være desidert størst. I hvert fall dersom man mener alvor med å snu blodbadet og realisere visjonen for prosjektet.</p>
<p>Legg merke til at jeg ikke foreslår å utsette produksjonssettingen. Dette er åpenbart eneste alternativ dersom man ser at selv de mest basale behov systemet er tenkt å løse ikke fungerer, men i så tilfelle har prosjektet et større problem og burde ha lært seg metoder som Scrum og EVO for lenge siden.</p>
<p>Legg også merke til at prosjektet endrer karakter den dagen man produksjonssetter. Det er ikke lenger et erstatningsprosjekt. Det er et smidig forbedringsprosjekt og må behandles som det!</p>
<p>Les mer på sterkbladning.no:</p>
<ul>
<li><a href="http://sterkblanding.no/blog/2010/02/25/galls-lov-og-erstatningsprosjekter/">Johannes om erstatningsprosjekter</a></li>
<li><a href="http://sterkblanding.no/blog/2010/04/07/er-scrum-og-itil-en-del-av-problemet/">Ole-Vidar om driftsrammeverk (ITIL) vs utviklingsrammeverk (Scrum)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/04/26/mot-til-a-produksjonssette-tidlig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slik forbereder og gjennomfører du et teknisk kurs</title>
		<link>http://sterkblanding.no/blog/2010/04/25/slik-forbereder-og-gjennomf%c3%b8rer-du-et-teknisk-kurs/</link>
		<comments>http://sterkblanding.no/blog/2010/04/25/slik-forbereder-og-gjennomf%c3%b8rer-du-et-teknisk-kurs/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 15:26:31 +0000</pubDate>
		<dc:creator>Thomas Kjeldahl Nilsson</dc:creator>
				<category><![CDATA[Brukervennlighet]]></category>
		<category><![CDATA[Kursing]]></category>
		<category><![CDATA[Presentasjonsteknikk]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[kurs]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=387</guid>
		<description><![CDATA[Jeg holdt nylig en teknisk workshop for noen kollegaer, og forsøkte da å markedsføre, forberede og gjennomføre kurset på en hensiktsmessig måte. Her er noen prinsipper og teknikker som fungerer bra. Markedsføring Begynn med grunnleggende markedsundersøkelse. Hvem ønsker du å nå, og hva trenger de å lære om temaet ditt? Skriv  en velformulert invitasjon til [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg holdt nylig en <a href="http://sterkblanding.no/blog/2010/03/24/kom-igang-med-javascript/">teknisk workshop</a> for noen kollegaer, og forsøkte da å markedsføre, forberede og gjennomføre kurset på en hensiktsmessig måte. Her er noen prinsipper og teknikker som fungerer bra.</p>
<p><span id="more-387"></span></p>
<h2>Markedsføring</h2>
<p>Begynn med grunnleggende <strong>markedsundersøkelse</strong>. Hvem ønsker du å nå, og hva trenger de å lære om temaet ditt?</p>
<p><a href="http://sterkblanding.no/files/2010/04/admin-ajax.php_.jpeg"><img class="alignright" style="margin-left: 15px;margin-right: 15px" title="megafonMann" src="http://sterkblanding.no/files/2010/04/admin-ajax.php_.jpeg" alt="" width="320" height="213" /></a></p>
<p>Skriv  en velformulert invitasjon til kurset. Lag en skikkelig <em>pitch</em> &#8211; selg temaet ditt godt! Bruk grunnleggende <a href="http://www.amazon.com/22-Immutable-Laws-Marketing/dp/1861976100/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1271401727&amp;sr=8-1">prinsipper</a> fra <a href="http://www.amazon.com/Copywriters-Handbook-Third-Step-Step/dp/0805078045/ref=sr_1_3?ie=UTF8&amp;s=books&amp;qid=1271401787&amp;sr=1-3">markedsføring</a>: fortell hvorfor leseren skal bry seg (<em>benefits</em>) før du røper konkret pensum og detaljer for kurset (<em>features</em>).</p>
<p>Annonser kurset ditt i mange kanaler: email, sosiale medier, ansikt til ansikt. Jo fler fora jo bedre.</p>
<p>Sørg for at det er <strong>lett å melde seg på</strong>. Tenk på dette som å gjøre prospekter til kunder &#8211; gjør terskelen for &#8220;kjøp&#8221; så lav som mulig.</p>
<p>Nå strømmer forhåpentligvis påmeldingene inn. Bruk litt tid på å<strong> ta kontakt med hver deltaker</strong>. Gjør dette så tidlig som mulig. Send påmeldingsbekreftelse og ytterligere praktisk informasjon, og undersøk samtidig erfaringsnivået og forventningene til den enkelte &#8211; dette lar deg skreddersy innholdet i kurset.</p>
<h2>Planlegging og struktur</h2>
<p>Etter stegene ovenfor bør du ha et visst inntrykk av hvem som kommer til å dukke opp på workshopen. Generaliser denne informasjonen i <a href="http://www.stevebromley.com/blog/tag/persona/">personaer</a> &#8211; skal opplegget ditt passe for både <em>Programmerer Pia</em> og <em>Mellomleder Magnus?</em><br />
<a href="http://sterkblanding.no/files/2010/04/steinpaastein.jpg"><img class="alignleft" title="steinpaastein" src="http://sterkblanding.no/files/2010/04/steinpaastein.jpg" alt="" width="259" height="238" /></a></p>
<p><a href="http://sterkblanding.no/files/2010/04/steinpaastein.jpg"></a>Tenk grundig gjennom overordnet struktur og pensum. Brainstorm omfang og innhold for kurset med fleksible teknikker som <strong>whiteboard</strong>, <strong>skisser</strong> og <a href="http://en.wikipedia.org/wiki/Mind_map">tankekart</a>. Feiltrinn er enkle å fikse på dette stadiet; etter at du har begynt å implementere kurset blir de langt mer tidkrevende (akkurat som systemutvikling).</p>
<p><strong>Hvordan skal du lære bort?</strong> Dersom du har nok tid så bør du vurdere en kombinasjon av metoder. Litt foredrag, litt &#8220;tegn og fortell&#8221;, og rikelig med praktiske oppgaver. Hver person har sin egen måte å lære på, forsøk derfor å formidle materialet på flere måter for å treffe alle. Det gjør ikke noe at materialet derfor blir gjentatt; repetisjon hjelper folk å lære.</p>
<p>Presenter både grunnleggende fakta og relatert kontekst. Med andre ord, fortell både &#8220;hva er det?&#8221; og &#8220;hvorfor skal jeg bry meg?&#8221;. Mikro og makro.</p>
<p>Publikum kan ha varierende grad av erfaring og kunnskap om temaet du lærer bort. Forsøk i så fall å gi noe til både nybegynnerne og de erfarne elevene.</p>
<p>Jeg liker å starte med litt forelesning med praktiske demonstrasjoner underveis. Dette gir folk et fundament. Så bør folk få praktiske øvelser å jobbe med. <strong>Fortell, demonstrer, la folk prøve selv</strong>. (Resten av artikkelen antar at du følger dette formatet).</p>
<h2>Foredraget</h2>
<p>Start sterkt. Presenter en klar agenda &#8211; &#8220;hva skal vi lære idag, og hvorfor?&#8221; Bruk minimal tid på å introdusere deg selv; deltakerne er interessert i hva du ønsker å lære dem, ikke hvem du er.</p>
<p>Unngå foiler med masse tekst. <strong>Korte tekster</strong> er bra, enkeltord bedre, et enkelt illustrerende bilde er best. Kanskje du til og med slipper unna med å bare fortelle, dersom du gjør det tydelig nok?</p>
<p>Korte foiler er bedre enn tettskrevne. Så. Korte. Poenger. Som. Mulig. Hver foil fungerer da også som en veldig presis huskelapp for deg som forteller.</p>
<p>Foilene dine trenger ikke være kunstverk, men tenk litt <strong>grunnleggende grafisk design</strong>:</p>
<ul>
<li>Finn en generell stil på forhånd slik at materiellet blir så konsistent som mulig. Presenterer du samme type informasjon (eksempler, kode, lister&#8230;) gjentatte ganger? Lag da en konsekvent mal for hvordan disse foil-typene skal se ut. Kode bør f.eks alltid ha samme font og størrelse.</li>
<li>Bruk stor skrifttype. Velg farger som gir god kontrast mot hverandre. Hvordan kommer materialet ditt til å se ut når det projiseres på en hvit skjerm? I dagslys? Ti meter unna?</li>
<li>Bruk repetisjon. Innhold som gjentas er lettere å huske.</li>
<li>Bruk kontrast. Innhold som &#8220;hopper ut av siden&#8221; er minneverdig.</li>
<li>Bruk bilder av <a href="http://www.istockphoto.com/index.php">høy kvalitet</a>. Unngå kjedelig clip-art.</li>
<li>Skriv kortfattet tekst med mye whitespace rundt &#8211; la innholdet ditt &#8220;puste&#8221;.</li>
<li>Kutt ut standard-malene for powerpoint. Firmalogoer og andre grafiske snurredipperier er greit på introduksjonen og avslutningen av foredraget, men på resten av foilene medfører det bare visuelt støy.</li>
</ul>
<h2>Øvelsene</h2>
<p>Ta høyde for å bruke mye tid på å lage bra praktiske øvelser<strong>.</strong> Dette er noen poenger å tenke på:</p>
<ul>
<li>Øvelsene bør være enkle i starten. <strong>La eleven føle seg flink!</strong></li>
<li>Lag et bredt utvalg av oppgaver, og gjøre det mulig å løse dem i fri rekkefølge. En lang kjede av påbyggende oppgaver kan føre til at en feil i en tidlig øvelse ødelegger for eleven senere &#8211; i verste fall setter eleven seg helt fast. La eleven hoppe til en hvilken som helst annen øvelse når som helst.</li>
<li>Ta høyde for at folk har forskjellig erfaringsnivå og produktivitet. En måte å gjøre dette på er å legge til en &#8220;bonusoppgave&#8221; for de flinkeste i klassen på hver øvelse.</li>
<li><strong>Ikke krev at deltakerne skal forberede seg</strong> nevneverdig før kurset. Gjør det istedet enkelt å komme igang på selve workshopen. Tenk <a href="http://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/0465067107/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1271402199&amp;sr=1-1">brukeropplevelse</a>! For eksempel: dersom oppgavene krever programmering så bør du forsøke å gi et ferdig konfigurert utviklingsmiljø til eleven.</li>
<li>Anta i utgangspunktet at internett og intranett ikke er tilgjengelig, så slipper du å få ubehagelige overraskelser. Forsøk istedet å gi elevene alt de trenger for å komme igang på selve workshopen.</li>
<li>Sørg for at det er enkelt å distribuere ut handouts. Kjøp en haug usb-pinner, last inn filer på dem før kurset starter.</li>
</ul>
<h2>Siste forberedelser</h2>
<p>Når grunnleggende struktur og innhold er på plass bør du trene på stoffet og polere det ytterligere. <strong>Øving, forbedring, øving, forbedring.</strong> Iterer på innholdet flere ganger. Dette er som vanlig skriveprosess; hver gang du kommer tilbake til stoffet ditt med friske øyne så ser du ting som kan forbedres.</p>
<p>Forsøk å bli ferdig med det meste av forberedelser noen dager før kurset. Da gir du deg selv langt bedre margin for å avsløre og utbedre uventede mangler i opplegget ditt. Den siste kvelden før kurset passer best til rolig refleksjon og eventuell siste finpuss.</p>
<h2>D-dagen</h2>
<p>Møt opp tidlig. Undersøk kursrommet. Sett opp din egen pc og juster lysnivået i rommet &#8211; du har ikke lyst til å jakte etter kabler, lysbrytere og gardiner underveis i kurset.</p>
<p>Hils på folk etterhvert som de dukker opp. Prøv å få til litt småprat. Du ønsker å <strong>skape kontakt</strong> med deltakerne så tidlig som mulig, så tjuvstart med dette før selve kurset starter. Det er langt mindre skummelt å prate til en forsamling dersom du har noen kjente og vennlige ansikter i forsamlingen allerede.</p>
<p>Så kommer den utfordrende biten (iallfall for meg!): selve foredraget. Forsøk å være  avslappet og tydelig. Kontroller kroppsspråket ditt. Hold et rolig og jevnt tempo. Gjør som sangere og kamsportutøvere: bruk magen aktivt. <strong>Hent stemmen din dypt i magen, ikke øverst i halsen.</strong></p>
<p><a href="http://sterkblanding.no/files/2010/04/dirigent1.jpg"><img class="alignright size-full wp-image-409" style="margin-left: 15px;margin-right: 15px" title="dirigent" src="http://sterkblanding.no/files/2010/04/dirigent1.jpg" alt="" width="320" height="265" /></a></p>
<p>Besvar korte spørsmål underveis. Henvis lengre diskusjoner til oppsummeringen på slutten. Spesielt smale temaer kan eventuelt tas på tomannshånd etter kurset.</p>
<p><strong>Engasjer publikum</strong>. Still både retoriske og reelle spørsmål til rommet. La folk svare med håndsopprekning, individuelle svar eller gruppesamtaler. Oppfordre salen til å delta aktivt!</p>
<p>Del inn foredraget i <strong>korte sesjoner med hyppige pauser</strong> underveis, for eksempel en halvtime av gangen med fem minutter pause mellom. Gjør disse periodene enda kortere dersom rommet er smått og trangt; lav oksygentilførsel er ikke bra.</p>
<p>Vår oppmerksom på publikums reaksjon underveis, og tilpass tempo og innhold hvis nødvendig. Dersom tilskuerne kjeder seg bør du skynde deg til en mer spennende del av presentasjonen. Dersom de ser ut til å &#8220;falle av lasset&#8221; bør du senke tempoet og forklare tydeligere.</p>
<p>Gi folk<strong> handouts etter foredraget, ikke før</strong>. Du kjemper allerede om oppmerksomhet mot mange laptoper og mobiltelefoner i rommet, ikke undergrav deg selv ytterligere ved å gi ut lesestoff i tillegg. Fokus skal være på deg og hva du sier, ikke noen utskrifter du har delt ut.</p>
<p>Når de praktiske øvelsene starter bør du forsøke å aktivt sirkulere i rommet. Prat med deltakerne, sjekk hvordan det går med hver person/gruppe. Tilby hjelp hvis det er nødvendig. <strong>Vær tilstede som instruktør</strong>. Det er lett å stille spørsmål til deg hvis du er i nærheten og tydelig oppmerksom. En &#8220;fjern lærer bak et stort skrivebord&#8221; virker ikke like tilgjengelig.</p>
<p>Til slutt: be publikum om direkte tilbakemelding. Hva synes de kan bli bedre? Basert på dette, <strong>hold en enda bedre workshop neste gang</strong>! <img src='http://sterkblanding.no/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Referanser</h2>
<p><a href="http://www.amazon.com/Presentation-Zen-Simple-Design-Delivery/dp/0321525655/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1271425907&amp;sr=1-1">Presentation Zen</a> inneholder enkle tips rundt foredragsholding og slides-mekking.</p>
<p><a href="http://headrush.typepad.com/">Creating Passionate Users</a> er en fantastisk blogg om brukervennlighet og pedagogikk. Den oppdateres ikke lenger, men arkivene er en gullgruve.</p>
<p><a href="http://www.ted.com/">TedTalks</a> har masse eksempler på flinke foredragsholdere. Se og lær!</p>
<h2>Bidragsytere</h2>
<p>Takk til <a href="http://no.linkedin.com/in/sivfjellkarstad">Siv Fjellkårstad</a>, <a href="http://johannesbrodwall.com/">Johannes Brodwall</a> og<a href="http://no.linkedin.com/pub/markus-krüger/2/b2/892"> Markus Krüger, </a>som alle var så vennlige å dele av sine egne kurs-erfaringer!</p>
<p><em>Dette er et levende dokument. Kom gjerne med egne erfaringer i kommentarfeltet under &#8211; jeg fletter inn gode forslag i artikkelen.</em></p>
<p><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/04/25/slik-forbereder-og-gjennomf%c3%b8rer-du-et-teknisk-kurs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brukeradministrasjon og tilgangskontroll (IAM) som en slankekur</title>
		<link>http://sterkblanding.no/blog/2010/04/23/brukeradministrasjon-og-tilgangskontroll-iam-og-slankeku/</link>
		<comments>http://sterkblanding.no/blog/2010/04/23/brukeradministrasjon-og-tilgangskontroll-iam-og-slankeku/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 19:43:29 +0000</pubDate>
		<dc:creator>Ronny Robinsson-Stavem</dc:creator>
				<category><![CDATA[Risikostyring]]></category>
		<category><![CDATA[Sikkerhet]]></category>
		<category><![CDATA[Strategi]]></category>
		<category><![CDATA[Brukeradministrasjon]]></category>
		<category><![CDATA[IAM]]></category>
		<category><![CDATA[IdM]]></category>
		<category><![CDATA[Tilgangskontroll]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=353</guid>
		<description><![CDATA[Brukeradministrasjon og tilgangskontroll, eller Identity and Access Management (IAM), kan, som de fleste andre strategiske forretningsinitiativ, sammenlignes med en slankekur. Her vil jeg vil bruke en personlig anekdote til å forklare hvordan mange organisasjoner betrakter og praktiserer innføring av IAM. For noen år siden hadde jeg et massivt vektproblem. Problemet var ikke så stort at [...]]]></description>
			<content:encoded><![CDATA[<p>Brukeradministrasjon og tilgangskontroll, eller Identity and Access Management (IAM), kan, som de fleste andre strategiske forretningsinitiativ, sammenlignes med en slankekur. Her vil jeg vil bruke en personlig anekdote til å forklare hvordan mange organisasjoner betrakter og praktiserer innføring av IAM.</p>
<p><span id="more-353"></span></p>
<p>For noen år siden hadde jeg et massivt vektproblem. Problemet var ikke så stort at jeg hadde vanskeligheter med å komme meg igjennom dører, men jeg hadde definitivt et helseproblem. Jeg hadde ikke en gang en god medisinsk unnskyldning for min overvekt, som noen legitimt kan ha for sin størrelse. Sannheten var at jeg rett og slett bare elsket mat, og at jeg var for svak til å sette en stopper for denne kjærligheten. Men jeg enten forsto ikke, eller ønsket å innrømme at jeg selv var problemet. Jeg prøvde hver eneste slankekur som kom. Vekten min gikk selvfølgelig opp og ned som en jojo. Den nyeste slankedietten skulle alltid være løsningen. Virket ikke den ene, kastet jeg meg fort over den neste. Jeg ønsket at andres diettplaner skulle fjerne min overvekten. Jeg ønsket ikke å endre egne uvaner eller måten jeg oppførte meg på. &#8220;Kuren&#8221;, &#8220;dietten&#8221; skulle løse det for meg. Kjøp av junk food var utrolig lettvint, og nødvendig i en konsulents travle hverdag. Jeg overbeviste i hvert fall med selv om det&#8230;</p>
<p>For å gjøre en lang historie kort så vedvarte problemet. Investeringer i nye kostprogrammer løste ikke problemet mitt. Det tok flere år før jeg erkjente at det var jeg selv som var problemet, eller mer nøyaktig: at det var tankeprosessen min som var det egentlige problemet. Slankekurene representerte den reaktive meg. Jeg fokuserte på vektøkningen, i stedet for å fokusere på endring av uvaner og adferd som var årsaken til vektøkningen. Manglende viljestyrke og udugelighet til å erkjenne, eller vilje til å erkjenne, selve problemet&#8230; var mitt problem. En dag, med hjelp av personer rundt meg og andre tilfeldigheter, bestemte jeg meg for at min egen relasjonen til mat måtte bli endret. Tankeprosessen måtte endres. Mat skulle være middelet for målet som nemlig var overlevelse og god helse. Maten skulle ikke være målet i seg eller for seg selv. Jeg var nå på min vei mot vektreduksjon. Det var kun etter at jeg erkjente jeg hadde et problem samt endring av min tankeprosess for å adressere problemet, at slankekurer, verktøy og strategier virkelig kunne få effekten av tankeprosessen til å bli en virkelighet.</p>
<p>Nå må jeg først si at denne historien faktisk hverken er selvopplevd eller sann, og jeg har aldri hatt et vektproblem. Men vi kjenner vel til andre med lignende problem. Hva er da så moralen, og hva har IAM med dette å gjøre? Like sikkert som at en slankekur ikke vil løse slankerens problem over tid, vil heller ikke verktøy alene løse organisasjoners utfordringer og problemer med brukeradministrasjon og tilgangskontroll. Det nytter ikke å spise plaster når man har magesår. Det som virker er er en sammenhengende, strategisk, fokusert og godt planlagt innsats som er styrt av et velfungerende team.  Jeg er fristet til å si at dersom virksomheten ikke er forberedt på en IAM-suksess for hele virksomheten, bør virksomheten virkelig re-vurdere et IAM-program i det hele tatt. Jeg kaller det et program fordi det i realiteten er flere prosjekter som må foregå samtidig.</p>
<p>Bare så det er sagt så er teknologi og komplekse integrasjoner nødvendig og en viktig del av et IAM program, men det kommer seinere på den lange reisen. Dessverre er det slik at mange virksomheter først velger å starte med integrasjon eller anskaffelse av skinnende ny teknologi, og ignorere det som virkelig er avgjørende for IAM-programmets suksess, nemlig mennesker, krav og prosesser. Holdningen til disse virksomhetene er at på grunn av politikk- og budsjettutfordringer i et IAM-program, er det mindre risiko å fokusere på et verktøy som, dersom det mot alle odds går bra, avleder organisasjonens og ledelsens oppmerksomhet bort fra de interne problemene som virkelig er årsaken til at IAM feiler eller ikke tar av.</p>
<p>Forberedelser, forståelse,  god planlegging, og en klar forankret strategi er veien å gå for å komme godt igang med et IAM program.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/04/23/brukeradministrasjon-og-tilgangskontroll-iam-og-slankeku/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Er Scrum og ITIL en del av problemet?</title>
		<link>http://sterkblanding.no/blog/2010/04/07/er-scrum-og-itil-en-del-av-problemet/</link>
		<comments>http://sterkblanding.no/blog/2010/04/07/er-scrum-og-itil-en-del-av-problemet/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 15:23:50 +0000</pubDate>
		<dc:creator>Ole-Vidar Christensen</dc:creator>
				<category><![CDATA[ITIL]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=350</guid>
		<description><![CDATA[Noen ganger lurer jeg på om det har oppstått en form for religionskrig mellom miljøene innen for IT-Drift og de som arbeider med utvikling. Det utvikles industristandarder og ”good practice frameworks” på mange områder. Men ingen av rammeverkene har lykkes med å kommunisere godt med de som er utenfor sin primærmålgruppe. Det er et gap [...]]]></description>
			<content:encoded><![CDATA[<p>Noen ganger lurer jeg på om det har oppstått en form for religionskrig mellom miljøene innen for IT-Drift og de som arbeider med utvikling. Det utvikles industristandarder og ”good practice frameworks” på mange områder. Men ingen av rammeverkene har lykkes med å kommunisere godt med de som er utenfor sin primærmålgruppe. Det er et gap mellom utvikling og drift.<span id="more-350"></span></p>
<p>Dette tema var belyst på årets itSMF-konferanse som ble avholdt på Gardermoen 3-4 mars. ”Dei leikar ikkje saman – enno!” het presentasjonen til Bjørnar Tessem fra Universitetet i Bergen. Denne presentasjonen setter fokus på at det er samhandlingen mellom utvikling og drift som er mangelfull. Man er usikker på å la andre ”komme inn på sitt domene”, både fra utvikler- og driftsmiljøene. Hva skyldes denne usikkerheten? Er det frykt for å miste makt og innflytelse? Eller får man skylapper av sine egne ”good practice frameworks” enten de heter ITIL, CoBIT, Scrum, smidig eller noe annet? Dersom man får en for streng tolking av sitt eget rammeverk, så mister man den pragmatiske tilnærmingen.</p>
<p>Det er ingen tvil om at slike rammeverk bidrar til forbedring innen for sine respektive områder, men de kan også bidra til å stenge ute andre fornuftige innspill. Resultatet kan bli en religionskrig, der kundene og brukerne er de som må lide for den mangelfulle samhandlingen.</p>
<p>Utvikling og drift må i større grad ha følelsen av et felles ansvar for at tjenestene de utvikler og drifter vil tjene det formål de er tiltenkt på en måte som er effektivt for både brukerne og leverandørene.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/04/07/er-scrum-og-itil-en-del-av-problemet/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Bugs of honor, bugs of shame</title>
		<link>http://sterkblanding.no/blog/2010/04/06/bugs-of-honor-bugs-of-shame/</link>
		<comments>http://sterkblanding.no/blog/2010/04/06/bugs-of-honor-bugs-of-shame/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 16:39:28 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=346</guid>
		<description><![CDATA[Det er flaut med bugs. Noen bugs gjør meg flauere enn andre. Andre bugs er helt akseptable. I prosjektet mitt er vi stolte av at såpass få feil finnes av testere (eller av brukere), men det er noen som faller gjennom sikkerhetsnettet vårt. Her er noen av bugsene vi har hatt i det siste, fra [...]]]></description>
			<content:encoded><![CDATA[<p>Det er flaut med bugs. Noen bugs gjør meg flauere enn andre. Andre bugs er helt akseptable. I prosjektet mitt er vi stolte av at såpass få feil finnes av testere (eller av brukere), men det er noen som faller gjennom sikkerhetsnettet vårt. Her er noen av bugsene vi har hatt i det siste, fra den minst ydmykende til den verste:</p>
<p><span id="more-346"></span></p>
<ul>
<li><strong>Bug rapport: &#8220;Administrative kostnader&#8221; skal fjernes:</strong> Når vi beregner totalkostnaden til et veiprosjekt, inkluderer vi kostnaden av nyanlegg, ombygging, bruer og administrative kostnader. Når vi demonstrerte applikasjonen til brukerne våre, husket de plutselig at administrative kostnader er sjelden i bruk og burde egentlig fjernes fra applikasjonen. Endringen var enkel og det er usannsynlig at en bedre analyse på forhånd hadde kommet fram til samme konklusjon. Dette er den type feilrapport vi liker å få.</li>
<li><strong>Bug rapport: Ikke-effektuerte utbetalinger skal telle mot totalt tilgjengelige midler:</strong> Når vi sjekket om det var tilstrekkelige midler for å utføre en utbetaling, glemte vi å ta med de utbetalingene som var registrert, men ikke utført enda. Tilstandsovergangen av utbetalinger fra registrert til godkjent til utført var litt mer kompleks enn vi hadde forventet, og enhetstestene sjekket ikke tilstrekkelig med varianter. Vi burde ha funnet denne feilen med enhetstestene våre, men dersom vi aldri får feil av denne typen, kan det være en indikasjon på at vi er <em>for</em> nøye med testingen vår. Så feilen er helt grei. Spesielt ettersom konsekvensene for brukeren ikke var spesielt store</li>
<li><strong>Bug rapport: Perioder som starter i desember rapporterer <em>IllegalArgumentException</em>:</strong> Når vi beregnet neste måned, glemte vi å ta hensyn til at du kan ikke bare legge til én på månedsnummer. Neste måned etter desember er ikke måned 13! Dette var en slurvete feil og jeg tror den ble introdusert en gang når vi ikke parprogrammerte (fordi koden var så triviell, liksom!). Brukerne våre forstår at slike type feil kan skje, men vi må se nøyere på prosessen vår for å unngå slike feil i fremtiden.</li>
<li><strong>Bug rapport: Layout ser rotete ut i Internet Explorer:</strong> For å unngå noen tekniske problemer når vi skrev enhetstester for HTML&#8217;en vi produserte, fjernet vi midlertidig doctype-definisjonen fra webside-malene våre. Så glemte vi å putte definisjonen inn igjen (jada, et nytt eksempel der vi ikke parprogrammerte). Sidene så fortsatt fine ut i Chrome og Firefox, som utviklerne brukte for manuell verifisering. Men i Internet Explorer så websidene direkte kaotiske ut. Den tekniske konsekvensen av feilen var triviell, men feilen kunne lett ha vært unngått, dersom vi vi hadde testet med samme nettleser som brukerne våre. Noen av brukerne våre fikk dette håpløse førsteinntrykket av applikasjonen mens de hjalp oss å teste. Det var skikkelig flaut. Dette vil vi ikke at skjer igjen!</li>
</ul>
<p>Det er litt vanskelig å definere hvilke bugs som gjør meg mest flau. Noen viktige faktorer er hvor vanskelig ville det vært for oss å unngå feilen og hvor stor konsekvens feilen har. Men andre faktorer påvirker også hvordan vi oppfatter en bug. Av feilene på lista over, så er den jeg er mest flau over kun en kosmetisk feil. Men siden dette var noen brukeres førsteinntrykk av applikasjonen, var det mye mer problematisk enn de særtilfellene vi ikke helt støttet.</p>
<p>Hva synes du gjør en feil mer eller mindre akseptabel?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/04/06/bugs-of-honor-bugs-of-shame/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Kom igang med JavaScript!</title>
		<link>http://sterkblanding.no/blog/2010/03/24/kom-igang-med-javascript/</link>
		<comments>http://sterkblanding.no/blog/2010/03/24/kom-igang-med-javascript/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 06:25:32 +0000</pubDate>
		<dc:creator>Thomas Kjeldahl Nilsson</dc:creator>
				<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=185</guid>
		<description><![CDATA[Stadig mer programvare utvikles som rike webapplikasjoner, og brukere og kunder stiller stadig høyere krav til disse løsningene. JavaScript er derfor i ferd med å bli et av de viktigste verktøyene våre for moderne applikasjonsutvikling.

Språket blir dessverre behandlet som den stygge andungen av mange utviklere fordi det tradisjonelt oppleves som knotete, skjørt og lite vedlikeholdbart. Slik trenger det ikke være!

Vi i Steria har utviklet et gratis, nedlastbart kurs som oppdaterer deg på dette området. Denne workshopen introduserer ferdighetene, teknikkene og verktøyene som gjør JavaScript-utvikling langt mer overkommelig enn tidligere. Alt materiale i kurset er fritt tilgjengelig til din egen bruk.]]></description>
			<content:encoded><![CDATA[<p>Stadig mer programvare utvikles som rike webapplikasjoner, og brukere og kunder stiller stadig høyere krav til disse løsningene. JavaScript er derfor i ferd med å bli et av de <strong>viktigste verktøyene</strong> våre for moderne applikasjonsutvikling.</p>
<p>Språket blir dessverre behandlet som den stygge andungen av mange utviklere fordi det tradisjonelt oppleves som knotete, skjørt og lite vedlikeholdbart. Slik trenger det ikke være!</p>
<p>Vi i Steria har utviklet et <strong>gratis, nedlastbart</strong> kurs som oppdaterer deg på dette området. Denne workshopen introduserer ferdighetene, teknikkene og verktøyene som gjør JavaScript-utvikling langt mer overkommelig enn tidligere. Alt materiale i kurset er fritt tilgjengelig til din egen bruk.<span id="more-185"></span></p>
<p>Du kan bruke foilene, forelesningsnotatene og øvelsene som <strong>personlig studiemateriell</strong>. Du kan også holde kurset som en formell <strong>workshop</strong> sammen med kollegaer eller kunder. Workshopen tar omtrent en halv dag (3-4 timer) når det gjøres skikkelig &#8211; beregn halvannen time forelesning, minst halvannen time praktiske øvelser.</p>
<p style="text-align: center"><object width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slides-100310162930-phpapp02&rel=0&stripped_title=javascript-neednt-hurt-3390657" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slides-100310162930-phpapp02&rel=0&stripped_title=javascript-neednt-hurt-3390657" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<h2 style="text-align: center"><a title="Download link" href="http://kjeldahlnilsson.net/jsnh.zip"><strong><span style="color: #ff6600"><span style="text-decoration: none"><span style="color: #0000ff">LAST NED HER</span></span></span></strong></a></h2>
<p style="text-align: center"><em>(Inneholder slides, forelesningsnotater, øvelser, løsninger, eksempler, verktøy. Utgitt under en Creative Commons Attribution 3.0 lisens. Du kan bruke, endre og dele det fritt, så lenge du krediterer opphavsmannen.)</em></p>
<p>Hvis du ikke har kapasitet til å kjøre kurset selv kan du ta kontakt med <a title="Steria Norge link" href="http://steria.no">Steria</a>; vi kan holde kurset i dine lokaler, i og rundt Oslo.</p>
<p>La oss avslutte med en smakebit. Filmklippet under illustrerer et av temaene som workshopen tar for seg, nemlig <a title="Wikipedia TDD link" href="http://en.wikipedia.org/wiki/Test-driven_development">testdrevet utvikling</a> i JavaScript. Enjoy!</p>
<p style="text-align: center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=9453172&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="424" src="http://vimeo.com/moogaloop.swf?clip_id=9453172&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/03/24/kom-igang-med-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hvor er dine passord?</title>
		<link>http://sterkblanding.no/blog/2010/03/23/hvor-er-dine-passord/</link>
		<comments>http://sterkblanding.no/blog/2010/03/23/hvor-er-dine-passord/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 22:22:53 +0000</pubDate>
		<dc:creator>Nils-Erik Auråker</dc:creator>
				<category><![CDATA[Sikkerhet]]></category>
		<category><![CDATA[Passord]]></category>
		<category><![CDATA[Samhandling]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=323</guid>
		<description><![CDATA[En person forholder seg i dag til et mylder av passord. Hvordan håndterer folk passord generelt og finnes det en smart måte å håndtere den stadig økende mengden av passord på?]]></description>
			<content:encoded><![CDATA[<p>En studie om vaner i forbindelse med webpassord publisert av Microsoft i 2007, avdekker at en person i gjennomsnitt har tjuefem forskjellige passord å forholde seg til. Tallet er definitivt et høyt tall hvis man legger til grunn at det i en ideell verden bør være et visst innslag av unikhet. Som konsulent stopper ikke antall passord på tjuefem. Her er tallet betydelig høyere. Personlig var tallet nærmere tresifferet sist jeg sjekket.</p>
<p><span id="more-323"></span></p>
<p>Det finnes mange måter å håndtere mengden av passord på. Klassikerne er lapper og lagring i tekstfil (et lurt sted). En annen velkjent taktikk for å slippe å notere ned passordet er rett og slett å benytte samme passord overalt. Jeg har en god venn som har den strategien. Det finnes ikke et system som han har tilgang til hvor passordet er noe annet enn melk10 eller en nærliggende variant (Les: melk10mars).</p>
<p>For inntil få år siden hadde undertegnede en passordstrategi som i sin helhet var lagret i den biologiske harddisk. I praksis var det to utfordringer i denne strategien som gjorde at ting ble uoverkommelig.</p>
<p>Det første problemet var lengden på passord. Strategien og systemet var basert på lange passord. Normalt over 15 karakterer, et tall som ikke er helt tilfeldig. I det et passord passerer 15 karakterer i et Windows domene kan ikke domenekontrollerne lagre passordet i det svake LanManager (LM) formatet. En av feilene i systemet er at det finnes påfallende mange tjenester som ikke tillater lange passord. Et eksempel på det er finn.no som har en begrensning 12 karakterer. Det holdt derfor ikke å ha en strategi for å lage lange unike passord, jeg måtte også ha en plan for hvordan jeg skulle håndtere alle restriksjoner.</p>
<p>Utfordring nummer to knyttet seg til metadata. En ting er å huske passord, men hva med brukernavn? Utfordringen ledet faktisk til et problem. Jeg var til stadighet nødt til å få tilsendt innloggingsdetaljer via e-post. Ikke fordi jeg hadde glemt passord, men fordi jeg ikke husket brukernavn. Typisk for situasjonen er at man mater inn alle sine e-post adresser i tur og orden helt til tilbakestillingstjenesten bekrefter at kontoen finnes og nytt passord er sendt. Sammen med dette får man også tak i alle andre detaljer knyttet til kontoen, slik som brukernavn.</p>
<p>Strategien ble som nevnt tidligere forkastet for noen år siden. Godt utstyrt med personlig stolthet, satt det som vanlig langt inne å gjøre en adferdsendring. Dette på tross av at alle utenforstående faktorer tilsa at dette var det eneste riktige å gjøre. Jeg skal derfor ærlig innrømme at skifte av strategi var godt hjulpet av det faktum at jeg ble introdusert for et fantastisk redskap. Verktøyet ble benyttet i en driftsavdeling hos en av mine kunder. Samtlige passord og innloggingsdetaljer ble oppbevart og lagret i ulike databaser ved hjelp av dette verktøyet. Det finnes helt sikkert et utall applikasjoner som gjør nøyaktig samme jobben, men det var første gang jeg så et slikt produkt.</p>
<p>Produktet som jeg sikter til heter KeePass. Det er ikke så ofte man får den følelsen med programvare, men produktet bare stemte et hundre prosent. Det var så tydelig at de som hadde lagd produktet forstod hvilke utfordringer som er knyttet til oppbevaring av brukernavn og passord. Sikkerheten rundt produktet er god. KeePass støtter AES og SHA-256 bit kryptering og alle data lagres i en flat databasefil. Det er heller ikke behov for å installere noe på klienten hvor KeePass skal benyttes. En eksekverbar fil er alt som skal til. KeePass er et gratis sourceforge prosjekt som du finner på <a href="http://keepass.info">http://keepass.info</a>. Applikasjonen utviklet seg raskt til å bli en av mine viktigste og mest kjærkomne verktøy for å overleve i jungelen av passord. Hvor er dine passord?<br />
Kilder:<br />
<a href="http://research.microsoft.com/en-us/um/people/cormac/papers/www2007.pdf">http://research.microsoft.com/en-us/um/people/cormac/papers/www2007.pdf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/03/23/hvor-er-dine-passord/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kundens smidige manifest</title>
		<link>http://sterkblanding.no/blog/2010/03/18/kundens-smidige-manifest/</link>
		<comments>http://sterkblanding.no/blog/2010/03/18/kundens-smidige-manifest/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 09:08:52 +0000</pubDate>
		<dc:creator>Trond Wingård</dc:creator>
				<category><![CDATA[Samhandling]]></category>
		<category><![CDATA[Smidig]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=236</guid>
		<description><![CDATA[Hvordan ville det smidige manifestet ha sett ut dersom det var blitt skapt av kunder? Det smidige manifestet ble skapt av en gruppe svært talentfulle mennesker. Men alle sammen kom fra leverandørsiden av utviklingsprosjekter, noe som er tydelig allerede i den tredje av de fire verdiene: Samarbeid med kunden framfor kontraktsforhandlinger - som implisitt sier [...]]]></description>
			<content:encoded><![CDATA[<p>Hvordan ville det smidige manifestet ha sett ut dersom det var blitt skapt av kunder?</p>
<p><a href="http://www.agilemanifesto.org/">Det smidige manifestet</a> ble skapt av en gruppe svært talentfulle mennesker. Men alle sammen kom fra leverandørsiden av utviklingsprosjekter, noe som er tydelig allerede i den tredje av de fire verdiene:</p>
<p><em>Samarbeid med kunden framfor kontraktsforhandlinger</em></p>
<p>- som implisitt sier at &#8220;vi&#8221; ikke er kunden.</p>
<p>For å få ut de største gevinstene av smidige filosofier, må kundesiden også jobbe på en smidig måte. Dette betyr mer enn å skaffe en Produkteier som utviklerteamene kan jobbe med eller for. Kundesiden av prosjektet må jobbe ikke bare med utviklerne, men også med sin egen organisasjon og andre interessenter. Spesielt viktig er det at kundesiden av prosjektet må finne ut hvilke mål produktet må nå for å skape virkelig verdi for interessentene.</p>
<p>Så derfor lurer jeg på: Hvordan ville det smidige manifestet ha sett ut hvis det hadde blitt skapt av kunder i stedet for leverandører?</p>
<p><span id="more-236"></span>Her er resultatet av mitt lille tankeeksperiment.</p>
<h2>Smidige verdier</h2>
<p>Vi oppdager stadig bedre måter å utvikle systemer på, både ved å gjøre det selv og ved å hjelpe andre. Derved har vi lært oss å verdsette:</p>
<ul>
<li>Individer og samspill framfor prosesser og verktøy</li>
<li>Fungerende system framfor utførlig dokumentasjon</li>
<li>Å levere verdi til interessenter framfor å fullføre funksjonalitet</li>
<li>Samarbeid med leverandør og egen organisasjon framfor kontraktsforhandlinger</li>
<li>Å reagere på endringer framfor å følge en plan</li>
</ul>
<h2>Smidige prinsipper</h2>
<p>(Merk: Nedenfor har jeg inkludert de original prinsippene, men uthevet de nye forslagene, slik at du enkelt kan se likhetene og forskjellene. Den norske oversettelsen av originalprinsippene er forøvrig basert på en <a href="http://forum.smidig.no/forums/6/topics/575?page=1#posts-2401" target="_blank">diskusjon</a> på <a href="http://forum.smidig.no/" target="_blank">smidig</a><a href="http://forum.smidig.no/" target="_blank">.no-forum</a>.)</p>
<p>Vi følger disse prinsippene:</p>
<ul>
<li>(NY)<br />
<strong>Det hjelper ikke å gjøre tingene riktig hvis vi ikke gjør de riktige tingene. Vi må jobbe kontinuerlig med organisasjonen vår og med sluttbrukerne for å finne ut hva som er de riktige tingene.</strong></li>
<p></p>
<li>Vår høyeste prioritet er å tilfredsstille kunden gjennom å levere et verdifullt, kjørende system tidlig og hyppig.<br />
<strong>Vår høyeste prioritet er å skape verdi for interessentene gjennom tidlige og hyppige leveranser av programvare.</strong></li>
<p></p>
<li>Ønsk endringer i krav velkommen, også sent i utviklingen. Smidige prosesser utnytter endringer til å gi kunden konkurransefortrinn.<br />
<strong>Ønsk endringer i krav velkommen, også sent i prosjektet. Smidige prosesser utnytter endringer til å gi organisasjonen vår konkurransefortrinn.</strong></li>
<p></p>
<li>Lever fungerende programvare hyppig, fra et par uker til et par måneder, med preferanse for den korte enden av skalaen.<br />
<strong>Lever verdifulle løsninger hyppig, fra et par uker til et par måneder, med preferanse for den korte enden av skalaen.</strong></li>
<p></p>
<li>Forretningssiden og utviklere må jobbe sammen daglig gjennom hele prosjektet.<br />
<strong>Jobb sammen med interessentene og utviklerne kontinuerlig gjennom hele prosjektet.</strong></li>
<p></p>
<li>Bygg prosjektene rundt motiverte individer. Gi dem det miljøet og den støtten de trenger, og stol på at de får jobben gjort.<br />
<strong>Bygg prosjektene rundt motiverte individer. Gi dem det miljøet og den støtten de trenger, og stol på at de får jobben gjort.</strong></li>
<p></p>
<li>Den mest effektive metoden for å formidle informasjon til og innen et utviklingsteam, er å snakke ansikt-til-ansikt.<br />
<strong>Den mest effektive kommunikasjonsformen er å snakke ansikt til ansikt mens dere visualiserer samtaleemnet på papir eller tavle. Bruk andre former kun når tilleggsverdien er større enn tilleggskostnaden.</strong></li>
<p></p>
<li>Kjørende system er det primære målet på framdrift.<br />
<strong>Verdi realisert av interessentene er det primære målet på framdrift.</strong></li>
<p></p>
<li>Smidige prosesser fremmer bærekraftig utvikling. Sponsorene, utviklerne og brukerne bør kunne opprettholde et konstant tempo i ubegrenset tid.<br />
<strong>Smidige prosesser fremmer bærekraftig utvikling. Interessentene og utviklerne bør kunne opprettholde et konstant tempo i ubegrenset tid.</strong></li>
<p></p>
<li>Kontinuerlig fokus på teknisk kvalitet og godt design fremmer smidighet.<br />
<strong>Kontinuerlig fokus på høy teknisk kvalitet fremmer smidighet.</strong></li>
<p></p>
<li>Enkelhet – kunsten å maksimere mengden arbeid som ikke gjøres – er essensielt.<br />
<strong>Enkelhet – kunsten å maksimere mengden arbeid som ikke gjøres – er essensielt.</strong></li>
<p></p>
<li>De beste arkitekturene, kravene og designene vokser fram fra selv-organiserende team.<br />
<strong>De beste løsningene oppstår i selv-organiserende teams med klare mål.</strong></li>
<p></p>
<li>Med jevne mellomrom reflekterer teamet over hvordan det kan bli mer effektivt, og justerer arbeidsmåten sin tilsvarende.<br />
<strong>Med jevne mellomrom reflekterer alle involverte over hvordan de kan bli mer effektive, og justerer arbeidsmåten sin tilsvarende.</strong></li>
</ul>
<h2>Oppsummerende ord</h2>
<p>Jeg har holdt meg tett opp til de originale verdiene og prinsippene &#8211; kanskje for tett. Å ligge opptil originalen kan ha verdi &#8211; på en måte gir det kunde- og leverandørsiden en tydelig felles plattform. Dessverre det kan også bety at jeg overser noe viktig. Men det er ikke meningen her å skrive et helt nytt manifest (hvordan skulle jeg kunne det?), men heller leke rundt med &#8220;hva om&#8230;&#8221; og kanskje få fram noe verdifullt om likhetene og forskjellene mellom utvikleres og kunders perspektiv.</p>
<p>Hva synes du?</p>
<p>(takk til Johannes, Eli og Simen for innsikter og forslag som gjorde denne artikkelen bedre)</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/03/18/kundens-smidige-manifest/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Gi bedre feedback</title>
		<link>http://sterkblanding.no/blog/2010/03/17/gi-bedre-feedback/</link>
		<comments>http://sterkblanding.no/blog/2010/03/17/gi-bedre-feedback/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 20:38:09 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[Samhandling]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=234</guid>
		<description><![CDATA[Forskjellen på god feedback og dårlig feedback er enorm. Jeg og min kollega Ram holdt i dag et kurs i presentasjonsteknikk. For at alle skulle få mulighet å trene, delte vi kurset i grupper. For at alle skulle få god feedback, ga vi noen tips om hvordan man kan gi bedre feedback. Her er fire [...]]]></description>
			<content:encoded><![CDATA[<p>Forskjellen på god feedback og dårlig feedback er enorm. Jeg og min kollega Ram holdt i dag et kurs i presentasjonsteknikk. For at alle skulle få mulighet å trene, delte vi kurset i grupper. For at alle skulle få god feedback, ga vi noen tips om hvordan man kan gi bedre feedback. Her er fire gode tips:</p>
<p><span id="more-234"></span></p>
<ul>
<li><strong>Påpek noe positivt:</strong> Etter kurset fikk vi en mail fra en av deltagerne som sa &#8220;takk for kurset, det var veldig bra&#8221;. Det gjorde meg bevisst på hvor sjeldent vi gir og mottar skryt uten at det er et &#8220;men&#8230;&#8221; hengende rundt hjørnet og hvor motiverende det er når man faktisk får det.</li>
<li><strong>Vær konkret:</strong> Dersom du sier &#8220;foredraget var litt uklart&#8221;, gjør du mottakeren av kritikken en bjørnetjeneste. Uten at du påpeker noe konkret er det vanskelig for mottakeren å gjøre noe med det. Dersom du i stedet kan si: &#8220;Eksemplene gikk litt fort&#8221;, så er det lettere å gjøre noe med det.</li>
<li><strong>Foreslå en forbedring:</strong> I stedet for å peke på hva som var dårlig, kan du finne rom for å gjøre det bedre?</li>
<li><strong>Motiver forbedringen:</strong> I stedet for å bare gi et forslag til forbedring, kan du forklare hvordan endringen vil forbedre foredraget. Det tydeliggjør at du ønsker å hjelpe, samtidig som du anerkjenner at det er den som mottar forbedringen som tar den endelig avgjørelsen.</li>
</ul>
<p>Som et eksempel på prinsippet, sa jeg under kurset til min med-instruktør: &#8220;Du Ram, &#8216;å bli en bedre presentatør&#8217; høres litt klønete ut. Dersom du i stedet sier &#8216;å bli flinkere til å presentere&#8217;, så tror jeg setningen vil flyte bedre.&#8221;</p>
<p>Er du bevisst på å gi gode tilbakemeldinger? Hvilken tilbakemelding kan du gi meg når det gjelder denne artikkelen?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/03/17/gi-bedre-feedback/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Smaker sjokolade bedre enn passordet ditt?</title>
		<link>http://sterkblanding.no/blog/2010/03/15/smaker-sjokolade-bedre-en-passordet-ditt/</link>
		<comments>http://sterkblanding.no/blog/2010/03/15/smaker-sjokolade-bedre-en-passordet-ditt/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 08:35:41 +0000</pubDate>
		<dc:creator>Lars Jostein Silihagen</dc:creator>
				<category><![CDATA[Infrastruktur]]></category>
		<category><![CDATA[Sikkerhet]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=215</guid>
		<description><![CDATA[Informasjon er verdifull. Enten det er av ren nysgjerrighet eller om det er industrispionasje så er det alltid noen som ønsker å lese &#8220;utilgjengelig&#8221; informasjon om deg eller ditt firma. Kanskje vil de også stikke kjepper i hjula for å ødelegge informasjonen din, eller sette deg i ett dårlig lys. Informasjonstyveri er svært utbredt og [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">Informasjon er verdifull. Enten det er av ren nysgjerrighet eller om det er industrispionasje så er det alltid noen som ønsker å lese &#8220;utilgjengelig&#8221; informasjon om deg eller ditt firma. Kanskje vil de også <em>stikke kjepper i hjula</em> for å ødelegge informasjonen din, eller sette deg i ett dårlig lys. Informasjonstyveri er svært utbredt og vi har så langt bare sett starten innen nettbasert kriminalitet. De tre hovedformene for angrep er uautorisert inntrengning, uautoriserte endring eller ødeleggelse og bruk av ondsinnet kode.</div>
<p></br></p>
<div id="_mcePaste">Passordangrep er en av de vanligste metodene for å oppnå tilgang. Hensikten er å finne brukernavn og passord slik at angriperen kan logge inn på ett system eller en tjeneste og benytte brukerens rettigheter. På den måten kan det enkelt gjøres informasjonsuthenting eller de vil bruke din brukerident som plattform for videre angrep. Passordangrep kan for eksempel forgå gjennom passord sniffing, passord gjetting (directory eller brute force), trojansk hest eller tastelogger.</div>
<p></br><br />
<span id="more-215"></span>
<div id="_mcePaste"><strong>Passord sniffing</strong> er akkurat slikt det høres ut som. ”Sniffing” på nettverkstrafikk med håp om å kunne avsløre passord sendt mellom maskiner.</div>
<p></br></p>
<div id="_mcePaste"><strong>Passord gjetting</strong> kan gjøres med brute force hvor det prøves flere mulige passordkombinasjoner med for eksempel alle bokstaver fra aa-zz. Brute force kan også gjøres med utgangspunkt i ei liste med typiske passord og ord hvor man prøver om en eller kombinasjoner av flere av ordene kan være valgt som passord av brukeren. Sistnevnte kalles gjerne for ”Directory attack”.</div>
<p></br></p>
<div id="_mcePaste"><strong>Trojansk hest</strong> er ett program som kan se ut til å være nyttig og ufarlig, men samler i virkeligheten inn brukerens passord og tilgjengeliggjør passordene for angriperen.</div>
<p></br></p>
<div id="_mcePaste"><strong>Tastelogger</strong> er en service eller applikasjon som ofte kjører skjult i bakgrunnen i operativsystemet og loggfører brukerens inntastinger. På den måten kan inntastingen av passord loggføres og angriperen kan finne passordet.</div>
<p></br></p>
<div id="_mcePaste">Ved siden av de mange metodene for å finne brukernavn og passord florerer det av verktøy med funksjonalitet for å utføre passordangrep eller for innsamling av nettverkstrafikk for sniffing. Heldigvis er det ikke alltid like enkelt å finne passordene. Få moderne systemer og applikasjoner sender passord i klartekst, og de fleste benytter seg for eksempel av hashing-teknologi for å beskytte passordene. Typisk utfører brukerens klient en ”one-way hashing” av passordet som skrives inn og sender resultatet til systemet eller tjenesten som skal autentisere. Godkjenningssystemet har oversikt over brukerens passord-hash, ikke selve passordet, og når systemet mottar passord-hash blir dette sammenlignet med systemets hashingtabell for autentisering.</div>
<p></br></p>
<div id="_mcePaste">De fleste organisasjoner eller bedrifter har også gode rutiner og regler for passord og har teknologi som støtter dette. Typiske passord regler kan være passordets kompleksitet, antall tegn og antall tillatte feilforsøk. En utfordring er gjerne å finne balansegangen i kravene for hvor strengt ett passord skal være uten at dette er for vanskelig for brukeren å huske. Komplekse passord i kombinasjon med hyppige passordbytter kan ofte føre til at brukeren for eksempel skriver ned passordet på en huskelapp, noe som er en stor sikkerhetsrisiko.</div>
<p></br></p>
<div id="_mcePaste">Flere har også begynt å se på løsninger som for eksempel krever smartkort eller biometri i kombinasjon med passord for autentisering og oppnår på den måten tofaktor-autentisering. Dette er teknologi vi kommer til å se mer av fremover, både til glede og for enkelte en utfordring å innføre.</div>
<p></br></p>
<div id="_mcePaste">For å stjele passord er også <strong>Sosial Engineering</strong> ett stadig voksende problem. Forsøk på å lure personer til å gi ifra seg personlig identitet og passord fungerer skremmende ofte. I Sverige gjorde databladet <em>PC för alla</em> en undersøkelse hvor flere personer ble tilbytt en sjokolade hvis de oppga personlige opplysninger. Så mange som 23 av 34 var villige til å gi ifra seg sitt mest brukte passord (kilde: <a title="http://tiny.cc/vALdS" href="http://tiny.cc/vALdS" target="_blank">http://tiny.cc/vALdS</a>). Det viser at bevisstgjøring for brukeren om trusler og innarbeiding av rutiner og regler, samt oppfordring om varsling av hendelser er viktig for å bedre sikkerheten. Dessverre er det slik at mange opplever det som flaut å ”miste” passordet sitt eller kanskje vet de ikke at deres egen brukerident og passord blir missbrukt, og hendelsene blir derfor ikke rapportert.</div>
<p></br></p>
<div id="_mcePaste">Så når det gjelder beskyttelse mot passordangrep så er kanskje den største utfordring de ansatte selv &#8211; kanskje smaker sjokolade bedre enn passordet ditt?</div>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/03/15/smaker-sjokolade-bedre-en-passordet-ditt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Galls lov og erstatningsprosjekter</title>
		<link>http://sterkblanding.no/blog/2010/02/25/galls-lov-og-erstatningsprosjekter/</link>
		<comments>http://sterkblanding.no/blog/2010/02/25/galls-lov-og-erstatningsprosjekter/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 19:37:45 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Smidig]]></category>
		<category><![CDATA[Strategi]]></category>
		<category><![CDATA[arkitektur]]></category>
		<category><![CDATA[Galls lov]]></category>
		<category><![CDATA[prosjektledelse]]></category>
		<category><![CDATA[Systemantics]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=173</guid>
		<description><![CDATA[&#8220;If A System Is Working, Leave It Alone. Don&#8217;t Change Anything!&#8221;- John Gall, Systemantics (1975) Planen Det gamle systemet hadde blitt uholdbart. Leverandøren ga ikke lenger support på maskinvare eller programvare, det var umulig å oppdrive kompetanse for å videreutvikle og det var ikke lenger vedlikeholdbart siden det var så kompleks. Vi skulle derfor erstatte [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><em>&#8220;If A System Is Working, Leave It Alone. Don&#8217;t Change Anything!&#8221;</em><br />- John Gall, Systemantics (1975) </em></p></blockquote>
<h2>Planen</h2>
<p><em>Det gamle systemet hadde blitt uholdbart. Leverandøren ga ikke lenger <strong>support</strong> på maskinvare eller programvare, det var umulig å oppdrive <strong>kompetanse</strong> for å videreutvikle og det var ikke lenger <strong>vedlikeholdbart</strong> siden det var så kompleks.</em></p>
<p><em>Vi skulle derfor erstatte systemet med et nytt et. Bygget fra bunnen med moderne teknologi. Det burde bli enkelt, siden dagens system kan fungere som kravspesifikasjon. Vi hadde estimert arbeidet til 83 511 timeverk.</em></p>
<p><em>Vi ville naturligvis ikke investere store mengder arbeid i det gamle, døende systemet. Og dessuten var det umulig å integrere med. Så vi måtte bygge det nye systemet med all funksjonalitet, og så, en spennende helg om noen år, sette det i produksjon.</em></p>
<p>Slik høres introduksjonen til mange erstatningsprosjekter ut. I disse prosjektene har man et eksisterende system som typisk er kritisk for virksomheten. Av gode eller dårlige grunner har man valgt å gjennomføre et prosjekt som skal erstatte hele den gamle systemet med et nytt system som oppfyller samme målsetning.</p>
<p><span id="more-173"></span></p>
<p>Denne planen burde med en gang ringe noen varselbjeller. Hva er egentlig poenget med dette prosjektet? Prosjektet ønsker å videreføre dagens <strong>tjeneste</strong> med et nytt og moderne <strong>system</strong>. Og det er billigere måter å gjøre det på.</p>
<h3>Uortodoks observasjon #1:</h3>
<blockquote><p>Et erstatningsprosjekt er en dyr måte å forlenge livet til vår nåværende forretningsmodell.</p></blockquote>
<p>Det virker umulig å komme seg forbi hindrene i form av <strong>support</strong>, <strong>kompetanse</strong> og <strong>vedlikeholdbarhet</strong>. Men dersom vi doblet lønna til alle som ville programmere COBOL, så ville vi nok få nok kompetanse. Det er mulig å videreføre systemet. Det er bare veldig dyrt. Men det er også fantastisk dyrt å erstatte et system fra bunnen. Man kan bruke mange dyre teknikker for å holde systemet i gang før der lønner seg å erstatte.</p>
<p>På de fleste systemer er imidlertid <strong>support</strong>, <strong>kompetanse</strong> og <strong>vedlikeholdbarhet</strong> ikke de eneste, og kanskje ikke de egentlige motivene. Det finnes andre motiver, både dårlige (noen vil ha et stort prosjekt på CV eller jobbe med ny teknologi) og gode (vi ser muligheten til å levere verdi).</p>
<p>Først når erstatningsprosjektet tilfører forretningsverdi er det verdt å gjennomføre. Erstatningsprosjekter for å redusere kostnader eller forlenge levetiden på en utdatert forretningsmodell er en dårlig ide.</p>
<h2>Virkeligheten</h2>
<blockquote><p>&#8220;A Complex System Designed From Scratch Never Works And Cannot Be Made To Work. You Have To Start Over, Beginning With A Working Simple System&#8221;<br />- John Gall, Systemantics</p></blockquote>
<p><em>Den forrige arkitekten hadde holdt på med systemet i tre år. Og organisasjonen hadde ingenting å vise til. Det var ikke blitt ferdig, og han hadde insistert på at det var umulig å levere deler av systemet.</em></p>
<p><em>Styret er lei av denne unnskyldningen, og om administrerende direktør ikke finner en arkitekt som kan bevise at investeringene har verdi, er det han som må gå.</em></p>
<p>Et forsinket prosjekt mister politisk goodwill. Det er bare en måte for et prosjekt som har mistet troverdighet å redde seg på: Man må levere noe. Og da må man spise noen kameler.</p>
<h3>Uortodoks observasjon #2:</h3>
<blockquote><p>Det nye og det gamle systemet kommer til å leve sammen.</p></blockquote>
<p>Heldigvis er dette gode nyheter. Med en gang vi vet at det nye og det gamle systemet må leve sammen, åpner det døren for en rekke muligheter til å tenke bedre.</p>
<h2>Gradvis erstatning</h2>
<p>Først, her er fire patterns for å gradvis erstatte et system:</p>
<ul>
<li><strong>Delt database:</strong> Dersom det gamle systemer benytter en relasjonsdatabase kan det nye systemet bruke denne direkte. Det gjør det mulig å levere deler av det nye systemet nesten umiddelbart, men det legger føringer for designer av det nye systemet som man kanskje kunne unngått.</li>
<li><strong>Import/eksport:</strong> Før eller siden må vi forholde oss til de dataene som finnes i det gamle systemet. Ta kostnaden tidlig og eksporter data til det nye systemet. Men vær forsiktig: Det er vanskelig å ha to mastere for data. Start med å la det gamle systemet være master.</li>
<li><strong>Datatjenestelag:</strong> Dersom du ønsker å erstatte det gamle systemets datalager, kan du innkapsle dette i en tjeneste. Legg imidlertid merke til at datatjenester har høyt endringsbehov og tjenester som deles i et stort prosjekt er kostbare å endre.</li>
<li><strong>Parallell produksjon:</strong> Dersom det nye systemet utvikler funksjonalitet som finnes i det gamle, se om det er mulig at begge versjonene kan være i produksjon samtidig. Da reduseres konsekvensen dersom den nye versjonen inneholder feil, siden å rulle tilbake en produksjonsetting er enklere. Dette gjør at det kan være mulig å produksjonsette med mindre testing. Det nye systemet kan også starte med et subset av brukerne. Dermed kan man utsette noe av ytelsesoptimaliseringen til man har bedre erfaring fra faktisk bruk.</li>
</ul>
<p>Men det krever mer enn teknikker for å sette sammen systemene for å lykkes. Man må makte å finne oppgaver som man kan jobbe på og realisere verdi for organisasjonen i løpet av erstatningsprosjektet. Her er fire patterns for å finne områder å erstatte:</p>
<ul>
<li><strong>Risiko:</strong> Enkelte endringer er så viktige at uten dem, vil prosjektet regnes som mislykkes. For prosjekter relatert til pensjonsreformen vil det være katastrofalt om man ikke kan implementere det nye regelverket. Andre systemer har lenge hatt kjente svakheter som man har forpliktet seg til å utbedre. Fiks dette først!</li>
<li><strong>Kostnad:</strong> Organisasjoner som benytter systemer har ofte noe arbeidsoppgaver som er ekstra arbeidskrevende. Kanskje det er å punsje data, eller å overføre data fra et system til et annet. Eller kanskje det er kundene som ringer og spør om hvordan saken deres ligger an. Ved å velge et slikt område kan prosjektet levere gevinst tidlig.</li>
<li><strong>Isolerte brukere:</strong> Mange systemer har brukergrupper som bare benytter en liten del av systemet. Det kan være lurt å starte med en slik brukergruppe, ettersom man kan erstatte hele den delen av systemet de benytter på noen få leveranser.</li>
<li><strong>Nye brukere:</strong> Mange organisasjoner ønsker å lage selvbetjeningsløsninger for publikum. Disse er også gode og vanlige steder å starte et fornyingsprogram.</li>
</ul>
<h2>Arkitektur</h2>
<blockquote><p>&#8220;&#8230;organizations which design systems &#8230; are constrained to produce designs which are copies of the communication structures of these organizations.&#8221;- Conway&#8217;s Law</p></blockquote>
<p>En arkitekt på et stort prosjekt som lar prosjektlederen bestemme hvilke arbeidspakker hvert team skal jobbe med har begrenset mulighet til å påvirke prosjektets suksess.</p>
<p>Som arkitekt er det ofte fristende å jobbe med en målarkitektur. Men for et stort prosjekt blir målarkitekturens største føringer organisasjonen som skal utvikle systemet. Å oppfylle prosjektets behov for at folk kan jobbe uten å konstant ramle i beina på hverandre må prioriteres over andre arkitekturmål.</p>
<p>Jo flere kokker, desto mer søl. Det er din jobb å sørge for at ikke alle må være på samme kjøkken. Eller enda verre: Løpe mellom alle kjøkkenene.</p>
<h3>Uortodoks observasjon #3:</h3>
<blockquote><p>I store prosjekter er organiseringen den viktigste faktoren i arkitekturvalg.</p></blockquote>
<p>Min erfaring er at det finnes noe fundamentale grenser for hvor mange personer som kan samarbeide:</p>
<ul>
<li>4-6 personer kan jobbe med en person som dekker arkitektur, analytiker og teamleder-rollene. Dersom gruppen blir større enn dette, må man typisk ha tre personer for å dekke disse rollene.</li>
<li>10-12 personer kan jobbe på den samme koden og med den samme produktkøen uten å komme i beina på hverandre. I alle fall så lenge de kommuniserer daglig</li>
<li>30-35 personer kan jobbe med en kodebase som er kontinuerlig integrert. Dersom det er flere, vil tiden man bruker på å rette integrasjonsfeil bli en betydelig kostnad.</li>
</ul>
<p>Og når prosjektet blir for stort for kontinuerlig integrasjon, må gjenbrukt kode versjonshåndteres. Dette betyr at det vil være dyrt å gjøre endringer. Kode som ikke kan endres blir ofte dårlig kode. Så gjenbruk ut over 30-35 personer er overraskende dyrt.</p>
<p>Til slutt bør team ha som målsetning å produksjonsette hver tredje måned. Dette er veldig vanskelig å gjøre dersom en leveranse inneholder mange deler som ikke er kontinuerlig integrert. Deler som ikke er kontinuerlig integrert bør fortrinnsvis produksjonssettes helt separat fra hverandre.</p>
<h2>Konklusjon</h2>
<p>Et prosjekt som skal erstatte dagens system uten å endre forretningsprosessene har feil fokus. Modernisering er bra, men ha fokus på verdien til andre enn de som vedlikeholder systemet.</p>
<p>Vi har en rekke antagelser om hvordan erstatningsprosjekter vil fungere. Etter min erfaring er mange av disse antagelsene feil. Du kan godt ha annen erfaring, men her er min:</p>
<ul>
<li>Et erstatningsprosjekt er en dyr måte å forlenge livet til en eksisterende forretningsmodell</li>
<li>Det nye og det gamle systemet vil leve sammen</li>
<li>I store prosjekter er organiseringen den viktigste faktoren i arkitekturvalg</li>
</ul>
<p>Vi får til erstatningsprosjekter ved å levere gradvis.</p>
<blockquote><p>&#8220;Galls Law: A Complex System That Works Is Invariably Found To Have Evolved From A Simple System That Worked.&#8221;<br />- John Gall, Systemantics, 1975</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/02/25/galls-lov-og-erstatningsprosjekter/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hvordan komme i gang med blogging</title>
		<link>http://sterkblanding.no/blog/2010/02/16/hvordan-komme-i-gang-med-blogging/</link>
		<comments>http://sterkblanding.no/blog/2010/02/16/hvordan-komme-i-gang-med-blogging/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 19:51:45 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Samhandling]]></category>
		<category><![CDATA[blogging samhandling]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=168</guid>
		<description><![CDATA[Det kan være vanskelig å komme i gang å blogge, men noen enkle tips kan gjøre det litt mer overkommelig. Hvem? Det viktigste når du skriver en blogpost er å være bevist på hvem dine lesere er. For denne artikkelen gjorde jeg meg følgende tanker: Hva er leserens forhold til tema? Jeg regner med at [...]]]></description>
			<content:encoded><![CDATA[<p>Det kan være vanskelig å komme i gang å blogge, men noen enkle tips kan gjøre det litt mer overkommelig.</p>
<h3>Hvem?</h3>
<p>Det viktigste når du skriver en blogpost er å være bevist på hvem dine lesere er. For denne artikkelen gjorde jeg meg følgende tanker:</p>
<ul>
<li><em>Hva er leserens forhold til tema?</em> Jeg regner med at du som leser blogger litt eller tenker på å starte å blogge.</li>
<li><em>Hva tenker leseren om tema?</em> Jeg regner med at du synes det er vanskelig å komme i gang med bloggingen.</li>
<li><em>Hva får de ut av å lese blogposten?</em> Etter å ha lest posten vil jeg at du skal føle deg mer i stand til å skrive dine egne blogposter.</li>
</ul>
<h3>Hva?</h3>
<p>Når du vet hvem du henvender deg til, er det viktigste å jobbe med innholdet og strukturen.</p>
<ul>
<li><strong>Struktur:</strong> For hvert avsnitt vil du miste 5% av leserne (for å trekke et tall ut av lufta). Skriv det viktigste først</li>
<li><strong>Språk:</strong> Bruk aktivt språk som henvender seg direkte til leseren. Et eksempel på aktivt språk er: &#8220;Bruk aktivt språk som henvender seg direkte til leseren&#8221;</li>
<li><strong>Eksempler:</strong> Det er vanskelig å formidle abstrakte ideer. Eksempler er enklere.</li>
</ul>
<h3>Hvordan?</h3>
<p>Når jeg starter med en blogpost, starter jeg nesten alltid med å kladde på papir. Jeg skriver strukturen ned, river i stykker papiret og skriver den ned på nytt. For meg fungerer det veldig godt å skrive på papir for å bearbeide tankene. Når jeg tar fram datamaskinen, blir jeg distrahert av verktøyene.</p>
<p>Mine mest populære artikler er de som der jeg har fått mye innspill av andre før jeg har publisert artiklene. Send utkast til artikkelen til folk du stoler på og be om konstruktiv tilbakemelding. Konstruktiv tilbakemelding er konkret og spesifikk: For eksempel: &#8220;Dersom blogposten hadde brukt punktlister også i siste avsnitt hadde den virket mer helhetlig uttenkt&#8221;. Personlig liker jeg best å dele utkastene mine med andre via <a href="http://docs.google.com">Google Docs</a>, framfor å maile vedlegg frem og tilbake.</p>
<p>Spre ordet via de kanalene du kommuniserer med: Pass på at bloggen har en RSS-feed. Bruk twitter, yammer, facebook, linkedin etc for å spre ordet. Ikke glem den gamle traveren email, heller (men for guds skyld, ikke spam folk!)</p>
<h3>Hvorfor?</h3>
<p>Som mennesker ligger trangen til å kommunisere i vårt DNA. Når jeg er entusiastisk om noe, føles det riktig å dele det. Å nå andre bekrefter vår egen eksistens.</p>
<p>Blogito, ergo sum!</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/02/16/hvordan-komme-i-gang-med-blogging/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Se foredragene fra TED-at-Steria 3</title>
		<link>http://sterkblanding.no/blog/2010/02/11/se-foredragene-fra-ted-at-steria-3/</link>
		<comments>http://sterkblanding.no/blog/2010/02/11/se-foredragene-fra-ted-at-steria-3/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 08:12:27 +0000</pubDate>
		<dc:creator>Ram Yoga</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[#ted-at-steria]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=143</guid>
		<description><![CDATA[Med jevne mellomrom arrangerer vi fredagspils med faglig inspirasjon i Steria. Da ser vi etter foredrag som er utenfor IT-verdenen eller som på andre måter kan inspirere, underholde og få oss til å se verden med litt andre øyne. Som regel har vi vist foredrag fra TED-konferansen, en konferanse der verdensledende fagfolk forteller om sitt [...]]]></description>
			<content:encoded><![CDATA[<p>Med jevne mellomrom arrangerer vi fredagspils med faglig inspirasjon i Steria. Da ser vi etter foredrag som er utenfor IT-verdenen eller som på andre måter kan inspirere, underholde og få oss til å se verden med litt andre øyne. Som regel har vi vist foredrag fra <a href="http://www.ted.com">TED</a>-konferansen, en konferanse der  verdensledende fagfolk forteller om sitt arbeid på en lettfattelig måte.</p>
<p>Fredag 5. februar viste vi følgende foredrag:</p>
<p><span id="more-143"></span></p>
<ul>
<li><a href="http://www.ted.com/talks/lang/eng/alexis_ohanian_how_to_make_a_splash_in_social_media.html">Alexis Ohanian: How to make a splash in social media (Mr Splashy Pants)</a><br />
Et av de korteste foredragene vi har sett, men også ett av de mest effektive. Ohanian forteller deg hemmeligheten til å lykkes i sosiale medier gjennom en sann historie.</li>
<li><a href="http://www.ted.com/talks/lang/eng/rory_sutherland_life_lessons_from_an_ad_man.html">Rory Sutherland: Life Lessons From an Ad Man</a><br />
Underholdende og tankevekkende foredrag som vil få deg til å se markedsføring i nytt lys.</li>
<li><a href="http://www.ted.com/talks/lang/eng/vs_ramachandran_the_neurons_that_shaped_civilization.html">VS Ramachandran: The neurons that shaped civilization</a><br />
Utsagnet om at alle mennesker er koblet sammen viser seg å være langt sannere enn vi først trodde. Det er faktisk bare huden som skiller oss. Hør om de fascinerende nevronene som kobler oss sammen.</li>
<li><a href="http://www.ted.com/talks/robert_full_on_engineering_and_evolution.html">Robert Full: How engineers learn from evolution</a><br />
Du skulle ikke tro at et foredrag om føtter kan være fascinerende, men jo det kan det være! Se hvordan neste generasjon med roboter har dramatisk bedre fremkommelighet fordi forskerne har studert naturen og etteraper naturens konstruksjoner.</li>
<li><a href="http://www.ted.com/talks/pranav_mistry_the_thrilling_potential_of_sixthsense_technology.html">Pranav Mistry: The thrilling potential of SixthSense technology</a><br />
Dette er den beste teknologidemoen du vil se i 2010. En ny vri på såkalt &#8220;augmented reality&#8221; &#8212; og teknologien er til og med rimelig!</li>
<li><a href="http://www.ted.com/talks/lang/eng/dan_ariely_on_our_buggy_moral_code.html">Ariely performs experiments on pain and immorality</a><br />
Fascinerende på flere plan. Ariely tar for seg både smerte og umoral. Svært interessant om hvordan og hvorfor folk jukser og hvordan tradisjonell økonomisk teori kommer til kort for å beskrive den irrasjonelle oppførselen rundt juksing.</li>
</ul>
<p>Hva synes du om disse foredragene? Og har du tips til andre gode foredrag vi bør vise?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/02/11/se-foredragene-fra-ted-at-steria-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Smidig brukervennlighet</title>
		<link>http://sterkblanding.no/blog/2010/01/29/smidig-brukervennlighet/</link>
		<comments>http://sterkblanding.no/blog/2010/01/29/smidig-brukervennlighet/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 13:24:11 +0000</pubDate>
		<dc:creator>Ram Yoga</dc:creator>
				<category><![CDATA[Brukervennlighet]]></category>
		<category><![CDATA[Smidig]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=119</guid>
		<description><![CDATA[Vi lo godt da vi leste denne stripa. Den setter fingeren på både sannheter, usannheter og fordommer. Alle som har jobbet i systemutviklingsprosjekter vil nok kjenne seg igjen her. Vår påstand er at de som kjenner seg mest igjen er de som ikke har jobbet med brukersentrerte designere eller smidige utviklere. I stripa er kulturforskjellene [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_122" class="wp-caption alignnone" style="width: 570px"><a href="http://sterkblanding.no/files/2010/01/LUNCH_060.png"><img class="size-full wp-image-122   " title="LUNCH_060" src="http://sterkblanding.no/files/2010/01/LUNCH_060.png" alt="Lunch #60, Copyright: Børge Lund. Bilde brukt med tillatelse fra opphavspart." width="560" height="197" /></a><p class="wp-caption-text">Lunch #60, Copyright: Børge Lund. Bilde brukt med tillatelse fra opphavspart (klikk for større versjon).</p></div>
<p>Vi lo godt da vi leste denne stripa. Den setter fingeren på både sannheter, usannheter og fordommer.</p>
<p>Alle som har jobbet i systemutviklingsprosjekter vil nok kjenne seg igjen her. Vår påstand er at de som kjenner seg mest igjen er de som <em>ikke </em>har jobbet med brukersentrerte designere eller smidige utviklere.</p>
<p><span id="more-119"></span>I stripa er kulturforskjellene tydelige ved første øyekast. Det er ikke alle som ser verdien av å gå pent kledd på jobb, for eksempel. Den stereotype utvikleren går i en nerdete t-skjorte fra ThinkGeek, mens designeren går med moteriktige briller og skulderveske. Designere er kun opptatt av overflaten og skal ha vetorett på alt som angår brukergrensesnittet (designeren vet selvfølgelig best). Utviklerne hater selvfølgelig designerne fordi de vet best selv. Og utviklerne bryr seg ikke om slike uviktige detaljer som brukergrensesnitt. Ikke har de stilsans heller. Men de viktige problemene kommer med tankesettet. De andre er alt for opptatt med noe som de tror er et viktig fundament for systemet, men som egentlig ikke har noe å gjøre med det som skal lages.</p>
<p>Slik er det lett å bli selvhøytidelig og ikke se verdien av hverandre. Er det noe både utvikleren og designeren faktisk har til felles er det en tendens til å kunne oppleves som primadonnaer av andre på prosjektet. Vår erfaring er at de begge ønsker å lage et godt system &#8211;  de bare angriper dette på forskjellige måter og fokuserer på forskjellige ting.</p>
<p>Stereotypen av det konfliktfylte forholdet mellom designere og utviklere er noe vi har opplevd på kroppen. Det er slitsomt og lite konstruktivt. Men vi har også opplevd konstruktivt arbeid der vi lærer av hverandre. Vår erfaring er at vi sammen blir sterkere.</p>
<p>&#8220;Moderne&#8221; brukersentrerte designere og &#8220;smidige&#8221; utviklere har fokus på hva som gir verdi for brukeren av systemet; begge er opptatt av feedback som gir innsikt; begge er opptatt av kvalitet. Og de har gjerne forskjellig fokus som gir grunnlag for læring og kreativitet.</p>
<p>En designers styrke er å se det som skal leveres i den sammenhengen det skal brukes. En utvikler er opptatt av hvordan man kan bygge systemet. En designer som ikke skjønner utviklerens perspektiv har ingen måte å få gjort sine ideer virkelige på. En utvikler som ikke skjønner designerens perspektiv har ingen måte å vite hva han <em>egentlig </em>skal lage.</p>
<p>Brukersentrerte designere ønsker å lage de beste løsningene som er mulig, med de ressursene som er tilgjengelig. Gode designere jobber hardt for å forstå hvem brukerne er og hva behovene deres <em>faktisk </em>er. De må ha en visjon for systemets brukeropplevelse. Selv om designeren er den som formidler denne visjonen, er det ikke designerens visjon alene. Den er utviklet i samarbeid med utviklere, prosjektledere, brukere og andre interessenter.</p>
<p>Den moderne trenden blant utviklere er smidige metoder som Scrum, Lean og Extreme Programming. Felles for smidige metoder er at de er opptatt av konkrete resultater av arbeidet. Da er det essensielt å ha forståelse for hvem som mottar disse resultatene.</p>
<p>Fellesnevneren for disse metodene er at de innser at man må forstå hele problemet for å kunne lage en god løsning. Problemforståelsen starter alltid med å forstå hvem som får verdi av systemet og hva denne verdien består i. En naiv innfallsvinkel kan stoppe ved kunden (produkteier) som betaler for prosjektet. I stedet foreslår vi å observere <em>brukerne </em>av systemet.</p>
<p>For å få bygget opp forståelsen har brukersentrert design en verktøykasse der et av de viktigste verktøyene er brukerintervjuer. Under et brukerintervju setter vi oss ned og snakker med de som faktisk skal bruke systemet. Poenget er å bygge opp forståelsen for de underliggende verdiene systemet kan løse, ikke bare de observerte symptomene. For eksempel kan vi bruke noen dager til å lytte på henvendelsene fra publikum til saksbehandlerne som skal bruke systemet. Da kan vi identifisere de vanligste problemområdene.</p>
<p>Smidige metoder benytter brukerhistorier til å definere arbeidsoppgaver. Essensielt for brukerhistorier er at man beskriver hvem som er interessert i funksjonen som skal lages og hvilken verdi den gir. For eksempel &#8220;for å kunne forklare hva jeg får i pensjon, som en pensjonist ønsker jeg at saksbehandleren får en grafisk sammenstilling av alle mine pensjonsytelser.&#8221; Dette er en av flere maler som brukes til å skrive brukerhistorier, og den er på formen &#8220;<em><strong>for </strong>å oppnå en forretningsverdi, <strong>som </strong>interessent<strong> ønsker jeg at </strong>bruker får en funksjon</em>&#8220;.</p>
<p>Brukerorientert design gir verktøyene for å skaffe innsikt i brukernes behov. Smidige metoder gir verktøyene for å levere et system som oppfyller disse behovene. Design uten utvikling er lammet, utvikling uten design er blind.</p>
<p>Sammen blir vi sterkere. La fordommene falle!</p>
<p>To teknikker vi mener du bør prøve:</p>
<ul>
<li>Brukerhistorier</li>
<li>Brukerintervjuer</li>
</ul>
<p><em>Denne artikkelen er resultatet av samarbeid mellom Ram (designer) og </em><em>Johannes (utvikler).<br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/01/29/smidig-brukervennlighet/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Glem Twitter!</title>
		<link>http://sterkblanding.no/blog/2010/01/28/glem-twitter/</link>
		<comments>http://sterkblanding.no/blog/2010/01/28/glem-twitter/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 11:40:28 +0000</pubDate>
		<dc:creator>Ole Johan  Heum</dc:creator>
				<category><![CDATA[Samhandling]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=108</guid>
		<description><![CDATA[Til nå har oppmerksomheten rundt sosiale medier vært dominert av Twitter og Facebook. La oss glemme disse to et sekund og heller løfte blikket og se hvor gevinstene med sosiale medier kan ligge for virksomhetene. I en ny undersøkelse som ble presentert i en pressemelding 26.1 går det fram at hver tredje norske virksomhet vil bruke [...]]]></description>
			<content:encoded><![CDATA[<p>Til nå har oppmerksomheten rundt sosiale medier vært dominert av Twitter og Facebook. La oss glemme disse to et sekund og heller løfte blikket og se hvor gevinstene med sosiale medier kan ligge for virksomhetene.</p>
<p><span id="more-108"></span></p>
<p>I en ny undersøkelse som ble presentert i en <a title="Flere planlegger sosial fremtid" href="http://steria.no/gloria/id/11004718/subid/0" target="_blank">pressemelding </a>26.1 går det fram at hver tredje norske virksomhet vil bruke sosiale meder i aktivt innen to år. I en tilsvarende undersøkelse før sommeren 2009 svarte 6 prosent av de norske it-sjefene at sosiale medier brukes som strategisk virkemiddel i deres bedrift. I høstens undersøkelse har andelen steget til 10 prosent. Dette viser at det er en endring i innstillingen, og det er stor grunn til å anta at reelt vil flere enn én av tre virksomheter faktisk bruke teknologier eller ideer fra sosiale medier aktivt innen 2012. Jeg mener at for de veien dit vil i de fleste tilfeller gå utenom de høyt profilerte tjenestene Twitter og Facebook.</p>
<p>Facebook og Twitter har åpnet for mange mye muligheter for markedsføring, kundekontakt og kommunikasjon (selv om Norsk Møteforum kom fram til noe annet i sin <a title="Tror ikke på Facebook og Twitter" href="http://www.na24.no/propaganda/article2812901.ece" target="_blank">undersøkelse</a>). Facebook blir av de fleste brukere ansett som en privat arena, mens Twitter fortsatt ikke har blitt så mye mer enn et nisjested for spesielt interesserte (ref <a title="Interessen for Twitter avtar" href="http://www.digi.no/834006/interessen-for-twitter-avtar" target="_blank">nye tall</a>). Jeg vil derfor påstå at i den profesjonelle verden er Facebook og Twitter av liten betydning utenfor marked- og kommunikasjonsavedlingene. For de andre delene av organisasjonene ligger gevinstene helt andre steder.</p>
<p>Folk flest har lært seg bruken av Facebook og ideene til web 2.0. La oss nå ta disse kunnskapene inn i bedriftene og utnytte dem i vårt daglige arbeid som for eksempel i produksjonsprosessen, i kunnskapsforvaltningen eller i prosessforbedringene.  Heldigvis er trendene allerede på vei inn i næringslivet, og det finnes mange gode eksempler som kan være til inspirasjon.</p>
<div class="wp-caption alignleft" style="width: 296px"><img style="padding: 0px;margin: 0px;border: 0px none initial" title="Flereplanleggersosialfremtid-ekstrabildestort1" src="http://sterkblanding.no/files/2010/01/Flereplanleggersosialfremtid-ekstrabildestort1.JPG" alt="På T-banens nye driftsentral har de byttet ut gule lapper med mikroblogging. Foto: T-banen" width="286" height="191" /><p class="wp-caption-text">På T-banens nye driftsentral har de byttet ut gule lapper med mikroblogging. Foto: T-banen</p></div>
<p>Markedsplassen Finn er ett eksempel som har hentet inspirasjon fra sosiale nettsteder til sitt egenutviklede system ”FinnOpp”, som skal stimulere til ideskaping hos selskapets egne ansatte. Et annet eksempel er T-banen som bruker blogg som hjelpemiddel i overvåkning av trafikken. Flere kommuner har tatt i bruk sosiale nettsteder hvor brukerne kan melde om feil i nærområdet sitt. Her i Steria bruker vi Yammer, blogg, wiki og SharePoint aktivt innenfor kunnskapsdeling, erfaringsutveksling og i prosjektarbeid. Dette er gode eksempler hvor virksomhetene har tatt tak i enkelte viktige områder, og forbedret disse ved hjelp av sosiale medier.</p>
<p>Når det gjelder teknologi så skjer det også mye om dagen. Med SharePoint 2010 som lanseres senere i år tar Microsoft et steg videre inn i web 2.0 verdenen. I denne versjonen har elementer som grupper, mikroblogging, tagging, scoring, og forbedret søk blitt tatt inn som en del av løsningen. Dette er en trend som også gjenspeiles i løsningene til andre store aktører også som Lotus Connections fra IBM og Documentum fra EMC. I tillegg finnes det etter hvert at hav av mindre leverandører som leverer nisjeprodukter, som f.eks mikrobloggingstjenesten Socialcast, innovasjonshåndtering fra Induct og wikiløsningen Confluence.</p>
<p>Ettersom produktene blir mer modne, kunnskapen bedre og erfaringene flere er det stor grunn til å både tro og håpe at sosiale medier vil spille en aktiv rolle for langt flere enn én av tre bedrifter i 2012!</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/01/28/glem-twitter/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ned fra gjerdet!</title>
		<link>http://sterkblanding.no/blog/2010/01/26/ned-fra-gjerdet/</link>
		<comments>http://sterkblanding.no/blog/2010/01/26/ned-fra-gjerdet/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 13:33:52 +0000</pubDate>
		<dc:creator>Ole Johan  Heum</dc:creator>
				<category><![CDATA[Samhandling]]></category>
		<category><![CDATA[blogg]]></category>
		<category><![CDATA[sosiale medier]]></category>
		<category><![CDATA[Sterk blanding]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=91</guid>
		<description><![CDATA[Jeg gratulerer Steria med lansering av bloggen Sterk blanding! Med det beveger Steria seg enda lenger bort fra gjerdet hvor mange bedrifter i følge Sterias undersøkelse fortsatt sitter og er avventende i forhold til bruk av sosiale medier. Det er lenge siden våren 2008 da Steria tok de første skrittene når det gjaldt bruk av sosiale [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg gratulerer Steria med lansering av bloggen Sterk blanding! Med det beveger Steria seg enda lenger bort fra gjerdet hvor mange bedrifter i følge Sterias <a title="Bedrifter sitter på gjerdet" href="http://steria.no/?id=11004589&amp;subid=0" target="_blank">undersøkelse</a> fortsatt sitter og er avventende i forhold til bruk av sosiale medier.</p>
<p><span id="more-91"></span></p>
<p>Det er lenge siden våren 2008 da Steria tok de første skrittene når det gjaldt bruk av sosiale medier. Første fase var utprøving av den nye teknologien. Internt testet vi ut bedriftswiki. Eksternt begynte vi å følge mer bevisst med på hva som skjer der ute på nettet, og spesielt på sosiale nettsteder. Ordinær presse hadde vi selvfølgelig overvåket lenge.</p>
<p>Neste skritt var å bli aktiv på Twitter og LinkedIn. Det ble opprettet Twitter kontoer som for eksempel <a title="STERIAlynkurs" href="http://twitter.com/STERIAlynkur" target="_blank">STERIAlynkurs</a>. Internt begynte vi å teste ut mikroblogging med Yammer. Yammer har i dag har utviklet seg til å bli et nyttig verktøy for mange Sterianere som kompletterer allerede eksiterende verktøy som internwikien og SharePoint-portal. Mer om Yammer kan dere lese om i et innlegg på <a title="Yamring i hverdagen" href="http://samhandlingsbloggen.wordpress.com/2009/10/14/yamring-i-hverdagen/" target="_blank">samhandlingsbloggen</a>.</p>
<p>Som en kompetansebedrift har kunnskapsdeling alltid vært viktig for Steria. Med Sterk blanding får de ansatte i Steria en ny kanal som er enkelt tilgjengelig for alle. Den går rett til kjernen på hovedprinsippene for sosiale medier, nemlig deling, respons og brukergenerert innhold. Sterk blanding skal være en arena hvor Sterianere kan dele med hverandre og med resten av verden. Det blir spennende å følge med på hva som skjer!</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/01/26/ned-fra-gjerdet/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hemmeligheten bak gode spesifikasjoner</title>
		<link>http://sterkblanding.no/blog/2010/01/21/hemmeligheten-bak-gode-spesifikasjoner/</link>
		<comments>http://sterkblanding.no/blog/2010/01/21/hemmeligheten-bak-gode-spesifikasjoner/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 23:48:08 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[Cucumber]]></category>
		<category><![CDATA[FitNesse]]></category>
		<category><![CDATA[spesifikasjon]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=82</guid>
		<description><![CDATA[Mange prosjekter har startet å ta i bruk verktøy som FitNesse eller Cucumber til å automatisere funksjonelle tester. Disse verktøyene gjør det lett å skrive akseptansetester, men det er opp til oss som bruker dem å sørge for at disse testene blir til en god spesifikasjon av systemet som skal utvikles, og ikke bare testscript. [...]]]></description>
			<content:encoded><![CDATA[<p>Mange prosjekter har startet å ta i bruk verktøy som <a href="http://fitnesse.org">FitNesse</a> eller <a href="http://cukes.info">Cucumber</a> til å automatisere funksjonelle tester. Disse verktøyene gjør det lett å skrive akseptansetester, men det er opp til oss som bruker dem å sørge for at disse testene blir til en god spesifikasjon av systemet som skal utvikles, og ikke bare testscript. Her er noen tips for å forbedre dine spesifikasjoner.</p>
<p><span id="more-82"></span></p>
<h3>Fokus på &#8220;hvorfor&#8221;, ikke &#8220;hvordan&#8221;</h3>
<p>Hva forsøker denne testen å uttrykke:</p>
<blockquote><p>Når en bruker registrerer en betaling med beløp &#8220;-1234567890&#8243;, så skal brukeren se en feilmelding</p></blockquote>
<p>Hva med denne:</p>
<blockquote><p>Når en bruker registrerer en betaling med et negativt beløp så skal brukeren få en passende feilmelding</p></blockquote>
<p>Magiske tall, tekster og verdier i tester skjuler hva vi forsøker å <em>spesifisere</em>. Noen flere eksempler: &#8220;når en bruker utelater et eller flere påkrevde felter, så skal brukeren få en feilmelding knyttet til de manglende feltene&#8221;, &#8220;gitt at brukeren leverer en lottorekke med for få tall&#8221;.</p>
<p>Å koble slike tester mot systemet krever mer arbeid, spesielt de første gangene, men testene blir mye klarere etterpå. Og hovedformålet med en akseptansetest er at den er en spesifikasjon som kan diskuteres mellom prosjektet og omverdenen. Og da er det viktig å være klar. Noen ganger vil det virke svært vanskelig å automatisere forståelige spesifikasjoner. Da bør du huske at en god beskrivelse er mer verdifull enn en dårlig test.</p>
<h3>Given-when-then</h3>
<p>Noe av det første du lærer med tester er &#8220;bruk formen &#8216;gitt X, når Y, så Z&#8217;&#8221;. Men det er ikke alltid så klart hva X, Y og Z skal være. Tester består av tre typer steg:</p>
<ul>
<li><strong>Arrange</strong> (oppsett, &#8220;given&#8221;): Beskriver tilstanden til systemet før testen starter. Typiske eksempler er &#8220;<em>gitt at det eksisterer en bruker med utestående betalinger</em>&#8220;, &#8220;<em>gitt at tjenesten levert fra vår partner har registrert et varenummer</em>&#8221; eller kanskje &#8220;<em>gitt at det er en fredag</em>&#8221; (du får vente til freddan). Avhengig av systemet og tilstanden vi beskriver, kan testen benytte disse stegene på forskjellige måter: Vi kan <em>sette opp</em> brukeren og betalingene i systemet, vi kan se på steget som en forutsetning som vi <em>sjekker</em> om er oppfylt, for eksempel ved å gjøre et søk mot tjenesten fra vår partner, vi kan <em>forutsette</em>, eller endog håpe at det er oppfylt og vi kan la steget kun være dokumentasjon, slik at når testen feiler, så vet vi noen ting vi kan verifisere manuelt, eller det kan være en ren løgn. Kanskje systemet er satt opp på en spesiell måte slik at det ikke er avhengig av ukedagen. Men vi har lyst til å dokumentere hvordan det hadde sett ut om det hadde vært &#8220;på ordentlig.&#8221;</li>
<li><strong>Act</strong> (utfør, &#8220;when&#8221;): Beskriver stimuli inn fra omverden. &#8220;Når brukeren registrerer en ny betaling,&#8221; &#8220;når klientsystemet sender en betalingsforespørsel med manglende kundeinformasjon&#8221;. Disse kan implementeres på flere måter i de fleste systemer: Et test av et web-grensesnitt kan simulere en klient med for eksempel <a href="http://code.google.com/p/selenium/wiki/GettingStarted?redir=1">webdriver</a>, den kan gjøre et http-kall og direkte, eller testen kan bruke klassene som implementerer tjenesten direkte. For funksjonelle tester foretrekker jeg nesten alltid det siste. Det gjør at testene vil kjøre hundre ganger raskere, og vil som regel innebære mindre jobb. Husk: Det er ikke nødvendig å teste brukergrensesnittet på nytt for hver valideringsregel eller spesialtilfelle i applikasjonen din.</li>
<li><strong>Assert</strong> (sjekk, &#8220;then&#8221;): Beskriver hvordan systemet skal reagere på stimuli og hva tilstanden til systemet skal være etterpå. For eksempel &#8220;så skal brukeren få en feilmelding om at alle betalinger må være utført før en ny betaling kan registreres&#8221;, &#8220;så skal den nye betalingen ikke lagres i systemet.&#8221;</li>
</ul>
<h3>Veien fra testscript til spesifikasjoner</h3>
<p>Når prosjekter først tar i bruk FitNesse er det veldig vanlig å se tester som ser cirka slik ut:</p>
<ul>
<li>Putt inn <em>en kjempeliste med rader med en bråte kolonner</em> inn i tabell A.</li>
<li>Putt inn <em>en ny kjempelist med rader etc</em> i tabell B</li>
<li>Send inn et kjempemessig XML dokument</li>
<li>Sjekk at svaret matcher et nytt XML dokument</li>
</ul>
<p>Dette er ikke en spesifikasjon &#8211; det er et testscript. Og det er ikke slike tester som gir verdi til et prosjekt. Men det er et sted å starte, for det krever ikke så veldig mye kreativitet. Og vi kan gjenbruke lærdommen fra slike tester. Men før det blir en hel skog av tester som dytter XML-dokumenter hit og dit, kan det være lurt å løfte testene opp på et mer logisk nivå:</p>
<ul>
<li>Gitt at det ikke eksisterer noen betalingsforespørsler</li>
<li>Og en bruker er registrert</li>
<li>Når brukeren sender inn en betalingsforespørsel med <em>ett gitt problem</em></li>
<li>Så skal brukeren få feilmeldingen <em>en gitt feilmelding</em></li>
</ul>
<p>I FitNesse-terminologi kan en slik test implementeres som en ColumnFixture. Det vil si: Hvert par av &#8220;problem&#8221; og &#8220;feilmelding&#8221; er en rad i en tabell. Slik kan vi uttrykke mange regler ved systemet klart og konsist.</p>
<p>Dersom du har startet å gå veien med testscript, er det ikke vanskelig å snu: For hver rad i den nye spesifikasjonen din skal du utføre alt det testscriptet ditt gjorde.</p>
<p>Jeg vil bruke jobben med akseptansetester til ikke bare å gjøre automatiske kjøringer av systemet mitt, men til å spesifisere og diskutere de egentlige kravene brukerne mine bryr seg om. Og dersom jeg må velge mellom tester som lar seg automatisere og spesifikasjoner som beskriver kravet, vil jeg alltid velge det siste.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/01/21/hemmeligheten-bak-gode-spesifikasjoner/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ny definisjon av Scrum?</title>
		<link>http://sterkblanding.no/blog/2010/01/21/ny-definisjon-av-scrum/</link>
		<comments>http://sterkblanding.no/blog/2010/01/21/ny-definisjon-av-scrum/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 10:18:19 +0000</pubDate>
		<dc:creator>Trond Wingård</dc:creator>
				<category><![CDATA[Smidig]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=62</guid>
		<description><![CDATA[Nyttårsaften postet Ken Schwaber en melding på Yahoo! Scrum Development group som han kalte Confusion about Scrum. Der tar han opp at det eksisterer to definisjoner av Scrum: En som vedlikeholdes av Jeff Sutherland og ham selv på www.scrum.org, og en &#8220;gammel kopi&#8221; som ligger hos Scrum Alliance (men den ligger ikke der lenger nå). [...]]]></description>
			<content:encoded><![CDATA[<p>Nyttårsaften postet Ken Schwaber en melding på Yahoo! Scrum Development group som han kalte <a href="http://groups.yahoo.com/group/scrumdevelopment/message/43850">Confusion about Scrum</a>. Der tar han opp at det eksisterer to definisjoner av Scrum: En som vedlikeholdes av Jeff Sutherland og ham selv på <a href="http://www.scrum.org">www.scrum.org</a>, og en &#8220;gammel kopi&#8221; som ligger hos <a href="http://www.scrumalliance.org">Scrum Alliance</a> (men den ligger ikke der lenger nå).</p>
<p><span id="more-62"></span></p>
<p>Ken argumenterer for at det er Jeff Sutherland og ham selv som har definisjonsretten på hva Scrum er. Folk som bruker versjonen som lå hos Scrum Alliance, jobber derfor ut fra materiale som ikke er riktig, i følge Ken. Jeg tror ikke at Ken og Jeff med rette kan hevde at det er dem som har definisjonsretten og alle andre må bare godta det. Scrum er sjenket til verden, og verden hører på de stemmene de vil høre på.</p>
<p>Samtidig ser jeg behov for å definere hva som er Scrum, slik at ikke alt mulig rart kan kalles &#8220;Scrum&#8221; (men akkurat dét ser ut til å være en håpløs kamp&#8230;) Scrum Alliance ser ut til å ville høre på Ken og Jeff, for de har fjernet sin gamle versjon. Et positivt poeng å ta med seg er uansett at Ken mener Scrum ikke er statisk, men må utvikle seg.</p>
<p>Den <a href="http://www.scrum.org/storage/scrumguides/Scrum%20Guide.pdf#view=fit">oppdaterte Scrum Guiden</a> på www.scrum.org inneholder noen overraskelser. Den største, for meg, er at Ken og Jeff har fjernet alt snakk om &#8220;visjon&#8221;. Tidligere var visjonen omtalt som grunnlaget for Produktkøen, men nå er det ikke mer visjon igjen. Jeg er kritisk til om dette er et steg i riktig retning. Det største videreutviklingspotensialet for smidig systemutvikling ligger i å gi mer støtte og verktøy til Produkteier i å finne og definere verdi &#8211; typisk visjon og annet arbeid som skjer i forkant av utviklingen. Jeff og Ken går motsatt vei og viser med det at de ønsker at Scrum skal fortsette å være en utviklersentrert metodikk. Synd for både dem og Scrum.</p>
<p>Jeg liker godt innledningen, hvor Jeff og Ken sier at Scrum har tre bein. I tillegg til (faktisk foran) de velkjente <em>inspeksjon</em> og <em>tilpasning</em> kommer nå <em>synlighet</em> (&#8220;transparency&#8221;).</p>
<p><em>Seremonier</em> har endret navn til <em>tidsbokser</em> og det er nå seks av dem: Release Planning Meeting, Sprint Planning Meeting, Sprint, Daily Scrum,  Sprint Review og Sprint Retrospective. Jeg liker godt at Release Planning Meeting har kommet inn. Noen savner kanskje demoen? Den ligger inne i Sprint Review, men det er lagt vekk på at demoen bare er en del av Sprint Review &#8211; mesteparten av møtet går til diskusjon om det som er laget og veien videre.</p>
<p>Scrum Guiden er obligatorisk lesning for alle som er opptatt av smidig systemutvikling. Og så kan vi debattere videre hva som er &#8220;riktig&#8221; Scrum&#8230;</p>
<p><em>Denne postingen er oppdatert etter at flere personer med rette hevdet at jeg ikke hadde et helt klart bilde av hva den gamle scrum guiden inneholdt (takk!). Inni dette er det sikkert en lekse angående det å stole for mye på hukommelsen.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/01/21/ny-definisjon-av-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smidig utvikling er ikke i mål</title>
		<link>http://sterkblanding.no/blog/2010/01/21/agile-development-isnt-there-yet/</link>
		<comments>http://sterkblanding.no/blog/2010/01/21/agile-development-isnt-there-yet/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 09:00:30 +0000</pubDate>
		<dc:creator>Trond Wingård</dc:creator>
				<category><![CDATA[Smidig]]></category>
		<category><![CDATA[mål]]></category>
		<category><![CDATA[produkteier]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[utfordringer]]></category>
		<category><![CDATA[verdi]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=49</guid>
		<description><![CDATA[Smidig metodikk har inntatt Norge. Derfor må vi slutte å bare reklamere for de positive sidene, og åpne opp for å diskutere og løse reelle utfordringer knyttet til smidige prosjekter. De aller fleste artikler, temanummer osv. om smidige metodikker har så langt framstilt smidige metodikker på en svært rosenrød måte. Smidig systemutvikling er uten tvil [...]]]></description>
			<content:encoded><![CDATA[<p>Smidig metodikk har inntatt Norge. Derfor må vi slutte å bare reklamere for de positive sidene, og åpne opp for å diskutere og løse reelle utfordringer knyttet til smidige prosjekter.</p>
<p><span id="more-49"></span></p>
<p>De aller fleste artikler, temanummer osv. om smidige metodikker har så langt framstilt smidige metodikker på en svært rosenrød måte. Smidig systemutvikling er uten tvil et stort skritt framover i forhold til tradisjonell systemutviklingsmetodikk. Imidlertid er smidig utvikling i sin nåværende form <strong>ikke</strong> endestasjonen. Vi kan &#8211; og må &#8211; bli enda bedre.</p>
<p>Det finnes reelle utfordringer ved bruk av smidige metodikker, og det må vi også tørre å diskutere. Dét er viktig for at smidig utvikling skal bli en suksess, leve opp til sitt potensiale og ikke bare bli nok en hype på historiens gravplass. Her vil jeg nevne tre av de utfordringene jeg er opptatt av om dagen.</p>
<h2>Levere verdi</h2>
<p>Den første utfordringen gjelder å levere <strong>verdi</strong>. Smidige metodikk har som prinsipp å levere verdi tidlig og hyppig, og det mest verdifulle først. Dette gir bedre cashflow og ROI, og er et flott prinsipp.</p>
<p>I praksis leverer imidlertid smidige prosjekter funksjonalitet, ikke verdi. Stort sett aner vi ikke hvor mye verdi funksjonaliteten har for organisasjonen, eller om det kanskje ville vært mer lønnsomt å <strong>ikke</strong> utvikle en gitt funksjonalitet. Vi bare overlater til Produkteieren (kunden) å prioritere funksjonaliteten, og så håper vi at det fører til at vi leverer høyest verdi først og at ROI blir så høy som mulig. Kanskje det stemmer, kanskje ikke &#8211; det vet vi ikke, vi bare tror.</p>
<p>Vi trenger altså bedre måter å måle verdi på.</p>
<h2>Styre mot mål</h2>
<p>Den andre utfordringen er at smidige prosjekter fortsatt i for stor grad styrer mot kundens <strong>krav</strong>, ikke mot kundens <strong>mål</strong>. Den etter hvert velkjente Produktkøen (Product Backlog) fra Scrum er et eksempel på dette. Vi beskriver krav som brukerhistorier, legger dem inn i Produktkøen, og deretter følger vi framdrift i forhold til ferdigstillelse av kravene. Vi er åpne for å endre på kravene og omprioritere, mye mer enn på tradisjonelle prosjekter, og det bidrar absolutt til bedre resultater for prosjektet.</p>
<p>Imidlertid er det måloppnåelse som er viktig, ikke kravoppnåelse. Kravene er bare et sett med hypoteser for hvordan man kan nå målene. Vi trenger altså mer fokus på å definere mål og styre mot måloppnåelse. Det bør nevnes at EVO, utviklet av Norges egen Tom Gilb, er et velprøvd alternativ med fokus på måloppnåelse.</p>
<h2>Mer støtte til Produkteieren</h2>
<p>Den tredje utfordringen er at mye av det som er mest krevende, særlig i Scrum-prosjekter blir dyttet over på Produkteieren, dvs kunden. Og dette er samtidig ting som i stor grad avgjør om et prosjekt blir en suksess eller ikke, så som god forankring i organisasjonen, god balanse mellom ulike interessehavere, riktig prioritering av hva som blir med og hva som ikke blir med, osv. Allikevel sier vi ikke så mye om <strong>hvordan</strong> Produkteieren skal klare disse tingene. Produkteieren er ofte meget kompetent på sitt fagområde – men det fagområdet er vanligvis ikke prosjektstyring.</p>
<p>Så mens utviklingsteamet jobber lykkelig i vei, beskyttet fra forstyrrelser fra omverdenen, må Produkteieren prioritere ønsker, forankre beslutninger, forhandle enighet, drive internpolitikk &#8211; samtidig som hun skal bistå utviklingsteamet med alle ønskelige avklaringer.</p>
<p>Vi har gjort store framskritt på arbeidsmåten til utviklingsteamet, der jobber vi på en mye mer solid måte enn før. Nå må vi løfte blikket fra design-, utviklings- og testjobben. Vi må fokusere mer på Produkteieren og organisasjonen rundt, og gi reell støtte til Produkteierens viktige rolle.</p>
<h2>Ta erfaring på alvor</h2>
<p>Vi trenger altså bedre måter å måle verdi på, mer fokus på mål og måloppnåelse, og bedre støtte til Produkteieren og organisasjonen rundt. Men dette er kun tre utfordringer som <strong>jeg</strong> synes er viktige, andre vil være mer opptatt av andre utfordringer &#8211; ut fra deres situasjon og erfaring. Hovedpoenget er at vi nå begynner å diskutere disse reelle utfordringene som folk møter i praksis.</p>
<p>Så langt har dyktige folks konkrete utfordringer ofte blitt besvart med varianter over temaet &#8220;Men dere gjør det ikke riktig&#8221;. Slike svar hjelper ikke. Og skal smidig systemutvikling bli en suksess, må det være hjelp å få også når man sliter. Og like viktig: Hvis vi avfeier de utfordringene folk opplever, hindrer vi oss selv i å utvikle og forbedre den smidige metodikken, fordi vi ikke tar tilbakemeldingene fra praktisk bruk på alvor.</p>
<p>Som en av entusiastene som har jobbet for å spre smidig utvikling i en årrekke, gleder jeg meg over at smidig systemutvikling etter hvert har blitt godkjent og omfavnet i Norge. Markedsføringen har virket, nå må vi slutte å evangelisere og heller ta fatt på utfordringene.</p>
<p>Smidig systemutvikling i sin nåværende form er et stort steg videre, men ikke endestasjonen. Vi må fortsette å forbedre oss, basert på tilbakemeldinger.</p>
<p>Dét er den smidige kjernen i all sin enkelhet.</p>
<p><em>Dette innlegget er hovedsaklig basert på en artikkel jeg hadde i Computerworld i april 2009.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/01/21/agile-development-isnt-there-yet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Scrum &#8211; &#8220;Det var dyrt&#8221;-øyeblikket</title>
		<link>http://sterkblanding.no/blog/2010/01/21/scrum-det-var-dyrt-%c3%b8yeblikket/</link>
		<comments>http://sterkblanding.no/blog/2010/01/21/scrum-det-var-dyrt-%c3%b8yeblikket/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 08:52:14 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Smidig]]></category>
		<category><![CDATA[kontrakt]]></category>
		<category><![CDATA[produkteier]]></category>
		<category><![CDATA[samarbeid]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=37</guid>
		<description><![CDATA[Hva skjer når kostnaden i utviklingsprosjektet plutselig blir veldig tydelig? Man kan ha en ærlig dialog. For noen uker siden hadde jeg en interessant erfaring på prosjektet mitt. Jeg og produkteieren fra kunden satt oss ned og så hva vi hadde produsert de siste to ukene &#8211; fire &#8220;brukerhistorier&#8221; som beskrev hva applikasjonen skal gjøre. [...]]]></description>
			<content:encoded><![CDATA[<p>Hva skjer når kostnaden i utviklingsprosjektet plutselig blir veldig tydelig? Man kan ha en ærlig dialog.</p>
<p><span id="more-37"></span></p>
<p>For noen uker siden hadde jeg en interessant erfaring på prosjektet mitt. Jeg og produkteieren fra kunden satt oss ned og så hva vi hadde produsert de siste to ukene &#8211; fire &#8220;brukerhistorier&#8221; som beskrev hva applikasjonen skal gjøre. Hver hadde en estimert relativ kostnad. Meg: &#8220;Ett poeng, tre poeng, to poeng, ett poeng, det blir syv poeng totalt.&#8221; Kunden: &#8220;Ok. Og denne <em>iterasjonen</em> kostet 140.000 kroner. Det blir 20.000 per poeng, ikke sant.&#8221; Jeg: &#8220;Høres riktig ut. Så denne oppgaven (peker på en brukerhistorie) kostet seksti tusen. Oi, det var dyrt.&#8221; Kunden: &#8220;Oi. Ja, det var dyrt.&#8221; Stillhet. Litt ukomfortabel latter.</p>
<p>Dersom du blir helt ferdig med ting under veis i prosjektet og du holder greie på hva du gjør, blir plutselig prisen på arbeidet veldig tydelig. Både for kunde og leverandør kan dette være et skummelt øyeblikk, for utviklingsprosjekter er alltid dyrere i praksis enn det føles ut som de burde være i teorien.</p>
<p>En ærlig leverandør vil ikke love å levere billigere enn man har vist å levere så langt. En ærlig kunde vil vite at det blir dyrt uansett leverandør og at informasjonen om kostnaden har en verdi i seg selv.</p>
<p>Men både den som skal svare til sin kunde og den som skal svare til sin styringsgruppe kan få hjertet litt i halsen første gang man faktisk får erfaringstall på hva prosjektet koster. Man føler seg litt naken. Men det er befriende også. For da kan man ha en dialog som er basert på fakta i og ikke bare følelser.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/01/21/scrum-det-var-dyrt-%c3%b8yeblikket/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hvordan endre en statisk klasse til en dynamisk singleton</title>
		<link>http://sterkblanding.no/blog/2010/01/21/hvordan-endre-en-statisk-klasse-til-en-dynamisk-singleton/</link>
		<comments>http://sterkblanding.no/blog/2010/01/21/hvordan-endre-en-statisk-klasse-til-en-dynamisk-singleton/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 08:52:05 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[refactoring]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=40</guid>
		<description><![CDATA[Har du arvet kode fra noen andre? Er det ingen tester på kodebasen? Er all koden limt fast sammen med kall på statiske metoder som ikke lar seg erstatte med mocker i testene dine? Det er mulig å gjøre en disiplinert refaktorisering fra denne situasjonen til et mockbart design der alle kallene går via en [...]]]></description>
			<content:encoded><![CDATA[<div>
<div>Har du arvet kode fra noen andre? Er det ingen tester på kodebasen? Er all koden limt fast sammen med kall på statiske metoder som ikke lar seg erstatte med mocker i testene dine?</div>
<div><span id="more-40"></span></div>
<div>Det er mulig å gjøre en disiplinert refaktorisering fra denne situasjonen til et mockbart design der alle kallene går via en singleton som kan erstattes under testing. Her er en oppskrift for å endre en statisk klasse til en singleton:</div>
<div>
<ol>
<li>Gitt at den originale klassen heter StaticService. Kopier klassen til en ny klasse som blir implementasjonsklassen, for eksempel kallt ServiceImplementation</li>
<li>ServiceImplementation trenger å kun ha ikke-statiske metoder. Dette er lett å fikse ved en tekstlig &#8220;søk/erstatt&#8221; av &#8220;public static&#8221; med &#8220;public&#8221;. Normalt vil dette søket kun treffe metodene som du trenger, men det er mulig du må ettergå steget for hånd.</li>
<li>For å kunne mocke ut ServiceImplementation er det kjekt å ha et interface, for eksempel kallt ServiceInterface. Din IDE har antageligvis innebygget støtte for dette. Se etter &#8220;Extract Interface&#8221; i Refactoring menyen.</li>
<li>La en ny klasse ServiceDelegator som skal erstatte StaticService.  Legg til en private static felt til ServiceInterface. I code menyen til IDEA og i Source menyen finnes valget &#8220;(Generate) Delegate methods&#8221;. IDEA gjør disse metodene static dersom feltet er static, men det gjør dessverre ikke Eclipse. I Eclipse må man bruke &#8220;søk/erstatt&#8221; for å legge til &#8220;static&#8221; (erstatt &#8220;public&#8221; med &#8220;public static&#8221;, men pass opp for &#8220;public class&#8221; i toppen av filen)</li>
<li>Så kommer det skumle. Slett StaticService og omdøp ServiceDelegator til static service. Her vil refactoringstøtten i IDE&#8217;en din virke mot deg. All koden burde nå fortsatt kompilere uten endring.</li>
<li>Så er det bare å gjøre instansfeltet i servicen aksesserbart av testene (for eksempel med en setter) og du kan mocke ut ServiceInterface til hjertens lyst og glede</li>
</ol>
</div>
<p>Lykke til med ditt testbare prosjekt!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/01/21/hvordan-endre-en-statisk-klasse-til-en-dynamisk-singleton/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Min første katacast</title>
		<link>http://sterkblanding.no/blog/2010/01/21/min-f%c3%b8rste-katacast/</link>
		<comments>http://sterkblanding.no/blog/2010/01/21/min-f%c3%b8rste-katacast/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 08:51:40 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=42</guid>
		<description><![CDATA[Etter at jeg så noen artige eksempler på programmere som jobbet med øvelsesprogrammering på KataCasts, bestemte jeg meg for å spille inn min egen video. Jeg er rimelig fornøyd, men jeg feilberegner bakgrunnsmusikken med cirka ett minutt. (Det gikk fortere på innspillingen enn på generalprøven). Uten mer om og men, poster jeg en video her [...]]]></description>
			<content:encoded><![CDATA[<p>Etter at jeg så noen artige eksempler på programmere som jobbet med øvelsesprogrammering på <a href="http://www.katacasts.com/">KataCasts</a>, bestemte jeg meg for å spille inn min egen video. Jeg er rimelig fornøyd, men jeg feilberegner bakgrunnsmusikken med cirka ett minutt. (Det gikk fortere på innspillingen enn på generalprøven).</p>
<p><span id="more-42"></span></p>
<p>Uten mer om og men, poster jeg en video her av hvordan jeg liker å jobbe med tester for å drive fram &#8220;kravene&#8221; til en applikasjon og refactoring for å forme designet til applikasjonen. Se spesielt rundt 11:30 minutter inn i videoen hvor jeg refactorer inn et regelmotordesign i en fungerende løsning.</p>
<p>Oppgaven kalles &#8220;Fizz buzz kataen&#8221;. Den går ut på å generere en sekvens av nummer der hvert tall som er delelig på 3 erstattes med &#8220;fizz&#8221; og alle tall som er delelig på 5 erstattes med &#8220;buzz&#8221;. Så starten blir &#8220;1, 2, fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11, etc.&#8221; Seks minutter inn i kataen endres kravet (og musikken!): Nå skal man kunne programmere inn hvilke erstatningsregler som gjelder. Som eksempel bruker jeg at &#8220;tall delelig med 2 skal erstattes med &#8216;coconut&#8217; og tall delelig med 7 skal erstattes med &#8216;banana&#8217;&#8221;.</p>
<p>Takk til Emily Bache for inspirasjon til oppgaven.</p>
<p><a href="http://vimeo.com/8459948">Fizz buzz code kata</a> av <a href="http://vimeo.com/user2873956">Johannes Brodwall</a> på <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Jeg bruker <a href="http://www.jetbrains.com/idea/free_java_ide.html">IntelliJ IDEA Community Edition</a> på Windows Vista (!) til å løse oppgaven. Videoen er filmet med <a href="http://www.bbsoftware.co.uk/BBFlashBack_FreePlayer.aspx?cc=true">BB FlashBack Express</a> (som er gratis), konvertert til AVI med Windows Media 1 codec og lastet opp til Vimeo.</p>
<p>Denne blogposten var originalt publisert på engelsk på <a href="http://johannesbrodwall.com">min personlige blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/01/21/min-f%c3%b8rste-katacast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
