Kandidatarbete
Pralinbutiken – Erfarenheter från utvecklingen av en
webbapplikation
Pralinbutiken – Experiences from the developement of a web
application
av
Sara Asad, Tomas Calmfors, Magnus Forzelius, Ellen Fransson, Vilhelm Granath, Axel Johansson, Lisa Karlsson, Andreas Werdin
LIU-IDA/LITH-EX-G--15/018--SE
2015-05-28
Kandidatarbete
Pralinbutiken – Erfarenheter från
utvecklingen av en webbapplikation
Pralinbutiken – Experiences from the
developement of a web application
avSara Asad, Tomas Calmfors, Magnus Forzelius,
Ellen Fransson, Vilhelm Granath, Axel Johansson,
Lisa Karlsson, Andreas Werdin
LIU-IDA/LITH-EX-G--15/018--SE
2015-05-28
Handledare: Rebecka Geijer Michaeli Examinator: Aseel Berglund
1
Sammanfattning
Denna rapport beskriver arbetet med att utveckla en e-‐butik för egenkomponerade askar med chokladpraliner, Pralinbutiken, utifrån den agila utvecklingsmetodiken Scrum. Arbetet har utförts av ett team bestående av åtta studenter vid Linköpings Universitet som en del i ett kandidatarbete inom Civilingenjörsprogrammet i industriell ekonomi.
Teamet kom fram med idé och koncept till Pralinbutiken. Rapporten tar upp erfarenheter kring utvecklingsprocessen, arbetsmetodiken och teamet. Vidare presenteras och diskuteras tekniska problem samt lösningar som uppkommit under projektets gång.
Målet med Pralinbutiken är att erbjuda en egenkomponerad pralinask anpassad efter kundernas egna allergier och önskemål.
Tack till Ejes Choklad, Pralinaskar.se och DarkPassion för ert bidragande med bilder på produkter till Pralinbutikens sortiment.
2
Abstract
This report describes the process of developing an e-‐shop for self-‐composed boxes of chocolate pralines, Pralinbutiken, based on agile development methodology. The work has been carried out by a team of eight students at Linköping University.
The team came up with the idea and concept to Pralinbutiken. The report addresses the experiences of the development process, working methods and regarding the team. Further are technical issues and solutions raised during the project presented and discussed.
The goal of Pralinbutiken is to offer a self-‐composed box of pralines tailored after the customers' own allergies and preferences.
Thanks to Ejes Chocolate, Pralinaskar.se and Dark Passion for your contribution with pictures of products to the e-‐shop.
3
Innehållsförteckning
1 INLEDNING ... 1 1.1 MOTIVERING ... 1 1.2 SYFTE ... 1 1.3 FRÅGESTÄLLNING ... 1 1.4 AVGRÄNSNINGAR ... 1 2 BAKGRUND ... 22.1 PROJEKTFÖRUTSÄTTNINGAR OCH KRAVSPECIFIKATION ... 2
2.2 PROGRAMMERINGSMETODIK ... 2
2.2.1 Front-‐end ... 2
2.2.2 Back-‐end ... 3
3 TEORI ... 4
3.1 HANDEL ÖVER INTERNET ... 4
3.2 KUNDINTRESSEN OCH -‐BEHOV ... 4
3.2.1 Chokladkonsumtion ... 4
3.2.2 Insikter från utförd marknadsundersökning ... 5
3.2.3 Kundorienterad webbutveckling ... 6
3.3 MARKNADEN FÖR CHOKLADPRALINER ... 8
3.3.1 Sammanfattning av konkurrensanalys ... 8
3.3.2 Relevant forskning för chokladförsäljning ... 8
4 METOD ... 10
4.1 DEFINITION AV SCRUM ... 10
4.1.1 Roller ... 10
4.1.2 Produktbacklogg ... 10
4.1.3 Sprintplanering och sprintbacklogg ... 11
4.1.4 Daily Scrum ... 11 4.1.5 Sprint review ... 11 4.1.6 Sprintretrospektiv ... 11 4.2 TEAMETS UTVECKLINGSMETODIK ... 12 4.2.1 Brainwriting ... 12 4.2.2 Funktionsanalys ... 12
4.2.3 Konceptgenerering och prototyp ... 13
4.2.4 Marknadsundersökning ... 13 4.2.5 Möten ... 13 4.3 UTVECKLINGSPROCESSEN ... 14 4.3.1 Intern testning ... 14 4.3.2 Kodrefaktorering ... 15 4.4 ANVÄNDBARHETSTESTNING ... 15
4.4.1 Val av strategi för testning ... 15
4.4.2 Utformning av testet ... 15
4.4.3 Val av deltagare ... 16
4.4.4 Användning av testresultatet ... 17
4.5 VERKTYG FÖR KOMMUNIKATION OCH SAMORDNING ... 17
4.5.1 Google Drive ... 17 4.5.2 Trello ... 17 4.5.3 Skype ... 17 4.6 TEKNIK ... 18 4.7 UTVECKLINGSMILJÖ ... 18 5 RESULTAT ... 19 5.1 PRODUKTBACKLOGG ... 19
5.2 SYSTEMÖVERSIKT ... 19
5.2.1 Startsida, navigeringsmeny och sidfot ... 19
5.2.2 Registrera användare och glömt lösenord ... 20
5.2.3 Mina sidor ... 21
5.2.4 Våra praliner/Din egen ask/Praliner och Färdiga askar. ... 22
5.2.5 Sökfunktion, praliner per sida, rangordning och filter. ... 23
5.2.6 Kundkorg ... 24 5.2.7 Köpprocess ... 25 5.2.8 Kontakt ... 25 5.2.9 Administratörssidan ... 26 5.3 SYSTEMSPECIFIKATION ... 26 5.3.1 Design ... 26 5.3.2 Databas ... 27 5.3.3 Kommunikationsstruktur ... 28 5.3.4 Serveranrop ... 29 5.3.5 Asynkron uppdatering ... 30 5.4 REFAKTORERING ... 31 5.5 ANVÄNDBARHETSTESTNING RESULTAT ... 31 5.5.1 Helhetsintryck ... 32 5.5.2 Enkelhet ... 32 5.5.3 Tydlighet ... 32
5.5.4 Skapa konto och inloggning ... 33
5.5.5 Praliner och askar ... 33
5.5.6 Kundkorgen ... 33 5.5.7 Kassan ... 33 5.5.8 Mina sidor ... 34 5.5.9 Önskade funktioner ... 34 5.5.10 Åtgärder ... 34 6 DISKUSSION ... 35 6.1 SLUTPRODUKT ... 35
6.1.1 Gränssnittet ska hålla användaren informerad om det bakomliggande systemets tillstånd ... 35
6.1.2 Gränssnittet ska efterlikna verkligheten och beskriva den på ett språk användaren förstår ... 36
6.1.3 Användaren ska ha möjlighet att utveckla egna strategier samt ångra saker som går fel ... 36
6.1.4 Gränssnittet ska följa konventionerna för den plattform det körs på och användaren ska inte behöva undra vad olika formuleringar betyder i olika situationer .. 37
6.1.5 Gränssnittet ska vara uppbyggt så att det förebygger fel ... 37
6.1.6 Användaren ska inte behöva komma ihåg var olika funktioner ligger i gränssnittet utan bör känna igen dessa enkelt ... 37
6.1.7 Användaren ska kunna anpassa gränssnittet till sig själv och sina arbetsuppgifter . ... 38
6.1.8 Gränssnittet ska inte presentera irrelevant information då varje irrelevant informationsbit konkurrerar med relevant information ... 38
6.1.9 Felmeddelanden ska vara enkelt formulerade, förklara vad som gick fel och föreslå en lösning ... 38
6.1.10 Information för att hjälpa användaren ska vara lätt att hitta i, fokusera på användarens arbetsuppgifter, visa konkreta steg som ska utföras och inte vara för omfattande ... 39
6.2 KODUTVECKLING ... 39
6.2.1 Upprepning av kod ... 39
6.2.3 Generalisering av kod ... 40
6.2.4 Upprepad inläsning ... 41
6.2.5 Effektivare single page application ... 41
6.3 ANVÄNDBARHETSTESTNING ... 42
6.4 ETISKA ASPEKTER ... 42
6.4.1 Säkerhet och integritet ... 42
6.4.2 Användning av extern kod ... 43
6.4.3 Produkt ... 44
6.4.4 Design och bilder ... 44
6.5 TEAMETS TEKNISKA ERFARENHETER ... 44
6.5.1 Programmering ... 44
6.5.2 Tekniska verktyg ... 46
6.6 TEAMETS PROCESSRELATERADE ERFARENHETER ... 47
6.6.1 Implementation av Scrum ... 47
6.6.2 Möten ... 47 6.6.3 Arbetssätt ... 48 6.6.4 Verktyg för kommunikation ... 49 7 SLUTSATS ... 51 8 REFERENSER ... 52 9 BILAGA 1 – MARKNADSUNDERSÖKNING ... 54
10 BILAGA 2 – UTVÄRDERING AV MARKNADSUNDERSÖKNING ... 56
11 BILAGA 3 – GRUPPKONTRAKT ... 58
12 BILAGA 4 – KOMMUNIKATIONSPLAN ... 60
13 BILAGA 5 – MARKNADSFÖRINGSPLAN FÖR PRALINBUTIKEN ... 62
14 BILAGA 6 – PRODUKTBACKLOGG ... 73
15 BILAGA 7 – PROJEKTPLAN ... 76
16 BILAGA 8 – ANVÄNDBARHETSTESTNING ... 82
17 BILAGA 9 – INTRODUKTION TILL ERFARENHETSSAMMANFATTNINGAR ... 85
18 BILAGA 10 – ERFARENHETSSAMMANFATTNING, SARA ASAD ... 86
19 BILAGA 11 – ERFARENHETSSAMMANFATTNING, TOMAS CALMFORS ... 89
20 BILAGA 12 – ERFARENHETSSAMMANFATTNING, MAGNUS FORZELIUS ... 92
21 BILAGA 13 – ERFARENHETSSAMMANFATTNING, ELLEN FRANSSON ... 95
22 BILAGA 14 – ERFARENHETSSAMMANFATTNING, VILHELM GRANATH ... 98
23 BILAGA 15 – ERFARENHETSSAMMANFATTNING, AXEL JOHANSSON ... 102
24 BILAGA 16 – ERFARENHETSSAMMANFATTNING, LISA KARLSSON ... 104
25 BILAGA 17 – ERFARENHETSSAMMANFATTNING, ANDREAS WERDIN ... 107
1
Inledning
Arbetet syftar till att utveckla en webbapplikation i form av en e-‐butik. Nedan finns en motivering till valet av produktsortiment och syftet som ska uppnås med applikationen. I den här delen av rapporten tas även frågeställning samt avgränsningar upp.
1.1 Motivering
Vem har inte känt sötsuget krypa på en sen kväll och slängt sig över pralinasken som står på bordet i hopp om att den ska släcka begäret, bara för att mötas av den äckliga sorten som ingen vill ha? Varför kan inte asken enbart innehålla de praliner just jag tycker är goda? Denna fråga var utgångspunkten för arbetet som ligger till grund för denna rapport. Det var utifrån denna fråga som utvecklingsteamet satte upp sin vision:
”En butik som med en enkel men lockande design låter användaren själv välja bland ett stort utbud av praliner för att skapa den ultimata pralinasken som just han eller hon vill ha.”
Antalet e-‐butiker har de senaste åren växt stadigt och det blir allt vanligare att svenskar handlar på internet. Denna utveckling gäller för såväl köp via dator som via surfplatta och mobila enheter. Trenden, i samband med smidigheten i att skräddarsy personliga produkter online, gör en e-‐butik till det perfekta mediet för att förverkliga teamets vision.
1.2 Syfte
Syftet med denna rapport är att beskriva arbetsprocessen och utvecklingen av webbapplikationen Pralinbutiken, en butik för egenkomponerade pralinaskar på nätet. Arbetet har även syftat till att utreda den aktuella marknaden och möjligheterna till etablering samt att ge erfarenheter av programvaruutveckling enligt den agila arbetsmetoden Scrum.
1.3 Frågeställning
Hur kan en e-‐butik för egenkomponerade pralinaskar utvecklas för att enkelt kunna navigera bland ett stort utbud och kunna anpassa köpet efter kundens egna preferenser?
1.4 Avgränsningar
Arbetets huvudsakliga avgränsning är att ingen fullt fungerande butik utvecklas. Detta innebär att det varken kommer att kopplas någon betalningstjänst till e-‐ butiken eller att det kommer att levereras några varor när en order läggs. Webbapplikationen kommer dock i övrigt att fungera som om så var fallet och inte
2
Bakgrund
Rapporten beskriver utvecklingen av en webbapplikation för försäljning av egenkomponerade pralinaskar. I denna del redogörs för de projektförutsättningar och tekniska krav som utgör utgångspunkten för e-‐butiken.
2.1 Projektförutsättningar och kravspecifikation
Det har funnits yttre krav vid utvecklingen av Pralinbutiken som berört genomförande och organisation samt tekniska specifikationer.
De givna minimikraven på funktionalitet anger att e-‐butiken ska innehålla inloggning för användare, visning av produkter och orderhistorik samt möjlighet att genomföra flera samtidiga produktinköp. Dessutom ska behöriga administrativa användare kunna redigera e-‐butikens produktsortiment online.
De tekniska kraven anger dels vilka språk och ramverk som ska användas för utvecklingen av e-‐butiken. Dessa är HTML, CSS, Bootstrap, JavaScript, jQuery, AJAX, Python samt Flask. Ytterligare krav finns dessutom på tekniken bakom applikationen. Dessa anger att e-‐butiken ska utvecklas som en single page application samt att applikationen ska ha en responsiv design som anpassas till olika skärmstorlekar. Data ska lagras i en databas som skapas dynamiskt av webbservern. Slutligen krävs att versionshantering sker via GitLab och webbservern skapas, körs och drivs på OpenShift.
2.2 Programmeringsmetodik
Nedan beskrivs översiktligt de olika programmeringsspråk och -‐ramverk som används i utvecklingen.
2.2.1 Front-‐end
Genom HTML kan ett skelett som ger struktur till en hemsida skapas. Innehållet i skelettet anpassas med hjälp av CSS som utnyttjas för att göra stilmallar. Dessa kan exempelvis innehålla information om vilken färg och vilket teckensnitt en text ska ha. Bootstrap är ett ramverk för front-‐end-‐utveckling som utnyttjar CSS och JavaScript. Detta ger bland annat stora fördelar i att utveckla en responsiv design som anpassar gränssnittet efter den aktuella skärmstorleken.
Vidare används JavaScript för att programmera beteende hos hemsidor till exempel att dynamiskt gömma alternativt visa innehåll på sidan. jQuery är ett bibliotek till JavaScript som underlättar skrivandet av funktioner med ett enkelt gränssnitt för programmeraren. Med hjälp av AJAX-‐teknologi (Asynchronous JavaScript and XML) används även JavaScript för att utväxla data med en server så att delar av en webbapplikation kan uppdateras utan att hela sidan laddas om.
2.2.2 Back-‐end
Python är ett objektorienterat programmeringsspråk som gör det möjligt att arbeta snabbare och integrera system effektivare. Till Python används även Flask vilket är ett mikroramverk för webbapplikationsutveckling. SQLite3 är en databashanterare för språket SQL som används för anrop till en extern databas.
3
Teori
Vid utveckling av en e-‐butik finns ett flertal aspekter som utvecklaren bör ta hänsyn till. Nedan redogörs för några av de teoretiska områden som är relevanta vid utvecklingen av en webbapplikation för e-‐handel.
3.1 Handel över internet
E-‐handel utvecklas som en viktig del av den svenska handeln och fortsätter växa gentemot traditionella handelskanaler. Under de senaste fem åren har användandet blivit så pass utbrett att mer än fyra av fem internetanvändare, eller tre fjärdedelar av befolkningen, någon gång handlat på nätet (1). Andelen av den totala försäljningen är ännu marginell. År 2013 stod den för 6 procent av omsättningen men tillväxten är mycket stark. Under det tredje kvartalet 2014 ökade den svenska detaljhandelns försäljning över internet med 17 procent (2) och prognosen för hela året sattes till en tillväxt på 15 procent.
En betydande andel av tillväxten idag kan tillräknas e-‐handel över mobila enheter. Dibs årliga undersökning av handel över internet från 2015 visar att andelen av befolkningen som har handlat från mobila enheter eller surfplatta ökade från 2013 till 2014 med 11 procentenheter till 37 procent (3). I undersökningen framgår att en betydande majoritet av de tillfrågade uppgett att de valt att handla från de mobila enheterna för att dessa fanns närmast till hands vid köptillfället. En av fem tillfrågade uppger att de förväntar sig att handla mer mobilt det kommande året.
Trots den fortsatt starka tillväxten på omsättningssidan, har ökningen av antalet aktiva konsumenter på internet planat ut under de senaste åren. Andelen av befolkningen som handlar över nätet växer långsamt och har endast förändrats med ungefär en procentenhet sedan 2012 (1). Tillväxten i omsättning beror istället framförallt på större volymer vid de enskilda inköpstillfällena. Antalet köp per person låg i princip stilla mellan 2013 och 2014. Sett till ett aningen längre perspektiv framgår det dock att det totala antalet köp ökat inom samtliga åldersgrupper. Den kraftigaste ökningen har skett inom åldersgruppen 35 till 44 år (3).
3.2 Kundintressen och -‐behov
I följande avsnitt undersöks hur kunders intresse ser ut för den föreslagna e-‐butiken. Efterfrågan på choklad utreds och de potentiella kundernas inställning till Pralinbutikens vision presenteras. Vidare undersöks vilka kundfokuserade hänsynstaganden som måste göras i utformningen utav e-‐butiken.
3.2.1 Chokladkonsumtion
Sedan 1985, då livsmedelsverket rekommenderade hälsovårdsnämnden att tillåta försäljning av självplockat godis i lösvikt, har godiskonsumtionen i Sverige vuxit explosionsartat (4). Svenskarna konsumerar idag mest lösviktsgodis i världen och konsumtionen fortsätter att växa (5). Internationellt skiljer sig svenskarna mycket från övriga världen där lösviktsgodiset är långt ifrån lika etablerat och vuxna
människor generellt väljer choklad framför sockergodiset. Det är dock en trend som kan vara på förändringsvägen. Delfi, som utfört analyser av den svenska godismarknaden sedan 1999, noterar att chokladkonsumtionen tar andelar på sockerkonfektyrets bekostnad. Däremot särskiljer sig Sverige ännu med sockergodiset som en stor andel av konsumtionen. (6)
3.2.2 Insikter från utförd marknadsundersökning
Teamet genomförde en marknadsundersökning för att undersöka intresset för den föreslagna e-‐butiken samt vilken funktionalitet i e-‐butiken som upplevdes viktig. I undersökningen var strax under två tredjedelar av de 150 deltagande kvinnor och en stor majoritet, 88 procent, i åldersgruppen 15 till 30 år. Det resultat som undersökningen gav kan därför inte antas gälla för samtliga åldersgrupper då underlaget blir bristfälligt utanför gruppen mellan 15 och 30 år. Svaren från män och kvinnor förefaller tillräckligt lika för att inga separata analyser behöver göras.
Av de tillfrågade uppgav 80 procent att de kunde tänka sig att beställa choklad från en e-‐butik som uppfyller de visioner som lagts till grund för projektet. Värt att notera är att denna andel ligger omkring 80 procent även hos de personer som uppger att de äter choklad mindre ofta. Detta tyder på att hur ofta de tillfrågade äter choklad inte är direkt relaterat till intresset av att beställa pralinaskar från en e-‐butik.
Utifrån frågeställningen om betydelsen av tänkt funktionalitet framkom att de funktioner som uppfattades som viktigast för kunderna var ett stort utbud, filtrering bland praliner samt funktioner med koppling till leverans som present. Även möjligheten att beställa färdiga askar lyftes fram. Funktionen att spara sina allergier på sitt konto placerade sig dessutom högt, speciellt om hänsyn tas till att det är en funktion som inte alla kommer ha anledning att använda. Ett alternativ som fick nämnvärt lägre snitt än väntat var “Kunna rangordna mellan pralinerna“. Då möjligheten att rangordna efter olika kriterier är en grundläggande funktion i e-‐ butiker uppfattades den som viktig av samtliga medlemmar i teamet. Därmed drogs slutsatsen att det sannolikt handlat om att de deltagande missförstått vad som avsetts med funktionen och den fick fortsatt hög prioritet under utvecklingsprocessen.
“Markera intressanta praliner utan att lägga in dem i varukorgen” fick ett högre snittbetyg än “Ha en profil där man kan lägga till favoriter”. Teamet ansåg dock att de uppfyller snarlika syften och att de med fördel kan integreras i en funktion. Två funktioner som av undersökningen framgick vara av mindre betydelse för potentiella kunder var “Få förslag utifrån dina val baserat på vad andra som köpt samma pralin köpt” och “Prenumerera på en order i månaden eller liknande”. Dessa funktioner prioriterades därför bort i teamets produktbacklogg.
Frågan om vilka egenskaper som ansågs viktiga att kunna filtrera efter gav ett snitt på minst 3,0 av 5 för samtliga föreslagna alternativ. Ytterligare filtreringsförslag som teamet ansåg vara önskvärda framkom. Dessa var vegan, Fairtrade samt möjligheten att välja ett prisintervall. När frågan om vad som var önskat att kunna rangordna efter ställdes fick både vikt och kaloriinnehåll ett snitt på under 3,0. Eftersom extra
arbete skulle krävas för att lagra denna information ansåg teamet att dessa inte var nödvändiga att gå vidare med. Rangordning efter betygsättning fick högt betyg men funktionaliteten som krävdes för detta var inte prioriterad i utvecklingen av e-‐ butiken. Dessutom uppfyllde favoriter redan delvis denna funktion.
Sammanfattningsvis ledde undersökningen till att ett antal funktioner bortprioriterades. Dessa var prenumeration på en ask, specialerbjudanden samt rekommendationer baserat på vad andra kunder handlat. Möjligheten att spara sina betalningsmetoder var också en funktion teamet valde att inte gå vidare med, delvis då fungerande betalning inte kommer att vara en del av den färdiga e-‐butiken. Att markera praliner som intressanta integrerades även med favoriter som nämnts ovan snarare än att implementeras som ytterligare en egen funktion med risk för sammanblandning och förvirring.
3.2.3 Kundorienterad webbutveckling
E-‐handelns fortsatta tillväxt och växande relevans inom branschen har gjort den till ett ofta förekommande ämne inom studier och forskning. I en stor del av den forskning som genomgåtts har författarna använt sig av intervjuer eller marknadsundersökningar för att studera e-‐handeln ur ett kundperspektiv. Slutsatser har dragits utifrån detta angående hur en webbutvecklare bör utforma en webbapplikation för att locka och behålla kunder. I den sammanställning som presenteras i följande stycken har forskningen delats upp i tre områden. Dessa är att fånga kundernas uppmärksamhet, se till att köpen genomförs samt relationer till kunden efter köp.
3.2.3.1 Locka till köp
För att övertyga potentiella kunder att handla räcker det inte enbart med att marknadsföra sig väl. Bäck Karlander och Eriksson argumenterar för att där etablerade företag inte har något problem att nå ut till kunder över internet, så är nystartade och okända företag starkt beroende av att göra ett positivt första intryck (7). Deras studie visar att den grafiska designen är bland det första som en användare uppmärksammar när den besöker en hemsida och att det intryck som skapas under de första sekunderna är svårt att ändra. Schlosser, White och Lloyd lyfter fram den grafiska designen som en viktig faktor i att signalera trovärdighet (8). Tydlig och stilren struktur och layout är viktigt för att ge ett bra intryck men även användandet av färg är av hög betydelse för att framstå som seriösa och övertyga kunden att handla (7). Hög användning av färgen orange i designen visade sig till exempel ha en negativ effekt som skapade associationer till reklam.
Som försäljare över internet är det avgörande att skapa en känsla av trygghet hos konsumenten (9). Trots detta tycks etablerade certifieringar ha en mindre effekt på hur trygg konsumenter uppfattar en sida jämfört med vad som kunde förväntas (10). En liknande effekt syns i att starka säkerhetsgarantier inte har något samband med högre köpintentioner (8). Nedergård lyfter istället fram användaromdömen som viktigast för den upplevda tryggheten. Andra viktiga faktorer som framkom var flertalet betalningsalternativ samt geografisk närhet, det vill säga inhemska hemsidor uppfattas som tryggare än internationella (10). Vidare visar Becerra och
Korgaonkar på värdet av att erbjuda etablerade varumärken i sitt utbud för att bygga förtroende hos kunden (11).
Campbell, Wells och Valacich utgår från E-‐Commerce Attraction Model för att hitta vad som är avgörande i valet att handla från en e-‐butik. Modellen består av fyra aspekter. Dessa är visuell lockelse som representeras av butikens design, kompetent beteende som exempelvis kan innebära laddningstider samt slutligen relationell kompabilitet och mottaglighet som i studien representerades av returvillkor respektive ståndpunkt i etiska frågor. De visar att samtliga aspekter till olika grad är avgörande för den uppfattade belöningen från att använda sidan och i förlängningen beslutet om att handla från den. (12)
3.2.3.2 Säkra genomförandet av köp
Även efter att en e-‐butik fått kunden att välja den finns flera faktorer att ta hänsyn till. Avbrutna köp utgör en stor potentiell förlust för företaget och att motarbeta anledningarna till dessa kan teoretiskt innebära en betydande vinst. I sin årliga undersökning pekade Dibs på säkerheten i betalningssystemen som en viktig anledning till att e-‐handeln har kunnat växa så pass kraftigt under det senaste decenniet. (3) Vad statistiken visar är dock att betalningssäkerhet fortfarande är av hög relevans för branschen. Framförallt kvinnor väljer i hög grad att utnyttja alternativ till kortbetalning och det finns en tydlig tendens till att det är säkerheten som är viktig vid det valet. Dibs rapport visar att erbjudande av rätt betalningsalternativ är viktigt för att köp över internet ska genomföras. En tredjedel av alla avbrutna köp härleds till bristen på önskade betalningsalternativ, dock visar trenden att andelen kunder som uppger att de nyligen avbrutit ett köp trots allt minskar.
I en studie baserad på flermetodsforskning fann Larsson och Rosendahl två andra viktiga faktorer som leder till avbrutna köp: felhantering och användbarhet (13). Ett nödvändigt steg i köpprocessen som inte uppmärksammats av kunden kunde leda till ett avbrutet köp om ingen feedback om detta förbiseende gavs. Inom användbarheten är det framförallt webbplatsens utformning av köpprocessen som är viktig, det vill säga att den är lättförstådd med till exempel tydligt placerade länkar till kassan. Även kravet på inloggning för att handla visar sig vara något som en del kunder upplever som ett problem.
3.2.3.3 Skapa en återkommande kundstock
För att lyckas inom e-‐handel räcker det inte med att locka till genomförda köp, utan kundlojaliteten är också viktig. En del i att lyckas med att få en återkommande kundkrets kan ses vara samma krav som för att stimulera genomförande av köp, det vill säga ha en användarvänlig köpprocess som kunden gärna använder igen (14). En förutsättning är självklart att produkten stämmer överens med kundens förväntningar, och tillfredställelse med köpet och köpprocessen är ett återkommande krav (15). Upplevd investering i kundrelationen från butikens sida samt tillgivenheten gentemot e-‐butiken är också avgörande för lojaliteten (16). Ryding, Qvarnström och Wolfhagen (17), som undersöker olika strategier för att skapa e-‐lojalitet, finner att det är viktigt att göra sig ihågkommen för att inte förlora
kunderna. Olika strategier visade sig i undersökningen vara olika effektiva, men personligt bemötande förefaller lämna det mest positiva intrycket hos konsumenterna. De konstaterar avslutningsvis att då kunderna är priskänsliga är dock det viktigaste att differentiera sig från övriga konkurrenter genom att erbjuda en unik produkt.
3.3 Marknaden för chokladpraliner
Nedan presenteras en översikt av marknaden för chokladpraliner på internet så som den ser ut idag. Konkurrenters utformningar av e-‐butiker analyseras och slutsatser från forskning om e-‐butiker för choklad presenteras.
3.3.1 Sammanfattning av konkurrensanalys
I avsikt att undersöka möjligheterna för den planerade e-‐butiken att etablera sig på marknaden genomfördes en konkurrensanalys. Internetbaserade butiker för chokladpraliner som gick att finna med hjälp av sökmotorn Google undersöktes närmare. Följande tre konkurrenter identifierades: Choglad.se, Pralinboden.se samt pbchoklade.dk/se hädanefter benämnda Choglad, Pralinboden och Peter Beier Choklad.
Av dessa tre butiker är det endast Choglad som begränsat försäljningen av sina produkter till på internet. Däremot är den geografiska spridningen begränsad i fråga om fysiska butiker för de övriga och internet är därför en viktig försäljningskanal. Samtliga tre butiker lägger stor vikt vid pralinernas kvalitet och ”lyx” tycks vara ett nyckelord som även sprider sig till designen av e-‐butikerna. Dessa butiker säljer endast sin egen choklad istället för att erbjuda ett brett sortiment av olika fabrikat. I två av butikerna är utbudet dock inte begränsat till endast chokladpraliner. Pralinboden erbjuder produkter så som lakrits och kaffe. Peter Beier Choklads utbud består av flertalet andra choklad-‐ och kakaoprodukter utöver praliner.
Försäljningen av praliner drivs, med undantag för Pralinboden, endast i form av färdiga askar. Information om pralinerna som ingår saknas vilket även gäller för Pralinboden. Det saknas därmed möjlighet att undersöka förekomsten av allergener i de flesta fall. Undantaget är Choglad som erbjuder utförliga innehållsförteckningar och möjlighet att lämna önskemål vid beställning. Prissättningen tycks genomgående främst vara konkurrensbaserad. Då utbudet är begränsat till praliner av hög kvalitet ligger priserna högt jämfört med enklare choklad. Sammantaget innebär detta att det finns en tydlig öppning för Pralinbutiken på marknaden.
3.3.2 Relevant forskning för chokladförsäljning
I en studie från 2006 undersökte Oppenheim och Ward (18) design av e-‐butiker där urvalet bestod av sidor för försäljning av choklad. Hemsidor som kan vara potentiella konkurrenter för projektet undersöktes där närmare genom ett arbete med två fokusgrupper. Artikeln drar i hög grad de slutsatser som tidigare tagits upp under avsnittet ”Kundorienterad Webbutveckling”, men det väldigt specifika underlaget innebär även särskilda slutsatser för chokladförsäljning över internet.
I fråga om presentation framhåller Oppenheim och Ward valet av färg och mönster som viktigt för att skapa associationer till fysiska konfektyrbutiker. Guld och brunt ges här som exempel. Den andra viktiga faktorn med specifik koppling till choklad som presenteras handlar om choklad som present. Två exempel på funktioner ges, dels möjlighet till personlig anpassning samt implementationen av en kalender där kunder kan lägga in exempelvis födelsedagar. Denna information kan då utnyttjas för att skicka påminnelser och locka till nya köp.
4
Metod
Projektet att skapa en e-‐butik för chokladpraliner kommer att utföras av ett team bestående av åtta medlemmar som tillämpar ett agilt arbetssätt i enlighet med metoden Scrum. Nedan beskrivs metoden och vidare hur teamet kommer att arbeta med denna för att besvara frågeställningen.
4.1 Definition av Scrum
Scrum är en agil projektmetod som använder ett iterativt, stegvis angreppsätt för att optimera arbetets framgång och minska riskerna i ett projekt. Arbetet utförs i team med och Scrum utgör ett ramverk för hur teamets medlemmar ska interagera med varandra. Metoden ger en flexibel utvecklingsprocess som tillåter ändringar i arbetet även sent i processen. Scrum är utvecklad för att ge en stabil grund för samarbete inom och styrning av projektteam. Det är en passande metod för mjukvaruutveckling då mjukvarans funktionalitet kontinuerligt måste uppdateras för att tillfredsställa kundens behov och följa den tekniska utvecklingen, vilket kräver just en god flexibilitet. (19)
4.1.1 Roller
Det finns tre centrala roller inom Scrum. Dessa är produktägaren, Scrum Mastern och utvecklingsteamet. Produktägaren kan beskrivas som kundens röst. Denna hanterar och tar emot förslag om ändringar i slutprodukten. Produktägaren styr teamet i rätt riktning, tillhandahåller resurser och prioriterar vad som är viktigast att implementera. Ofta är det kunden som är produktägare men det kan även vara en person från den interna organisationen. Produktägaren bör ha goda ingenjörskunskaper likaväl som kunskaper inom marknadsföring och affärsprocesser. (19)
Scrum Masterns uppgift är att fungera som en coach för teamet och se till att arbetet förs framåt. Denna har som mål att undanröja hinder för arbetsprocessen och ansvarar för att teamet arbetar enligt metodiken som är Scrum. Scrum Mastern sköter det administrativa arbetet och ansvarar för kommunikation med intressenter som inte tillhör utvecklingsteamet. (19)
Utvecklingsteamet är det självorganiserande team som arbetar med själva utvecklingen av produkten. Teamet ska bestå av fem till nio medlemmar för att främja ett så bra arbete som möjligt. I ett optimalt team finns all kompetens som behövs för att utföra den aktuella uppgiften och ingen hjälp utifrån ska behövas. Alla teamets medlemmar ska ha kompetens inom alla områden som teamet arbetar med. Detta hindrar dock inte att det finns experter inom teamet. (19)
4.1.2 Produktbacklogg
I samråd med teamet ska produktägaren skapa en specifikation med alla tänkbara funktionaliteter som skulle kunna ingå i slutprodukten (20). Dessa kategoriseras sedan som nödvändiga, önskvärda eller onödiga och prioriteras därefter. Denna så kallade produktbacklogg används sedan som underlag till utvecklingsarbetet.
Backloggen innehåller all information om alla funktioner som ska finnas i den slutgiltiga produkten.
Produktbackloggen är uppbyggd av user-‐stories, vilka är beskrivningar av en eller flera funktioner i applikationen ur ett användarperspektiv. Dessa beskrivs ofta med hjälp av mallen: “Som en <viss typ av användare> vill jag <utföra uppgift> så att <önskat resultat>”. Varje user-‐story har även ett acceptanstest som måste uppfyllas innan en user-‐story anses färdigutvecklad. (21)
4.1.3 Sprintplanering och sprintbacklogg
Att arbeta enligt Scrum innebär att arbetet görs genom iterationer med delleveranser. Varje iteration kallas för en sprint och börjar med en sprintplanering. Under sprintplaneringen bestämmer teamet vad som ska implementeras under sprinten och en plan för hur implementeringen kommer att ske utformas. Detta kallas en sprintbacklogg och baseras på produktbackloggen. Urvalet till sprintbackloggen baseras på de user-‐stories i produktbackloggen med högst prioritet som inte implementerats ännu. (20)
4.1.4 Daily Scrum
Under sprintens gång har teamet Daily Scrums. Daily Scrums är korta möten, max 15 minuter, där teamet går igenom vad varje teammedlem arbetar med och hur arbetet går. Dessa möten är bra för att dela information om sitt arbete och hela teamet får direkt veta vad de andra teammedlemmarna arbetar med. Typiskt brukar tre frågor besvaras av varje teammedlem vid ett Daily Scrum:
• Vad har jag gjort sedan sist? • Vad ska jag göra till nästa gång? • Vilka problem har jag stött på? (21)
4.1.5 Sprint review
I avslutningsfasen av varje sprint genomförs en sprint review där den senaste sprinten granskas och resultaten av sprinten visas upp för produktägaren och andra intressenter. Detta görs för att få en bra bild av vad som är färdigt i projektet och vad som är kvar att göra. (22)
4.1.6 Sprintretrospektiv
Allra sist hålls ett sprintretrospektiv som är teamets utvärdering av sprinten. Här belyses brister och problem men även det som fungerat bra under arbetets gång. Det kan vara moment i utvecklingsprocessen, hur teamet arbetat tillsammans eller hur olika verktyg fungerat. Tillsammans tar teamet fram ett förbättringsförslag som kan appliceras på kommande sprintar. (20)
4.2 Teamets utvecklingsmetodik
Arbetet kommer att inledas med utformning av en projektplan samt ett gruppkontrakt. Genom detta får teamet en grund till arbetet och ett antal riktlinjer att arbeta efter. I projektplanen kommer tidplaner för de olika sprintarna att finnas. Dessa kommer att innehålla alla deadlines som gäller under respektive sprint. Teamet kommer även att göra en riskanalys för att bättre kunna hantera och minimera de risker som skulle kunna uppstå under projektets gång.
Teamet kommer att tillämpa metoden Scrum i likhet med beskrivningen ovan, dock kommer vissa modifikationer av arbetssättet vara nödvändiga. Eftersom produkten skapas efter en egen idé och inom ramarna för ett antal förutbestämda krav kommer teamet agera produktägare. Arbetet görs i tre sprintar som är fem veckor vardera och gruppen består av åtta personer, varav två arbetar på distans från Singapore. Den första sprinten, sprint 0, kommer att fokusera på en förstudie medan sprint 1 och sprint 2 kommer att fokusera på den faktiska utvecklingen av e-‐butiken.
4.2.1 Brainwriting
Vid utformningen av produktbackloggen kommer teamet använda Brainwriting. Det är en idégenereringsmetod som syftar till att identifiera möjliga funktioner som systemet skulle kunna bestå av utan krav på kvalitet. Metoden skiljer sig från Brainstorming som kan begränsa mängden idéer. Begränsningen beror ofta på olika personligheter bland deltagare som kan resultera i att vissa idéer inte framkommer. Brainwriting tar däremot hänsyn till samtliga deltagares åsikter och idéer då alla deltagare får möjlighet att generera idéer enskilt utan inbördes kommunikation. Deltagarna byter efter en viss tid idéer med varandra och möjlighet till att expandera andras förslag skapas. Detta resulterar i en stor mängd idéer från alla deltagare. (23)
Metodiken kommer att användas genom att varje teammedlem blir tilldelad ett papper bestående av en tom tabell. Medlemmarna får sedan två minuter att skriva ner tre möjliga funktioner på översta raden. Teamet roterar därefter samtliga papper. Varje medlem läser igenom alla funktioner på det nya pappret och två minuter ges till att skriva ner tre nya funktioner gärna som en expansion av funktioner som tidigare nämnts på pappret. Detta upprepas tills pappren roterat ett varv.
4.2.2 Funktionsanalys
Efter att Brainwriting utförts kommer teamet att ha ungefär 100 idéer om funktioner till applikationen. För vidareutveckling av resultaten från Brainwriting kommer funktionsanalys att användas. Funktioner klassificeras då som nödvändiga, önskvärda eller onödiga med utgångspunkt i systemets målgrupp som presenteras närmare i bilaga 5, marknadsföringsplan. Klassificeringen kommer att grundas på följande kriterier:
• De funktioner som krävs för att uppfylla visionen för applikationen anses som nödvändiga.
• De funktioner som ökar konkurrenskraften gentemot konkurrerande sidor anses som önskvärda.
• Funktioner som teamet inte anser tillför tillräckligt värde för applikationen i förhållande till resursåtgången klassas som onödiga.
Om åsikter kring klassificering skiljer sig får alla teammedlemmar möjlighet att utrycka sin synvinkel och sedan kommer en omröstning att ske. Idéer som beskriver liknande funktionalitet kommer sättas samman.
4.2.3 Konceptgenerering och prototyp
Med funktionsanalysen som grund kommer arbetet med att ta fram en prototyp påbörjas. Samtliga medlemmar i teamet kommer att få möjlighet att ta fram ett prototypförslag där fokus i första hand kommer ligga på de tekniska lösningarna och deras implementation i gränssnittet. Den grafiska utformningen avgörs sedan när ett gemensamt beslut tagits om hur funktionerna ska placeras. Till grund för arbetet med prototyperna kommer den slutgiltiga listan på funktioner som tagits fram under funktionsanalysen ligga.
4.2.4 Marknadsundersökning
En marknadsundersökning som sker online via en enkät kommer att genomföras innan implementeringen av webbapplikationen startar. För att nå ut till potentiella deltagare ska teammedlemmarna ta kontakt med bekanta som ska svara på enkäten. Målet är att ha minst 50 deltagare i olika åldrar. Frågorna i undersökningen kommer att handla om de deltagandes bakgrund och deras inställning till Pralinbutiken samt möjliga funktioner i webbapplikationen. Efter undersökningen genomförts sker en utvärdering av resultatet. E-‐butiken kommer sedan att utformas med hänsyn till detta resultat.
4.2.5 Möten
Under arbetets gång kommer ett antal olika möten att hållas. I största möjliga mån närvarar alla teammedlemmar på samtliga möten. De som arbetar på distans kommer att vara med på mötena via Skype.
Vid inledningen av varje sprint kommer teamet att hålla ett sprintplaneringsmöte för att planera vad som ska ingå i den kommande sprinten. Under mötet gås produktbackloggen igenom och en sprintbacklogg skapas utifrån de user-‐stories som har högst prioritet.
Daily Scrums kommer att vara en stor del i utvecklingsmetodiken. Dessa kommer inte att hållas dagligen, men minst tre gånger per vecka. Anledningen till att Daily Scrums inte hålls dagligen är teammedlemmarna på distans. Teamet anser att det blir för svårt att dagligen hitta en tid som fungerar för alla medlemmar. Istället har teamet valt att hålla dessa möten måndagar, onsdagar och fredagar. Vid varje möte berättar alla teammedlemmar vad som uträttats sedan sist, vad som planeras att göras till nästa gång och uppkomna problem. Tillsammans kommer teamet sedan att försöka lösa de problem som uppstått, detta sker dock utanför mötestiden.
I slutskedet av varje sprint kommer en sprint review att hållas. Tillsammans kommer teamets medlemmar gå igenom vilka resultat som uppnåtts under sprinten och vad som behöver göras i nästa sprint. Detta kommer teamet sedan att använda som underlag vid planering av nästa sprint. Dessa möten hålls internt i samband med att teamet förbereder den presentation av arbetet som ska göras i slutet av respektive sprint.
Retrospektivmöten är ett av de sista mötena som kommer hållas i varje sprint. Då kommer teamet att diskutera hur arbetet fungerat under den gångna sprinten. Medlemmarna i teamet fyller i en teamutvärderingsblankett inför detta möte. Tillsammans går sedan teamet igenom utvärderingarna. Alla medlemmar i teamet får möjlighet att dela sina åsikter om vad som fungerat bra och mindre bra. Teamet går sedan igenom dessa åsikter för att belysa styrkor och svagheter med arbetet. För de svagheter som upptäcks tas förbättringsförslag fram som kan tillämpas i framtiden. Mötet avslutas med att ett antal förbättringsförslag väljs ut för att fokuseras på i nästkommande sprint.
4.3 Utvecklingsprocessen
Utvecklingsprocessen kommer att ha en produktbacklogg som grund. Teamet kommer att ha mallen: “Som en <viss typ av användare> vill jag <utföra uppgift>” till produktbackloggen då det önskade resultatet är uppenbart utifrån de uppgifter som ska utföras. Eftersom teamet själva är produktägare är det även teamet som sätter ihop produktbackloggen och bestämmer vad som ska ingå i denna.
Teamet kommer att välja ut vilka user-‐stories som ska ingå i sprintbackloggen och därmed ska implementeras under respektive sprint. Varje teammedlem får sedan ansvar för att en eller flera user-‐stories implementeras. Detta innebär inte att den ansvarige ensam måste implementera hela user-‐storyn men denne har det huvudsakliga ansvaret för att implementeringen utförs.
Under utvecklingen av Pralinbutiken kommer teamet arbeta med kontinuerlig integration vilket ligger inom ramen för agil utvecklingsmetodik. Detta innebär att all kod som skrivs omedelbart distribueras så att övriga teammedlemmar ges tillgång till koden och kan fortsätta bearbeta alternativt testa den.
4.3.1 Intern testning
Testning kommer att göras med hjälp av ett “kompis”-‐system. Varje teammedlem blir tilldelad en “kompis” i teamet att diskutera med. När en implementering av en user-‐ story eller funktionalitet är gjord kommer kompisen att testa denna för att kontrollera om de uppställda kraven som beskrivs i kravspecifikationen uppfylls. Om allting fungerar som det ska och uppfyller kraven för definition of done är implementeringen färdig. Genom att ha en testkompis undviks problemet med personlig blindhet.
Senare i utvecklingen planeras att teamet ber personer som inte tillhör teamet om hjälp med testning. Dessa personer ska då få använda webbapplikationen för att