2016 Forprosjektrapport GRUPPE 4: SHIFTWORKERS
Forprosjektrapport for Shifter Innhold Presentasjon... 2 Sammendrag... 2 Dagens situasjon... 2 Organisering av prosjektet... 4 Risikoanalyse... 4 Mål og rammebetingelser... 5 Generelt:... 5 Teknisk:... 5 Verktøy... 6 Løsninger/alternativer... 6 Løsning A: Nettside... 6 Fordeler:... 6 Ulemper:... 6 Løsning B: Applikasjon for smarttelefoner og/eller nettbrett.... 6 Fordeler:... 6 Ulemper:... 6 Konklusjon:... 7 Analyse av virkninger... 7 Systemutvikling... 7 Språk / rammeverk:... 7 Utfordringer:... 7 Litteratur... 7 Vedlegg... 8 Tentativ fremdriftsplan... 8 1
Presentasjon Gruppe 4 (ShiftWorkers) er en prosjektgruppe som sammen skriver sin hovedoppgave i Bachelorprogrammet Anvendt datateknologi ved Institutt for Informasjonsteknologi, Fakultet for Teknologi, kunst og design (TKD) ved Høgskolen i Oslo og Akershus (HiOA). ShiftWorkers består av 5 studenter, alle fra Anvendt Datateknologi: Einar Belck-Olsen (kontaktperson) Helene Juterud Roger Bløtekjær Johannessen Halvor Rønneseth Maja Langsrud Sæterstøen Oppgaven består av å lage en applikasjon som skal holde oversikt over vaktskiftene på studentpuben Samfunnet Bislet. Styret i denne studentforeningen står som oppdragsgivere for oppgaven og kontaktpersonen deres er Sindre Säfvenbom. Veileder for oppgaven er Førstelektor ved Institutt for Informasjonsteknologi Kirsten Ribu. Sammendrag Samfunnet Bislet (Samfunnet) er en studentpub i kjelleren på Pilestredet 52 ved HiOA. Samfunnet bemannes av frivillige som også er medlemmer av studentforeningen med samme navn. Samfunnet er i hovedsak åpen på ettermiddag/kveld onsdag til fredag, men leies også ut til private arrangement i helgene og eller si uken. Åpningstiden i ukene er delt opp i to vakter (tidlig og sen) og de frivillige setter seg selv opp på vaktene. Styret har en person som er ansvarlig (Frivilligansvarlig) for å følge opp de frivillige og passe på at vektene blir fylt opp. Dagens situasjon Organiseringen av vaktene på Samfunnet blir gjort gjennom en Facebook-gruppe som heter «Frivillige Samfunnet Bislet 2015-2016» (Figur 1). Denne gruppen er den primære kommunikasjonskanalen mellom de frivillige og styret. Øverst i gruppen er det festet en lenke til vaktlisten. Denne vaktlisten er et Google Sheets regneark (Figur 2) hvor de frivillige kan skrive seg opp i ledige plasser i vaktlisten. Vaktlisten vedlikeholdes av Frivilligansvarlig. Google Sheets ble tatt i bruk høsten 2015 som en prøveording for å tilrettelegge for bruk av smarttelefoner til å sette seg opp på vakt. Før dette ble det brukt et tekstdokument innebygd i Facebook gruppen, men Facekoob-appen tillot ikke redigering av tekstdokumenter. Oppdragsgiver en mer helhetlig løsning for administrering av vaktene og har bedt om et enkelt, brukervennlig og hurtig system som skal kunne benyttes både på desktop og håndholdte enheter som smarttelefoner og nettbrett. Dagens løsning er ikke optimal da det fort kan bli for mange dokumenter å holde styr på. Det er derfor blitt uttrykket et behov for et nytt system som skal kunne gjøre denne jobben lettere for den frivilligansvarlig og de frivillige. 2
Figur 1: Skjermbilde av Facebook-gruppen for de frivillige på Samfunnet Bislet Figur 2: Skjermbilde av vaktlisten i Google Sheets 3
Organisering av prosjektet Gruppen er organisert med en flat struktur der alle har lik innflytelse på avgjørelser som tas i prosjektet. Einar Belck- Olsen fungerer som gruppesekretær og tar seg av kommunikasjonen mellom gruppen og eksterne aktører, dokumentasjon av arbeidet og andre administrative oppgaver. Hver tirsdag samles gruppen til et koordineringsmøte for å oppdatere hverandre på hva de har jobbet med uken som har gått og fordele oppgaver for uken som kommer. Gruppen har også et fast møte med veileder på tirsdager, rett etter koordineringsmøtet. Det koordinerende ansvaret for de forskjellige delene av prosjektet har blitt fordelt mellom medlemmene av gruppen. Dette vil si at det er en person som skal ha den totale oversikten over hva som skjer på dette området av prosjektet, koordinere oppgaver og sørge for at alle er oppdatert på hva som skjer og hvem som jobber med hva. Risikoanalyse I et hvert prosjekt kan det oppstå komplikasjoner og uforutsette problemer underveis. For å håndtere disse best mulig har gruppen satt opp en risikoanalyse. Risiko Sannsynlighet Konsekvens Strategi Ansvarsområde Dokumentasjon Frontend Backend Grafisk design Arkitektur Prototyping Brukertesting Systemtesting Ansvarshavende Einar Helene Halvor Helene Roger Einar Maja Maja Sykefravær < 5 dager Middels Middels Delegere oppgaver som kan gjøres hjemme. Sykefravær > 5 dager Lav Høy Resterende medlemmer må prøve å dekke arbeidsområdene best mulig seg i mellom. Tekniske problemer Middels Stor Finne alternative løsninger på teknologi. Eventuelt vurdere om man skal gå vekk fra påtenkt løsning. Utviklingen blir forsinket Uenighet om beslutninger i prosjektet Middels Middels Gruppen vil fokusere på å utvikle de viktigste funksjonene i systemet først, og deretter det som er ønsket men ikke påkrevd. Høy Stor Har konsekvenser for hva som blir gjort videre i prosjektet. Viktig å holde diskusjonen så faglig som mulig, og unngå at samtalene glir ut. Viktig å komme til enighet på et problem før man går videre til neste for å unngå uløste problemer ved en senere anledning. 4
Frafall fra prosjektet Lav Stor Resterende medlemmer må prøve å dekke arbeidsområdene best mulig seg imellom. Eventuelt vurdere å begrense prosjektet. Kommunikasjons/sam arbeidsproblemer med oppdragsgiver Middels Middels Avtale et møte for å gjenetablere kontakt/komme til enighet. Lokalene (kontor) kan ikke benyttes Høy Middels Finne et annet sted å arbeide. Mål og rammebetingelser Produkteier har kommet med synspunkter på hva systemet skal inneholde og hva den skal gjøre. Kravspesifikasjonen inneholder generelle retningslinjer produkteier ønsker å ha med, men ellers er den ganske åpen slik at vi som utviklere kan bestemme litt hvordan vi på best mulig måte kan møte disse retningslinjene som er beskrevet i kravspesifikasjonen. Det er dermed viktig at systemet hovedfunksjoner blir laget, og at tilleggsfunksjonalitet blir vurdert etter behov. Samfunnet Bislet har uttrykket et ønske om at systemet skal bli tatt i bruk i mai, så dette blir satt som endelig deadline for produktet. Generelt: Systemet utvikles for at de frivillige kan skrive seg på som vakter for de ulike arrangementene Samfunnet Bislet arrangerer. Det er også ønskelig at de ansvarlige skal kunne gå inn og lett få oversikt om det er nok frivillige på de enkelte arrangementene. Systemet skal være enkelt å bruke for alle frivillige ved Samfunnet Bislet. Det vil bli lagt stor vekt på universell utforming når det gjelder interagering på PC, nettbrett og mobil. Dette vil være viktig med tanke på dagens utvikling siden mange av dagens brukere har tilgang til smarttelefoner. Det er også skrevet i kravspesifikasjonen at internsystemet skal kunne brukes og administreres på alle enheter. Teknisk: Systemet skal være enkelt å vedlikeholde, og det skal også utarbeides slik at det skal være mulig å videreutvikle det. Det vil da være gunstig å kommentere godt og gjennomgående i koden, og gjøre rede for hvilke variabler og lignende som brukes. Det kommer frem av kravspesifikasjonen at det er ønskelig med bransjestandard på sikkerhet rundt personvern og personopplysninger. Dette vil det bli lagt vekt på tidlig i prosjektet og være en sentral del av utviklingen sammen med brukervennligheten. 5
Verktøy Verktøy som blir benyttet i utviklingen av alle rapporter og systemet er alle tredjepartsprogrammer, og filtypene benyttet kan åpnes på alle enheter. Verktøy Sublime Text Microsoft Visual Studio Github Google Drive (Docs, Sheets) Microsoft Word Trello Doodle Beskrivelse Tekstbehandlingsprogram med syntaksmerking for programmeringsspråk Utviklingsmiljø for diverse programmeringsspråk. Alternativ til tekstbehandlingsprogram, eller kodebehandling. Fungerer med Github. Versjonshåndtering av kode og systemer under utvikling. Benyttes fra start til slutt i utviklingsprosessen. Teksteditor for skriving av rapporter og oppgaver. Benyttes fordi alle gruppens medlemmer kan skrive samtidig i sanntid. Teksteditor benyttet for å ferdigstille dokumenter til levering, da Google Docs ikke tilfredsstiller på dette punktet. Nettside. Benyttes som Scrumboard for gruppen under hele projektet. Benyttes for å planlegge når hvert enkelt gruppemedlem har mulighet til å delta på møter, intervjuer, brukertesting o.l. Løsninger/alternativer Løsning A: Nettside En web-basert løsning med en database i bunn for å registrere frivillige, administrere vakter og formidle informasjon. Fordeler: Kan kodes med språk som allerede er kjent fra pensum. Kan brukes på tvers av plattformer (desktop, nettbrett, smarttelefon) En enkelt kodebase gjør systemet lettere å vedlikeholde Ulemper: Tar tid å kode, vil kreve større avgrensninger Kan kreve å ukjente rammeverk og kodespråk Løsning B: Applikasjon for smarttelefoner og/eller nettbrett. En applikasjon knyttet til en database for å registrere frivillige, administrere vakter og formidle informasjon. Fordeler: Rask og enkel tilgang med en enhet alle har tilgang til. Funksjonalitet direkte knyttet til enhetens moduler, slik som kamera for å laste opp bilder, eller notifikasjoner for varsling. Tiltalende og kjent design styrt av enhetens operativsystem. Ulemper: Krever kunnskap om hver unike plattform - Android, Windows og ios. 6
Hvis en brukers telefon blir uforutsett ute av drift vil det føre til at bruker ikke lenger har tilgang til systemet. Utfordring for videre vedlikehold og oppdatering da systemet blir fragmentert over tre forskjellige operativsystemer. Konklusjon: I dette prosjektet vil løsning A være mest hensiktsmessig fordi det vil føre til størst grad av tilgjengelighet på tvers av plattformer for alle brukere. Analyse av virkninger Løsningen som utvikles vil tilfredsstille oppdragsgivers behov om en enklere håndtering av timelister og registrerte frivillige. Løsningen vil bidra til å frigjøre tid og ressurser slik at Samfunnet kan bedres og videreutvikles på andre områder. Det vil i tillegg være anledning til å videreutvikle eller skreddersy systemet i ettertid, slik at det kan brukes for andre studentforeninger o.l. Systemutvikling Systemutviklingsprosessen som benyttes vil i all hovedsak være Scrum. Dette er en smidig utviklingsmetodikk som fokuserer på et tett samarbeid mellom teamet som jobber og produkteier (Scrum Alliance, u.d.). Dette gjør at produkteier har innblikk i hvordan utviklingen gjør, enten ved å være med på møter eller ved korte statusrapporter. Det har også blitt konstruert en milepælsplan som viser hva som skal være klart og ferdig til hvert tidspunkt. Språk / rammeverk: I frontend vil systemet bestå av HTML, CSS og JavaScript. For databinding brukes Angular.js, Knockout.js, eller Aurelia. Bootstrap vurderes brukt for stiling av nettsidene. I backend vil systemet bestå av MySQL for databasen og Node.js for kommunikasjon med databasen. Rammeverket Express.js vurderes brukt for MVC strukturer, og rammeverket Sequelize som en ORM. Dette vil si at Javascript blir et språk som blir gjennomgående i systemet fra frontend til backend. Dette kan føre til en lettere forståelse av hele systemet, istedet for at man må ha kunnskaper om mange forskjellige språk. Dette kan igjen skape en kontinuitet som gjør at utviklere på frontend lettere kan kommunisere med utviklere som jobber backend. Utfordringer: En utfordring for gruppen er at javascript ikke er et språk det har blitt fokusert mye på i undervisningssammenheng, og det lille som har blitt gjennomgått er grunnleggende og litt fra jquery-biblioteket. Litteratur Scrum Alliance. (u.d.). Learn About Scrum. Hentet januar 22, 2016 fra Scrum Alliance: https://www.scrumalliance.org/why-scrum 7
Vedlegg Tentativ fremdriftsplan 8