• No results found

BILAGA 11 – ERFARENHETSSAMMANFATTNING, TOMAS CALMFORS 89

19.1 Tekniska  erfarenheter  

Mitt  huvudansvar  inom  utvecklingsprojektet  har  varit  orderhistorik,  rangordning  av   praliner   samt   design   av   databasen.   Detta   har   inneburit   att   jag   har   fått   arbeta   med   webbapplikationen  på  flera  olika  nivåer  i  systemet.  På  så  sätt  har  jag  fått  god  inblick  i   hela   projektet   och   hur   olika   delar   som   databas,   klient   och   server   hänger   ihop   och   kommunicerar   med   varandra.   Jag   har   också   lärt   mig   många   olika   programmeringsspråk  på  detta  vis  till  exempel  HTML,  SQL,  AJAX,  JavaScript,  Python   och   Bootstrap.   En   annan   sak   jag   la   märke   till   var   vikten   att   förstå   övriga   teammedlemmars   funktioner   och   lösningar.   Vid   flera   tillfällen   påverkades   de   funktioner   som   jag   arbetade   med   av   hur   andra   funktioner   implementerats   och   tvärtom  vilket  kunde  leda  till  extra  arbete.  Till  exempel  var  funktionaliteten  för  att   beställa  en  gammal  order  igen  starkt  kopplad  till  kundkorgen.  För  att  undvika  extra   arbete   på   grund   av   detta   skulle   jag   i   framtiden   tidigare   fundera   över   vilka   andra   delar  av  webbapplikationen  som  kan  påverka  mitt  arbete  och  aktivt  sätta  mig  in  i  hur   dessa  fungerar.    

 

Utvecklingen  av  sidan  som  en  single  page  application  har  också  varit  lärorikt.  Från   början   missuppfattade   teamet   vad   detta   innebar   och   sådan   funktionalitet   utvecklades  inte.  När  detta  uppdagades  fick  en  stor  del  av  arbetet  planeras  om  och   mycket   tid   behövde   läggas   på   detta.   Skulle   vi   prioriterat   detta   tidigare   hade   single   page   säkerligen   implementerats   på   ett   effektivare   sätt.   Mycket   kunskap   kring   hur   applikationen   kunde   blivit   snabbare   och   smidigare   gick   därför   förlorad.   För   att   undvika   liknande   missförstånd   kommer   jag   i   framtiden   lägga   mer   tid   på   att   förstå   samtliga  krav  och  planera  arbetet  därefter.  En  positiv  konsekvens  av  detta  var  dock   att  mycket  tid  kunde  läggas  på  applikationens  funktionalitet.  Vid  projektet  slut  är  e-­‐ butiken   utrustad   med   många   välfungerande   funktioner   något   som   är   tillfredsställande.    

 

Under   utvecklingen   har   versionshanteringssystemet   Git   använts   för   att   distribuera   kod  mellan  teammedlemmarna.  De  tillfällen  Git  har  fungerat  har  dess  fördelar  blivit   uppenbara.  Systemet  framstår  då  som  smidigt  och  framförallt  som  en  försäkring  då   äldre  versioner  av  applikationen  alltid  kan  återskapas.  Tyvärr  har  Git  strulat  för  mig   vid   ett   flertal   tillfällen.   Det   har   varit   problem   med   såväl   nedladdning   som   uppladdning  av  kod.  Vid  flera  tillfällen  har  vi  fått  arbeta  runt  detta  problem  genom   att  skicka  filer  genom  andra  kanaler  och  låta  någon  annan  i  teamet  ladda  upp  dem.   Det  jag  kan  ta  med  mig  från  dessa  erfarenheter  är  vetskapen  om  att  system  som  Git   kan   ha   stora   fördelar   vid   utveckling.   En   djupare   förståelse   för   användandet   av   systemet   hade   dock   varit   önskvärt.   Ofta   har   Git   nyttjas   på   till   synes   samma   vis   på   olika   enheter   men   trots   detta   bara   fungerat   på   vissa.   Vad   detta   beror   på   kunde  

teamet   inte   förstå.    

 

Mina   personliga   tekniska   mål   i   projektet   var   att   utveckla   min   kunskap   inom   webbprogrammering  och  få  en  överblick  kring  hur  en  webbapplikation  är  uppbyggd.   Detta   upplever   jag   att   jag   åstadkommit,   trots   en   del   problem   på   vägen.   Jag   har   verkligen  fått  arbeta  med  många  olika  delar  i  utvecklingen  och  arbetat  med  språk  jag  

aldrig   använt   tidigare.   Det   har   också   lett   till   ett   ökat   intresse   i   webbutveckling.      

19.2 Processrelaterade  erfarenheter  

Genom   hela   projektet   har   utvecklingsmetodiken   SCRUM   tillämpats.   Detta   var   en   metod   som   var   helt   ny   för   mig.   Inledningsvis   upplevde   jag   den   också   som   märklig   och  jag  ställde  mig  ganska  skeptisk  till  den.  Detta  berodde  antagligen  på  att  SCRUM   skiljer   sig   mycket   från   de   mer   traditionella   arbetssätt   som   jag   stött   på   i   tidigare   projekt.  En  annan  anledning  kan  vara  att  den  inledande  sprinten  inte  innehöll  någon   programmering  eller  utveckling  utan  enbart  planering  och  rapportskrivande  där  den   inte   passar   lika   väl.   Allteftersom   projektet   fortlöpte   fungerade   dock   SCRUM   smidigare  och  effektivare.  

 

En  av  de  aspekter  i  SCRUM  som  jag  och  övriga  teammedlemmar  uppskattade  mest   var  sprintretrospektiven.  Dessa  ledde  till  många  förbättringar  av  teamets  arbetssätt.   Den   största   fördelen   med   dessa   var   att   man   fick   en   fast   punkt   då   teamet   skulle   utvärderas  och  förbättringsförslag  tas  fram.  På  så  sätt  upplevdes  det  aldrig  som  att   någon  framförde  kritik,  något  som  kan  leda  till  konflikter  inom  gruppen.  Istället  blev   det   en   plattform   för   bra   diskussion   kring   vad   vi   gjort   bra   och   vad   som   kan   göras   bättre.   Exempelvis   infördes   demonstrationsmöten,   skype-­‐möten   och   en   kommunikationsplan   som   följd   av   retrospektiven   vilket   har   underlättat   och   effektiviserat   teamets   fortsatta   arbete.   Denna   aspekt   av   SCRUM   är   något   jag   verkligen  kommer  att  ta  med  mig  till  framtida  projekt  oavsett  om  de  följer  SCRUM   eller  inte.    

 

Kommunikationsplanen  som  togs  fram  i  samband  med  sprintretrospektiven  var  en   annan  mycket  positiv  erfarenhet.  Tidigare  har  jag  varit  tveksam  till  framtagandet  av   en  kommunikationsplan  då  jag  har  haft  svårt  att  se  dess  fördelar.  Detta  har  berott  på   att   jag   faktiskt   aldrig   använt   mig   av   en   i   praktiken.   Efter   att   nu   ha   arbetat   så   pass   länge   i   ett   stort   projekt   har   jag   fått   omvärdera   detta   ställningstagande   då   denna   underlättade   kommunikation   inom   teamet.   Eftersom   vi   var   så   pass   många   som   arbetade   i   projektet   samt   att   två   av   teammedlemmarna   arbetade   på   distans   från   Singapore   användes   många   olika   kommunikationskanaler   så   som   Skype,   Facebook,   SMS  och  Messenger.  Detta  ledde  till  att  det  blev  väldigt  rörigt  och  man  fick  leta  efter   information  på  flera  ställen  något  som  kostade  tid  och  ork.  Kommunikationsplanen   strukturerade   upp   informationsflödet   och   ledde   till   att   man   direkt   visste   var   man   skulle  leta.  Dock  gör  kommunikationsplanen  större  nytta  desto  större  projektet  och   projektgruppen  är,  en  uppfattning  som  jag  fortfarande  delar  (29).  Min  erfarenhet  är   att  i  mindre  projektgrupper  om  2-­‐4  personer  fungerar  informationsflödet  bra  ändå.    

En   annan   ny   upplevelse   var   det   faktum   att   två   av   teammedlemmarna   arbetade   på   distans   under   hela   projektet.   Detta   ledde   till   många   nya   utmaningar,   i   form   av   att   involvera  dessa  i  möten,  diskussioner  och  utveckling.  På  det  hela  taget  tycker  jag  det   har  fungerat  väldigt  bra,  långt  över  de  förväntningar  jag  hade  inför  projektet.  De  har   varit  närvarande  på  samtliga  möten  via  Skype  vilket  har  fungerat  bra  i  de  flesta  fall.   Ibland  har  det  varit  problem  med  uppkopplingen  men  detta  har  ofta  varit  temporärt.   Att   involvera   dem   i   utvecklingsfasen   har   nog   varit   det   som   gått   smidigast.   Jag   har   uppfattat   det   som   att   mjukvaruutveckling   är   ett   väl   lämpat   område   för   arbete   på  

distans  då  det  är  lätt  att  dela  med  sig  av  kod  via  internet  och  system  som  Git.  Det  som   har   varit   den   största   utmaningen   var   att   få   med   dem   i   den   löpande   diskussionen.   Dialogen   mellan   de   teammedlemmar   som   befunnit   sig   på   plats   går   ofta   snabbt   och   det  är  svårt  att  bryta  in  i  samtalet  via  videolänk.  Vi  försökte  lösa  detta  genom  att  ha   flera  möten  där  samtliga  medlemmar  var  närvarande  via  Skype  för  att  på  så  sätt  ge   alla   samma   förutsättningar.   Detta   fungerade   hyffsat   men   ofta   återgick   vi   till   de   vanliga  rutinerna.    

 

Det   har   varit   väldigt   lärorikt   att   under   en   längre   tid   arbeta   med   vissa   teammedlemmar   på   distans   och   det   känns   som   något   jag   kommer   ha   stor   användning   av   i   framtiden.   Det   är   antagligen   inte   den   sista   gången   jag   hamnar   i   liknande  situationer.  

   

Mina  processrelaterade  mål  var  på  förhand  att  lära  mig  mer  om  hur  arbetet  sköts  på   ett  bra  sätt  i  en  större  projektgrupp  samt  att  ha  ett  nära  samarbete  inom  teamet  trots   att   vissa   inte   befann   sig   på   plats.   Detta   har   varit   nya   erfarenheter   för   mig   och   jag   upplever  att  jag  dragit  många  lärdomar  av  arbetet.  Sammantaget  skulle  jag  säga  att   arbetet  fungerat  över  förväntan.