• No results found

BILAGA 13 – ERFARENHETSSAMMANFATTNING, ELLEN FRANSSON 95

Denna   erfarenhetssammanfattning   kommer   beskriva   mina   processrelaterade   erfarenheter,  mina  tekniska  erfarenheter  och  mina  mål.  

 

21.1 Processrelaterade  erfarenheter  

Arbetet  utfördes  enligt  en  agil  metodik  kallad  Scrum  och  den  var  helt  ny  för  teamets   samtliga   medlemmar.   Metodiken   var   lämplig   att   använda   eftersom   en   mjukvara   utvecklades   och   vikten   av   flexibiliteten   var   stor.   En   nackdel   var   att   metodiken   inte   implementerades  exakt  så  som  den  implementeras  i  verkligheten  med  tanke  på  att   en   produktägare   saknades.   En   produktägare   utgör   nämligen   en   av   de   tre   fundamentala  rollerna  i  Scrum  (31).  Om  en  produktägare  hade  funnits  hade  det  varit   viktigt  för  teamet  att  ha  ett  nära  samarbete  med  denna.  Teamet  hade  då  behövt  ta   hänsyn   till   produktägarens   krav   och   önskemål.   Vi   hade   dessutom   behövt   ha   kontinuerliga   avstämningar   med   produktägaren   för   att   säkerställa   att   utvecklingen   gav  önskat  resultat.  

 

Avsaknaden  av  produktägare  ledde  till  att  teamet  själva  blev  tvungna  till  att  fundera   över   och   bestämma   hur   e-­‐butiken   skulle   utformas,   vilket   faktiskt   var   en   bra   erfarenhet.  Det  var  många  funktioner  som  egentligen  var  helt  uppenbara  men  som   teamet   från   början   missade   att   lägga   till   i   produktbackloggen.   För   att   undvika   missarna  hade  vi  själva  kunnat  sätta  oss  in  i  en  kunds  situation  och  gå  igenom  alla   nödvändiga   steg   för   att   utföra   ett   köp   och   stämma   av   det   med   alla   user-­‐stories   i   produktbackloggen.  Om  jag  kommer  att  agera  produktägare  i  framtiden  kommer  jag   definitivt  att  ta  hänsyn  till  denna  lärdom  och  därför  vara  noga  med  att  tänka  igenom   min  kravspecifikation  ordentligt  så  grundläggande  aspekter  inte  missas.  

 

I  början  av  projektet  satt  teamet  sällan  och  arbetade  tillsammans.  Det  fungerade  bra   då   information   till   rapporten   skulle   inhämtas,   men   mindre   bra   under   utvecklingsarbetet   med   e-­‐butiken.   Därför   bestämde   den   del   av   teamet   som   befann   sig   i   Linköping   för   att   sitta   och   arbeta   tillsammans   i   samma   rum   oftare.   Det   hade   många   fördelar   som   alla   närvarande   teammedlemmar   upplevde.   Det   ökade   kommunikationen   inom   gruppen   och   stärkte   därmed   teamkänslan.   Dessutom   underlättade  det  vid  problemlösandet  eftersom  det  då  var  möjligt  att  fråga  en  annan   teammedlem  som  fanns  i  närheten  om  hjälp.  Ytterligare  en  fördel  var  att  det  gav  en   bättre   helhetsbild   över   projektets   utveckling   då   teammedlemmarna   kontinuerligt   uppdaterade  varandra  genom  muntlig  kommunikation.  

 

När   teamet   bestämde   sig   för   att   arbeta   i   samma   rum   beslutades   att   dessa   tillfällen   inte   skulle   vara   obligatoriska.   Det   var   en   stor   nackdel   på   så   sätt   att   det   ofta   var   personer   frånvarande   vilket   innebar   att   de   positiva   effekterna   minskade   markant.   Beslutet   togs   på   grund   av   att   teammedlemmarna   själva   ville   kunna   avgöra   hur   de   skulle   planera   sin   tid   och   vissa   upplevde   att   de   arbetade   bättre   på   egen   hand.   Däremot  tror  jag  att  teamet  som  helhet  hade  vunnit  på  att  ha  fasta  tider  för  arbete   tillsammans   i   samma   rum   på   grund   av   alla   tidigare   nämnda   fördelar.   Dessutom   är   det   rekommenderat   att   arbeta   i   samma   rum   inom   Scrum   (32).   Vissa   teammedlemmar  föredrog  att  arbeta  på  egen  hand  vilket  jag  snarare  tror  beror  på  att   de  är  vana  vid  att  göra  det  än  att  de  har  svårt  för  det.  Utifrån  detta  tar  jag  med  mig  att  

ett   nära   samarbete   är   viktigt   vid   teamarbete   och   att   en   enkel   metod   för   att   uppnå   detta  är  att  arbeta  på  samma  plats  under  bestämda  tider.  

 

21.2 Teknikrelaterade  erfarenheter  

Då   e-­‐butiken   utvecklades   integrerades   flera   programmeringsspråk,   bland   annat   HTML,   JavaScript   och   Python.   Till   följd   av   detta   lärde   jag   mig   att   förstå   hur   dessa   fungerar.  Vissa  av  språken,  som  jag  arbetade  mer  frekvent  med,  fick  jag  en  fördjupad   kunskap   i.   Många   av   dem   hanterar   jag   numera   bra.   Däremot   upplever   jag   att   min   kunskap   inom   exempelvis   JavaScript   är   ytlig.   Anledningen   till   det   är   troligtvis   att   JavaScript   är   komplicerat   och   svårt   att   lära   sig.   Python,   HTML   och   CSS   är   mycket   enklare  och  språk  som  jag  numera  anser  mig  vara  väl  insatt  i.  

 

På   grund   av   att   jag   inte   var   bekant   med   språken   sedan   tidigare   uppstod   flera   problem   gällande   hur   koden   skulle   formuleras.   För   att   lösa   dem   var   Google   ett   ständigt   hjälpmedel   eftersom   det   finns   mycket   givande   information   att   hämta   därifrån.  Det  ökade  min  förmåga  att  lösa  problem  på  egen  hand,  vilket  är  en  oerhört   bra   erfarenhet.   Det   tar   jag   med   mig   till   framtida   arbeten   där   liknande   problem   säkerligen  kommer  att  förekomma.  

 

Vid   arbetet   användes   den   integrerade   utvecklingsmiljön   PyCharm.   Denna   liknar   tidigare  använda  utvecklingsmiljöer  i  flera  avseenden,  vilket  säkerligen  bidrog  till  att   jag   fann   den   enkel   att   hantera.   PyCharm   innehåller   en   debugger-­‐funktion   som   upptäcktes   sent   i   utvecklingsprocessen.   Det   hade   varit   önskvärt   om   funktionen   upptäckts  tidigare  för  den  hade  kunnat  underlätta  arbetet  vid  ett  flertal  tillfällen  då   felsökning   behövde   genomföras.   Till   exempel   hade   den   kunnat   användas   för   att   ta   reda  på  exakt  vad  det  var  som  gick  fel  när  sidan  kraschade.  Under  projektets  gång   fick  jag  gissa  och  testa  mig  fram  vid  sådana  situationer  vilket  tog  lång  tid.  Eftersom   debugger-­‐funktionen  upptäcktes  så  pass  sent  under  utvecklingen  hamnade  jag  aldrig   i  en  situation  där  den  var  användbar.  Därmed  använde  jag  den  inte  på  egen  hand  och   till   följd   av   det   lärde   jag   mig   tyvärr   inte   dess   fulla   funktion.   En   funktion   jag   dock   utnyttjade  ofta  var  möjligheten  att  se  historik  för  de  skapade  filerna.  Detta  särskilt  på   grund  av  att  jag  behövde  se  och  återinföra  kod  som  försvunnit  vid  uppladdning  eller   hämtning  från  GitLab.  

 

Utvecklingsmiljön   innehåller   troligtvis   flera   andra   för   mig   okända   funktioner   som   hade  varit  användbara  vid  arbetet  med  e-­‐butiken  och  jag  tror  att  många  av  de  andra  i   teamet  har  samma  uppfattning.  För  att  undvika  att  sådana  funktioner  inte  upptäcks   hade   teamet   kunnat   lägga   ner   tid   på   att   undersöka   och   testa   utvecklingsmiljön   antingen  tillsammans  eller  individuellt.  De  två  ovan  nämnda  funktionerna  upptäckte   jag  först  då  en  annan  person  visade  mig  dem  och  jag  tror  att  teamet  hade  kunnat  bli   mycket   bättre   på   att   hantera   PyCharm   om   samtliga   medlemmar   hade   förmedlat   upptäckter   av   inbyggda   funktioner   till   de   andra.   Om   jag   skulle   göra   om   uppgiften   eller   genomföra   ett   liknande   projekt   hade   jag   tveklöst   lagt   större   vikt   vid   att   sätta   mig  in  i  utvecklingsmiljöns  funktionalitet.  Detta  för  att  kunna  utnyttja  verktyget  i  en   högre  grad  och  på  så  sätt  få  ett  effektivare  arbete.  Jag  skulle  definitivt  vilja  använda   PyCharm   igen   eftersom   det   är   ett   smidigt   verktyg   med   många   användbara   funktioner.  

 

21.3 Mina  mål  

De  två  stora  målen  jag  hade  inför  projektet  var  att  utveckla  min  samarbetsförmåga   och   lära   mig   nya   programmeringsspråk   samt   verktyg.   Det   första   målet   uppfylldes   genom  alla  erfarenheter  jag  fick  gällande  teamrelaterat  arbete  och  användandet  av   arbetsmetodiken  Scrum.  Det  andra  målet  blev  också  uppfyllt  eftersom  jag  fick  arbeta   med  programmeringsspråk  och  verktyg  som  jag  inte  använd  tidigare  och  lärde  mig   hur  dessa  fungerade.