Commit 803bbf50 authored by G2700's avatar G2700

loppuraportti siivous

parent 9f46a402
Pipeline #56140 passed with stages
in 21 seconds
# Projektin loppuraportti
# 1. JOHDANTO
Tämä on loppuraportti TTOS0800 + TTOS0900 kurssille. Raportin päämääränä on käsitellä ryhmän onnistumisia ja vastoinkäymisiä.
Ryhmän jäsenet:
* Reko Meriö
* g2700
* Marko Sydänmaa
* Niko Hämäläinen
# 2. TEHTÄVÄ, TAVOITE, TULOKSET
## 2.1. Yhteenveto projektin toteumasta
Kurssin aluksi saimme koulun ulkopuoliselta henkilöltä toimeksiannon. Toimeksiantona oli tuottaa palvelu, joka suosittelisi vaatteita käyttäjilleen sään mukaisesti.
Muita ominaisuuksia oli mm. matkan suunnittelu ja sivuprofiilit käyttäjille, joihin voisi esim. tallentaa lapsensa tiedot.
Tavoitteena oli saada toimeksiannon mukaiset ominaisuudet toimimaan, poislukien matkan suunnittelu.
Oleellisimpina tavoitteina oli tietysti oppia itse jotain uutta, kuten ryhmätyöskentelyä ja uusia teknologioita. Yleisesti työelämässä tarpeellisia taitoja.
Projektin lopputuloksena syntyi toimiva ja skaalautuva web sovellus, jossa toimeksiannon oleellisimmat ominaisuudet ovat käyttökelpoisia.
## 2.2. Projektin onnistuminen (suunnitelma vs. toteutuma)
Projektin kulku oli jaettu 15 ns. "sprinttiin". Joka viikko suoritettiin kyseiselle sprintille määritettyjä tehtäviä.
Ensimmäisen etapin aikana tehtiin vaatimusmäärittelyä, sopimusta sekä projektisuunnitelmaa. Sopimus kun saatiin lyötyä lukkoon, alettiin laittamaan ympäristöjä
pystyyn ja luomaan palvelua. Aikanaan tuli aika koekäyttää palvelua, jossa ulkopuoliset tulivat testaamaan tekemäämme työtä ja antamaan palautetta.
Palautteen pohjalta korjattiin osa ominaisuuksista. Lopuksi projekti lyötiin loppuun kirjaamalla viimeiset dokumentaatiot.
# 3. ONGELMAT JA NIIDEN RATKAISUT
## 3.1. Ongelmat suunnittelussa
* Vaatimusten laatiminen oli välillä nihkeää
* Dokumentaatio yleisesti oli hukassa, joten esim. käsitteiden ymmärtämiseen kului aikaa
## 3.2. Ongelmat toteutuksessa
* Projektissa käytetettävien teknologioiden valinnassa meni pitkään, kun ei oltu varmoja siitä, mitä haluttiin tai mitä kannattaisi käyttää.
Lopuksi päädyttiin käyttämään Laravel frameworkkia, koska PHP oli kaikille tuttu. Vue taas oli osana Laravelin kokonaisuutta, joten sitä päädyttiin käyttämään front-end
kehitykseen, vaikka se ei kenellekkään tuttu ollutkaan. Laravelin opettelussa meni oma aikansa, kuten myös Vuen. Loppujen lopuksi valinnat eivät kuitenkaan kaduttaneet ja uudet
ympäristöt toimivat hyvin. Kun ne tulivat tutuiksi, työskentely muuttui nopeaksi.
* Käyttöön otettiin myös Docker, joka ei ollut kenellekkään tuttu ja taas aikaa kului ihmettelyyn. Tarpeeksi kun lueskeli ja kokeili, niin kokonaisuus alkoi myös tästä hahmottua, vaikka
expertiksi tuskin kukaan vielä itseään voi kutsua.
* Aikaa käytettiin myös GitLabin CI:n opiskeluun, siitä tosin ei konkreettista tulosta syntynyt. Hienoa olisi ollut saada integraatio toimimaan, mutta itse ohjelmistoa ei oltu
vielä ehditty kehittämään yhtään, joten aika alkoi painaa päälle ja oli pakko luopua ideasta. Hukkaan ei kuitenkaan oppi tässäkään varmasti mennyt.
## 3.3. Muut ongelmat tai toteutuneet riskit ja niiden käsittely
Ryhmän projektipäällikkö keskeytti kurssin loppuvaiheilla. Vaikutusta töiden kulkuun sillä ei kuitenkaan ollut. Ryhmä jatkoi kolmen hengen voimin, uutta projektipäällikköä
ei valittu, vaan työt jaettiin sen mukaan, mitä kukakin vain kykeni tekemään
# 4. YHTEENVETO
## 4.1. Keskeiset opit
### Reko Meriö
| Teknologia | Opittua |
| :------: | :------: |
| Vue | Komponentit ja miksi niitä kannattaa käyttää perinteisen JavaScriptin sijaan |
| Laravel | Api, tietokannan käsittely, controllerit |
| Docker | Yleisimmät komennot ja käyttötarkoitus |
| Git | Merge, branchit, versionhallinta yleisesti |
| Material Design | Siistit UI komponentit |
| Robot Framework | Perusteet automaattisten testien luontiin |
| TestLink | Testitapausten hallinta |
| GitLab | Issuet |
| Työkalu | Hyöty |
| :------: | :------: |
| Visual Studio Code | Hyvä editori kaikin puolin, helpottaa mergetystä huomattavasti |
| Samba | Virtuaalikoneen kovalevy voidaan mapata verkossa olevaksi kovalevyksi, jolloin tiedostojen muokkaus onnistuu kätevästi |
### g2700
| Teknologia | Opittua |
| :------: | :------: |
| Vue | Komponentit ja miksi niitä kannattaa käyttää perinteisen JavaScriptin sijaan, vue-router, vuex |
| Laravel | Api, tietokannan käsittely, controllerit |
| Docker | Yleisimmät komennot ja käyttötarkoitus |
| Git | Merge, branchit, versionhallinta yleisesti |
| GitLab | Issuet, CI/CD perusjutut |
| TestLink | Testitapausten hallinta |
| Työkalu | Hyöty |
| :------: | :------: |
| Samba | Virtuaalikoneen kovalevy voidaan mapata verkossa olevaksi kovalevyksi, jolloin tiedostojen muokkaus onnistuu kätevästi |
### Marko Sydänmaa
| Teknologia | Opittua |
| :------: | :------: |
| Laravel | Api, tietokannan käsittely, controllerit |
| Git | Merge, branchit, versionhallinta yleisesti |
| GitLab | Issuet, CI/CD perusjutut |
| TestLink | Testitapausten hallinta ja luonti |
| Robot Framework | Automaattisten testien perusteet |
| Työkalu | Hyöty |
| :------: | :------: |
| Testlink | Tuotteen testaamisen suunnittelu, toteutus ja testiraportin luonti |
## 4.2. Itsearviointi
### 4.2.1. Ryhmätyö
| Mihin | Arvio |
| :------: | :------: |
| Projektipäällikkyys | Projektipäällikön olemus ei ollut projektissa näkyvää, sillä kaikki tekivät töitä miten halusivat |
| Erilaisuuden hyödyntäminen | Sana oli vapaa projektissa ja jos joku näki paremman tavan tehdä jotain, se otettiin huomioon |
| Ongelmanratkaisu | Kaikki ongelmat ratkesivat kyllä ajallaan |
| Työnjako ja tehtävien hallinta | Töitä ei varsinaisesti jaettu, mutta tieto kulki ryhmässä ja kaikki tiesivät mitä kukin oli tekemässä |
| Ryhmän oma työ | Projekti valmistui ja lopputulos tyydyttää jäseniä |
| Toisten työ | Muiden ryhmien kanssa keskusteltiin mm. siitä miten API kannattaa toteuttaa |
| Resurssien hyödyntäminen | Yhdellä jäsenellä työtunnit jäivät hieman matalaksi projektin loppuosaa kohden |
| Ohjaus ja sen käyttö | GitLabin integraatioista keskusteltiin |
| Ryhmäprosessi | Välillä kommunikaatio ei toiminut jäsenten välillä |
| Kriisit ja niistä selviäminen | Projektipäällikkö keskeytti opinnot projektin puolessa välissä, mutta lopputulos oli oikein hyvä ryhmän kokoon nähden |
| Oman työn kriittinen kehittäminen | |
### 4.2.2. Suunnitelmallisuus (projektityöskentely)
| Mihin | Arvio |
| :------: | :------: |
| Suunnitelmat | Vaatimusmäärittely ja tekninen dokumentaatio olivat oleellisimmat aineistot |
| Mitä päivitetty ja miksi? | Tilannekatsausta ja tuntikirjanpitoa päivitettiin projektin edetessä |
| Toteutuminen | Projekti on teknisen dokumentaation kanssa lähes samalla viivalla |
| Projektiprosessin dokumentointi | Lyhyitä muistiinpanoja |
| Projektiprosessin hallinta | Ryhmän välinen kommunikaatio WhatsApin välityksellä sekä projektipäivinä |
### 4.2.3. Vuorovaikutus
| Mihin | Arvio |
| :------: | :------: |
| Yhteydenpito sidosryhmiin | Järjestetyt tilaisuudet |
| Tiedonhankinta | Toimeksiantajan haastattelutilaisuus sekä tuottamat materiaalit |
| Tiedottaminen | Tieto kulki ryhmän jäsenten välillä kyllä, mutta varmistusta siitä oliko se mennyt perille ei kovin usein tullut |
| Ammattikorkeakoululle | Koulu voi esitellä opiskelijan tuottamaa projektia ja näyttää että koulussa oikeasti opitaan asioita |
| Johtoryhmätyöskentely | Valmistautuminen kokouksiin olisi voinut olla parempi |
| Vuorovaikutuksen tuloksellisuus | Kaikkien jäsenten huomioiminen olisi voinut olla paremalla tasolla |
### 4.2.4. Asenne
| Mihin | Arvio |
| :------: | :------: |
| Tehtävään | Ote tehtävään oli yleisesti hyvä. |
| Oppimiseen | Projektin jäsenet olivat motivoituneita oppimaan uusia teknologioita ja pääosin myös työskentelymenetelmiä. |
| Ongelmiin | Ongelmat ratkesivat ilman suurempaa kitkaa. |
| Ote projektista sen eri vaiheissa | Alkuvaiheessa ei moitittavaa. Toteutusvaiheen etapeissa projektityöskentely hajosi johtuen projektipäällikön puuttumisesta ja resurssien vähyydestä. Toimeksianto toteutettiin, mutta lähinnä koodaamalla 'apinan raivolla' sen sijaan, että olisi käytetty projektityöskentelyn hyviä käytänteitä. |
### 4.2.5. Tulos
| Mihin | Arvio |
| :------: | :------: |
| Tulokset | Toimiva, dokumentoitu ja laajennettavissa oleva sovellus. |
| Tulosten laatu | Itse sovelluksen laatu hyvä. Dokumentit tyydyttäviä. |
| Aineettomat tulokset | |
| Tulosten arvo | Tuotos antaa suuntaa mahdolliselle jatkokehitykselle |
| Jatkotoimenpiteet | Ei toistaiseksi. |
## 4.3. Arvosanaehdotukset
* Mikä on mielestänne arvosana, jonka ansaitsemme em. kriteerien perusteella?
* Voitte jakaa arvosanaehdotuksen ryhmän sisällä siten, että joku enemmän töitä tehnyt saisi paremman arvosanan (tai työhön vähäisesti osallistunut huonomman).
| Nimi | Arvosana | Perustelu |
| :--: | :------: | :-------: |
| Reko Meriö | 4 | Projektin lopputulos on hyvä, mutta kaikkia kurssin kannalta oleellisia menetelmiä siihen ei käytetty |
| g2700 | 4 | Projektin haasteet huomioon ottaen lopputulos on hyvä, mutta projektityöskentely kärsi loppua kohden. |
| Marko Sydänmaa | 2 | Tein mielestäni vähemmän tämän projektin eteen kuin muut ja kulutin loppua kohden aikaani hyödyttämättä projektia paljoakaan |
# LÄHTEET
# LIITTEET
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment