Hem » Arkiv för september 2016

Månad: september 2016

Förklarat enkelt: Devops, Continuous integration och Continuous Delivery

Den agila utvecklingsprocessen börja ta mer plats i utvecklingsprojekt. Michael Silvin reder ut begreppen Devops, Continuous integration och Continuous delivery.

Vad är Devops?

Teorin är att utvecklares incitament är att producera så många funktioner som möjligt och att it-driftens incitament är att ha stabila system där den enklaste lösningen är att introducera så lite förändring som möjligt. Devops handlar om att försöka sammanföra dessa två mål och leverera förändringar snabbt och ofta men ändå på ett stabilt sätt.

Vad är Continuous integration och Continuous Delivery ?

Continous Delivery (CD) är snarare det som är jämförbart med Devops. CD utgår från hur man automatiserar leveransen av mjukvara på ett effektivt sätt.  Continous Delivery kan sägas vara en förlängning av Continuous integration

Vad är skillnaden mellan begreppen?

Skillnaden är utgångspunkten, devops utgår från samarbetet mellan utvecklare och it-drift medan CD har en mer akademisk utgångspunkt med fokuset  på hur man gör en automatiserad effektiv leverans av mjukvara. Slutsatserna och verktygen är ofta samma. DevOps har också mer fokus på produktens livscykel efter själva leveransen med övervakning av den levererade mjukvaran.

Det intressanta för mig är inte vad vi kallar det utan vad vi gör. När vi automatiserar testning och leverans så gör det att vi kan leverera effektivt, snabbt, ofta, konsekvent och med kvalitet. En leverans blir helt enkelt ingen stor sak, man trycker på en knapp och kan lita på att verktygen levererar mjukvaran precis på samma sätt som alltid. Detta minskar stressen på den som ska leverera. Leveranser som inte strular och att snabbt kunna leverera  förbättringar ökar också förtroendet hos de som ska använda mjukvaran.

Vilka misstag gör man när kastar sig in i dessa områden?

Ett misstag är att fokusera för mycket på verktygen och missa personerna som är inblandade. Införandet av verktygen måste ske parallellt med förändrade arbetssätt.

Vilken checklista ska man följa för att lyckas?

Jag tycker att det man bör börja med är att få igång kontinuerliga byggen med automatisk testkörning. Nästa steg är att se till att man har en vettig nivå på sina automatiserade tester och efter det sätta upp automatiserade leveranser till test och produktionsmiljöer. Har man gjort det så har man kommit en ganska bra bit.

Är det billigare och snabbare att utveckla i annat land? Så här funkar offshore.

Affärer är globala. Utveckling och produktion kan spridas över världen. Snabbare utveckling och sänkta kostnader är grundtanken med utlandsentreprenad eller offshore.
Jörgen Nybrolin och jag samtalar om ämnet.

Vad är offshore och vilken nytta når man med att lägga utvecklingen till ett annat land?

Offshore när det benämns i sammanhang kring mjukvaruutveckling innebär att hela eller delar av utvecklingen placeras i ett annat land. Enskilda företag kan ha egna benämningar på sitt koncept kring offshore. Exempelvis använder mitt företag Sogeti benämningen ’Rightshore’ och inkluderar då utöver leverans från utlandet även bestämda metoder och arbetssätt för utvecklingsprocessen.

Underförstått är att utvecklingen placeras i ett låglöneland så att kostnaden för mjukvaruutvecklingen blir lägre med förflyttningen. En annan viktig nytta som man inte ska bortse ifrån är kapaciteten. I Sverige händer det såklart att vi vid en given tidpunkt inte har tillgänglig kapacitet hos rätt typ av resurser. Genom offshore får vi tillgång till en helt annan mängd välutbildade systemutvecklare. Sogeti som exempel igen har genom vårt systerbolag Cap Gemini tillgång till över 50 000 systemutvecklare bara i Indien.

Vilka är de vanligaste felen man gör gällande offshoreutveckling?

Att man underskattar svårigheten i att fysiskt sitta på olika platser. Eller snarare, man överskattar tilltron till digitala kommunikationshjälpmedel. Det är så lätt idag att säga att avstånd inte spelar någon roll i och med att projektmedlemmar kan kommunicera genom mejl, Skype både utan och med video, TFS och allt vad som nu står till buds.

Hanteras inte detta bättre skapas ett ”vi-och-dem”-klimat på båda platser, vilket hämmar effektiviteten. Det är superviktigt att processen för offshore-leverans omfattar fysisk närvaro. Vilka som behöver ses och i vilken grad är naturligtvis olika från projekt till projekt. I bland krävs det fysisk närvaro under hela projektet av en eller flera representanter från det andra landet, vice versa, eller enstaka besök.

Vilka är de bästa råden gällande offshoreutveckling?

Såklart övergripande samma råd som för all mjukvaruutveckling, det vill säga att man ska ha tydlig kravbild och så vidare, men det förkortar vi bort här. Istället det som blir mer specifikt vid just offshore:

  • Analysera projektet och bedöm var svårigheten ligger. Är det kravhanteringen, systemarkitekturen, integrationer, testprocessen eller något annat? Planera för ansvarsfördelningen och upplägget för den fysiska placeringen av olika projektroller utifrån din analys. Vilka ska sitta lokalt, vilka kan sitta i annat land?
  • Samhörighet och sammanhang är superviktigt för alla individer, oavsett fysisk placering och oavsett yrkesroll. Förstår man inte sitt sammanhang eller känner inte engagemang för sin uppgift blir ingen människa på jorden effektiv i sitt arbete. Avståndet försvårar detta, så gör ditt bästa för att involvera alla projektmedlemmar på bästa tänkbara sätt. Få alla att känna engagemang och så långt som möjligt förståelse för helheten.
  • Var lyhörd och skapa tidigt en dialog för kulturskillnader. Jag har exempelvis hört kompisar i globala produktbolag som av andra europeiska chefer blivit tvingade att resa eller jobba på midsommarafton. ”Det är ju en vanlig fredag”. Relationen och engagemanget hos mina kompisar blev knappast bra under detta tvång. Hur tänker och vad gäller för medarbetarna i teamet som sitter i det andra landet? Vad är viktigt att respektera hos dem? Vad betyder det när en medarbetare säger si men leverar så? Vad kommer det sig? Skapa tidigt en öppen dialog åt båda håll kring detta. Det här är lätt i teorin, men väldigt svårt i praktiken. Kulturskillnader måste tas på allvar för ett effektivt samarbete. Bemöt med respekt.

Tack Jörgen ( https://se.linkedin.com/in/jorgenbengtsson )

Starta projektkontor/PMO. Kort introduktion.

Ett projektkontor bör skapas när organisationens projekt börjar styra från effekt och/eller när projekt börjar skapa öar i verksamheten. Projektkontorets mål är att hålla samman trupperna och styra mot seger. Kontoret blir motorn för effektivitet i projekt och driver organisationen till nyttiga förändringar.

Att starta ett projektkontor kräver erfarenhet och färdigheter. Detta behöver du veta i korta drag:

Projektkontoret ska se till att styra program och projekt så att man uppnår effekt, håller budget samt löpande värdera riskerna.

Projektkontoret blir sammanhållande för:
1.Projektstyrning – Förvalta projektportföljen. Styra, rapportera och följa upp.
2.Projekt och programstöd – Support och stöd för bl.a. förändringsledning, uppföljning, erfarenhet/kompetens och nyttorealisering.
3.Metodstöd – Samordning och stöd gällande verktyg, metoder och processer.

Löpande styr och kontrollera:

  • Mål som har tydlig koppling till företagets/koncernens/myndighetens målbild
  • En effektiv resursplanering och uppföljning
  • Riskanalyser
  • Nyttoanalyser
  • Roll- och ansvarsfördelning
  • Kommunikationsplan för hela projektkontoret
Effekten för projektkontoret ligger i mål och vision för hela organisationen.
Effekten för projektkontoret ligger i mål och vision för hela organisationen.

Webbdesign fyller 25 år. Vad är nytt?

”Hemsidor” var grejen för 25 år sen. Det handlade om att designa ”sidor” på Internet. Jag kommer ihåg en gammal chef på ett mediaföretag som va helt lyrisk när han insåg att man nu inte var begränsad till tryckeriets teknik. Man kunde designa och tillverka hur många sidor som helst. Det skulle innebära att man kunde sälja många ”millimeter-annonser”… Ridå.

Design har alltid varit någon mer än att tillverka sidor. Webbdesign handlar numera om någon helt annat. På en helt annan nivå. Jag hade ett intressant samtal med Joakim Lindhardt om detta.

”Vad är webbdesign för dig?”

Varje produkt och företag har en känsla de vill förmedla. Det kan vara allt från att upplevas som billig och enkel till högteknologisk och exklusiv. Allt syftar till att träffa sin målgrupp och tilltala just dem. Och webbdesign handlar om att fånga upp det och förstärka det budskapet.

”Finns webbdesign kvar som begrepp eller har vi flyttat över fokus till ”användardesign”?”

Nu för tiden pratar vi hellre om UX (User eXperience eller användarupplevelsen på svenska) än webbdesign. Den traditionella synen på webbdesign är att det handlar om färg och form och även fast det inte alltid stämmer så är det oftast det man menar.

Webbdesign finns fortfarande kvar, men är en del i hela användarupplevelsen. Innehåll, interaktion och användbarhet är minst lika viktiga delar. Bra webbdesign kan inte rädda dåligt innehåll. Möjligtvis kan man lura användaren en kort stund genom vackra färger och bilder, men de genomskådar det där ganska snabbt och då har man bränt den bron. Men har man rätt innehåll kan bra webbdesign hjälpa till att förstärka budskapet och förmedla rätt känsla.

”Vilka trender ser du just nu?”

Ofta kommer en ny trend som en kontrarevolution på en tidigare trendrevolution. Tidigare låg fokus på skeuforism. Gränssnitt skulle efterlikna verkliga ting för att användarna skulle känna igen sig. Som en revolution på det kom flat design. Där tanken är att försöka skala bort så mycket som möjligt av allt distraherande och endast lämna kvar det väsentliga.

Nu är vi inne i ytterligare en designrevolution, om än en mycket mindre än när vi gick från skeuforism till flat design. Nu försöker man kombinera de två trenderna för att plocka godbitarna ur varje. Det är en reaktion på det enfärgade och platta formspråket som var resultatet av flat design.

Vi har fortfarande en platt design men trenden lutar åt att inkludera skuggor och gradienter för att skapa djup och dynamik i hemsidan. Men kanske den största trenden just nu är att emulera verkligheten, inte som skeuforismen gjorde utan i rörelser och animationer. I verkligheten finns det få saker som dyker upp ur tomma intet, det samma borde gälla på webben. En meny glider in, så som en meny skulle göra i verkligheten. En knapp byter färg eller trycks ned, inte på en gång, utan med en mjuk rörelse. Vi har alltså tagit skeuforismens tankar och idéer och applicerat dem på interaktion istället för det visuella.

”Vad behöver man tänka på för att lyckas med webbdesign?”

Det absolut viktigaste är att känna användarna och deras behov. Utan det kommer du ha en väldigt snygg hemsida som ingen vill använda. Men om vi ska fokusera på den visuella designen och interaktionen så skulle jag säga: lägg inte allt i toppen på första sidan. Håll en minimalistisk design och skapa den med de absolut vanligaste användarnas behov i fokus. Lägg tid på att skapa små animationer när saker dyker upp eller användaren väntar. Vi är så vana vid fungerande hemsidor så det är detaljerna som gör designen. Allt annat är hygienfaktor.

Tack Jocke ( se.linkedin.com/in/joakimlinhardt )

Indata är lösningen för bra BI-projekt

Ämnet Bi (Business Intelligence) kan diskuteras med olika infallsvinklar, tekniker och metoder. Diskussioner i ämnet kan bli detaljrika och belysa intressanta åsikter. Att få data att flöda in och ut är centralt i alla BI projekt. Detta tillsammans med effekten av redovisning skapar nytta för verksamheten. Då kan beslut och vägval göras baserad på fakta från den data som analyseras. Men många Bi-projekt fastnar. Oftast handlar det om otydliga krav och dålig datakvalitet.

Jasmin Zejnilagic är utvecklare och har erfarenhet inom området.

”Vad är BI för dig?”

För mig är Business Intelligence ett finare ord för ”dataomvandling” på ren svenska. Inom BI pratar vi om ETL, vilket står för ”Extract, Load, Transform” och syftar på just den processen där data skall skyfflas från ett system till ett annat. Denna omvandlade data används vanligen av verksamheten för att få ut olika mätvärden, rapporter och grafer.

”Min erfarenhet av BI-projekt är att allt fastnar och handlar till slut om indata. Håller du med?”

På sätt och vis, min erfarenhet av BI-projekt utifrån en utvecklares perspektiv är att det alltid handlar om indata. Indata-problematiken kan differentiera sig från projekt till projekt; dock är de vanligaste problemen att man inte har koll på hur data lagras i källsystem(en), nyckelinformation saknas i systemet i fråga, man saknar specifikation eller rent av inte har tillgång till data i fråga då den ägs/förvaltas av en tredjepart.

”Hur lyckas man med att få bra indata till sitt BI-projekt?”

Kommunikation, standarder och stickprov. Vad menar jag med det? Att så tidigt som möjligt kunna ha en öppen och rak dialog mellan projektägaren, förvaltaren av databasen/data och BI konsulten där man kommer överens om:

  • Var nödvändig data finns, vilken format den lagras i och datatyperna som används
  • Hur data skall kunna läsas ut (fil, databasåtkomst, SFTP, etc..)
  • När data skall läsas ut från källsystemet
  • Mellanlagringsformat när man utför transformeringen av data (ETL)
  • Datatyperna och formatet det ”tvättade” datat skall lagras i

För att säkerställa att indata håller rätt kvalité är det under projektets gång väldigt viktigt att man gör stickprov och återkopplar snarast till förvaltaren av data om det skulle visa sig att det t.ex. lagras fel data i en kolumn eller att man inte följer specifikationen.

Tack Jasmin ( https://se.linkedin.com/in/jasminz )