Arbetet med Pralinbutiken har varit en väldigt givande process, med ett omfång som är svårt att jämföra med någonting jag tagit mig an tidigare. Det har krävt av oss att på egen hand lära oss många olika programmeringsspråk och tekniker vilket jag upplever som otroligt givande i att leda en personlig kompetensutveckling. Det är något som annars sällan står i fokus under universitetsstudierna. Storleken på projektet har dessutom varit betydligt större än de typer av projekt som vanligen ges, och att arbeta i ett större team med detta har lämnat många intryck och erfarenheter som jag tar mig med till framtida projekt.
22.1 Processrelaterade erfarenheter
Arbetsprocessen har i huvudsak byggt på arbetsmetoden Scrum, och den har lämnat betydligt starkare intryck på mig än vad jag hade kunnat ana. Tidigt under projektet upplevde jag det som ett onödigt omständligt sätt att arbeta på med, exempelvis för att scrummötena inte var särskilt givande när vi främst jobbade med rapporten. Då var allt fortfarande överskådligt och det var sällan någon hade några problem. Allt eftersom projektet gick över i programmering och omfånget på arbetet växte så blev dock Scrums fördelar tydligare. Mer eller mindre dagliga möten i form av Daily Scrum upplever jag som inte bara ett bra sätt att hålla hela teamet uppdaterade på arbetets fortgång, jag ser idag även fördelarna i att öka transparensen inom projektet. Det blir ett effektivt sätt att lyfta fram de som gör stora framsteg med sina delar av arbetet vilket jag tror skapar motivation för hela teamet att prestera individuellt, i linje med Daily Scrum som ett tillfälle för teamet att inspektera varandras arbete. (32) För arbete i större grupper i framtiden kommer jag ta med mig grundkonceptet, regelbundna möten av den typen förefaller vara utmärkta för att få ut maximalt engagemang av samtliga i teamet.
Den iterativa processen, med flera sprintar, är en del av Scrum som jag också tar med mig som en effektiv del av processen. Även om löpande utvärderingar av arbetet inte är unikt för Scrum som arbetsmetod upplever jag det upplägg med sprintretrospektiv som användes som väldigt effektivt. Att verkligen sätta sig ner och ta tiden som krävs för att verkligen fundera över vad som fungerat bra respektive mindre bra gav bra resultat. Även om arbetetsuppgifternas ständiga utveckling resulterade i att inte alla förbättringsförslag enkelt kunnat implementeras i nästa sprint, så gav retrospektiven upphov till många förbättringar.
Att uppleva hur nöjdheten inom teamet ökade för varje sprint kändes också otroligt häftigt, och jag tror sättet på vilket vi arbetade med retrospektiven hade en stor del i det. När alla får möjlighet att uttrycka sina tankar inför de andra ger det även mer försiktiga medlemmar av teamet möjlighet påverka arbetet och göra sin röst hörd. Jag ser ett uppenbart värde i att under framtida projekt utvärdera under arbetets gång, även när arbetet fortgår effektivt. Finns det tankar om hur arbetet kan göras annorlunda bör det uppmärksammas av teamet, om inte annat för att ett team där alla får komma till tals leder till högre tillfredsställelse, som in sin tur höjer motivationen.
För mig personligen ligger dock den största processrelaterade erfarenheten i att arbeta på distans. Att under hela arbetets gång ha befunnit mig i Singapore på utbytesår har inneburit att allt arbete tagit lite andra former och förutsättningarna har sett annorlunda ut. Jag har både överraskats av hur väl det fungerar ibland och fått insikter i hur mycket extra planering som krävs för att alla moment ska fungera problemfritt vid distansarbete. Möten framför allt har kunnat hamna på båda ändarna av skalan. Scrummöten har ofta fungerat helt problemfritt och djupare diskussioner om funktionalitet fungerar nästan alltid förvånansvärt bra. Däremot blir det minde gångbart att jobba på distans när gruppen gemensamt ska gå igenom en text eller sätta ihop en presentation. Att inte se det som dom ser på sin skärm gör en fullständigt avklippt, och man kan inte bidra med något vettigt. Att viss arbetsuppdelning är ett måste när delar av teamet befinner sig på annan ort är uppenbarligen oundvikligt.
Ljudkvaliteten vid samtalen har i princip alltid varit ett hinder, även om det ofta är överkomligt. Jag har missat en del detaljer som sagts när personer sitter för långt ifrån datorn och inte höjer rösten, och det har försvårat att föra en ledig konversation med flera i grupper samtidigt. När man suttit ansikte mot ansikte med någon framför skärmen är det inga som helst problem, men när hela gruppen är aktiv i en konversation blev det ibland för mycket ljud för att hänga med, och ofta rörde sig konversationen så snabbt framåt att jag inte kunde göra instick på ett bra sätt på grund av den fördröjning som uppstår.
Vid sprintredovisningarna har teknik för att underlätta distansarbete används, och även om det inte alltid fungerat felfritt heller så har det tydliggjort att det verkligen är viktigt att det finns beredskap för distanssamtalen. I organisationer med återkommande distansarbeten blir det inte hållbart att förlita sig på en laptop för bild och ljudöverföring så som vi har gjort, och jag inser värdet av en fungerande lösning. Hade vi haft perfekt ljud och bild konstant hade jag känt att jag kunnat ta mer plats och faktiskt försöka leda arbetet framåt. Nu kunde jag ibland känna att jag ville och kanske till och med behövde ta den rollen, men att tekniken stoppade mina möjligheter att faktiskt göra det.
22.2 Tekniska erfarenheter
Jag hade innan projektets start arbetat med HTML och CSS flera gånger tidigare, men övriga delar av den teknik vi använt oss av var för mig okända. Bootstrap, Python, JavaScript, jQuery och Ajax var därför alla hinder som delvis försvårades ytterligare av att jag på distans inte hade tillgång till all den introduktion till dessa språk och ramverk som gavs hemma. Min vana vid att utnyttja internet som lärokälla innebar att jag kunde hantera det ändå, men den stora osäkerheten låg i att aldrig riktigt veta om den information man hittar går i linje med det som lärs ut hemma. Lösningen blev en kombination av att stämma av med gruppmedlemmarna i Linköping och att lita på att man förstått det man hittat tillräckligt väl för att det ska fungera även om det inte stämmer överens till hundra procent.
Sedan första gången jag började sitta med CSS har jag verkligen uppskattat webbdesign, och det kom sig ganska naturligt därför att jag tog på mig ansvaret för
designen av e-‐butiken. Att använda sig av Bootstrap har jag nu förstått gör en otrolig skillnad när det kommer till att effektivt arbeta mot olika skärmstorlekar samt för att slippa designa återkommande komponenter från grunden. Däremot gillar jag att jobba med egen design, och jag tror att vårt team förlitat sig mindre på Bootstrap än vad många andra team gjort just därför. Jag har också jobbat mycket med utskriften av pralinerna på hemsidan, vilket låtit mig arbeta mycket med sammankopplingen mellan SQL-‐Python-‐HTML. Jag har tidigare arbetat i PHP, och även om det har gått lång tid sedan dess och minnet inte är hundraprocentigt, så är min uppfattning att det ramverk vi utgått ifrån under det här arbetet är betydligt smidigare. Koden blir tydlig, och det är förhållandevis lätt att förstå hur saker ska lösas när man lärt sig grunderna.
Idag förlitar sig e-‐butiken tyvärr mycket på upprepade SQL-‐anrop och HTML-‐ utritningar. Resultatet är att det uppstår långa laddningstider när data som redan finns på sidan läses in igen. Denna lösning kom sig naturligt då samtliga i teamet hade bra erfarenheter av att hantera data i SQL men inte jobbat med det tidigare i HTML och JavaScript. Fördelen med detta var att vi kunde implementera funktionerna förhållandevist snabbt, vilket var viktigt då vi satt en hög ribba för mängden funktioner vi ville implementera. Jag hade dock önskat att jag hade kunnat kolla närmare på möjligheten att sortera och filtrera enbart i front-‐end. Då ingen annan bemötte problematiken borde jag ha frågat om någon annan i teamet kunnat ta hand om mina funktioner medan jag försökte läsa på om effektivare lösningar som kunnat vara hjälpsamma för hela teamet. Jag tror också att liknande problem i framtiden bör lyftas fram bättre så att hela teamet är medvetna som situationen och kan ta ett gemensamt beslut om det bör prioriteras eller inte.
Utvecklingen av en Single Page Application har varit en av de knepigare delarna av utvecklingsprocessen, och en som jag såg ner på lite för länge. Implementationen av detta kom sent i utvecklingen, och den begränsade tiden att bygga en förståelse för tekniken gjorde att åtminstone jag personligen hade en ganska negativ bild av den. Så som det slutgiltigt implementerats sker upprepade inladdningar av html-‐filer, vilket förvisso har inneburit mer användning av jQuery och Ajax som hjälpt mig bygga upp en kunskap och förståelse kring dem. Att ha sett hur andra team använt teknikerna betydligt effektivare för att få snabba sidor som inte skickar mycket html-‐ filer har dock öppnat mina ögon för hur mycket man verkligen kan åstadkomma om man har tid och möjlighet att lära sig språken ordentligt. Jag jobbade sannolikt för mycket med att införskaffa kompetens allt eftersom den krävdes, och just med AJAX blev det väldigt tydligt att det inte fungerade. I framtiden kommer jag se till att starta kompetensutvecklingen tidigare och låta den pågå mycket mer löpande, så att jag är mer förberedd när en teknik behövs och kan utnyttja den bättre än bara på det mest grundläggande sättet.
22.3 Personliga mål
Mitt huvudsakliga mål när vi inledde projektet var att det faktum att jag befann mig på distans inte skulle få påverka mitt bidrag till arbetet. Det var viktigt för mig att känna att jag var delaktig, och det upplever jag att jag har lyckats vara. Trots de svårigheter som det geografiska avståndet inneburit har jag försökt vara en pådrivande röst som kommer med förslag och när möjligheten finns försöker leda
arbetet framåt. Jag har tagit på mig stora arbetsuppgifter och varit aktivt delaktig i allt som det funnits möjlighet att vara med på. Ibland har jag känt mig begränsad när det kommer till att förklara mig och försöka visa mina idéer på ett sätt så det blir uppenbart hur jag menar. Likaså har det funnits moment som det inte varit praktiskt att delta i. Men trots detta tycker jag att mitt bidrag till projektet inte varit mindre än någon annans och jag känner att jag lyckats med mitt mål och dessutom fått en otrolig erfarenhet tack vare de utmaningar det inneburit.