<?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>Wed, 11 Jan 2012 10:00:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Inspirerende open space</title>
		<link>http://sterkblanding.no/blog/2012/01/11/inspirerende-open-space/</link>
		<comments>http://sterkblanding.no/blog/2012/01/11/inspirerende-open-space/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 10:00:14 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1308</guid>
		<description><![CDATA[Sist helg var jeg på Agile Coach Camp der vi hadde to dager fylt med open spaces med positive, engasjerte og smarte mennesker. Helgen viste meg noen av de beste mulighetene man har til å utnytte open space. Her er et utvalg av sesjoner og hva som gjorde dem bra: På min første sesjon &#8220;Certified [...]]]></description>
			<content:encoded><![CDATA[<p>Sist helg var jeg på <a href="http://agilecoachcamp.no">Agile Coach Camp</a> der vi hadde to dager fylt med open spaces med positive, engasjerte og smarte mennesker.</p>
<p><img src="https://twitpic.com/show/iphone/8491s1" alt="Open spaces på Agile Coach Camp" /></p>
<p><span id="more-1308"></span></p>
<p>Helgen viste meg noen av de beste mulighetene man har til å utnytte open space. Her er et utvalg av sesjoner og hva som gjorde dem bra:</p>
<ul>
<li>På min første sesjon &#8220;<em>Certified Scrum Dev exercises</em>&#8221; ba jeg om ideer og innspill til hvordan å gjennomføre et kurs for folk som vil bli bedre utviklere. Det var bare seks personer som møtte opp og vi hadde en ganske kort diskusjon, før jeg spurte de som var til stede om de hadde lyst til å prøve en praktisk workshop jeg hadde lest om. Så brukte vi 30 minutter der vi programmerte &#8220;Elephant Carpaccio&#8221;. Jeg hadde lest litt om øvelsen før workshopen og jeg har selv deltatt på øvelsen for et halvt år siden. Ut over det hadde jeg ikke gjort noen forberedelser.</li>
<li>Jeg deltok på <a href="https://twitter.com/#!/OlafLewitz">Olaf Lewitz</a> sin open space om &#8220;<em>Scoping techniques</em>&#8220;. Olaf tegnet opp et sett med teknikker på en flipover: Feature Injection, BDD, User Story Mapping, Effect Maps. Noen i publikum spurte &#8220;kan du fortelle litt mer om feature injection,&#8221; og så tegnet Olaf opp en skisse som demonstrerte arbeidsflyten. Noen foreslo andre teknikker, for eksempel så forklarte jeg modellen Evo. Olaf skisserte det jeg beskrev på en flipover. Olaf hadde forberedt seg med noen tanker på forhånd om hvilke teknikker han ville ha med seg og hvordan han kunne fremstille disse.</li>
<li><a href="https://twitter.com/#!/karianneberg">Karianne</a> gjennomførte en liten open space sesjon med tittelen &#8220;<em>Refactoring dojo</em>&#8220;. Hun hadde tatt med et kodeeksempel hun hadde brukt før og en PC, og de som møtte opp gjorde forbedringer i koden. Karianne koblet sin PC opp på en projektor og det gikk på omgang hvem som satt ved tastaturet og hvem som observerte og kommenterte det som ble gjort.</li>
<li>Jeg hørte fra noen som hadde deltatt på <a href="https://twitter.com/#!/joh">Joh</a> og <a href="https://twitter.com/#!/theagilepirate">Simon</a> sin open space &#8220;<em>Breaking big rocks</em>&#8220;. Her hadde facilitatorene forberedt et nøye planlagt opplegg: De beskrev et eksempel på et &#8220;stort problem&#8221; (&#8220;big rock&#8221;). Så delte de opp gruppen i grupper på 3 og ba hver gruppe komme opp med noen store problemer på post-its. De hang opp problemene på en flipover. Så ba de gruppene om å velge et problem hver og diskutere hva som gjorde det stort. Når gruppene hadde diskutert, samlet de sammen beskrivelsene og demonstrerte hvordan de problemene folk hadde samlet inn egentlig var veldig like. Jeg fikk inntrykk av at Joh og Simon hadde brukt litt tid på å planlegge sesjonen og bestemme seg for hvilke spørsmål de skulle stille til gruppen.</li>
<li>Jeg deltok på en annen sesjon med Olaf Lewitz &#8211; &#8220;<i>Lean procrastination</i>&#8220;. I introduksjonen fortalte Olaf at han hadde holdt en keynote med denne tittelen for et par uker siden. Vi hadde en projektor tilgjengelig, så deltagerne spurte om han kunne gå gjennom presentasjonen for oss. Resten av sesjonen ble en uformell presentasjon med slider.</li>
<li>Jeg foreslo en kvelds-open space med tittelen &#8220;<i>how to fix devs</i>&#8220;. Jeg introduserte med &#8220;vi klager alltid over prosjektledere, kunden, produkteiere, arkitekter osv. Nå vil jeg klage litt over (oss) utviklere&#8221;. Vi hadde en liten diskusjon og jeg presenterte noen tanker om hvordan vi burde justere på rammene for utviklere, for eksempel at &#8220;i stedet for at utviklere gir estimater for oppgaver, hva om produkteier gir budsjetter for oppgaver&#8221;. Jeg hadde tenkt mye på temaet før open space og fikk masse bra feedback på hvilke av disse tankene som virket fornuftig som jeg kan ta med meg videre.</li>
<li>I en tidsperiode der jeg ikke fant en sesjon som jeg inspirerte meg, gikk jeg rundt og hørte på litt forskjellig. Jeg ble sittende på slutten av en sesjon som het &#8220;<i>Definition of Agile Coaching</i>&#8220;. I løpet av sesjonen hadde gruppen produsert denne definisjonen: &#8220;<a href="http://hhgttg.de/blog/2012/01/08/what-is-agile-coaching/">Agile coaching is a 100% client-focused engagement which enables continuous improvement, because the client owns aligned goals and purpose across organisational levels and the people doing the work define the steps towards those</a>.&#8221;</li>
<li>Jeg holdt en siste open space på søndag, denne om &#8220;<i>non-violent communication</i>&#8220;. Jeg introduserte med &#8220;jeg har lest en bok som ga meg masse tanker jeg synes var spennende, jeg vil gjerne diskutere dette med dere&#8221;. Diskusjonen var ustrukturert og springende, men det var mange som deltok og alle følte at de både bidro og fikk utbytte av alle de forskjellige diskusjonene. Jeg noterte meg noen ord på et par flipovers, men notatene var ikke mulige for noen som ikke hadde deltatt å forstå. Diskusjonen skapte mye tanker om hva vil det egentlig si å tvinge noen i en diskusjon. Vi fikk en positiv atmosfære i gruppen som ga en fin avslutning på helgen.</li>
</ul>
<p>Om jeg skal trekke noen konklusjoner: Man kan komme til en open space med forskjellig grad av forkunnskap og forskjellige forventninger. Du kan stille med med en ferdig presentasjon, en plan med spørsmål, en liste over relevante spørsmål og ideer, eller bare med et tema (som da jeg foreslo &#8220;non-violent communication&#8221;). Resultatet kan bli at man gjennomfører en øvelse sammen, produserer et resultat, kommer opp med en liste med ideer som folk kan sjekke ut etterpå eller at man bare har en hyggelig samtale.</p>
<p>Vellykkede open spaces kommer i mange størrelser og fasonger. Et av prinsippene bak open space er &#8220;whatever happens is the only thing that could have happened&#8221;. Eksemplene mine fra Agile Coach Camp demonstrerer dette prinsippet: Man kan komme til en open space med forskjellig grad av forkunnskap og forskjellige forventninger. Når gruppen får en sjanse til å forme innholdet, blir opplevelsen verdifull for alle.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2012/01/11/inspirerende-open-space/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Del din kunnskap!</title>
		<link>http://sterkblanding.no/blog/2011/12/21/del-din-kunnskap/</link>
		<comments>http://sterkblanding.no/blog/2011/12/21/del-din-kunnskap/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 13:49:33 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1296</guid>
		<description><![CDATA[Har du noe du kunne tenke deg å diskutere? Har du kunnskap du kunne tenke deg å dele? Har du noe du kunne tenke deg å lære? Er det noen måte du kunne tenke deg å endre verden rundt deg? På kick-off i år vil Steria feire &#8220;The Power of Sharing&#8221; ved å vie den [...]]]></description>
			<content:encoded><![CDATA[<p>Har du noe du kunne tenke deg å diskutere? Har du kunnskap du kunne tenke deg å dele? Har du noe du kunne tenke deg å lære? Er det noen måte du kunne tenke deg å endre verden rundt deg?</p>
<p>På kick-off i år vil Steria feire &#8220;The Power of Sharing&#8221; ved å vie den faglige delen til Open Space. Her har alle som deltar anledning til å skape dialog om ting som interesserer dem. På en open space kan du ta opp ting du er flink til som du ønsker å dele, ting du ikke er flink til som du ønsker å lære, måter du ønsker andre endrer seg på eller hva enn som interesserer deg.</p>
<p><span id="more-1296"></span></p>
<p><img src="http://farm8.staticflickr.com/7025/6517845471_6dc74d961f.jpg" alt="Open space sesjoner på Smidig 2011" /></p>
<p>Praktisk fungerer det slik at deltagerne foreslår sine temaer ved oppstarten av open space. Du vil få ti sekunder på scenen å fortelle hva du vil diskutere og så får du plassere temaet i programmet som vi henger opp på en stor tavle. Når &#8220;din&#8221; sesjon starter er du ansvarlig for å ønske velkommen og etter det kan du lytte eller snakke så mye eller lite du ønsker. Du trenger ikke å forberede noe før en open space (men du kan om du vil). Alle diskusjonsgruppene vil ha flipover og noen få vil ha projektor.</p>
<p>Her er eksempler på ideer som andre har tenkt å bidra med på Sterias open space:</p>
<ul>
<li>ABC of ICT</li>
<li>Slik kommer du igang med brukertesting</li>
<li>Hvordan få til tverrfaglige løsningsteam i smidige prosjekter</li>
<li>Hvordan få brukertesting inn i alle Sterias systemutviklingsprosjekter</li>
<li>Hva bør en SharePoint-konsulent være?</li>
<li>Hvordan bli en bedre leder og hvordan få en bedre leder</li>
<li>Kommuniksasjonsstil: Er du grønn, gul eller rød</li>
<li>Bli med og leke med CoffeeScript</li>
<li>Skal vi bidra til et open source prosjekt?</li>
<li>Sterias bidrag til FNs tusenårsmål</li>
<li>The rise and <span style="text-decoration: underline">fall</span> of Intranets</li>
<li>Trender og utvikling i IT-bransjen</li>
<li>Kan en kontrakt være smidig?</li>
</ul>
<p>Som deltager på open space er du ansvarlig for ditt eget utbytte. Så det er lurt at mange tenker litt på forhånd om hva de vil diskutere! Så gjør deg selv og dine medmennesker en tjeneste: Bruk ett minutt på å tenke på hva du kunne tenke deg å dele, å lære, å endre sammen med de du jobber med. Skriv gjerne en (uforpliktende) kommentar med et mulig tema.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/12/21/del-din-kunnskap/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Forsvaret på slankekur</title>
		<link>http://sterkblanding.no/blog/2011/10/04/forsvaret-pa-slankekur/</link>
		<comments>http://sterkblanding.no/blog/2011/10/04/forsvaret-pa-slankekur/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 12:32:22 +0000</pubDate>
		<dc:creator>eliandersen</dc:creator>
				<category><![CDATA[Brukervennlighet]]></category>
		<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1283</guid>
		<description><![CDATA[Nettstedet forsvaret.no  ble redusert fra omlag 7500 til 750 informasjonssider i fjor. Webredaksjonen visste at en del av det opprinnelige innholdet ikke holdt mål kvalitetsmessig og de mange særsidene og undersidene gjorde at weben lignet et mangehodet troll. Prosjektgruppen valgte å begynne med blanke ark når innholdet skulle inn i det nye publiseringssystemet og legge [...]]]></description>
			<content:encoded><![CDATA[<p>Nettstedet <a href="http://www.forsvaret.no">forsvaret.no</a>  ble redusert fra omlag 7500 til 750 informasjonssider i fjor. Webredaksjonen visste at en del av det opprinnelige innholdet ikke holdt mål kvalitetsmessig og de mange særsidene og undersidene gjorde at weben lignet et mangehodet troll. Prosjektgruppen valgte å begynne med blanke ark når innholdet skulle inn i det nye publiseringssystemet og legge større vekt på hvem informasjonen var til for.</p>
<p> <span id="more-1283"></span></p>
<p><strong>Reduksjon i informasjonsmengden – bedre kvalitet og oversikt</strong><br />
Et av målene for opprydningen var en reduksjon i informasjonsmengden, slik at det er mulig å få bedre oversikt, både for redaktører og for besøkende på nettsiden. Det ble satt harde krav til hva slags informasjon som skulle kunne publiseres på de nye sidene. Samtidig ble webpublisering gjort mer sentralisert.</p>
<p>En ting som overrasket meg underveis i prosessen var hvor viktig de ulike avdelingene synes det var å få med mest mulig stoff om seg selv på de nye sidene. Underredaktørene la ned et betraktelig antall timer på telefon og e-post for å overbevise ansatte og beslutningstakere i organisasjonen om at all denne informasjonen ikke var like interessant for publikum. Kommunikasjonsjobben var minst like viktig som innholdsproduksjonsjobben.</p>
<p><strong>Innholdsproduksjon tar tid</strong><br />
Innholdsproduksjon tar som regel lenger tid enn man tror. I følge innholdsstrategiguruen, Kristina Halvorssen er dette en svært hyppig årsak til at prosjekter blir forsinket. Arbeidet med innholdsproduksjon for Forsvaret.no var av avhengig av fagpersoner “ute i bruket”. Å samle inn webtekster, som skal være bedre enn de gamle, men mye kortere, er svært tidkrevende. Mange av tekstene ble derfor skrevet av redaksjonen og det ble flere runder med korrektur, sletting, godkjenning og omkalfatring før innholdet var klart til publisering.</p>
<p><strong>Tusener av klikk spart</strong><br />
Utviklerkollegerne mine i Steria laget et smart script som gjorde at informasjonsstrukturen, som var laget i MindManager, ble importert i SharePoint og at sidene med tilhørende maler ble opprettet automatisk. Dette sparte webredaktørene utallige museklikk. Det var likevel ikke til å komme fra at publisering i SharePoint hadde sine utfordringer, spesielt i starten. Du kan lese mer om strukturgenerering i  presentasjonen <a href="http://www.slideshare.net/jmkristiansen/ndc-presentationfinal">SharePoint 2010 for Internet &#8211; Issues and solutions through a case study</a> (Slideshare)  fra Norwegian Developer Conference tidligere i år.</p>
<p><strong>Excel-oversikt og innholdsdugnad</strong><br />
En innholdsoversikt i Excel ble laget for de nye sidene. Kvalitet og eier av hvert innholdelement ble lagt inn. Dette var et godt oppfølgingverktøy for innholdsproduksjon i innspurten. Innhold ble skrevet på dugnad og det var mange bidragsytere.  </p>
<p><a href="http://www.forsvaret.no">Forsvaret.no</a>  var et kundedrevet prosjekt. Som konsulenter kunne vi dra videre til andre kunder da prosjektperioden var overstått. Forsvarets  webredaktør uttalte ved lansering at “det er nå arbeidet begynner”. Du, som er opptatt av webting, har kanskje oppdaget at Forsvaret.no har en helt tradisjonell venstremeny. Det er flere grunner til det, men det er en annen historie.</p>
<p>&nbsp;</p>
<p>Eli Toftøy-Andersen er medforfatter av boken <a href="http://www.brukskvalitet.no/praktiskbrukertesting/">Praktisk brukertesting</a> og  blogger til vanlig på <a href="http://www.brukskvalitet.no/">brukskvalitet.no.</a> Høsten 2011 holder hun workshop sammen med kollega Jon Gunnar Wold på  <a href="http://www.dataforeningen.no/program.179806.no.html">brukervennlighetskonferansen Yggdrasil 17-18 oktober</a> og foredrag på <a href="http://www.meetup.com/IxDA-Oslo/events/30750101/?a=ea1.2_grp&amp;rv=ea1.2">Meetup for interaksjonsdesignere, IxdA 12. oktober</a>.</p>
<p>&nbsp;</p>
<p>Bloggposter fra brukskvalitet.no:<br />
<a href="http://www.brukskvalitet.no/2010/10-gode-grunner-til-a-gi-avslag-pa-publiserings%c3%b8nsker/">10 gode grunner til å gi avslag på publiseringsønsker </a><br />
 <a href="http://www.brukskvalitet.no/2010/5-tips-for-brukertesting-av-innhold/">5 tips for brukertesting av innhold</a><br />
<a href="http://www.brukskvalitet.no/2011/brukervennlighet-et-folkekrav/">Brukervennlighet – et folkekrav </a> </p>
<p>Andre relevante lenker:<br />
SharePoint 2010 for Internet &#8211; Issues and solutions through a case study:<br />
<a href="http://www.slideshare.net/jmkristiansen/ndc-presentationfinal">http://www.slideshare.net/jmkristiansen/ndc-presentationfinal</a></p>
<p>Innboksen som arbeidslivets kjellerbod:<br />
<a href="http://sterkblanding.no/blog/2011/09/28/innboksen-som-arbeidslivets-kjellerbod/">http://sterkblanding.no/blog/2011/09/28/innboksen-som-arbeidslivets-kjellerbod/</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><!--more--></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/10/04/forsvaret-pa-slankekur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Innboksen som arbeidslivets kjellerbod</title>
		<link>http://sterkblanding.no/blog/2011/09/28/innboksen-som-arbeidslivets-kjellerbod/</link>
		<comments>http://sterkblanding.no/blog/2011/09/28/innboksen-som-arbeidslivets-kjellerbod/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 13:02:54 +0000</pubDate>
		<dc:creator>Kristine Synnøve Brorson</dc:creator>
				<category><![CDATA[Samhandling]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1261</guid>
		<description><![CDATA[Kjekt å ha. Hvor mange av e-postene du fikk i dag tror du at du virkelig kommer til å få bruk for? Slettet du de du ikke trengte? Tok du vare på viktige vedlegg? I min kjellerbod er det veldig fullt rett til venstre rett innenfor døra, for det er så lett å løpe ned [...]]]></description>
			<content:encoded><![CDATA[<p>Kjekt å ha. Hvor mange av e-postene du fikk i dag tror du at du virkelig kommer til å få bruk for? Slettet du de du ikke trengte? Tok du vare på viktige vedlegg?</p>
<p><span id="more-1261"></span></p>
<p>I min kjellerbod er det veldig fullt rett til venstre rett innenfor døra, for det er så lett å løpe ned med noe jeg ikke trenger å ha stående fremme og lempe det der. Boden har reoler og to skap, men det er ofte jeg ikke tar meg tid til å finne den beste plassen for det jeg bærer ned.  Dette tar jeg ikke så  tungt, for jeg  finner stort sett det jeg leter etter senere. Men jeg har alltid intensjoner om å få ryddet ut av boden når borettslaget leier container.</p>
<p>For mange er innboksen en kjellerbod hvor man oppbevarer det som er kjekt å ha – gjerne rett innenfor dørterskelen uten å legge i mapper – og ettersom e-postene kommer til innboksen av seg selv fylles den enda raskere enn boden.</p>
<p>Hvis du bruker innboksen som arkiv fordi det er stedet med best struktur og best funksjonalitet for  søk og gjenfinning, så er det noe annet som er galt. Betyr det at det ikke finnes noen gode samhandlingsløsninger? Betyr det at du har en egen mappestruktur du ikke selv klarer å finne frem i? Betyr det at det er vanskelig å legge vedleggene som kommer med e-postene på rett plass.</p>
<p>E-post er så lett. Det er litt som kopimaskinene på 1990-tallet. Det ble så lett og billig å ta en kopi så man gjorde det for sikkerhetsskyld. Selv om mange arbeidsplasser har begrensing på størrelsen på innboksen, så er det ikke regler eller restriksjoner på <strong>hva</strong> man får lagre. Derfor tenker man at det er billig teknologi. Man hvis man spør den IKT-personen som har Exchange ansvar hva han eller hun synes, skulle han ønske at folk var litt flinkere til å slette e-post; særlig at folk kunne slutte å sende morsomme e-poster med store bilder som blir sendt til den ene kollegaen etter den andre og slik tar opp mye plass mens den vokser som celledeling. Akkurat som du ikke ønsker å måtte betale ekstra for å leie oppbevaringslokaler for esker du ikke husker helt hva inneholder, ønsker heller ikke IKT-avdelingen å betale for å ta vare på irrelevant informasjon.</p>
<p>Det finnes tekniske e-postarkiveringsløsninger for å avlaste Exchange servere og arbeidsplassen bør tilrettelegge med gode samhandlingsløsninger, men mye kan også gjøres med å forbedre egne rutiner.</p>
<p><strong>Fem tips til høstdugnad i den digitale kjellerboden din:</strong></p>
<ol>
<li><em>Slett med en gang det som bare var til informasjon og som du aldri kommer til å få brukt for. </em>Dette burde være selvsagt, men det er så lett å glemme.</li>
<li><em>Ha kontroll på mappestrukturen i innboksen.</em> Sorter det du vil ta vare på over i mapper. Det er ikke lurt å ha for mange mapper, men prosessen å flytte e-post over i mappe gjør det bevisst på om du er interessert i å ta vare på den eller ikke.</li>
<li><em>Bruk lenker istedenfor vedlegg der det er mulig.</em> De arbeidsplassene der man har gode samhandlingsløsninger er det bedre å dele lenker til dokumenter enn å sende dokumenter som vedlegg for å være sikker på at det er siste versjon man får se. Og privat er det like greit å sende lenker til digitale fotoalbum, som å sende bilde-filer som vedlegg.</li>
<li><em>Lagre de vedleggene som du kan få brukt for.</em> E-post kan være en formidler av viktig informasjon. Hvis vi snakker e-post i jobb sammenheng, bør informasjonen overføres til et arkivsystem eller en informasjonshåndteringsløsning slik informasjonen blir virksomheten sin og ikke din.</li>
<li><em>Lag rutine av slettingen</em>. Hvis du rydder e-posten sammen med morgenkaffen, før du går for dagen eller en gang i uken, blir det enklere å finne det du faktisk har brukt for</li>
</ol>
<p><em> </em>Både du som enkeltperson og du som virksomhet har best av å ikke ha mye i innboksen!</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/09/28/innboksen-som-arbeidslivets-kjellerbod/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Code templates &#8211; ukjent gullgruve for utviklere ?</title>
		<link>http://sterkblanding.no/blog/2011/09/07/code-templates-ukjent-gullgruve-for-utviklere/</link>
		<comments>http://sterkblanding.no/blog/2011/09/07/code-templates-ukjent-gullgruve-for-utviklere/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 19:34:01 +0000</pubDate>
		<dc:creator>Anders Karlsen</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1234</guid>
		<description><![CDATA[Mange som programmerer enten i java eller i andre programeringsspråk har en gullgruve rett under beina uten å vite om det, nemlig deres utviklingsmiljø eller IDE (Integrated Developing Enviroment). Jeg vil her beskrive Code Templates som finnes i de fleste IDE-er, og som kan hjelpe deg til en mer effektiv programmeringshverdag. Code templates kan generere [...]]]></description>
			<content:encoded><![CDATA[<p>Mange som programmerer enten i java eller i andre programeringsspråk har en gullgruve rett under beina uten å vite om det, nemlig deres utviklingsmiljø eller IDE (Integrated Developing Enviroment). Jeg vil her beskrive Code Templates som finnes i de fleste IDE-er, og som kan hjelpe deg til en mer effektiv programmeringshverdag. Code templates kan generere de rutinepregede delene av koden for deg slik at du kan konsentrere deg om det som gir forretningsverdi.</p>
<p><span id="more-1234"></span></p>
<p><em>Ville du ha brukt notepad til å skrive kode ?</em><br />
Selvsagt (forhåpentligvis) ikke. Vi bruker IDE til programmering fordi det gir en sikrere og raskere prosess. Moderne IDE-er inneholder et arsenal av verktøy. En av disse er code templates. Jeg skal her gå igjennom hvordan man kan bruke de innebygde code templatene eller endre disse slik at de passer perfekt. Man kan også lage nye selv. Jeg vil her bruke Eclipse og Java som et eksempel. Code templates finnes derimot i flere IDE-er (som for eksempel InteliJ og Netbeans) og kan også benyttes på samme måte i andre programeringsspråk enn java.</p>
<h2>Bruk de innebygde code templatene</h2>
<p>Eclipse kommer med mange innebygde templates. Disse listes opp under Preferences-Java-Editor-Templates. For å aktivere templaten i koden trykker du &#8220;Ctrl-Space-Space&#8221;.</p>
<p>Skal du opprette en junit-test (og det gjør du vel en del ganger?) finnes det en template for å dette. Denne ser slik ut:</p>
<p><a href="http://sterkblanding.no/files/2011/09/testtemplate.jpg"><img class="alignnone size-full wp-image-1242" src="http://sterkblanding.no/files/2011/09/testtemplate.jpg" alt="" width="512" height="75" /></a></p>
<p><a href="http://sterkblanding.no/files/2011/09/testtemplate.jpg"></a>Her lages det en metode annotert med test. org.junit.Assert importeres statisk. Og cursoren settes inne i metoden. Det opprettes også en variabel (testname). Dette gjør at brukeren skriver rett etter genereringen fylles inn der.</p>
<p>Det er fullt mulig å editere på templatene hvis de ikke passer helt. Dersom man for eksempel bruker fest assert så trenger man ikke statisk import av org.junit.Assert. Det er bare å slette den delen.</p>
<p>Ta deg tid til å ta en titt på de innebygde templatene. Det er antgelig flere ting du gjør ofte som det finnes templates som gjør denne jobben lettere.</p>
<h2>Lag dine egne templates</h2>
<p>Man kan også lage sine egne templates. Her skal vi ta for oss to eksempler.</p>
<h2>Template for equals metode</h2>
<p>Vi skal her se på en template for en eguals metode (Jada, det finnes mange andre måter for å enkelt lage en equalsmetode, men dette er et eksempel)</p>
<p><a href="http://sterkblanding.no/files/2011/09/equaltemplate1.jpg"><img class="alignnone size-full wp-image-1238" src="http://sterkblanding.no/files/2011/09/equaltemplate1.jpg" alt="" width="446" height="326" /></a></p>
<p>Minst 99% av alle equalsmetoder starter med å sjekke at objektet er av riktig type. Siden klassenavnet varierer fra klasse til klasse (duh), bruker vi en variabel &#8220;enclosing_type&#8221;. Denne erstates med navnet på klassen vi er i. I tillegg caster vi deretter objektet til den aktuelle typen. Det er i tillegg lagt på en nullsafe equalsmetode som kan brukes til å sjekke de aktuelle atributtene. Vi har også tatt med en gyldig (men ikke veldig bra) implementasjon av hashCode slik at man oppfyller kontrakten mellom equals og hashcode.</p>
<h2>Template for å generere en factory metode</h2>
<p>Mange ganger er det nyttig å opprette en klasse med en statisk metode. Følgende template hjelper deg på vei her :</p>
<p><a href="http://sterkblanding.no/files/2011/09/createTemplate.jpg"><img class="alignnone size-full wp-image-1240" src="http://sterkblanding.no/files/2011/09/createTemplate.jpg" alt="" width="662" height="128" /></a></p>
<p>Som vi ser brukes det mye av de samme teknikkene som i equals templaten. Det som er nytt er bruken av variable. Variable er felt som brukeren kan editere på umiddelbart etter å ha kjørt templaten. Her bruker vi dette til å redigere på variabelnavnet (som jo varierer mye fra klasse til klasse). Feltnavnet brukeren skriver inn oppdateres tre steder:</p>
<ol>
<li>I feltnavnet</li>
<li>I parameteren til metoden</li>
<li>I tilordningen på begge sider av likhetstegnet.</li>
</ol>
<p>Disse templatene er bare eksempeler. I et hvert domene finnes det noe som gjøres mange ganger og er nesten likt. Tenk deg om. Antagelig finnes det noe code templates kan hjelpe deg med. Hvis du vil kopiere noen av templatene fra eksemplene finner du dem og noen til <a href="https://github.com/anders88/eclipseTemplates/blob/master/templates.txt">her</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/09/07/code-templates-ukjent-gullgruve-for-utviklere/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hvordan sikre at brukerhistorien blir levert som kunden forventer</title>
		<link>http://sterkblanding.no/blog/2011/08/11/hvordan-sikre-at-brukerhistorien-blir-levert-som-kunden-forventer/</link>
		<comments>http://sterkblanding.no/blog/2011/08/11/hvordan-sikre-at-brukerhistorien-blir-levert-som-kunden-forventer/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 15:12:40 +0000</pubDate>
		<dc:creator>Øyvind Norstein Øvregård</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1202</guid>
		<description><![CDATA[Har du noen gang opplevd å levere noe du trodde kunden ville ha, men som i ettertid viste seg å være noe helt annet en hva kunden forventet? Hvorfor gikk det galt? Ofte er det slik at du og kunden hadde forskjellig forståelse av hva som skulle lages. Denne forståelsen var sannsynligvis ganske identisk i [...]]]></description>
			<content:encoded><![CDATA[<p>Har du noen gang opplevd å levere noe du trodde kunden ville ha, men som i ettertid viste seg å være noe helt annet en hva kunden forventet? Hvorfor gikk det galt?</p>
<p><span id="more-1202"></span>Ofte er det slik at du og kunden hadde forskjellig forståelse av hva som skulle lages. Denne forståelsen var sannsynligvis ganske identisk i begynnelsen, men manglende kommunikasjon underveis førte til antakelser som viste seg å være feil.</p>
<p>Kunden: &#8220;Hvordan går det?&#8221;<br />
Du: &#8220;Det går kjempe bra! Er allerede i Sandefjord!&#8221;<br />
Kunden: &#8220;Hva mener du med at du er i Sandefjord??&#8221;</p>
<p>Du satte deg i bilen din og kjørte til Kristiansand, mens kunden står og venter i Kristiansund. Hvorfor står dere på hver deres side av landet? Det som tilsynelatende var krystallklart for både deg og kunden i begynnelsen, resulterte i en skivebom av dimensjoner (ca 887 km). Hadde dere hatt en dialog underveis, ville dere mest sannsynlig kunne oppklart misforståelsen på et tidligere tidspunkt.</p>
<p>Selv om dette eksemplet kan virke banalt, så illustrerer det noe veldig viktig. Dersom man ikke får kontinuerlig feedback på det man driver på med, kan man fort ende opp med å kjøre i feil retning.</p>
<p>Veien til suksess handler om kommunikasjon med kunden. Kontinuerlig feedback sikrer at dere har felles forståelse for hvor dere skal. Det beste hadde selvfølgelig vært å ha kunden med i passasjersetet hele veien. Dette er ikke alltid mulig, men vi har noen gode erfaringer med hvordan man kan oppnå lignende nivå av kommunikasjon likevel.</p>
<p><strong>Fem gode tips for å sikre at brukerhistorien blir levert som kunden forventer</strong></p>
<p><strong>1. Bruk et felles språk som både kunde og utviklere forstår.</strong><br />
Utviklere generelt har en tendens til å bruke veldig mye tekniske uttrykk og forkortelser. Dette er et språk kunden ikke forstår og finner frustrerende. Få vil innrømme at de ikke forstår meningen av redsel for å fremstå som mindre smarte. Språk av slik art kan også fort bli tatt for god fisk, fordi det høres &#8220;fancy&#8221; ut og kan fort føre til misforståelser. Lytt til hvordan kunden beskriver og referer til ting og forsøk å tilpasse deg språket deres. I denne sammenheng er det alltid utviklerene som må tilpasse seg domenespråket til kunden, og ikke motsatt. Likevel er det vikitig å introdusere kunden for nye konsepter som for eksempel en &#8220;hendelse&#8221;, uten å beskrive dette på et teknisk nivå. Språket er noe som du utvikler sammen med kunden over tid. Sørg for å danne basisen for dette språket allerede fra starten av prosjektet.</p>
<p><strong>2. Start arbeidet ditt sammen med kunden før du begynner å skrive en eneste linje med kode.</strong><br />
Med dette oppnår du flere ting. For det første må du sette deg inn i problemstillingen for å i det hele tatt kunne føre en fornuftig dialog med kunden. Allerede nå får du bedre forståelse av hva som skal lages, både fordi du har tenkt over det på egenhånd, og du kanskje får svar på flere sentrale spørsmål gjennom dialog med kunden før du starter. For det andre så involverer du kunden fra starten av. Kunden vil føle det betryggende at han er involvert i prosessen. De er da i mye bedre stand til å gi deg løpende tilbakemeldinger.</p>
<p><strong>3. Lag et førsteutkast med akseptansekriterier</strong><br />
Akseptansekriteriene definerer hva som skal til for at brukerhistorien er ferdigutviklet. Dette bør være skrevet på det felles språket som dere sammen har kommet frem til. Kriteriene bør kun inneholde den funksjonaliteten som er innenfor denne brukerhistorien. Ikke inkluder kriterier for eksisterende funksjonalitet eller funksjonalitet som er utenfor scope.</p>
<p>En idé kan være å formulere akseptansekriteriene dine på dette formatet:<br />
Gitt at jeg har kr 100,-på visakortet mitt<br />
Når jeg kjøper en øl til kr 60,- med visakortet mitt<br />
Så skal jeg ha kr 40,- igjen på visakortet</p>
<p>Dette er et format fra Behavior driven development (BDD)-evangelistene som vi ikke kommer til å gå nærmere inn på i denne artikkelen.</p>
<p>Utviklere jobber best med konkrete eksempler, dette krever at du er presis. Når du utarbeider førsteutkastet med akseptansekriterier kommer det fort opp nye problemstillinger som man først ser når man graver seg dypere ned i detaljene. Utkastet er et godt utgangspunkt for videre diskusjon med kunden. Gjennom akseptansekriteriene dine skinner det igjennom hvordan du har oppfattet kundens behov.</p>
<p><strong>4. Kall inn kunden til et møte, med utgangspunkt i førsteutkastet av akseptansekriteriene.</strong><br />
Selv om du forhåpentligvis har hatt kontinuerlig kommunikasjon med kunden underveis, så blir et slikt møte en &#8220;reality check&#8221;. I dette møtet vil du få kjapp tilbakemelding på hvordan &#8220;din verden&#8221; stemmer overens med &#8220;kundens verden&#8221;. Du har allerede nå satt deg godt inn i problemstillingen, og har noe konkret å diskutere med kunden. Dette gjør deg i stand til å diskutere utfordringer som er på et mer detaljert nivå enn tidligere. Kunden vil som oftest stille spørsmål rundt flere av formuleringene i akseptansekriteriene dine. Slike spørsmål tyder på at du har uttrykt noe uklart, som ofte kan føre til misforståelser. Da er det helt nødvendig å stoppe opp, tenke seg om , og omformulere. Grav deg ned i hva uklarheten dreier seg om, og omformuler akseptansekriteriet sammen. På denne måten sikrer du at kunden får det han ber om, og du får en bedre forståelse av hva som skal lages og hvilken verdi dette gir til kunden.</p>
<p><strong>5. Ha en kontinuerlig feedback-loop med kunden.</strong><br />
Utviklerene har nå noe konkret å ta tak i. Det er fortsatt en del ting som ikke er avklart, men hovedessensen er på plass. Det dukker alltid opp nye problemstillinger etter at utviklingen har startet. Avklaringsprosessen er noe som går igjennom hele utviklingsløpet til brukerhistorien, men du har nå et godt grunnlag for å håndtere nye utfordringer som måtte oppstå. Du har dannet kommunikasjonskanalen, kunden er involvert fra starten av, og utviklerene har et klart definert sett av kriterier som de kan forholde seg til.</p>
<p>For å si det kort; involvér kunden så tidlig som mulig, kommunisér på et språk som dere har blitt enige om, og sørg for å få kontinuerlig feedback. Da vil man unngå mange unødvendige misforståelser og dere vil begge føle et felles eierskap til det som skal leveres. En bonuseffekt er at man kan etterprøve akseptansekriteriene når brukerhistorien er levert. Dette er mye enklere å gjøre ettersom kriteriene er noe dere har blitt enige om sammen, helt fra starten.</p>
<p>Dette er noen av våre erfaringer fra et av Norges største smidige prosjekter.<br />
Hva er dine erfaringer?</p>
<p>Øyvind Norstein Øvregård<br />
Finn-Robert Kristensen</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/08/11/hvordan-sikre-at-brukerhistorien-blir-levert-som-kunden-forventer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tre tips til hvordan du kan dele opp brukerhistoriene dine</title>
		<link>http://sterkblanding.no/blog/2011/06/30/tre-tips-til-hvordan-du-kan-dele-opp-brukerhistoriene-dine/</link>
		<comments>http://sterkblanding.no/blog/2011/06/30/tre-tips-til-hvordan-du-kan-dele-opp-brukerhistoriene-dine/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 12:34:36 +0000</pubDate>
		<dc:creator>Finn-Robert Kristensen</dc:creator>
				<category><![CDATA[Smidig]]></category>
		<category><![CDATA[spesifikasjon]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1185</guid>
		<description><![CDATA[I smidige prosjekter jeg har deltatt i dukker det ofte opp problemer med å splitte opp brukerhistorier. Enten er de for store til å kunne estimeres eller til å passe inn i en iterasjon. Spørsmålet mange stiller er hvordan kan jeg splitte opp brukerhistorien min?]]></description>
			<content:encoded><![CDATA[<p>I smidige prosjekter jeg har deltatt i dukker det ofte opp problemer med å splitte opp brukerhistorier. Enten er de for store til å kunne estimeres eller til å passe inn i en iterasjon. Spørsmålet mange stiller er hvordan kan jeg splitte opp brukerhistorien min?</p>
<p>Her er tre ting du kan gjøre:</p>
<p><span id="more-1185"></span></p>
<p><strong>Splitt opp på domene</strong></p>
<p>Dette er kanskje den vanligste og enkleste måten å splitte opp brukerhistorier på. I domenet ditt vil du gjerne finne flere type kategorier av for eksempel produkter. Disse er ideelle å dele opp historiene dine på. La oss tenke oss et forsikringsselskap som tilbyr en rekke forskjellige forsikringsprodukter. Mye av tiden går til å behandle forsikringssaker og man skal lage et nytt system for å forbedre saksbehandlingstiden.</p>
<p>Eksempel:<br />
Som en saksbehandler<br />
Ønsker jeg å behandle en forsikringssak<br />
Slik at ..</p>
<p>Hva slags type forsikring er dette? Er det en skadeforsikring eller kanskje en livsforsikring? Her kan vi dele brukerhistorien opp på de forskjellige produktkategoriene.</p>
<p>Som en saksbehandler,<br />
Ønsker jeg å behandle en <strong>skadeforsikringssak</strong>,<br />
Slik at..</p>
<p>Hvis 70% av alle forsikringssaker er skadeforsikring vil jeg anta at denne vil ha en høyere prioritet enn en livsforsikringssak som kanskje gjelder 5% av alle sakene. Dette hjelper deg til å prioritere brukerhistoriene dine bedre.</p>
<p><strong>Splitt opp på operasjon</strong></p>
<p>Mange brukerhistorier handler om å skrive eller lese noe data. Dette kan vi dele opp i fire operasjoner: opprett, oppdater, slett og les.</p>
<p>Som en administrator,<br />
Ønsker jeg å administrere brukere<br />
Slik at jeg har kontroll på hvem som har tilgang til systemet</p>
<p>Etter samtaler med administratoren finner vi ut at han har behov for å opprette, endre og slettte brukere. Og ikke minst vise en brukerprofil som da blir les operasjonen. Du har nå mulighet til å dele opp en brukerhistorien i fire nye brukerhistorier.</p>
<p>Eksempel på å opprette:<br />
Som en administrator,<br />
Ønsker jeg å <strong>opprette en ny bruker</strong><br />
Slik at jeg enkelt kan gi nye brukere tilgang</p>
<p><strong>Splitt opp på roller</strong></p>
<p>Når vi diskuterer en brukerhistorie handler den som oftest om flere type brukere. Det kan være alt fra brukere som skal ha begrenset tilgang til brukere som bruker funksjonaliteten mer enn andre. Det kan lønne seg å identifisere hva slags type brukere som skal bruke funksjonaliteten og ut i fra dette bryte opp historien som beskriver hvem disse brukerene er og hva de trenger å kunne gjøre.</p>
<p>Som en kunde,<br />
Ønsker jeg å angi en leveringsadresse,<br />
Slik at …</p>
<p>Du har sikkert mange forskjellig typer kunder. Noen er kanskje innom daglig? Kanskje har du noen gode kunder som du ønsker å gjøre brukeropplevelsen bedre for?</p>
<p>Som en jevnlig kunde,<br />
Ønsker jeg å kunne velge en leveringsadresse fra mine tidligere ordre,<br />
Slik at jeg sparer tid på å fylle ut adressen min hver gang</p>
<p><strong>Konklusjon</strong></p>
<p>Ved å bryte ned historiene så får du noe som er enklere å prioritere innenfor en leveranse. Bryter du ned historiene dine vil du også ha mulighet til å implementere den viktigste funksjonaliteten først og unngå å bruke tid på å implementere funksjonalitet som sjelden blir brukt.</p>
<p>Her var tre eksempler på hvordan du kan bryte ned brukerhistoriene dine. Det er ikke alle brukerhistorier dette vil fungere på, men stort sett de fleste av dem.</p>
<p>Hvilke teknikker bruker du på å bruker historiene dine?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/06/30/tre-tips-til-hvordan-du-kan-dele-opp-brukerhistoriene-dine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Se foredragene fra #TEDatSteria 6: Kreativitet &#8211; Vær barnslig, hold til høyre</title>
		<link>http://sterkblanding.no/blog/2011/06/08/se-foredragene-fra-tedatsteria-6-kreativitet-v%c3%a6r-barnslig-hold-til-h%c3%b8yre/</link>
		<comments>http://sterkblanding.no/blog/2011/06/08/se-foredragene-fra-tedatsteria-6-kreativitet-v%c3%a6r-barnslig-hold-til-h%c3%b8yre/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 07:53:00 +0000</pubDate>
		<dc:creator>Ole Marius Steinkjer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[#creativity]]></category>
		<category><![CDATA[#kreativitet]]></category>
		<category><![CDATA[#TED Talks]]></category>
		<category><![CDATA[#TED.com]]></category>
		<category><![CDATA[#TEDatSteria]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1174</guid>
		<description><![CDATA[Det er omtrent fire måneder siden forrige gang vi møttes for å la oss inspirere av foredrag fra TED.com. Også denne gang fulgte vi kjent oppskrift. For nye lesere er #TEDatSteria en sosial setting der vi samler oss over litt mat og god drikke, mens vi lar oss underholde og inspirere av foredragsholdere fra TED.com. [...]]]></description>
			<content:encoded><![CDATA[<p>Det er omtrent fire måneder siden forrige gang vi møttes for å la oss inspirere av foredrag fra TED.com. Også denne gang fulgte vi kjent oppskrift. For nye lesere er #TEDatSteria en sosial setting der vi samler oss over litt mat og god drikke, mens vi lar oss underholde og inspirere av foredragsholdere fra TED.com. Det blir på forhånd valgt ut et knippe med Talks arrangørene har håndplukket. Denne gangen var temaet for samlingen kreativitet.</p>
<p>I rollene våre i arbeidslivet søker vi alltid etter kreative og smarte måter å løse utfordringer på. Kreativitet kan dog være så mangt. Definisjoner varierer fra person til person og uttalelse til uttalelse. Hvordan defineres en kreativ person? Er man født kreativ? Kan man lære kreativitet? Alle er spørsmål det er vanskelig å gi et fullgodt svar på. Gjennom denne samlingen lot vi seks inspirerende foredrag fra TED.com diskutere emnet for oss. Noe som igjen gav grobunn for videre diskusjon utover kvelden.</p>
<p>For de som ikke hadde mulighet til å bli med denne gang såg vi følgende videoer:</p>
<ul>
<li><a title="Elizabeth Gilbert on nurturing creativity" href="http://www.ted.com/talks/lang/eng/elizabeth_gilbert_on_genius.html" target="_blank">Elizabeth Gilbert on nurturing creativity</a></li>
<li><a title="Matt Ridley: When ideas have sex" href="http://www.ted.com/talks/matt_ridley_when_ideas_have_sex.html" target="_blank">Matt Ridley: When ideas have sex</a></li>
<li><a title="Sir Ken Robinson says school kills creativity" href="http://www.ted.com/talks/lang/eng/ken_robinson_says_schools_kill_creativity.html" target="_blank">Sir Ken Robinson says school kills creativity</a></li>
<li><a title="Cameron Herold: Let's raise kids to be entrepreneurs" href="http://www.ted.com/talks/cameron_herold_let_s_raise_kids_to_be_entrepreneurs.html" target="_blank">Cameron Herold: Let&#8217;s raise kids to be entrepreneurs</a></li>
<li><a title="Adora Svitak: What adults can learn from kids" href="http://www.ted.com/talks/lang/eng/adora_svitak.html" target="_blank">Adora Svitak: What adults can learn from kids</a></li>
<li><a title="Mick Ebeling: The invention that unlocked a locked-in artist" href="http://www.ted.com/talks/mick_ebeling_the_invention_that_unlocked_a_locked_in_artist.html" target="_blank">Mick Ebeling: The invention that unlocked a locked-in artist</a></li>
</ul>
<p>Takk til alle som ble med for nok en hyggelig aften med #TEDatSteria!</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/06/08/se-foredragene-fra-tedatsteria-6-kreativitet-v%c3%a6r-barnslig-hold-til-h%c3%b8yre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Et godt retrospektiv</title>
		<link>http://sterkblanding.no/blog/2011/05/26/et-godt-retrospektiv/</link>
		<comments>http://sterkblanding.no/blog/2011/05/26/et-godt-retrospektiv/#comments</comments>
		<pubDate>Thu, 26 May 2011 18:46:49 +0000</pubDate>
		<dc:creator>Rikard Eriksen</dc:creator>
				<category><![CDATA[Samhandling]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[samarbeid]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1165</guid>
		<description><![CDATA[Retrospektiv er en av de tre seremoniene i Scrum, og kanskje den viktigste. På retrospektiv evaluerer vi iterasjonen som har vært. Vi snakker om hva som har fungert godt, hva vi skal ta med oss videre og hva vi skal fortsette å gjøre. Og vi diskuterer hvor vi trenger å forbedre oss, hva vi skal [...]]]></description>
			<content:encoded><![CDATA[<p>Retrospektiv er en av de tre seremoniene i Scrum, og kanskje den viktigste. På retrospektiv evaluerer vi iterasjonen som har vært. Vi snakker om hva som har fungert godt, hva vi skal ta med oss videre og hva vi skal fortsette å gjøre. Og vi diskuterer hvor vi trenger å forbedre oss, hva vi skal endre på og hva vi skal slutte å gjøre.</p>
<p><span id="more-1165"></span></p>
<p><strong>Rutinepreget evaluering</strong><br />
Å evaluere seg selv er selvsagt viktig også i andre prosesser enn Scrum. Det å stadig forbedre seg, for å kunne jobbe mer effektivt, levere bedre kvalitet og trives bedre som team, er en nøkkelfaktor for suksess i de fleste prosjekter. Dessverre kan retrospektivmøter etterhvert bli rutinepregede; En aktivitet man gjør iterasjon etter iterasjon, uten egentlig å få fram de tingene som betyr noe, eller tenke nytt om temaer som går igjen gang etter gang. Da kan det ofte hjelpe å bryte opp mønstrene og gjøre noe nytt, for å skape variasjon og nytt engasjement rundt retrospektivet.</p>
<p>Her er et referat fra et retrospektiv jeg nylig hadde sammen med teamet jeg er Scrum Master på. Kanskje kan disse øvelsene inspirere deg til å skape ny glød neste gang du skal delta på et retrospektiv.</p>
<p><strong>Første øvelse: Tidslinja</strong><br />
Først tegnet vi opp ei tidslinje som illustrerte de tre ukene som iterasjonen hadde vart. Det var ei rett linje med helgene og andre fridager markert. På denne linja tegnet vi inn viktige hendelser. For eksempel måtte vi i slutten av første uke endre løsningsbeskrivelsen på flere av oppgavene på iterasjonskøen, fordi de var basert på en forutsetning som viste seg å være feil. I uke to måtte vi gjøre noen uplanlagte feilrettinger på en tidligere leveranse, og i uke tre fikk vi et nytt medlem på teamet.</p>
<p>Dette er noen eksempler på ting som kan tegnes inn på tidslinja. Det er ingen regler for hva som er riktig eller feil å tegne inn. Stort og smått kan tas med. Poenget med denne øvelsen er rett og slett å friske opp hukommelsen til teamet. Vi hjelper hverandre med å huske hva vi skal evaluere.</p>
<p><strong>Andre øvelse: Happygraf</strong><br />
Under tidslinja fikk så hvert teammedlem anledning til å tegne sin Happygraf. En Happygraf er en kurve som viser hvor fornøyd/glad eller misfornøyd vedkommende har vært i løpet av iterasjonen. Jo høyere kurve, jo mer fornøyd er du. Skalaen bestemmer dere selv. Dette er en morsom måte å uttrykke hvordan du har hatt det de siste tre ukene. Og det gir en fin innfallsvinkel til å kommunisere om følelser, uten å bruke ord.</p>
<p><strong>Tredje øvelse: Stikkordslotto</strong><br />
I den siste øvelsen fikk hvert teammedlem utdelt grønne og røde lapper. På de grønne lappene skrev vi ting som hadde fungert godt i iterasjonen, ting vi ville fortsette med å gjøre. På de røde lappene skrev vi forbedringspunkter, ønsker om endring. Her brukte vi stikkordsform, slik at vi bare skrev et ord eller et uttrykk på hver lapp. Setninger var forbudt.</p>
<p>Deretter samlet vi inn alle lappene og blandet dem sammen. De grønne lappene i en haug, og de røde i en annen. Så trakk vi etter tur en og en lapp fra en bunke, og leste stikkordet på den høyt. (Fikk vi en av våre egne lapper la vi den tilbake og trakk en ny.) Den som trakk en lapp måtte prøve å tolke hva stikkordet betydde. Da kunne hun gjerne bruke sine egne erfaringer fra iterasjonen til å forklare hva vedkommende hadde ment, og hva hun selv ville legge i ordet.</p>
<p>Etter at hun hadde sagt hva hun tenkte stikkordet betydde, skulle den som hadde skrevet lappen forklare hva han egentlig hadde ment. På denne måten fikk vi minst to forskjellige vinklinger på samme tema, og svært ofte gode diskusjoner som følge av det. En av oss hadde samtidig rolle som sekretær, og førte et referat av hva som ble sagt.</p>
<p><strong>Tiltak og ambisjoner</strong><br />
Sammen fikk disse tre øvelsene fram flere lærdommer  fra de siste ukene. Vi diskuterte flere vinklinger enn vi tidligere har gjort på samme tema, og gravde dypere i noen enkeltsaker. Til sammen brukte vi ca to timer på øvelsene. Vi kombinerte det med lunch, og hadde kjøpt inn mat.</p>
<p>I begynnelsen av den påfølgende iterasjonen tok vi en gjennomgang av referatet fra retrospektivet. Vi valgte ut de tre viktigste punktene hvor vi ønsket å sette oss konkrete mål for forbedring. Vi ble enige om tiltak og ambisjoner for hvilke resultater vi ønsket å oppnå. Denne gjennomgangen brukte vi ca en time på.</p>
<p><strong>Dine erfaringer</strong><br />
Hvilke erfaringer har du med retrospektiver? Har du opplevd noe som har fungert spesielt godt, eller har du tips til øvelser som er morsomme og gir gode resultater?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/05/26/et-godt-retrospektiv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Er dette riktig?</title>
		<link>http://sterkblanding.no/blog/2011/05/04/er-dette-riktig/</link>
		<comments>http://sterkblanding.no/blog/2011/05/04/er-dette-riktig/#comments</comments>
		<pubDate>Wed, 04 May 2011 10:48:54 +0000</pubDate>
		<dc:creator>christingorman</dc:creator>
				<category><![CDATA[Kompetanse]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Samhandling]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1159</guid>
		<description><![CDATA[Spør du deg dette når du skriver kode? Hvem stiller du spørsmålet til? Hvem kan egentlig si om kode er riktig eller ikke? Det finnes ingen fasit innen programmering. Man bør ikke se kode som enten riktig eller gal, men heller som fungerende eller ikke-fungerende. Får den testen til å bli grønn. Ja da fungerer [...]]]></description>
			<content:encoded><![CDATA[<p>Spør du deg dette når du skriver kode?  Hvem stiller du spørsmålet til? Hvem kan egentlig si om kode er riktig eller ikke?  Det finnes ingen fasit innen programmering.  Man bør ikke se kode som enten riktig eller gal, men heller som fungerende eller ikke-fungerende. Får den testen til å bli grønn. Ja da fungerer koden som den skal.  Klapp deg selv på skulderen. Well done!</p>
<p><span id="more-1159"></span>Nå skal det selvsagt sies at man helst bør følge de maler og bruke de rammeverk som arkitekten eller teamet sammen har tenkt at prosjektet skal bruke.  Sånn sett finnes det regler for hva som er rett og galt.  Men når det finnes slike maler og rammeverk, da stiller vi oss ikke dette spørsmålet. Det er når vi beveger oss utenfor de etablerte malene at spørsmålet gjerne dukker opp: Er dette riktig?  Og det er litt trist når det skjer.  For det er tegn på at vi ikke stoler på oss selv til å kunne komme med gode nok løsninger.  Og det synes jeg vi skal gjøre.  Det har vi all grunn til å gjøre, flinke som vi er <img src='http://sterkblanding.no/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Vi bør absolutt fortsette med å stille spørsmål om hvorvidt koden vår kan forbedres. Men spørsmålet bør heller være &#8220;Hva synes du?&#8221; Vi bør fortsette med å involvere flest mulig. Men det bør gjøres som en diskusjon blant proffesjonelle utviklere der alle har gode poenger å komme med, og ingen sitter med fasiten.  Det er da det er morro å jobbe som et team.</p>
<p>Programmering burde ikke bare oppleves som å fargelegge inni ferdig-opptegnede figurer. Det burde være litt frihånds-arbeide også.  Det er når du føler at du er med på å skape løsningen at det er gøy å programmere.  Og det er når man har det gøy at man jobber best og utvikler seg mest.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/05/04/er-dette-riktig/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hvordan reagerer du på &#8220;dårlig kode&#8221;?</title>
		<link>http://sterkblanding.no/blog/2011/04/15/hvordan-reagerer-du-pa-darlig-kode/</link>
		<comments>http://sterkblanding.no/blog/2011/04/15/hvordan-reagerer-du-pa-darlig-kode/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 08:18:23 +0000</pubDate>
		<dc:creator>christingorman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1153</guid>
		<description><![CDATA[Parprogrammering der man roterer parene ofte er genialt på mange forskjellige måter. Man lærer masse fra hverandre. Kodestilen blir naturlig mer lik og dermed lettere å vedlikeholde, og sist men ikke minst: koden blir sett av nye ferske øyne stadig vekk. Men de ferske øynene kan føre til problemer&#8230; Verdien av ferske øyne Det er [...]]]></description>
			<content:encoded><![CDATA[<p>Parprogrammering der man roterer parene ofte er genialt på mange forskjellige måter. Man lærer masse fra hverandre. Kodestilen blir naturlig mer lik og dermed lettere å vedlikeholde, og sist men ikke minst: koden blir sett av nye ferske øyne stadig vekk.</p>
<p>Men de ferske øynene kan føre til problemer&#8230;</p>
<p><img src="../wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" border="0" alt="" width="2" height="2" align="BOTTOM" /><span id="more-1153"></span></p>
<p><strong>Verdien av ferske øyne</strong></p>
<p>Det er lett å se seg blind på egen kode. Når man skriver den har man det veldig klart for seg hva det er en prøver å utrette. Man tar sin egen forståelse av problemet for gitt og leser koden utifra denne egne forståelsen. Men ikke alle ser problemet i samme lys som en selv. Resultatet er ofte totalt uforståelig kode for andre.  Derfor er det kjempeviktig at andre også leser koden og flagger eventuelle uklarheter jevnlig. Det er tross alt vanskelig for en selv å vite hva det er en har tatt for gitt, ettersom man&#8230; har tatt det for gitt.</p>
<p><strong>Faren ved ferske øyne</strong></p>
<p>Det er likevel ET problem med ferske kritiske øyne. Spesielt hvis de får jobbe med koden helt uten tilgang til de opprinnelige forfatterne. På seg selv kjenner en andre, og jeg vet med meg selv at jeg fort tenker “Å herregud, hva er det her for noe dritt?!?!!” når jeg ser på andre folk sin kode. Spesielt hvis de ikke er der for å forsvare seg. “Dette kunne jeg gjort 1000 ganger bedre selv”. “Hvorfor har de gjort det SÅNN, når det er så utrolig mye bedre å gjøre det <em>sånn.”</em> Også setter man igang og skriver det hele selv fra scratch. Man bare MÅ! Det klør i fingrene. Dette fører da typisk til at de opprinnelige forfatterne reagerer med tilsvarende avsky mot min “forbedring”. Etter 10 år som programmerer har jeg sett andre gjøre dette mot hverandre gang på gang, jeg har gjort det selv altfor ofte og jeg har fått min egen kode skjelt ut og omskrevet (av meg selv til og med) Denne prosessen kan fort kaste bort mye tid og skape et dårlig arbeidsmiljø der ingen stoler på hverandre og man nesten ikke får lyst til å sjekke inn kode fordi man vet at folk kommer til å slenge dritt. I åpent landskap der man hører høyt og tydelig hvordan folk beklager seg over dårlig kode blir dette enda verre.  Selv om det ikke er ens egen kode det blir klaget over.  Det at folk akker og ojer seg over ting de ikke liker skaper en negativ atmosfære.  Jeg har selv lidd i slike miljøer. Og det plager meg at jeg sikkert har vært skyld i tilsvarende situasjoner på arbeidsplassen. Det er ikke konstruktivt. Jeg akter å forbedre meg og håper andre følger etter.</p>
<p><strong>Pust, tell til 10 og involver de som skrev koden.</strong></p>
<p>Det er som sagt viktig å få flagget kode som bør forbedres. Praktisk talt all kode kan forbedres. Kode som ikke er tydelig nok, kode som er for komplisert, kode som ikke er bra koblet sammen. Men det kan gjøres på bedre måter enn å himle med øynene, stønne, banne og sverte høylytt og så skrive om alt på nytt uten å involvere forfatterne. Jo lengre du sitter og &#8220;fikser&#8221; andres kode, jo mer irritert blir du på dem, og jo mindre vil du stole på deres evner i fremtiden.  Dette er ikke bra for team-spirit&#8217;en.  Snakk heller med personen som skrev koden og spør hva bakgrunnen for løsningen de har valgt er.  Vær åpen for at du kan få et veldig godt svar. Kanskje løsningen er full omskrivning, og kanskje koden fortjener en høylytt OMG WTF, men løsningen kan også bare være bedre navngivning av metoder eller andre enkle refaktorerings-tiltak, eller kanskje du har totalt misforstått, og koden er så god den kan være.  Kanskje forfatterene er helt enig i at koden bør skrives om og kanskje de har gode ideer til hvordan dette kan gjøres.  Hvis vi jobber og snakker sammen, også der vi er uenige, får vi et mye bedre samarbeid og et mye bedre arbeidsmiljø.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/04/15/hvordan-reagerer-du-pa-darlig-kode/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hvordan lage minesveiper i JavaScript på under 14 minutter</title>
		<link>http://sterkblanding.no/blog/2011/03/25/hvordan-lage-minesveiper-i-javascript-pa-under-14-minutter/</link>
		<comments>http://sterkblanding.no/blog/2011/03/25/hvordan-lage-minesveiper-i-javascript-pa-under-14-minutter/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 09:48:08 +0000</pubDate>
		<dc:creator>Thomas Kjeldahl Nilsson</dc:creator>
				<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1139</guid>
		<description><![CDATA[Denne øvelsen ble opprinnelig utført foran publikum på Go Open / Communities in Action eventet i mars 2011. En code kata er en enkel øvelse for å skjerpe programmeringsferdighetene dine. Det vil si &#8211; du trener bare problemløsning den første gangen du utfører øvelsen. Så gjentar du øvelsen, om og om igjen, til det sitter i [...]]]></description>
			<content:encoded><![CDATA[<p><em>Denne øvelsen ble opprinnelig utført foran publikum på Go Open / Communities in Action eventet i mars 2011.</em></p>
<p>En <a title="Code Kata" href="http://codekata.pragprog.com/">code kata</a> er en enkel øvelse for å skjerpe programmeringsferdighetene dine. Det vil si &#8211; du trener bare problemløsning den første gangen du utfører øvelsen. Så gjentar du øvelsen, om og om igjen, til det sitter i fingerspissene. Og hver gang prøver du å gjøre det litt kjappere. Hensikten er å trene hastighet, teknikk og verktøy.</p>
<p>I klippet under lager jeg en variant av <a title="Minesweeper code kata" href="http://codingdojo.org/cgi-bin/wiki.pl?KataMinesweeper">Minesweeper</a> kataen i JavaScript.</p>
<p><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<object width="640" height="480"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=21474244&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=21474244&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480"></embed></object><!-- End of Artiss Code Embed code -->
</p>
<p>(Kjør den i fullscreen for å se koden mer tydelig)</p>
<p>Merk: Jeg bruker testdrevet utvikling gjennom det meste av prosessen. På slutten dropper jeg TDD når jeg gjør det visuelle og selve spillmekanikken. Dette kunne også testes fra kode, men jeg droppet det for å gjøre den mer artig å se på. <img src='http://sterkblanding.no/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Du kan <a title="Minesveiper kata kode" href="https://github.com/thomanil/sweeper">se på koden i github-kontoen min</a>. Hver commit er en separat gjennomkjøring av øvelsen fra scratch.</p>
<p>Jeg brukte følgende libraries og verktøy:</p>
<ul>
<li><a title="Underscore.js library" href="http://documentcloud.github.com/underscore/">Underscore.js</a></li>
<li><a title="jQuery framework" href="http://jquery.com/">jQuery</a></li>
<li><a title="Grid.js library" href="https://github.com/thomanil/Grid">Grid.js</a></li>
<li><a title="clAutotest tool" href="https://github.com/thomanil/clAutotest">clAutotest</a></li>
<li><a href="http://macromates.com/">TextMate</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/03/25/hvordan-lage-minesveiper-i-javascript-pa-under-14-minutter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fornøyd kunde</title>
		<link>http://sterkblanding.no/blog/2011/03/21/forn%c3%b8yd-kunde/</link>
		<comments>http://sterkblanding.no/blog/2011/03/21/forn%c3%b8yd-kunde/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 13:11:42 +0000</pubDate>
		<dc:creator>christingorman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1129</guid>
		<description><![CDATA[Tenk deg at du har fått inn håndtverkere til å pusse opp badet ditt.  Du har gitt dem klare instrukser og du må ha badet ferdig i løpet av et par uker.  Du har spart penger lenge og gleder deg enormt til det ferdige resultatet. Etter første arbeidsdag kommer du hjem og er veldig spent [...]]]></description>
			<content:encoded><![CDATA[<p>Tenk deg at du har fått inn håndtverkere til å pusse opp badet ditt.  Du har gitt dem klare instrukser og du må ha badet ferdig i løpet av et par uker.  Du har spart penger lenge og gleder deg enormt til det ferdige resultatet.<br />
<span id="more-1129"></span><br />
Etter første arbeidsdag kommer du hjem og er veldig spent på hvor langt de har kommet.  Badet er uforandret, men kjøkkenet har blitt vasket og ryddet og er så strøkent det noen sinne har vært.  &#8220;Kjøkenet trengte å bli vasket og ryddet&#8221; får du høre.  Joa.  Men er du en fornøyd kunde?</p>
<p>Dag to begynner de på badet,  men mye tid går bort fordi en nybegynner klarte å bruke dobbelt så mange spiker som man trenger da han satte opp nye veggplater. Som proffesjonelle arbeidere kunne de ikke stå for slikt, så de rev ned alle platene og satte opp nye med &#8220;riktig&#8221; antall spiker.  Er du som kunde fornøyd med slik bruk av tid og ressurser?</p>
<p>Når de endelig nærmer seg slutten, får den ene arbeideren en dødskul ny flis-kutter. Den kutter fliser mye bedre og mer nøyaktig enn den de brukte da de satte opp flisene, så da tar de ned igjen alle flisene og setter opp nye.  Er du fornøyd?</p>
<p>Jeg bare spør, jeg. Rent hypotetisk, selvsagt.  For det er vel ingen som kjenner seg igjen i denne typen praksis?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/03/21/forn%c3%b8yd-kunde/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hvor moden er din test organisasjon?</title>
		<link>http://sterkblanding.no/blog/2011/03/03/hvor-moden-er-din-test-organisasjon/</link>
		<comments>http://sterkblanding.no/blog/2011/03/03/hvor-moden-er-din-test-organisasjon/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 09:18:44 +0000</pubDate>
		<dc:creator>rafaelsegarra</dc:creator>
				<category><![CDATA[Test]]></category>
		<category><![CDATA[moden]]></category>
		<category><![CDATA[Smidig]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[TMMi]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1085</guid>
		<description><![CDATA[Du må ikke nødvendigvis vite hvor moden den er. Men det er kanskje en god idé å gi dine testhelter litt pusterom ved å forvandle din organisasjon til en med definerte testaktiviteter. Test Maturity Model integrated (TMMi) viser deg veien. Torsdag 17. februar deltok jeg i en TMMI workshop på et hotell i landet som [...]]]></description>
			<content:encoded><![CDATA[<p>Du må ikke nødvendigvis vite hvor moden den er. Men det er kanskje en god idé å gi dine testhelter litt pusterom ved å forvandle din organisasjon til en med definerte testaktiviteter. Test Maturity Model integrated (TMMi) viser deg veien.</p>
<p>Torsdag 17. februar deltok jeg i en TMMI workshop på et hotell i landet som holder rekorden i verden på å være uten regjering: Belgia. Vi var ikke så mange, så jeg fikk god kontakt med foredragsholderen. Dette til tross for at han hadde en infeksjon i øret og hørte seg selv mens han pratet, og jeg for min egen del hørte veldig lite på det ene øret etter en heftig flytur dagen før.</p>
<p>Foredragsholderen, Brian Wells, er en hyggelig engelsk TMMi-rådgiver som bor i Lille i Frankrike og jobber for Experimentus. Han har 25 års erfaring innenfor testbransjen og han har blant annet vært ansatt for hennes majestet Elizabeth, Queen of England. Likevel tror jeg ikke at han vil definere seg selv som en testhelt.</p>
<p>Experimentus har utviklet en metode som følger TMMis sin referansemodell og fått den godkjent. Det vil si at Brian Wells kan hjelpe organisasjoner med å vurdere hvor gode de er på test i følge TMMi, og gi dem råd om hvordan det er mulig å bli enda bedre.</p>
<p><span id="more-1085"></span></p>
<p>Det finnes flere liknende modeller. Det som gjør denne litt spesiell er at den er tilgjengelig for offentligheten. Altså kan du utvikle din egen metode basert på den offentlige referansemodellen. Ved å gjøre dette kan dine resultater sammenliknes med andre som også bruker TMMi.</p>
<p>Flere egenskaper av TMMi modellen som jeg ville understrekke blant de mange som ble nevnt er følgende:</p>
<ul>
<li>Smidighet: Modellen støtter alle utviklingsmetoder.</li>
<li>Internasjonal standard: Det finnes to bedrifter som leverer testtjenester og er TMMi-sertifisert på nivå 3. Det ene i Sør-Korea og det andre i Spania. Nivå 3 betyr at disse er i stand til å styre testaktiviteter, men også at disse aktivitetene er tydelige definert og gjenbrukes.</li>
<li>Risiko: TMMi er veldig tydelig på at test er en aktivitet som styres av risikoanalyse.</li>
</ul>
<p>Du kan prøve deg men en gratis gransking fra Experimentus:<br />
<a href="http://www.experimentus.com/services-intelligentProcessImprovementiPI.html">http://www.experimentus.com/services-intelligentProcessImprovementiPI.html</a></p>
<p>Resultatene som er samlet hittil sier at ca. 72,5% av bransjen ligger på nivå 1 mens resten ligger på nivå 2.</p>
<p>Det er bare å gratulere prosjektet du jobber i dersom du får et bra resultat.  Fikk dere ikke det, må prosjektet passe ekstra godt på at deres testhelter er tilgjengelige når det gjelder. I hvert fall frem til test organisasjonen er moden nok.</p>
<p>Til slutt, et gratis råd fra Brian: Pass på å vite hvor organisasjonen din ligger i forhold til testaktiviteter før du prøver å gjøre den bedre, uansett hvilken modell du velger!</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/03/03/hvor-moden-er-din-test-organisasjon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Se foredragene fra #TEDatSteria 5: Knowledge is power</title>
		<link>http://sterkblanding.no/blog/2011/02/09/se-foredragene-fra-tedatsteria-5-knowledge-is-power/</link>
		<comments>http://sterkblanding.no/blog/2011/02/09/se-foredragene-fra-tedatsteria-5-knowledge-is-power/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 13:27:24 +0000</pubDate>
		<dc:creator>Ole Marius Steinkjer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[#TEDatSteria]]></category>
		<category><![CDATA[TED]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1076</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 title="TED" href="http://www.ted.com" target="_blank">TED</a>-konferansen, en konferanse der verdensledende fagfolk forteller om sitt arbeid på en lettfattelig måte.</p>
<p>Denne samlingen satte vi et samlet tema for foredragene. Det som går igjen i alle videoene er kunnskap. De drøfter både hvordan få tak i informasjon, men like mye hvordan bruke den. Sistnevnte omhandler i stor grad også hvordan visualisere den og hvorfor det er et kraftig virkemiddel.</p>
<p><span id="more-1076"></span></p>
<p>Fredag 4. februar viste vi følgende videoer:</p>
<ul>
<li><a title="David McCandless: The beauty of data visualization" href="http://www.ted.com/talks/lang/eng/david_mccandless_the_beauty_of_data_visualization.html" target="_blank">David McCandless: The beauty of data visualization</a><br />
Som åpning viste vi et foredrag av David McCandless, en journalist med sansen for statistikk som har fått øye på illustrasjon. Foredraget viser hvor fint informasjon kan illustreres og ikke minst hvor nyttig det kan være.</li>
<li><a title="Nicholas Christakis: How social networks predict epidemics" href="http://www.ted.com/talks/lang/eng/nicholas_christakis_how_social_networks_predict_epidemics.html" target="_blank">Nicholas Christakis: How social networks predict epidemics</a><br />
I dette foredraget bruker Nicholas Christakis visualisering av sosiale nettverk til å predikere epidemier. Dette kan brukes til både se sykdom som sprer seg, lansering av et nytt produkt i markedet og mye mer.</li>
<li><a title="Tim Berners-Lee: The year open data went worldwide" href="http://www.ted.com/talks/lang/eng/tim_berners_lee_the_year_open_data_went_worldwide.html" target="_blank">Tim Berners-Lee: The year open data went worldwide</a><br />
Tim Berners-Lee utviklet World Wide Web som et deltidsprosjekt for omtrent 20 år siden. Den tid skjønte ikke folk hva en skulle bruke det til. Nå etterspør han rådata om alt. Hva skal vi med det? Han viser veldig klare eksempler om hvordan bruke kombinert rådata.</li>
<li><a title="Hans Rosling: Let my dataset change your mindset" href="http://www.ted.com/talks/lang/eng/hans_rosling_at_state.html" target="_blank">Hans Rosling: Let my dataset change your mindset</a><br />
Innen visualisering av informasjon er Hans Rosling et kjent navn. Hans entusiasme på senen ilag med  funnene han gjør og historien han forteller gjør alle hans foredrag verd minuttene og mer til. Rosling skal blant annet holde et foredrag under ISFIT i Trondheim 13. februar.</li>
<li><a title="Malcolm Gladwell on spaghetti sauce" href="http://www.ted.com/talks/lang/eng/malcolm_gladwell_on_spaghetti_sauce.html" target="_blank">Malcolm Gladwell on spaghetti sauce</a><br />
Verden gikk lenge uten å tilfredsstille sitt spagettisaus-ønske, uten at noen visste om det. Ved å stille de rette spørsmålene, og innse at for noen spørsmål finnes det ikke ét rett svar, fikk verden spagettisausen de faktisk likte best.</li>
</ul>
<p>Var temaet interessant og ble samlingen bedre når vi holdt oss til et tema? Vi tar gjerne imot tips til både tema og videoer for neste samling!</p>
<ul>
<li></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/02/09/se-foredragene-fra-tedatsteria-5-knowledge-is-power/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hvordan komme i gang med blogging  (del II)</title>
		<link>http://sterkblanding.no/blog/2011/01/04/hvordan-komme-i-gang-med-blogging-del-ii/</link>
		<comments>http://sterkblanding.no/blog/2011/01/04/hvordan-komme-i-gang-med-blogging-del-ii/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 19:25:09 +0000</pubDate>
		<dc:creator>Thomas Kjeldahl Nilsson</dc:creator>
				<category><![CDATA[Kompetanse]]></category>
		<category><![CDATA[Presentasjonsteknikk]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1015</guid>
		<description><![CDATA[Nytt år, nye muligheter. Kanskje du skal skrive litt i 2011? I fjor skrev Johannes en artikkel med råd om blogging. Her er flere skrivetips: &#8220;Obvious to you. Amazing to others.&#8221; Du har garantert noe nyttig å dele. De fleste av oss er spesialiserte i ulike fagområder og ferdigheter. Ting som virker trivielle eller åpenbare for [...]]]></description>
			<content:encoded><![CDATA[<p>Nytt år, nye muligheter. Kanskje du skal skrive litt i 2011? I fjor skrev Johannes en <a href="http://sterkblanding.no/blog/2010/02/16/hvordan-komme-i-gang-med-blogging/">artikkel med råd om blogging</a>. Her er flere skrivetips:</p>
<p><span id="more-1015"></span></p>
<h1>&#8220;Obvious to you. Amazing to others.&#8221;</h1>
<p>Du har garantert noe nyttig å dele. De fleste av oss er spesialiserte i ulike fagområder og ferdigheter. Ting som virker trivielle eller åpenbare for deg kan være kjempenyttig for andre. Så tenk deg om: <a href="http://sivers.org/obvious">sitter du på noe som virker &#8220;for åpenbart&#8221; til å dele med andre</a>?</p>
<h1>Ide-skuffen</h1>
<p>Det er vanskelig å både finne en ide <strong>og</strong> skrive ferdig en god blogpost på en og samme kveld. Det er derfor lurt å samle og bearbeide ideer over tid.</p>
<p>Kjøp en notatblokk. Ta den med deg overalt. Hver gang du får en ide eller innsikt som muligens flere har nytte av, så skriver du den ned, kanskje med et par setninger. Snart har du en haug ideer og tanker som du kan skrive om.</p>
<p>Slik gjør jeg det: på laptopen min ligger en mappe som jeg kaller &#8220;ide-skuffen&#8221;. Til enhver tid ligger det 10-20 filer der med ulike ideer. Jeg skriver litt i dem når jeg kommer på nye poenger. Når en tekstene har nok kjøtt på beina så lager jeg bare en renskrevet blogpost av den.</p>
<h1>Lang eller kort tekst?</h1>
<p>En blogpost er ikke en skolestil. Det er ingen formelle krav om lengde eller struktur, så ikke stress over det: bare få ut stoffet ditt på en form som noenlunde lesbar. Finn en stil som er komfortabel for deg.</p>
<p>Her er to vidt forskjellige eksempler: <a href="http://sethgodin.typepad.com/">Seth Godin</a> og <a href="http://steve-yegge.blogspot.com/">Steve Yegge</a>. De har svært ulik form: Godin skriver noe hver eneste dag, ofte bare en paragraf eller to. Yegge derimot publiserer sjelden nye artikler, til gjengjeld skriver han da <a href="http://steve-yegge.blogspot.com/2008/10/universal-design-pattern.html">laaange tekster.</a></p>
<h1>Still krav til deg selv</h1>
<p>Det er lettere å få ting gjort når man har milepæler. Hvis man bare &#8220;venter på inspirasjonen&#8221; så koker det fort vekk i kålen. Jeg synes det er enklere å produsere ting når jeg har faste frister; jeg forsøker å ferdigstille en tekst hver kalender-måned (til enten <a href="http://sterkblanding.no">sterkblanding.no</a> eller min personlige blogg).</p>
<h1>Skriveteknikk</h1>
<p>De fleste av oss kan bli flinkere i grunnleggende skriveteknikk. Noen enkle grep gjør ikke bare blogging, men <strong>alt</strong> du skriver mer lesbart. Eksempler:</p>
<ul>
<li>Det er lettere å lese tekst brutt opp i paragrafer &#8211; unngå &#8220;wall of text&#8221;.</li>
<li>Skriv aktivt og stramt. <em>&#8220;Jeg grep pennen&#8221; </em>er mer lesbart enn <em>&#8220;pennen ble etterhvert hurtig grepet av meg&#8221;</em>.</li>
<li>Bruk enkelt, effektivt språk. <em>&#8220;Utføre&#8221;</em> er mer lesbart enn <em>&#8220;operasjonalisere&#8221;</em>.</li>
</ul>
<p>En bok jeg liker godt er <a href="http://en.wikipedia.org/wiki/The_Elements_of_Style">&#8220;The Elements of Style&#8221;</a> av Strunk &amp; White. Den er snart hundre år gammel men inneholder eviggrønne råd om skriveteknikk. Og den er selvfølgelig lettlest!</p>
<h1>Tenk om noen er uenige med meg?</h1>
<p>Hvis du er så heldig å få kommentarer der folk er uenige med deg så er det et tegn på at du gjør noe riktig: da skriver du iallfall engasjerende! Forsøk å få folk til å tenke &#8220;Ja!&#8221; eller &#8220;Nei!&#8221;&#8230; ikke et svakt &#8220;Tja&#8221;. <img src='http://sterkblanding.no/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Nå, hva venter du på? Skriv! </em></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2011/01/04/hvordan-komme-i-gang-med-blogging-del-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kunsten å holde foredrag</title>
		<link>http://sterkblanding.no/blog/2010/12/02/kunsten-a-holde-foredrag/</link>
		<comments>http://sterkblanding.no/blog/2010/12/02/kunsten-a-holde-foredrag/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 09:29:34 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[foredrag]]></category>
		<category><![CDATA[Presentasjonsteknikk]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1005</guid>
		<description><![CDATA[For å holde et godt foredrag, må du kunne noe, du må ville noe og du må gjøre noe. Et godt foredrag starter med at du snakker om noe du kan. Og du kan mer enn du tror. Det er som regel sånn at de tingene du kan selv, føles som selvfølgeligheter. Men de erfaringene [...]]]></description>
			<content:encoded><![CDATA[<p>For å holde et godt foredrag, må du <em>kunne </em>noe, du må <em>ville</em> noe og du må <em>gjøre</em> noe.</p>
<p><span id="more-1005"></span></p>
<p>Et godt foredrag starter med at du snakker om noe du kan. Og du kan mer enn du tror. Det er som regel sånn at de tingene du kan selv, føles som selvfølgeligheter. Men de erfaringene du har og de opplevelsene du har, de er unike for deg. Kanskje det er mange som har interessert seg for de sammen tingene som du har, men det er lite sannsynlig at de har samme perspektiv på tingene. Du bringer noe unikt til bordet. Velg et tema du har erfaring med, og du har tatt første skrittet til et fascinerende foredrag.</p>
<p>Når du skal bestemme deg for nøyaktig hva du vil snakke om, hjelper det å tenke på hvordan du vil påvirke ditt publikum. Publikumet ditt kan noe når de kommer til foredraget ditt. Ta utgangspunkt i at de vil noe med det de kan. Hvilket problem eller behov har de når de kommer inn i salen? Et vellykket foredrag kanaliserer denne viljen til handling: Hva vil du at de skal gjøre når de har hørt foredraget ditt? Skriv ned den (for deg) perfekte tilhørers kunnskap, vilje og handling etter at han eller hun har hørt foredraget. Dersom du kan beskrive en transformasjon som engasjerer deg, har du tatt skritt nummer to til et fascinerende foredrag.</p>
<p>For å oppnå noe, kreves arbeid. Når du holder et foredrag er det viktigste arbeidet du gjør å trene på å snakke. Bruk under 30 minutter på å strukturere tankene dine før du prøver å holde foredraget første gangen. Hold det for deg selv, men snakk høyt. Tren mange ganger. Tren foran andre om du kan. Tren minst tre ganger på foredraget før du lager en eneste slide. Tren mange ganger på foredraget ditt, og du vil komme i mål med et fascinerende foredrag.</p>
<p>Dersom du får med deg hodet (kunnskapen), hjertet (viljen) og kroppen (treningen), så er du garantert å holde et bra foredrag.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/12/02/kunsten-a-holde-foredrag/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Retrospektivteknikker</title>
		<link>http://sterkblanding.no/blog/2010/11/28/retrospektivteknikker/</link>
		<comments>http://sterkblanding.no/blog/2010/11/28/retrospektivteknikker/#comments</comments>
		<pubDate>Sun, 28 Nov 2010 00:45:25 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[retrospektiver]]></category>
		<category><![CDATA[smidig2010]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=1000</guid>
		<description><![CDATA[På Smidig 2010 arrangerte jeg en workshop der jeg testet ut en del retrospektiv-teknikker på deltagerne. Workshopen var veldig godt besøkt og jeg har fått en del forespørsler om å skrive en oppsummering av teknikkene. Øvelsene kan tjene som inspirasjon til dine egne retrospektiver og workshops. Jeg brukte tre workshop-øvelser under hele workshopen: &#8220;Tenke og [...]]]></description>
			<content:encoded><![CDATA[<p>På <a href="http://smidig2010.no">Smidig 2010</a> arrangerte jeg en workshop der jeg testet ut en del retrospektiv-teknikker på deltagerne. Workshopen var veldig godt besøkt og jeg har fått en del forespørsler om å skrive en oppsummering av teknikkene.</p>
<p>Øvelsene kan tjene som inspirasjon til dine egne retrospektiver og workshops.</p>
<p><span id="more-1000"></span></p>
<p>Jeg brukte tre workshop-øvelser under hele workshopen:</p>
<ul>
<li>&#8220;Tenke og svare&#8221;: Et retrospektiv kan være en sjelden anledning til å bare sitte og tenke uavbrutt. I &#8220;tenke og svare&#8221; øvelser får deltagerne to minutter i stillhet til å tenke på svaret til et personlig spørsmål. Etter to minutter får alle fortelle svaret sitt, mens resten av gruppen og moderatoren lytter.</li>
<li>&#8220;Tre svar på tre spørsmål i grupper på tre&#8221;: Deltagerne blir delt i grupper på tre som alle skal finne tre svar på hver av tre spørsmål. Etter ti minutter avgir gruppene ett svar hver. Dersom spørsmålene krever handling, kan deltagerne i plenum stemme fram hvilke svar de ønsker å handle på grunnlag av</li>
<li>&#8220;Snakker og lytte&#8221;: Det er overraskende sjelden vi blir lyttet uavbrutt i ett minutt, eller lytter oppmerksomt til en annen i et minutt. I &#8220;snakke og lytte&#8221; øvelsen får deltagerne et personlig viktig spørsmål og blir delt i grupper på to og to. I hver gruppe skal én person snakke og den andre lytte i ett minutt. Etter ett minutt bytter parene roller.</li>
</ul>
<p>På Smidig 2010 kjørte jeg workshopen som et retrospektiv av den første dagen på konferansen. Øvelsens form var delvis inspirert av &#8220;Agile Retrospektives&#8221; av Diana Larsen og Esther Derby. &#8220;Agile Retrospekives&#8221; anbefaler en fem-stegs prosess som ledet hovedstrukturen for workshopen:</p>
<ol>
<li>Set the stage: &#8220;Tenke og svare&#8221; øvelse med på spørsmålet &#8220;Hva har vært høydepunkter så langt&#8221;</li>
<li>Gather data: &#8220;3&#215;3 spørsmål&#8221; øvelsen der to av spørsmålene var for å samle data. (&#8220;hva har overrasket meg&#8221; og &#8220;hva har jeg lært&#8221;)</li>
<li>Generate insights: &#8220;Lytte og snakke&#8221; øvelsen med spørsmålet &#8220;hva vil gjøre meg lykkeligere&#8221;. Av praktiske grunner gjorde jeg den etter det siste spørsmålet fra &#8220;3&#215;3 spørsmål&#8221;.</li>
<li>Decide what to do: Det tredje spørsmålet fra &#8220;3&#215;3 spørsmål&#8221; var &#8220;hva vil du lære mer om&#8221;. Etter at ti grupper hadde kommet opp med ett svar hver, stemte vi i plenum på de mest interessante temaene.</li>
<li>Close the retrospektive: Å tenke og svare på spørsmålet &#8220;hva håper du å oppleve&#8221; var øvelsen som avsluttet retrospektivet.</li>
</ol>
<p>For å få en mest mulig konstruktiv dialog, forsøkte jeg å strukturere spørsmålene etter inspirasjon fra &#8220;Appreciative Inquiry&#8221;. Ola Ellnestams blogpost om <a href="http://ellnestam.wordpress.com/2009/11/12/an-ai-retrospective/">Appreciative Inquiry Retrospectives</a> var en viktig kilde til inspirasjon.</p>
<p>Hvilke spørsmål kan du tenkte deg å stille til &#8220;tenke og svare&#8221;, &#8220;3&#215;3 spørsmål&#8221; og &#8220;snakke og lytte&#8221; øvelser? Hvilke spørsmål kan hjelpe gruppen å generer innsikter, samles om et mål og gå ut av retrospektivet fulle av ideer og håp for fremtiden?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/11/28/retrospektivteknikker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Min supre produkteier</title>
		<link>http://sterkblanding.no/blog/2010/11/14/min-supre-produkteier/</link>
		<comments>http://sterkblanding.no/blog/2010/11/14/min-supre-produkteier/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 19:58:49 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[produkteier]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[Smidig]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=996</guid>
		<description><![CDATA[Dette er en oppsummering av foredraget mitt på Smidig 2010 konferansen Jeg har vært så heldig å være på et prosjekt med en produkteier som har sørget for at vår innsats har blitt brukt til å effektivt skape verdi for brukerne av systemet. Jeg vil trekke fram mine observasjoner om hvordan produkteieren på dette prosjektet [...]]]></description>
			<content:encoded><![CDATA[<p><em>Dette er en oppsummering av foredraget mitt på <a href="http://smidig2010.no">Smidig 2010 konferansen</a></em></p>
<p>Jeg har vært så heldig å være på et prosjekt med en produkteier som har sørget for at vår innsats har blitt brukt til å effektivt skape verdi for brukerne av systemet. Jeg vil trekke fram mine observasjoner om hvordan produkteieren på dette prosjektet brukte produktkøen, hvordan han skapte dialog med brukerne og hvordan han kommuniserte effektivt med utviklerne.</p>
<p><span id="more-996"></span></p>
<h3>Produktkøen</h3>
<p>Produktkøen er produkteiers fremste verktøy for å styre prosjektet dit han ønsker. Det viktigste med <em>produktkøen er derfor at den er representert i et verktøy produkteieren er komfortabel med</em> å bruke. Vår produkteier brukte Excel, noe som fungerte godt for dette prosjektet. Hver brukerhistorie var en rad i et regneark. Når vi skulle endre prioritet, kunne vi dra og slippe en brukerhistorie til riktig sted. (Dette er et lurt knep å lære i Excel).</p>
<p>Etter hver iterasjon gikk jeg som Scrum master og produkteieren gjennom alt som var levert i iterasjonen. Vi markerte i produktkøen hva som var levert og hva som ikke var levert. I iterasjon 4, 5 og 6 skjedde noe merkelig. Iterasjon 4 hadde vi planlagt 7 brukerhistorie-poeng, men leverte 4. I iterasjon 5 hadde vi planlagt 7 og leverte 7. I iterasjon 6 hadde vi planlagt 7 og leverte 10. Det som skjedde var et en stor brukerhistorie var nesten ferdig på slutten av iterasjon 4. En ny stor brukerhistorie var nesten ferdig på slutten av iterasjon 5, og denne brukerhistorien fikk vi endelig levert i iterasjon 6. Produkteier insisterte på at en <em>brukerhistorie var enten ikke ferdig (0%) eller helt ferdig (100%)</em>. Dette gjorde at det aldri var noen skjønnsvurdering om hva vi hadde levert.</p>
<p>I prosjektet vårt skulle vi erstatte et eksisterende system. Produkteieren var veldig bevisst på å <em>prioritere et sammenhengende sett med brukerhistorier</em> som gjorde at brukerne kunne benytte de leveransene vi ble ferdig med i løpet av prosjektet. Det var to viktige vurderinger som produkteier tok: For det første må brukerne kunne utføre en arbeidsoppgave i den nye systemet, og ikke måtte hoppe mellom det nye og det gamle. For det andre må leveransene inneholde funksjonalitet som er interessant for brukerne.</p>
<h3>Personer og samspill</h3>
<p>Men produktkøen er den minst viktige delen av produkteiers jobb. Det smidige manifestet sier det selv: &#8220;Vi verdsetter personer og samspill over prosesser og verktøy.&#8221; Det er to viktige grupper som produkteieren må forholde seg til: Brukerne og utviklerne.</p>
<h3>Involvere brukere</h3>
<p>Før prosjektet startet, hadde <em>produkteieren involvert brukerne i prosjektet</em>. Mange brukere var blitt spurt om hva de mente var viktig med det nye systemet og noen brukere var valgt ut til en fokusgruppe. De to mest involverte brukerne deltok hele veien i prosjektet. Produkteieren identifiserte to brukere som de andre brukerne respekterte faglig, som forsto dagens system godt, som hadde meninger om hvordan ting burde være, og som ikke var redd for å si disse meningene.</p>
<p>Så snart vi hadde et produkt som kunne vises fram, satt vi dette i drift i <em>demoversjon som brukerne kunne teste ut</em>. Det viste seg å være vanskelig å få brukerne til å prioritere å teste det nye systemet. Det hjalp litt når produkteieren ga dem en oppgave de skulle utføre med det nye systemet (hjemmelekse). Det hjalp veldig når brukerne kunne bruke det nye systemet mot produksjonsdata som en del av jobbe sin.</p>
<p><em>Ekspertbrukerne deltok på alle demoer</em>. Ettersom en av de bodde i Rogaland og en i Hedmark, var det vanskelig for dem å reise til Oslo for hver eneste to-ukers iterasjon. De første iterasjonene var de alltid til stede, men etter dette kjørte vi kun demo annen hver iterasjon. Etter et halvt år i prosjektet forsøkte vi også å kjøre noen demoer med screen sharing (go-to-meeting, tror jeg) og telefonkonferanse. Det fungerte ok, men vi fikk mye nyttigere feedback når vi møttes ansikt til ansikt. Ekspertbrukerne hjalp oss å bli flinkere og validerte arbeidet vårt når et var bra.</p>
<h3>Kommuniserer med programmere</h3>
<p>For å ha framdrift, var prosjektet avhengig av at <em>produkteier og utviklere møtes hver dag</em>. Produkteier deltok på standup-møtene hver morgen. Etter standup-møtene hadde han satt av opp til en time der en utvikler kan vise fram ny funksjonalitet og få tilbakemeldinger, der produkteier kan gi tilbakemeldinger til en utvikler på funksjonalitet han testet i går og der produkteier kan forklare detaljene rundt nye brukerhistorier.</p>
<p>Når produkteieren forklarte brukerhistorier, var han flink til å være konkret. Dette er alfa og omega når en produkteier snakker med utviklere. Forskjellen på å vise fram en skjermbildeskisse og å forsøke å beskrive et abstrakt behov er gigantisk. Forskjellen på å fortelle et eksempel og å forklare en abstrakt arbeidsprosess er enorm. Ved å <em>bruke eksempler til å forklare brukerhistorier</em> var produkteiers forklaringer gode for utviklerne.</p>
<p>Til slutt var produkteieren vår <em>rask til å bestemme seg</em>. Dersom det var et uklart valg, fikk vi ofte en avgjørelse der og da. Når produkteier måtte sjekke med andre, tok det en eller to dager før han kunne gi oss en beslutning. Noen ganger fant han senere ut at han måtte ombestemme seg. Da utførte vi ganske enkelt den endelig løsningen i en senere iterasjon. Det er mye mer effektivt å utvikle noe som er en rimelig hypotese, få tilbakemelding og så utvikle det riktige, enn det er å vente på en beslutning.</p>
<p><em>For å lykkes som produkteier, må du kunne bruke produktkøen effektivt, du må involvere brukerne dine gjennom hele prosjektet og du må kommunisere med utviklerne hver dag. Da vil du ha et vellykket Scrum-prosjekt!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/11/14/min-supre-produkteier/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Konfigurasjon for de modige</title>
		<link>http://sterkblanding.no/blog/2010/11/07/konfigurasjon-for-de-modige/</link>
		<comments>http://sterkblanding.no/blog/2010/11/07/konfigurasjon-for-de-modige/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 09:10:52 +0000</pubDate>
		<dc:creator>orjanlillevik</dc:creator>
				<category><![CDATA[Programmering]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=982</guid>
		<description><![CDATA[Visste du at det er mulig å kjøre mange forskjellige scriptspråk Java Virtual Machine? Vil du vite hva du kan bruke det til? Da er dette en bloggartikkel skrevet for deg.

Et  scriptspråk kan være et kraftig verktøy for å konfigurere  java-applikasjonen din.]]></description>
			<content:encoded><![CDATA[<p>Visste du at det er mulig å kjøre mange forskjellige scriptspråk Java Virtual Machine? Vil du vite hva du kan bruke det til? Da er dette en bloggartikkel skrevet for deg.</p>
<p>Et scriptspråk kan være et kraftig verktøy for å konfigurere  java-applikasjonen din. Det tillater endringer på en kjørende  applikasjon. Det gir deg frihet til å endre på kjørende javakode som du velger å eksponere. Det er kjent og kjær teknologi og derfor enklere å få tak i ansatte med riktig kompetanse enn om du velger mindre kjente teknologier. Og kanskje det viktigst av alt, et argument som burde veie tyngre enn det ofte gjør i avgjørelser; det er enkelt.</p>
<p><span id="more-982"></span></p>
<p>Min spontane reaksjon på forslaget var “er du gal!”. Målet var å kunne endre regler for automatisk saksbehandling mens systemet kjørte. Ideen var å eksponere disse reglene via jRuby. Min kollega, Trond Pedersen, som hadde kommet med forslaget lo litt og viftet det vekk som et forslag  fremmet bare for å vise at det er lov å tenke kreativt. Jeg lot ideen ligge resten av dagen. Først da jeg kom hjem lot jeg den få en rettferdig sjanse. Den var egentlig ganske tiltalende. Dersom vi valgte å  gjøre konfigurasjon via filer som inneholdt tekst og verdier ville vi  kunne slå av og på regler og sende inn verdier til reglene. Men hva om vi eksponerte et java-API via et scriptspråk istedet? Det åpner for å endre på hva man måtte ønske å eksponere. “Tør vi det” tenkte jeg.</p>
<p>Jeg bestemte meg for å se nærmere på ideen. Før jeg forelår noe sånt vil  jeg gjerne se hvordan vi kan løse det i praksis tenkte jeg. 30 minutter med litt leiting på verdensveven og litt lek og moro i eclipse hadde jeg et kjørende eksempel med en java-applikasjon som eksekverte jruby-kode. Et javaobjekt ble sendt som parameter til jrubyscriptet. Scriptet kalte metoder på javaobjektet og returnerte en verdi tilbake til  java-applikasjonen. Det finnes masse eksempler om man leter litt på  verdensveven men for at du skal slippe å lete så viser jeg mitt her.</p>
<p>Først litt javakode:<br />
<code>
<pre>
import java.io.File;
import java.io.FileReader;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class RunRuby {

public static void main(String[] args) throws Exception {

  ScriptEngineManager factory = new ScriptEngineManager();
  // Create a JRuby engine.
  ScriptEngine engine = factory.getEngineByName("ruby");

  // Evaluate JRuby code.
  engine.eval(new FileReader(new File("src/rubyscript.rb")));
  engine.put("object", new Object());

  // Run the ruby-method reverseToString
  String value = (String) engine.eval("reverseToString($object)");

  //java.lang.Object@something is printed backwards
  System.out.println(value);
  }
}
</pre>
<p></code><br />
Javakoden tolker en scriptfil, rubyscript.rb, og kjører metoden evaluate. Se eksempelkoden til rubyscript.rb:</p>
<p><code>
<pre>
require 'java'
def reverseToString(javaObject)

  # returns the reverse of the objects tostring method
  return javaObject.toString().reverse()

end</pre>
<p></code></p>
<p>Når passer det å bruke dette vektøyet til konfigurasjon? Når du vil gjøre endringer uten å måtte kompilere en ny applikasjon og starte den opp i produksjonsmiljøet ditt. Er det enkelt å forutse disse endringene kan du  trolig like gjerne gjøre det i en tekstfil med forhåndsdefinerte verdier som leses inn av applikasjonen din. Når du derimot synes det er vanskelig å forutse hvilke endringer du har lyst til å gjøre har du nå  et kraftig verktøy. Bruk et scriptspråk. Velg gjerne ditt eget  favorittscriptspråk. Om det er jRuby, JavaScript, Scala, Clojure eller et annet scriptspråk er opp til deg. Finn din favoritt som er kjørbar på JVM og du er igang på 1-2-3.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/11/07/konfigurasjon-for-de-modige/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frihet til å lære: egenopplæring for systemutviklere</title>
		<link>http://sterkblanding.no/blog/2010/10/31/frihet-til-a-l%c3%a6re-egenoppl%c3%a6ring-for-systemutviklere/</link>
		<comments>http://sterkblanding.no/blog/2010/10/31/frihet-til-a-l%c3%a6re-egenoppl%c3%a6ring-for-systemutviklere/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 21:14:21 +0000</pubDate>
		<dc:creator>Thomas Kjeldahl Nilsson</dc:creator>
				<category><![CDATA[Kompetanse]]></category>
		<category><![CDATA[Kursing]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[kompetanse]]></category>
		<category><![CDATA[kunnskapsmedarbeider]]></category>
		<category><![CDATA[læring]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=955</guid>
		<description><![CDATA[For noen dager siden besøkte jeg Dagen@IFI på UiO, hvor jeg promoterte Steria for informatikk-studenter. En student fortalte om en bekymring han hadde: &#8220;Dersom jeg velger feil kurs på skolen &#8211; låser jeg meg da til feil karriere?&#8221; Han ble lettet da jeg forsikret ham om at det ikke var tilfelle. For heldigvis er arbeidslivet [...]]]></description>
			<content:encoded><![CDATA[<p>For noen dager siden besøkte jeg <a href="http://dagen.at.ifi.uio.no/">Dagen@IFI</a> på UiO, hvor jeg promoterte Steria for informatikk-studenter. En student fortalte om en bekymring han hadde: <em>&#8220;Dersom jeg velger feil kurs på skolen &#8211; låser jeg meg da til feil karriere?&#8221;</em> Han ble lettet da jeg forsikret ham om at det ikke var tilfelle. For heldigvis er arbeidslivet det man selv gjør det til: du kan utvikle deg selv og skifte retning underveis.</p>
<p>Systemutviklere er både heldige og uheldige. Vi kan tilegne oss kunnskap og ferdigheter helt på eget initiativ, men vi tvinges også til å gjøre det for å holde oss relevante, ettersom teknologi endrer seg raskt.</p>
<p>Selv synes jeg at det er topp å plukke opp nye ting &#8211; her er noen metoder for å lære&#8230;</p>
<p><span id="more-955"></span></p>
<h1>Bredde eller dybde?</h1>
<p><strong>Tenk på kunnskap som personøkonomi.</strong> Ikke invester alt i en aksje <em>(&#8220;Jeg kan bare Java!&#8221;)</em>. Spre eggene dine over flere kurver. For all del: legg ned tid i mainstream-teknologi som er populær idag. C# og Java f.eks er lavrisiko med grei avkastning. Men se også på nisje-teknologi (la oss si F# eller Scala, for eksempel) Disse er mer høyrisiko fordi det absolutt ikke er sikkert de blir populære i fremtiden. Smale temaer gir til gjengjeld langt høyere avkastning <em>hvis</em> de slår an: du får et fortrinn fordi du var tidlig ute.</p>
<p><strong>Balanse mellom generelle og spesialiserte emner.</strong> Brede, eviggrønne felt (f.eks OO-design, regular expressions, statistikk) hjelper deg i mange år, uavhengig av domener og platformer. Men ikke overse domenekunnskap og platformspesifikke verktøy (Oracle og Microsoft) som gjør deg mer ettertraktet i prosjekter her og nå.</p>
<p><strong>Kultiver personlige styrker.</strong> Hvis du bare kan “litt om alt” så er det vanskelig å utmerke seg. Finn en eller to ting som er dine hovedpillarer, som du stadig forbedrer og behersker bedre enn andre.  Hva gjør at du skiller deg ut? Hva er ditt <em>&#8220;Unique Selling Point&#8221;</em>?</p>
<h1>Studieteknikk-kungfu</h1>
<p><strong>Du har et enormt arsenal av studieteknikker.</strong> Min erfaring: jeg lærer meg ting langt mer effektivt nå enn da jeg var i skoleverket eller på universitetet. Dels fordi jeg har blitt flinkere til å lære, men mest fordi vi har fått flere måter å tilegne oss kunnskap. Her er en liten godtepose av muligheter:</p>
<ul>
<li><a href="http://see.stanford.edu/">Universiteter</a> <a href="http://ocw.mit.edu/index.htm">verden</a> <a href="http://www.ocwconsortium.org/">over</a> legger ut åpen “courseware”: videoforelesninger, notater, pensum, oppgaver, fritt tilgjengelig på nett.</li>
<li><a href="http://peepcode.com/">Screencasts</a> er en fin blanding av foredrag og praktiske demonstrasjoner. Noen av dem må du betale for. De er derfor ofte <em>optimalisert</em> for å levere lærdom og verdi, mer enn en umotivert foreleser på Blindern noengang blir&#8230;</li>
<li><em>“So You&#8217;d Like To&#8230;”</em>-guidene hos Amazon.com er i noen tilfeller knallbra utvalg av faglitteratur og fungerer bra som utgangspunkt for selvstudium.</li>
<li>Online nyhetsblogger og foredrag fra konferanser gjør deg oppdatert på tilstanden i fagfeltet ditt.</li>
<li>Podcasts og lydbøker gjør iPoden din til en forelesningssal &#8211; kanskje mens du tar oppvasken?</li>
<li>Møt andre engasjerte i meetups, brukergrupper, code camps og online studiegrupper. Få feedback fra likesinnede, ikke gjem deg bort!</li>
<li>Open source lar deg kikke bak kulissene og se hvordan andre utviklere jobber og tenker.</li>
<li>Mindmapping er en sterk måte å ta gode, raske notater mens du studerer.</li>
</ul>
<p>Og dette var bare en tilfeldig utvalg. Med andre ord: dersom du begrenser deg til å kun lese en papirbok i ny og ne så handicapper du deg selv. <em>Du har mange muligheter!</em></p>
<p><strong>Absorber som en svamp.</strong> Hvis jeg har en ekstrem &#8220;læredag&#8221; så hører jeg på en podcast når jeg går til stasjonen på morran, leser litt i en relatert bok mens jeg sitter på toget, plugger inn iPoden igjen når jeg bytter over til tbanen til jobben, samme opplegg på veien hjem på ettermiddagen, og setter meg ned og koder en prototyp etter at ungene har lagt seg. Teknikkene nevnt i forrige avsnitt gjør det stadig enklere å presse inn læring flere steder i hverdagen enn man kunne før.</p>
<p><strong>Jevn progresjon</strong>. Store skippertak <em>kan</em> fungere, men det er i lengden bedre å lære litt hver dag istedet. Når man er student så fungerer sånne &#8220;overdoser&#8221; til en viss grad, men det blir vanskeligere når du har jobb og familie. Tenk bærekraftig tempo&#8230;</p>
<h1>Bruk det du lærer</h1>
<p><strong>Jobb med relevante prosjekter i arbeidstida.</strong> Dette er idealsituasjonen, men lar seg ikke alltid gjøre. Prosjekter krever vanligvis at vi leverer det vi allerede behersker, ikke det vi ønsker å lære mer om. Derfor kan det bli nødvendig å&#8230;</p>
<p><strong>Lage ting på fritida.</strong> Bruk det du har lært til å gjøre sideprosjekter på egenhånd. Ambisjon og omfang trenger ikke være all verden, bare du lager noe konkret og nyttig. Du kan lage et verktøy eller en tjeneste som bare du selv trenger, eller slippe det som open source eller en kommersiell tjeneste for hele verden. Poenget er at du anvender kunnskapen til noe konstruktivt. Det kan være slitsomt å bruke fritida til dette &#8211; til gjengjeld eier du selv det du lager. Og du får en &#8220;portfolio&#8221; å vise til.</p>
<p><strong>Lær det bort til andre!</strong> Når du formidler til andre (f.eks via kurs, blogging, foredrag) så tvinges du selv til å få bedre grep på stoffet ditt.  Du trenger ikke være guru for å lære bort ting &#8211; det holder at du har noenlunde grep om temaet og evner å formidle det godt.</p>
<p><em>Robert &#8220;Uncle Bob&#8221; Martin sa på et av foredragene sine at en profesjonell utvikler må bruke tjue timer hver uke på å forbedre seg som håndtverker. Dette er kanskje ekstremt &#8211; men hvor mye gjør du selv? Og hvordan lærer du nye ting? Del gjerne av egen erfaring i kommentarene under!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/10/31/frihet-til-a-l%c3%a6re-egenoppl%c3%a6ring-for-systemutviklere/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Slik lykkes du med smidig utvikling</title>
		<link>http://sterkblanding.no/blog/2010/10/29/slik-lykkes-du-med-smidig-utvikling/</link>
		<comments>http://sterkblanding.no/blog/2010/10/29/slik-lykkes-du-med-smidig-utvikling/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 10:17:57 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[produkteier]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[prosjektledelse]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[Smidig]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=946</guid>
		<description><![CDATA[Har du startet å bruke smidige metoder, men lurer på hvordan du skal få det til å fungere bedre? I denne artikkelen kan du få konkrete tips om hvordan å forbedre kommunikasjonen, kvaliteten og forretningsfokus på ditt smidige eller ikke-smidige utviklingsprosjekt. Bedre kommunikasjon Inkluder produkteier på morgenmøtene: Daglig kommunikasjon mellom kunde og leverandør har en [...]]]></description>
			<content:encoded><![CDATA[<p>Har du startet å bruke smidige metoder, men lurer på hvordan du skal få det til å fungere bedre? I denne artikkelen kan du få konkrete tips om hvordan å forbedre kommunikasjonen, kvaliteten og forretningsfokus på ditt smidige eller ikke-smidige utviklingsprosjekt.</p>
<p><span id="more-946"></span></p>
<h3>Bedre kommunikasjon</h3>
<ul>
<li><strong>Inkluder produkteier på morgenmøtene</strong>: Daglig kommunikasjon mellom kunde og leverandør har en dokumentert enorm effekt på hvor vellykket et prosjekt blir. Teamets fokus blir mye bedre dersom det er noen på de daglige standup møtene som er interessert i å prøve ut det som har blitt laget i går, som er interessert i å komme med innspill på det som lages i dag og som har myndighet til svare på avklaringer angående dagens oppgaver.</li>
<li><strong>Programmér sammen</strong>: Utviklere på prosjekter innehar enorm kunnskap, både om de delene av systemet man lager og om programmering generelt. Når man programmerer i par og roterer hvem som jobber sammen hyppig, blir denne kunnskapen spredt til alle. Spe også gjerne på med seanser der hele teamet går gjennom deler av koden på storskjerm.</li>
<li><strong>Bruk en Scrum-tavle</strong>: For å hjelpe alle å huske på hva som er målet med sprinten, er det lurt om teamet holder standup møtene rundt en tavle med lapper for alle aktiviteter teamet har planlagt i iterasjonen. Lappene henger i kolonner &#8220;venter&#8221;, &#8220;under arbeid&#8221; og &#8220;ferdig&#8221;. Hver lapp bør ha et så lite omfang at teamet flytter flere lapper til &#8220;ferdig&#8221; hver dag.</li>
</ul>
<h3>Bedre kvalitet</h3>
<ul>
<li><strong>Verifiser krav med funksjonelle tester</strong>: Når teamet skal jobbe med en oppgave i en iterasjon, er det viktig at alle har konkret forståelse av oppgaven. Produkteier bør beskrive eksempler for å gjøre oppgavene konkrete. Om mulig, bør produkteier uttrykke eksemplene i et verktøy for automatisert funksjonell testing (for eksempel FitNesse eller Cucumber). Teamet kan da kjøre testene og automatisk sjekke at de oppfyller produkteiers forventning</li>
<li><strong>Skriv enhetstester før koden den tester</strong>: For å kunne utvikle funksjonalitet inkrementelt, må man kunne endre på kode som allerede har vært ferdigstilt, samtidig som man er (rimelig) sikker på at endringen ikke ødelegger noe som har virket før. De funksjonelle testene kan gi et sikkerhetsnett, men det tar typisk lang tid å kjøre dem og de gir ofte ikke en eksakt indikasjon av hva som er feil når noe ikke virker. Derfor bør teamet skrive raske tester som verifiser at klassene i systemet fungerer, gjerne før man skriver koden.</li>
<li><strong>Integrer endringer kontinuerlig og automatisk</strong>: Automatiske tester er kun verdifulle dersom de kjøres! Sett derfor opp en Continuous Integration server som sjekker ut og tester alle endringer hver gang en utvikler har sjekket inn en endring til kildekodekontroll. Om mulig bør dette systemet også automatisk installere den siste versjonen av programvaren til et egnet testmiljø, slik at produkteier alltid kan se hva som er siste versjon av systemet.</li>
</ul>
<h3>Bedre forretningsfokus</h3>
<ul>
<li><strong>Inkluder alle oppgaver i en prioritert produktkø</strong>: Mange team lurer på hvilke oppgaver som skal puttes på produktkøen. Dersom noe gir forretningsverdi og tar betydelig tid å utføre, bør produkteier inkludere oppgaven på produktkøen. Ikke-funksjonelle krav må som regel testes. Det tar tid å sette opp testene og rette opp eventuelle mangler. Ikke-funksjonelle krav skal på produktkøen. Brukerdokumentasjon må skrives og kvalitetsikres. Det tar tid å skrive god brukerdokumentasjon. Brukerdokumentasjon skal på produktkøen.</li>
<li><strong>Bli helt ferdig med funksjonalitet</strong>: Teamet får kun &#8220;poeng&#8221; for helt dønn ferdig utført arbeid. Etter en iterasjon bør alt som tilhører en oppgave være så ferdig at det er greit dersom man aldri mer bruker tid på koden. Koden, tester og dokumentasjon må være i en akseptabel tilstand. Det betyr ikke at koden er frosset. Dersom man for eksempel utfører en oppgave for å verifisere responstid, må teamet oppdatere eksisterende kode slik at den støtter tidsmålinger og at man korrigerer eventuelle ytelsesproblemer man oppdager. Dette arbeidet tilhører det å implementere responstidskravet &#8211; den originale funksjonen er ferdig.</li>
<li><strong>Ta med brukere på demo</strong>: Dersom du lager et system som interesserer dine (fremtidige) brukere, bør teamet ha noe spennende å vise dem på demo etter hver iterasjon. Bruk demo-møtet til å involvere brukerne. Sørg for at input fra brukerne blir tatt hensyn til, og at de får beskjed om innspill som har blitt implementert, slik at de fortsetter å interessere seg.</li>
</ul>
<p>Gjort riktig kan et smidig prosjekt levere ferdig funksjonalitet for hver iterasjon. Men det krever fortløpende kommunikasjon, kvalitet og fokus på forretningsverdi. Dét er hvordan du lykkes med smidige prosjekter.</p>
<p><em>Jeg planlegger å publisere en Steria 3-minuttersguide basert på denne artikkelen. Innspill til forbedringer mottas med stor takk!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/10/29/slik-lykkes-du-med-smidig-utvikling/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Size matters</title>
		<link>http://sterkblanding.no/blog/2010/10/18/size-matters/</link>
		<comments>http://sterkblanding.no/blog/2010/10/18/size-matters/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 07:23:01 +0000</pubDate>
		<dc:creator>christingorman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arkitektur]]></category>
		<category><![CDATA[Smidig]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=936</guid>
		<description><![CDATA[Hvordan skal jeg løse dette problemet på mest mulig effektiv måte? Det er når man kan stille seg dette spørsmålet at det er gøy å være programmerer. Men altfor ofte blir spørsmålet heller: Hvordan i helvetet får jeg løst dette problemet innenfor arkitektur-rammene som har blitt bestemt? Her er det mindre morro å være programmerer. Man har haugevis av potensielt gode løsninger, men får ikke lov til å implementere dem pga arkitekturbestemmelser.

Hvordan havner man i slike situasjoner? Kan de unngås?]]></description>
			<content:encoded><![CDATA[<p>Hvordan skal jeg løse dette problemet på mest mulig effektiv måte? Det er når man kan stille seg dette spørsmålet at det er gøy å være programmerer. Men altfor ofte blir spørsmålet heller: Hvordan i helvetet får jeg løst dette problemet innenfor arkitektur-rammene som har blitt bestemt? Her er det mindre morro å være programmerer. Man har haugevis av potensielt gode løsninger, men får ikke lov til å implementere dem pga arkitekturbestemmelser.</p>
<p>Hvordan havner man i slike situasjoner? Kan de unngås?<span id="more-936"></span></p>
<p><strong>Er det arkitekten sin skyld?</strong></p>
<p>Det er lett å skylde på arkitekten og kalle ham (eller henne) for en idiot og et stabeist, men er dette rettferdig? Både ja og nei. Stabeist er kanskje korrekt, men idiot er vedkomne neppe. Intelligens er evnen til å finne gode generiske modeller som kan brukes til å finne løsninger i en kaotisk hverdag. Idioter pugger tallene i boka og ser ikke sammenhenger. Intelligente mennesker lærer seg reglene for å regne seg frem til alle mulige tall – ikke bare de i boka. En god og intelligent arkitekt er en som kan finne enkle overordnede strategier som gjør applikasjonen som helhet ryddig og pen. Fra et kaos av brukerhistorier og kundekrav skal han eller hun finne enkle og elegante strategier som kan brukes til å løse alt. Hvis alle programmerere kunne gjøre akkurat som de ville for hver brukerhistorie, hadde koden endt opp i kaos. Alle hadde funnet opp sine egne hjul, og noen av dem hadde nok vært ganske kantete og skjeve. I vedlikeholdbarhetens navn om ikke annet er det klart at arkitekten ønsker seg felles løsninger og forutsigbare implementasjoner. Men finnes det alltid én løsning som passer overalt? «Gjør alt så enkelt som mulig, men ikke enklere» sa Einstein. IQ-tester måler evnen til å finne enklere løsninger, men de måler ikke nødvendigvis evnen til å se når nok er nok.</p>
<p><strong>Maks antall personer = 150</strong></p>
<p>Når utviklernes hoved-utfordring er å få løsningen til å passe inn i arkitekturen er det klart at noe har gått galt. Min teori er at disse situasjonene er et tegn på at prosjektet har blitt for stort. Akkurat som at store firmaer gjerne er mye tregere enn mindre firmaer, blir store prosjekter tregere enn små. Tregere både når det gjelder utførelse av eksisterende oppgaver, og enda mer når det gjelder innføring av nye prosesser. Antropologen Robin Dunbar har oppdaget at 150 mennesker det meste folk klarer å holde styr på. Det militære og flere firmaer har tatt dette med i betraktning og passer på at organisasjons-enheter aldri inneholder mer enn 150 mennesker. Selv om man ikke kjenner alle, så vet man hvem de er og hvor de jobber. Hvis man trenger noe gjort, kan man bare gå bort til den man vet man bør snakke med, og få det gjort der og da. Når organisasjonen vokser over 150 mennesker vet man ikke lenger hvem det er man må kontakte for å løse problemene sine. Man må da henvende seg til sjefen sin, eller en helpdesk på andre siden av kloden eller noe slikt, og håpe på at de igjen klarer å finne frem til den som kan hjelpe. Jo større og bedre organisert bedriften er, jo mindre effektiv blir kommunikasjonen. Når IT-support sitter i Jakarta, lønningskontoret er i Stavanger og markedsføringen foregår i Dubai, så blir det dårligere kommunikasjon enn om alle var i samme bygg. Mange mener at slik må det bare være når firmaet vokser, for man kan da ikke ha lønnskontor, IT-support og markedsføring i hvert eneste kontor når man har hundrevis av kontorer verden over. Jeg er ikke enig. I smidige prosjekter utvikler man ikke database-koden, business-logikken og GUI-koden hver for seg. Man utvikler brukerhistorier hver for seg. GUI, business-logikk og database-greier samtidig. Jeg tror noen store firmaer kunne lære mye her. Istedenfor å samle alle IT-avdelinger under ett tak, tror jeg det lønner seg å heller samle alle som har med samme produkt under ett tak. Design, produksjon, markedsføring, IT-support og alt som hører med til et produkt. Hver business-enhet bør være istand til å tjene penger. Slik organisering koster kanskje mer, men den vil også produsere og tjene mer.</p>
<p><strong>Maks antall klasser i et prosjekt = ?</strong></p>
<p>Mye av det samme skjer i store software-prosjekter. Når prosjektet vokser og vokser ender man fort med å gruppere koden etter «software tier» og ikke etter bruksområde. Man lager regler som at «slik snakker vi med databasen» og «slik skriver vi rapporter». Og reglene gjelder for alle uansett. Jeg tror man med fordel heller burde dele prosjektet inn i separate produkter. Produktene vil bestå av en samling av brukerhistoriene som passer sammen på et vis. Disse produktene trenger ikke ha samme regler for bruk av database eller noe som helst. Arkitekten og utviklerne står fritt til å finne løsninger som passer best for akkurat dette produktet. Jeg tror ikke denne typen tankegang kommer naturlig for folk med høy IQ. IQ driver folk til å se mønster og finne fellestrekk og dermed gruppere alt som likner. Her var det oppkobling mot database, der var det oppkobling mot database – da slår vi dem sammen! Her var det et lønnskontor, der var det et lønnskontor – da slår vi dem sammen! Det føles godt og opp til et visst nivå er det selvsagt det rette å gjøre. Men et sted går grensen. Hvor da? Når bør man begynne å tenke på splitting? I business-verden er 150 et tall å huske på. Har vi tilsvarende tall for software-utvikling? Hvor mange klasser kan et prosjekt ha? Er det antall klasser vi burde telle? Siden det er så fristende å finne fellestrekk og lage felles løsninger, tror jeg det hadde vært greit å ha noen konkrete tall og grenser å forholde seg til. Når man disse grensene kan man begynne å tenke seg om: Har prosjektet blitt for stort? Kan jeg dele det inn i mindre enheter? Kanskje svarene er nei, men det er viktig å stille seg spørsmålene like vel.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/10/18/size-matters/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tror du på nettskyen?</title>
		<link>http://sterkblanding.no/blog/2010/10/15/tror-du-pa-nettskyen/</link>
		<comments>http://sterkblanding.no/blog/2010/10/15/tror-du-pa-nettskyen/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 07:41:25 +0000</pubDate>
		<dc:creator>Sondre Bjellås</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Infrastruktur]]></category>
		<category><![CDATA[Strategi]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=862</guid>
		<description><![CDATA[Med dette innlegget ønsker jeg å legge fokuset på at dagens IT-investeringer innenfor tjenesteorienterte løsninger er den riktige og naturlige veien å gå mot en fullverdig tilværelse i nettskyen. Det blir stadig viktigere at man har et bevisst forhold til nettskyen, samtidig som man har et nøkternt og reflektert forhold til hva denne nye teknologien [...]]]></description>
			<content:encoded><![CDATA[<p>Med dette innlegget ønsker jeg å legge fokuset på at dagens IT-investeringer innenfor tjenesteorienterte løsninger er den riktige og naturlige veien å gå mot en fullverdig tilværelse i nettskyen. Det blir stadig viktigere at man har et bevisst forhold til nettskyen, samtidig som man har et nøkternt og reflektert forhold til hva denne nye teknologien muliggjør.</p>
<p>-<span id="more-862"></span></p>
<p>Har du hørt om nettskyen før? Kanskje i det minste du har hørt om Cloud Computing? Det er få innenfor IT-industrien som ikke har hørt om nettskyen til nå, det er liten tvil at nettskyen blir hypet, men det betyr selvsagt ikke slik at nettskyen i seg selv er en hype, selv om enkelte liker å lovprise litt for mye.</p>
<p>Petter Gottschalk er en av dem som varsler om å være litt <a href="http://www.idg.no/computerworld/article170459.ece">nøktern til nettskyen</a>, noe han har rett i. Vi er en bransje som er glad i alt nytt, ofte også med dramatiske konsekvenser, positive og negative. Tjenesteorientert-arkitektur (SOA) er en annen viktig utvikling som skjedde i vår bransje, en utvikling som har har brakt mye glede og motgang. Tjenesteorientert-arkitektur er komplisert, mye mer komplisert enn hva mange ble fortalt og overbevist om. Det er smart og strategisk å bygge løsninger basert på SOA, men det koster penger. Integrasjoner og interopabilitet med kunder og samarbeidspartnere er noe av det mest kompliserte vi gjør idag.</p>
<p>Fra et teknologisk ståpunkt er det veldig lett å komme igang med tjenesteorientert-arkitektur, vi har plattformer som gjør det mulig å lage tjenester fort og enkelt. Det vi undervurderte var kompleksiteten som oppstår når man begynner med integrasjoner og gjenbruk av tjenester. For mange undervurderte også behovet for planlegging av vedlikehold, versjonering, sanering og så mye annet som man må ha kontroll på når man bygger en infrastruktur på SOA. SOA har vist seg å være for komplisert og for dyrt for mange, gevinstene har ikke alltid vært der for å veie opp for investeringer som er gjort.</p>
<h2>Hvorfor har man ikke klart å hente gevinstene fra SOA-satsninger?</h2>
<p>Det er mye en organisasjon må gjøre for å omstille sine prosesser og systemer for å oppnå en velfungerende infrastruktur for SOA. Disse investeringer har hver enkelt vært nødt til å gjennomføre, hver for seg. Det sier seg selv at det fort blir kostbart, spesielt med tanke på at mange SOA-løsninger gjerne kun er for interne IT-systemer og integrasjoner med begrenset antall samarbeidspartnere. Desto større en organisasjon er, desto større verdi vil man kunne få ut av sine SOA-investeringer.</p>
<p>Nettskyen handler på flere måter om <em>outsourcing av SOA</em>&#8230;</p>
<h2>Tjenesteorientering i nettskyen</h2>
<p>Norge er et lite land tatt i betraktning hele verden, vi har et veldig begrenset marked av lokale kunder innenfor våre egne grenser. Dette er noe som alltid må være med i en vurdering om hvordan og når man skal ta i bruk både SOA og nettskyen. Dette er også noe av det som gjør nettskyen spesielt spennende for det norske markedet.</p>
<p>Fremfor at hver enkelt skal etablere sin egen tjenesteorienterte arkitektur, kan vi ved hjelp av nettskyen leie de delene av en infrastruktur og arkitektur vi har behov for. Det som er styrke i nettskyen er ikke bare muligheten til å skalere, men bredden av muligheter som finnes.</p>
<h2>Konseptene i nettskyen</h2>
<p>Begrepet nettskyen beskrives gjerne med tre underliggende konsepter: Software as-a Service, Platform as-a Service og Infrastructure as-a Service.</p>
<p><strong>SaaS er programvare i nettskyen</strong></p>
<p>- Det øverste nivået av nettskyen handler om å leie programvare, ferdige løsninger som ofte leveres rett i nettleseren. Kundebehandlingsløsninger (CRM), planleggingsverktøy, analyseverktøy og så utrolig mye annet finnes som man raskt og enkelt kan leie etter behov.</p>
<p><strong>PaaS er kjøremiljø nettskyen</strong></p>
<p>- Videre derfra har vi ulike plattformer hvor man kan bygge skreddersømsløsning og integrasjoner etter egne behov. Kan kjøre egne programmer og systemer i nettskyen, og samtidig utnytte godt av de infrastrukturtjenestene som eksisterer der ute for å dekke behov som autentifisering av brukere, sikker og kryptert kommunikasjon, tjenester-hubber (<em>Internet Service Bus</em>), globale caching løsninger, m.m..</p>
<p><strong>IaaS er infrastruktur i nettskyen</strong></p>
<p>- I nettskyen kan man leie de maskinressursene man har behov for, dette kan være database servere, brannmurer, webservere, m.m..</p>
<p>Dette er de mest etablerte prinsippene for nettskyen, men det er også flere andre prinsipper og beskrivelser og dette vil sannsynligvis utvikles i tiden fremover.</p>
<h2>Spar på investeringer, kom fortere igang</h2>
<p>Ett av de mest brukte budskapene om nettskyen er nemlig det jeg akkurat har forklart: Man slipper dyre investeringer i maskinvare, programvare og tjeneste for å komme igang. Man kan leie det man trenger, av maskinvare og programvare.</p>
<p>Styrken til nettskyen ligger nemlig i det at vi alle går sammen om å investere på infrastrukturen, for deretter å dele på ressursene. Har du noen gang hørt noen selge deg SOA og fortalt at dette er raskt og enkelt å komme igang med? Ble du fortalt at SOA var billig?</p>
<p>Teknologiene vi utviklet under SOA-hypen har vært instrumental for realisering a nettskyen slik den fremstilles idag. Nå har verden blitt moden og vi har fått en infrastruktur vi alle kan nyte godt av. På samme måte som vi alle i dag nyter godt av felles infrastruktur i den moderne samfunnet, som vann og strøm, kan vi nå nyte godt av datakraft og tjenester i nettskyen.</p>
<h2>Fagruppe for Cloud Computing</h2>
<p>I høst har Den Norske Dataforeningen startet en ny <a href="http://www.dataforeningen.no/cloud-computing.160488.no.html">faggruppe for Cloud Computing</a>, hvor Peter Flem fra Capgemini er leder og jeg er en av nestlederene. Ett av våre mål er å hjelpe norske bedrifter til å se mulighetene og verdiene av nettskyen, samt redusere noe av tåken som har oppstått med hypen. Vi arrangerer fagmøter gjevnlig og ønsker å invitere alle som ønsker å lære mer om nettskyen.</p>
<p>Neste møte er 20. oktober, hvor jeg skal fortelle om <a href="https://www.dataforeningen.no/integrasjon-i-nettskyen-en-suksesshistorie-og-en-kommende-offentlig-suksess.4821220-160490.html">integrasjoner i nettskyen</a>.</p>
<h2>Steria og nettskyen</h2>
<p>Hos Steria har vi gjennomført flere SOA-prosjekter med suksess og vi er allerede godt igang med satsning på nettskyen, både med infrastruktur og utvikling. SOA-investeringer hos våre kunder har gjort dem mer forberedt for nettskyen og forenkler fremtidige integrasjoner i nettskyen.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/10/15/tror-du-pa-nettskyen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Jeg tror at du er den som kan ta initiativ til ”Loggvakt” i prosjektet ditt!</title>
		<link>http://sterkblanding.no/blog/2010/10/13/jeg-tror-at-du-er-den-som-kan-ta-initiativ-til-%e2%80%9dloggvakt%e2%80%9d-i-prosjektet-ditt/</link>
		<comments>http://sterkblanding.no/blog/2010/10/13/jeg-tror-at-du-er-den-som-kan-ta-initiativ-til-%e2%80%9dloggvakt%e2%80%9d-i-prosjektet-ditt/#comments</comments>
		<pubDate>Wed, 13 Oct 2010 06:21:47 +0000</pubDate>
		<dc:creator>Gudny Hauknes</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Smidig]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=897</guid>
		<description><![CDATA[Jeg bare må få komme med noen refleksjoner jeg gjorde meg her om dagen &#8211; basert på &#8220;opplevelser fra virkeligheten” i PERFORM-prosjektet hos Statens Pensjonskasse! I den intensive godkjenningsperioden vi har vært gjennom, ble rollen ”Loggvakt” opprettet. Rollen har holdt løpende oppsyn med serverlogger, gjort logganalyse og ytt bistand til Delprosjekt Test for preanalyse av [...]]]></description>
			<content:encoded><![CDATA[<h3>Jeg bare må få komme med noen refleksjoner jeg gjorde meg her om dagen &#8211; basert på &#8220;opplevelser fra virkeligheten” i PERFORM-prosjektet hos Statens Pensjonskasse!</h3>
<p>I den intensive godkjenningsperioden vi har vært gjennom, ble rollen ”Loggvakt” opprettet. Rollen har holdt løpende oppsyn med serverlogger, gjort logganalyse og ytt bistand til Delprosjekt Test for preanalyse av feil som rapporteres. Bemanning av rollen har gått på rundgang i prosjektet.<br />
<span id="more-897"></span><br />
Intet kunne ha gledet meg mer! Jeg selv var så heldig å få sitte loggvakt ”hjemme hos” Delprosjekt Test – og det to dager på rad attpåtil! Og det var da refleksjonene kom… Vi tar’n like godt på engelsk <img src='http://sterkblanding.no/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>During test intensive periods – engage your project members on &#8220;log surveillance duty&#8221;!</p>
<p>The person on duty has the chance of becoming a real detective! He or she should tail essential server logs continuously, analyse them and initiate proper action when e.g. specific stacktraces, log statements, log sequences or log-patterns appear. The log surveillance duty role should also take part in early analysis of important bug reports so that they can be handed over to relevant teams as fast as possible.</p>
<p>Using the log surveillance duty as one of several “bug hunt approaches”, the project may experience that bugs are caught earlier<em>. </em>In addition, <em>without </em>the log surveillance duty role, some of these bugs would <em>not have been reported at all</em>. You’ll see the effect of this during free testing in particular.</p>
<p>Imagine this “happy day situation” in your project:</p>
<p>“ALERT – we have a situation! Log statement GOOD_STUFF in the jBoss log”!</p>
<p>“Ta-ta-raaaa! Who did a search for GOOD_STUFF just a couple of minutes ago and got an error message? Ah-so you were the one! Grrrreat! Oh.. so – you’re &#8211; used to ignoring this error message- are you – ok…Please tell us when such messages appear, will you? It&#8217;s of great value! But now … What was your scenario again? And the five steps <em>preceeding</em> your scenario? Can you rerun it, please…..? Thanks! …..Bingoooo!! The GOOD_STUFF_BUG has been reproduced, it has been trapped! Juppie!! My hero tester! Could you report that bug for me, please?”</p>
<p>When assigning resources to the log surveillance duty role, people with different interests, orientations and skills should be motivated to take part! Experience the incredible opportunities just waiting to be used &#8211; to increase the over time quality of the system being built!</p>
<ul>
<li>One day – call a JEE architect, a senior developer for duty -</li>
<li>The day after that &#8211; a user scenario oriented person –</li>
<li>The next day a developer with DB-expertise -</li>
<li>A junior developer –</li>
<li>A technically oriented senior tester -</li>
<li>And then a &#8220;usability minded&#8221; one –</li>
</ul>
<p>Keep on rolling &#8211; keep on changing &#8211; keep on building system quality mind set &#8211; keep on spreading system understanding – keep on….</p>
<p>Don’t wait! Just do it! Market the log surveillance duty role and motivate your project members to take part! Prepare yourself to be called!</p>
<p>… I’ll bet you’ll take on new habits after you organized your first round – or the first time you participated – I’m sure!</p>
<p>So, get on with it! Good luck! </p>
<p>P.S:</p>
<p>Hvis du har lest min blogg fra 04/10/2010 og du allerede er på god vei til å bli en Buglock Holmes i prosjektet ditt, ser du nok at på loggvakta får du brukt alt det du har blitt vant til å gjøre som Buglock!</p>
<p>D.S.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/10/13/jeg-tror-at-du-er-den-som-kan-ta-initiativ-til-%e2%80%9dloggvakt%e2%80%9d-i-prosjektet-ditt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Jeg vet at du kan bli prosjektets neste ”Buglock Holmes”!</title>
		<link>http://sterkblanding.no/blog/2010/10/04/jeg-vet-at-du-kan-bli-prosjektets-neste-%e2%80%9dbuglock-holmes%e2%80%9d/</link>
		<comments>http://sterkblanding.no/blog/2010/10/04/jeg-vet-at-du-kan-bli-prosjektets-neste-%e2%80%9dbuglock-holmes%e2%80%9d/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 19:40:17 +0000</pubDate>
		<dc:creator>Gudny Hauknes</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Smidig]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=877</guid>
		<description><![CDATA[Uavhengig om du er juniorutvikler eller er du senior systemspesialist, er jeg sikker på at du kan bli prosjektets neste ”Buglock Holmes”! Hvis du vil&#8230;. Forbered deg til å bli Buglock Holmes på følgende måte: Ha en grov oversikt over områder de ulike teamene i prosjektet jobber med… Kjenn rimelig godt til hva produktkøen for [...]]]></description>
			<content:encoded><![CDATA[<p>Uavhengig om du er juniorutvikler eller er du senior systemspesialist, er jeg sikker på at <em>du</em> kan bli prosjektets neste ”Buglock Holmes”! Hvis du vil&#8230;.<br />
<span id="more-877"></span><br />
Forbered deg til å bli Buglock Holmes på følgende måte:</p>
<ul>
<li>Ha en grov oversikt over områder de ulike teamene i prosjektet jobber med…</li>
<li>Kjenn rimelig godt til hva produktkøen for prosjektleveransen inneholder…</li>
<li>Vit hva teamet ditt <em>og</em> hva andre team i prosjektet har levert …</li>
<li>Husk at det er nyttig å ha god oversikt over hvilke deler av produktkøen som <em>ikke </em>inngår i leveransen …</li>
<li>Sørg for at ørene dine vokser seg store og sterke! Vær nysgjerrig! Snus rundt!</li>
<li>Prøv å snappe opp ting som foregår hos naboteamet, ved kaffeautomaten…</li>
<li>Hold øye med serverloggene i integrasjonstestmiljøet for prosjektet…</li>
<li>Hold en rimelig god og helst løpende oversikt over hvilke feil som meldes inn i feilrapporteringssystemet i testintensive perioder …</li>
<li>Lær deg å huske nøkkelord og nøkkelsituasjoner, designdiskusjoner ved tavla og møter eller samtaler der viktige forståelser eller avklaringer ble skapt…</li>
<li>Husk situasjoner der folk var svært uenige om deler av løsningen…</li>
<li>Lær deg å huske situasjoner der man faktisk kom til enighet&#8230;</li>
<li>Bli pådriver for at viktige avklaringer og omforente tolkninger styres inn i klare krav, testbetingelser, skjermskisser, flytskjemaer, figurer etc. …</li>
<li>Bli pådriver for at de klare kravene etc. forstås på samme måte – spesielt av de som var uenige / ikke forstod hverandre…</li>
<li>Innse selv og hjelp ulike interessenter til å forstå at ikke alle uenigheter kan forenes…</li>
<li>Erkjenn at uansett hvor godt vi dokumenterer avklaringer, kan vi forvente at der ulike interessenter var uenige, vil diskusjoner dukke opp igjen senere i prosjektets liv, f.eks. når systemet leveres til test eller til produksjon…</li>
</ul>
<p> </p>
<p>Tren deg noen av disse teknikkene! Da vil du etter hvert bygge en god oversikt over hele systemet dere leverer! Du kan ta aktive grep i forhold til vanskelige feilfloker og du vil forstå hvordan de ulike feilene/manglene henger sammen med hverandre.</p>
<p>Lykke til, Buglock!</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/10/04/jeg-vet-at-du-kan-bli-prosjektets-neste-%e2%80%9dbuglock-holmes%e2%80%9d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Planlegging eller kommunikasjon?</title>
		<link>http://sterkblanding.no/blog/2010/09/14/planlegging-eller-kommunikasjon/</link>
		<comments>http://sterkblanding.no/blog/2010/09/14/planlegging-eller-kommunikasjon/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 06:29:52 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Smidig]]></category>
		<category><![CDATA[kommunikasjon]]></category>
		<category><![CDATA[planleggging]]></category>
		<category><![CDATA[produkteier]]></category>
		<category><![CDATA[Samhandling]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=852</guid>
		<description><![CDATA[&#8220;Skjer &#8216;a?&#8221; Det er nesten vanskelig å tenke tilbake på tiden før mobiltelefon. Tiden da man måtte planlegge &#8220;vi møtes ved kinoen klokken 20:00, og dersom noe går galt, så møtes vi i stedet ved billettluka 21:00&#8243;. Tiden da man måtte legge igjen en beskjed, eller låne en telefon for å ringe hjem for, ja [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Skjer &#8216;a?&#8221; Det er nesten vanskelig å tenke tilbake på tiden før mobiltelefon. Tiden da man måtte planlegge &#8220;vi møtes ved kinoen klokken 20:00, og dersom noe går galt, så møtes vi i stedet ved billettluka 21:00&#8243;. Tiden da man måtte legge igjen en beskjed, eller låne en telefon for å ringe hjem for, ja nettopp, høre om noen hadde lagt igjen beskjed. Normalen i dag er at man har en omtrentlig plan &#8220;og så ringes vi når jeg er på vei til byen.&#8221; Fordelen er at man kan tilpasse seg. &#8220;Jeg har hørt at Ole feirer 35 år. Skal vi stikke innom i stedet for å gå på bar?&#8221;</p>
<p>Dette er et eksempel på hvordan kommunikasjon erstatter planlegging. Slik kan det også være i prosjekter. Man må være enige om hva målet med prosjektet er, men dersom man kommuniserer underveis, kan de nøyaktige midlene bli til underveis.</p>
<p><span id="more-852"></span></p>
<h3>Nesten daglig sitt-ned-møte</h3>
<p>Mange bruker &#8220;daglige stå-opp møter&#8221; i Scrum. Teamet står rundt tavla og koordinerer utførte, pågående og kommende oppgaver. På mitt forrige prosjekt ble vi inspirert av en blogpost til å utvide stå-opp møtet med et &#8220;nesten daglig sitt-ned møte&#8221; når det var hensiktsmessig.</p>
<p>På stå-opp møtet gikk vi gjennom hvilke oppgaver utviklerne hadde gjort ferdig, og hvilke oppgaver produkteier hadde sett gjennom. Etter stå-opp møtet satt produkteieren og utviklerne seg sammen og gikk inn i detaljene:</p>
<ul>
<li>Produkteier hadde med seg en liste med forbedringer fra tidligere funksjoner. De forbedringene som tok under 2 minutter å utføre gjorde utvikleren der og da. Oppgaver som ville ta litt lengre tid noterte utvikleren seg. Oppgaver som var for omfattende ble tatt inn i fremtidige planer.</li>
<li>Utvikleren viste produkteieren de tingene som var &#8220;ferdige&#8221; i går. Produkteieren kom med direkte feedback der og da, og noterte seg hva han skulle seg gjennom på egen hånd.</li>
<li>Produkteieren gikk gjennom detaljene for funksjonalitet som utvikleren skulle starte på og besvarte spørsmål</li>
</ul>
<h3>&#8220;Jeg vet det når jeg ser det&#8221;</h3>
<p>&#8220;Measure twice, cut once&#8221; er det noen som sier. Men på utviklingsprosjekter er det slettes ikke sikkert at det å beskrive noe ekstra grundig forbedrer sjansene for å lykkes. De eneste gangene jeg har opplevd at en kunde ikke kommer med tilbakemelding første gang hun ser produktet er når jeg har en kunde som egentlig ikke bryr seg. Eller når jeg hadde brukt alt for lang tid på å dekke alle eventualiteter, inkludert de som ikke var kostnadeffektive.</p>
<p>I et vellykket prosjekt vil prøving, visning og tilpasning være normalen. Jo tidligere prosjektet får tilbakemeldingene, desto bedre og billigere blir prosjektet. Og jo mer nøyaktige planer vi legger i prosjektet, desto vanskeligere blir det å tilpasse seg tilbakemeldingene.</p>
<p>Felles mål, daglig kontakt, daglig tilbakemelding og daglig tilpasning vinner over grundige planer.</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/09/14/planlegging-eller-kommunikasjon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Husk å melde deg på Smidig 2010</title>
		<link>http://sterkblanding.no/blog/2010/09/13/husk-a-melde-deg-pa-smidig-2010/</link>
		<comments>http://sterkblanding.no/blog/2010/09/13/husk-a-melde-deg-pa-smidig-2010/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 19:58:57 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Smidig]]></category>
		<category><![CDATA[konferanse]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=858</guid>
		<description><![CDATA[Smidig 2010: Norges største smidige konferanse Har du fått med deg at Smidig 2010 arrangeres 16.-17. November på Radisson BLU, Holberg plass i Oslo? Konferansen har åpnet for foredrag. Early bird prisen på billetter varer KUN TIL TORSDAG, så det gjelder å bestemme seg fort! Opplev vårt unike format, med over 70 lyntaler og 100 [...]]]></description>
			<content:encoded><![CDATA[<h3>Smidig 2010: Norges største smidige konferanse</h3>
<p>Har du fått med deg at Smidig 2010 arrangeres 16.-17. November på Radisson BLU, Holberg plass i Oslo? Konferansen har åpnet for foredrag. Early bird prisen på billetter varer KUN TIL TORSDAG, så det gjelder å bestemme seg fort!</p>
<p>Opplev vårt unike format, med over 70 lyntaler og 100 diskusjonsgrupper! Smidigkonferansen er den årlige nasjonale hendelsen som samler mennesker fra alle typer roller i IT-bransjen; prosjektledere, produkteiere, utviklere, bedriftsledere og testere og flere.</p>
<ul>
<li><a href="http://smidig2010.no/users/new">Meld deg på som deltager eller foredragsholder</a></li>
<li><a href="http://events.linkedin.com/Smidig-2010/pub/388694">Meld deg på LinkedIn-gruppa vår</a></li>
<li><a href="http://groups.google.com/group/smidigkonferansen">Meld deg på mailingslista for de som er interessert i Smidig 2010</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/09/13/husk-a-melde-deg-pa-smidig-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hvilke spørsmål skaper et bra seminar?</title>
		<link>http://sterkblanding.no/blog/2010/09/09/hvilke-sp%c3%b8rsmal-skaper-et-bra-seminar/</link>
		<comments>http://sterkblanding.no/blog/2010/09/09/hvilke-sp%c3%b8rsmal-skaper-et-bra-seminar/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 09:46:07 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[nlp]]></category>
		<category><![CDATA[Presentasjonsteknikk]]></category>
		<category><![CDATA[soft-skills]]></category>
		<category><![CDATA[spørsmål]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=845</guid>
		<description><![CDATA[Jeg liker å holde foredrag og seminarer der jeg involverer deltagerne. Å stille spørsmål til forsamlingen er en god måte å engasjere folk på, men jeg har lært meg at ikke alle spørsmål er skapt like. Hvilke spørsmål er gode for å få respons? Et eksempel: Å få deltagerne til å følge resonnementet ditt Dette [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg liker å holde foredrag og seminarer der jeg involverer deltagerne. Å stille spørsmål til forsamlingen er en god måte å engasjere folk på, men jeg har lært meg at ikke alle spørsmål er skapt like. Hvilke spørsmål er gode for å få respons?</p>
<p><span id="more-845"></span></p>
<h2>Et eksempel: Å få deltagerne til å følge resonnementet ditt</h2>
<p>Dette er et spørsmål jeg stilte til deltagerne på et scrum-kurs som jeg holdt flere ganger. Jeg lærte etter hvert hva som fikk forsamlingen til å svare:</p>
<ol>
<li>&#8220;Skal teammedlemmene avgi status til Scrum master på morgenmøtet?&#8221; (svaret er &#8220;nei&#8221;, men sjansene for at noen føler seg dumme fordi de svarte feil er nesten 50%)</li>
<li>&#8220;Hvem skal teammedlemmene avgi status til under morgenmøtet?&#8221; (svaret er &#8220;hverandre&#8221;, men sjansene for at noen føler seg dumme fordi de svarer feil er godt over 50%)</li>
<li>&#8220;Hvorfor skal teammedlemmene ikke fortelle status bare til Scrum master på morgenmøtet?&#8221; (for åpent, folk vet ikke hvordan de skal angripe spørsmålet)</li>
<li>&#8220;Hvordan skal teammedlemmene fortelle status på morgenmøtet?&#8221; (fortsatt for åpent)</li>
<li>&#8220;Hva er feil dersom teammedlemmene gir status til Scrum masteren på morgenmøtet?&#8221; (nå starter det å nærme seg, men fortsatt for åpent)</li>
<li>&#8220;Hvilke negative effekter kan man oppleve dersom teammedlemmene kun gir status til Scrum masteren på morgenmøtet?&#8221; (her inviterer man deltagernes kreativitet inn i diskusjonen)</li>
</ol>
<h2>Et eksempel: Å få deltagerne til å tenke gjennom hva de har hørt</h2>
<p>Her er noen spørsmål jeg har prøvd å stille til deltagerne etter at jeg har holdt et kurs.</p>
<ul>
<li>&#8220;Hvordan vil du bruke det du har lært?&#8221;: Hvordan-spørsmål blir fort så åpne at deltagerne ikke vet hvor de skal starte</li>
<li>&#8220;Hvilke av teknikkene i Scrum vil være vanskelige å få til i deres organisasjon?&#8221;: Hvilke-spørsmål kan være åpne og medføre overfladisk gjennomgang.</li>
<li>&#8220;Hvilken av teknikkene i Scrum vil være vanskeligst å få til i deres organisasjon?&#8221;: Hvilken-spørsmål inviterer til å gjøre en mental gjennomgang (som hjelper folk å huske) og begrenser hvor mye hver enkelt føler seg pliktig til å besvare. Egner seg godt for refleksjon på slutten av en workshop.</li>
<li>&#8220;Hva vil du gjøre annerledes etter det du har lært?&#8221;: Et tung og forpliktende spørsmål. Effektivt, men må brukes med måte.</li>
</ul>
<p>Hvilke spørsmålstillinger synes du stimulerer til god diskusjon?</p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/09/09/hvilke-sp%c3%b8rsmal-skaper-et-bra-seminar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interaktiv programmering: utforsking, læring og produktivitet</title>
		<link>http://sterkblanding.no/blog/2010/09/09/interaktiv-programmering-utforsking-l%c3%a6ring-og-produktivitet/</link>
		<comments>http://sterkblanding.no/blog/2010/09/09/interaktiv-programmering-utforsking-l%c3%a6ring-og-produktivitet/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 08:42:01 +0000</pubDate>
		<dc:creator>Thomas Kjeldahl Nilsson</dc:creator>
				<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Smidig]]></category>

		<guid isPermaLink="false">http://sterkblanding.no/?p=781</guid>
		<description><![CDATA[Dette er blog-versjonen av et foredrag som jeg holdt på JavaZone 2010. Jeg har fått dilla på dynamiske programmeringsspråk (JavaScript, Ruby, Lisp, med flere) i det siste. Et av fellestrekkene ved slike språk er at de lar deg programmere interaktivt. Vet du ikke hva interaktiv programmering er? Flott, da har du kommet til riktig artikkel! [...]]]></description>
			<content:encoded><![CDATA[<p><em>Dette er blog-versjonen av et foredrag som jeg holdt på JavaZone 2010.</em></p>
<p>Jeg har fått dilla på dynamiske programmeringsspråk (JavaScript, Ruby, Lisp, med flere) i det siste. Et av fellestrekkene ved slike språk er at de lar deg programmere interaktivt. Vet du ikke hva interaktiv programmering er? Flott, da har du kommet til riktig artikkel!</p>
<p><span id="more-781"></span></p>
<p>Ideen bak er ganske enkel, men jeg tror det er enklere å vise hva det er først, istedet for å skrive masse forklarende tekst. Her er et eksempel, demonstrert med IRB (Interactive Ruby):</p>
<p><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<object width="600" height="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=14709877&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=14709877&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="400"></embed></object><!-- End of Artiss Code Embed code -->
</p>
<p>Hva skjer her?</p>
<p>Vel, jeg skriver ekstremt grunnleggende Ruby-kode. Men se hva som skjer underveis. Hver Ruby-setning jeg skriver inn blir evaluert og kjørt av systemet. Resultatet spyttes tilbake på kommandolinja. Systemet husker hva jeg gjør. Jeg definerer variabler og funksjoner. Jeg kan bruke og bygge videre på dem, og jeg får umiddelbar feedback på alt jeg gjør. Og jeg slipper å kompilere eller restarte koden min hver gang jeg prøver noe nytt.</p>
<p>Den vanlige prosessen vår for systemutvikling er som et stålverk. Vi lager en støpeform (skriver kode i en IDE). Så støper vi en klump stål (kompilering/restart). Dersom stålklumpen ikke har riktig form, så er det tilbake til tegnebordet for å justere støpeformen. Denne feedback-løkka er mye raskere enn før takket være raskere kompilering, bedre maskiner og enhetstesting &#8211; men vi kaster likevel bort en del tid når vi løper frem og tilbake på denne måten.</p>
<p>Interaktiv programmering derimot er mer som å jobbe med leire. Vi arbeider med samme stykke materiale kontinuerlig. Vi klatter på litt kode, ser hvordan det ser ut. Tar vekk ting, bytter ut, former, eksperimenterer.</p>
<p>Dette er ikke en erstatning for hvordan vi vanligvis arbeider, men mer et nyttig tilbehør. Du bygger ikke en produksjonsbil med leire, men det er mye lettere å lage f.eks en design-prototype med leire enn med stål. På samme måte kan interaktiv programmering være et bra hjelpemiddel og supplement for seriøs systemutvikling.</p>
<p>Helt konkret: hvorfor er interaktiv programmering nyttig?</p>
<ul>
<li><strong>Du arbeider raskere</strong>, fordi feedback-løkka er kortere.</li>
<li><strong>Du slipper unna med mindre kode</strong>, fordi du bruker mindre tid på å bygge infrastruktur og &#8220;boilerplate&#8221;.</li>
</ul>
<p>Mer komplisert er det ikke. Jeg mistenker imidlertid at det ene bruksområdet ovenfor ikke overbeviser helt. Jeg skal derfor vise flere eksempler, og du kan tenke over hvordan disse teknikkene passer inn i din egen verktøykasse.</p>
<p>Jeg bruker jevnlig interaktiv programmering til følgende:</p>
<ul>
<li>Utforsking og læring</li>
<li>Grensesnitt mot backend-system</li>
<li>Frontend-utvikling og prototyping</li>
</ul>
<p>Utforsking og læring har vi allerede sett via IRB-klippet over. Neste eksempel er et interaktiv programmering som grensesnitt mot et kjørende system &#8211; i dette tilfellet en Ruby on Rails-applikasjon.</p>
<p>I filmklippet som følger lenger ned starter jeg et interaktivt konsoll på en lokal testserver. Der har jeg tilgang til det samme api&#8217;et, databasekoblinger etc som forretningslogikken i backenden av systemet mitt. Dette lar meg gå inn i en kjørende applikasjon og prøve ut nye ting, trekke ut informasjon eller gjøre små oppdateringer -<strong> mens systemet fremdeles kjører.</strong></p>
<p><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<object width="600" height="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=14709904&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=14709904&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="400"></embed></object><!-- End of Artiss Code Embed code -->
</p>
<p>Man kan bruke dette konsollet til system-administrasjon i et produksjonssystem: istedet for å bygge tidkrevende web-admin-funksjonalitet i systemet ditt, så kan du la døra stå åpen for å ta de mer sjeldne oppgavene direkte i det interaktive konsollet. Bygg eventuelt web-UI for manglende ting dersom du ender med å gjøre samme oppgave om og om igjen på kommandolinja.</p>
<p>Dette shellet kan også brukes under utviklingsløpet for å se &#8220;hvordan ting arter seg&#8221; før man velger å forfølge noen bestemt løsningsretning med unit-tester, web-grensesnitt osv osv.</p>
<p>La oss flytte oss opp til frontend-utvikling. Når vi utvikler web-grensesnitt så har vi et annet interaktivt miljø vi kan bruke: Firebug-konsollet. Her er en liten demonstrasjon.</p>
<p><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<object width="600" height="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=14711715&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=14711715&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="400"></embed></object><!-- End of Artiss Code Embed code -->
</p>
<p>Dette var et veldig enkelt eksempel. Jeg bruker imidlertid samme teknikker når jeg jobber med mer komplekse webapplikasjoner: da bruker jeg hyppig konsollet for å prøve ut ting &#8220;live&#8221;.  Metodikker som f.eks testdrevet utvikling er flott for backend-utvikling, men i visuell/frontend-utvikling er det ofte vanskelig å lage programmatiske tester siden man ikke helt vet hvordan ting kommer til å se ut og oppføre seg i nettleseren. Kanskje vet du ikke engang helt &#8220;hva du leter etter&#8221; på forhånd? Da er det fint å kunne prøve seg fram litt før man skriver for mye kode.</p>
<p>Nå vet jeg hva du tenker. &#8220;Men Thomas, jeg har ikke lyst å sitte og skrive kode rett inn i disse kommandolinje-greiene. Jeg liker editoren min mye bedre!&#8221; Jeg forstår den innvendingen. Du kan eventuelt skrive koden i editoren og manuelt lime den inn på kommandolinja, men det er blir fort litt knotete. Vi har mer lyst til å arbeide i en skikkelig IDE, og sende kode derfra til det interaktive miljøet.  Vi skal se på et eksempel på slik arbeidsflyt i et språk som heter Clojure.</p>
<p>Clojure er et ungt, lovende programmeringsspråk. Det er bare noen år gammelt, men er bygget på moden teknologi. Clojure er implementert i Java, snakker pent med Java-biblioteker, og basert på LISP (en over 50 år gammel dialekt av programmeringsspråk). Det vi hittil har kalt &#8220;interaktive konsoller&#8221; blir ofte kalt Read-Eval-Print-Loops (REPL). Dette utrykket kommer opprinnelig fra LISP, som har hatt slike verktøy (og kultur for å bruke dem aktivt) i mange år.</p>
<p>La oss se på et eksempel i Clojure. Jeg holder meg i editoren min, og sender funksjoner og kommandoer til REPL-prosessen rett fra editoren min. I dette tilfellet bruker jeg dette til å jobbe smidig med 3d-grafikk (jeg er veldig uerfaren på dette området, og trenger derfor umiddelbar feedback på alt jeg gjør).  Klippet under starter med å demonstrere helt grunnleggende ting, så tar vi steget opp til grafikk-arbeid. Mot slutten implementerer jeg rendering av et veldig enkelt  Tetris-spill.</p>
<p><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<object width="600" height="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=14709925&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=14709925&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="400"></embed></object><!-- End of Artiss Code Embed code -->
</p>
<p><strong>Hva har vi sett så langt?</strong></p>
<p>Interaktiv programmering gir deg rask feedback. Det lar deg jobbe hurtigere, skrive mindre kode, lære og utforske, snakke direkte med kjørende systemer, og gjøre effektiv prototyping og visuell utvikling.</p>
<p>Nå tenker du kanskje: &#8220;jeg arbeider med Java til daglig, hvordan kan jeg bruke disse greiene til noe nyttig?&#8221; Vel, alle disse teknikkene kan brukes sammen med Java-kode.  Ruby kan kjøres på Java: JRuby er en moden platform som snakker pent sammen med Java-komponenter. JavaScript likeså: du kan enkelt kjøre JavaScript på serversiden som et interaktivt skall rundt applikasjonen din. Clojure er allerede bygd i, og beregnet for bruk sammen med, vanlig Java (3D-eksemplet ovenfor bruker allerede et Java-API for OpenGL-grafikk).</p>
<p>Det er derfor ikke mye som skal til for å få slike interaktive skall rundt din egen applikasjon. Kan du lukte mulighetene her?</p>
<p>Til slutt vil jeg gjerne at du tar en kikk på filmklippene under. De er eksempler på s.k. Livecoding, en aktivitet som ligger i skjæringspunktet mellom programmering og performance-kunst. Det som skjer i klippene under er at utvikleren koder opp improviserte algoritmer for lyd og musikk live foran publikum. Kanskje ikke nyttig umiddelbart nyttig for deg og meg, men det er et interessant eksempel på interaktiv programmering tatt til sin ytterste konsekvens.</p>
<p><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<object width="600" height="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2433947&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2433947&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="400"></embed></object><!-- End of Artiss Code Embed code -->
</p>
<p><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<object width="600" height="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2502546&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2502546&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="400"></embed></object><p><!-- End of Artiss Code Embed code -->
</p>
<h2>Referanser:</h2>
<p><a href="http://en.wikipedia.org/wiki/Read-eval-print_loop">A list of REPL environments</a></p>
<p><a href="http://tagaholic.me/2009/05/11/demystifying-irb-commands.html">Demystifying IRB commands (interactive Ruby)</a></p>
<p><a href="http://slash7.com/2006/12/21/secrets-of-the-rails-console-ninjas/">Secrets of the Rails Console Ninjas</a></p>
<p><a href="http://getfirebug.com/wiki/index.php/Console_Panel">The Firebug Console Panel</a></p>
<p><a href="http://clojure.org/getting_started">Clojure.org: &#8216;Getting started&#8217;</a></p>
<p><a href="http://technomancy.us/126">in which are found tricks of the trade concerning clojure authorship</a></p>
<p><a href="http://wiki.github.com/ztellman/penumbra/getting-started">Penumbra OpenGL framework: &#8216;Getting started&#8217;</a></p>
<p><a href="http://impromptu.moso.com.au/resources.html">Impromptu livecoding environment introduction</a></p>
<p><a href="http://impromptu.moso.com.au/gallery.html">Andrew Sorenson livecoding videos</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sterkblanding.no/blog/2010/09/09/interaktiv-programmering-utforsking-l%c3%a6ring-og-produktivitet/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<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"><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<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><!-- End of Artiss Code Embed code -->
</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>
		<category><![CDATA[#TEDatSteria]]></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; — 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>2</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>4</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>2</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>1</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"><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<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><!-- End of Artiss Code Embed code -->
</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"><!-- Artiss Code Embed v1.5 | http://www.artiss.co.uk/artiss-code-embed -->
<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><!-- End of Artiss Code Embed code -->
</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>
	</channel>
</rss>

