## Ketterä kehitysprojekti, syksy 2019
### Tekijä: 1804212 | Jani Härkönen
## Sprintti 1 (5.11. - 11.11.)
### Työpanokseni ja sitoutumiseni projektiin
Varmistan, että tehtäväni tulevat suoritetuksi kysymällä neuvoa muilta ryhmän jäseniltä ongelmatilanteissa. Ensimmäisessä sprintissä koin, että ryhmän tehtävät jakautuivat melko epätasaisesti ryhmän jäsenten kesken. Oli muutama jäsen, jotka tekivät suuren osan työstä. Toisaalta työtehtävät olivat luonteeltaan sellaisia, että ne toteutuivat parhaiten kun vain yksi henkilö on tekemässä niitä, mutta silti tämä johti siihen, että joillekin kasautui tehtäviä huomattavasti enemmän kuin toisille. Pidimme lähes päivittäin tapaamisia, joissa kävimme läpi, mitä kukin on toteuttanut tai, missä vaiheessa toteutusta kukin on. Näin varmistimme, että kaikki jäsenet seurasivat ryhmän ohjeita ja sovittuja suunnitelmia. Ensimmäisessä sprintissä tapaamisia ei kuitenkaan ennalta sovittu, mikä johti tietynlaiseen kaoottisuuteen toiminnassa. Olen myös pyrkinyt sisällyttämään hyviä käytänteitä muiden ryhmien ja ryhmäläisten toiminnasta. Esimerkiksi, otin käyttöön markdown- tiedostojen käyttämisen myöhemmin sprintissä. Lopuksi sanoisin, että työmääräni jäi melko vähäiseksi tässä sprintissä osittain tehtävien epätasaisen jakamisen takia, mutta olisin voinut olla myös aktiivisempi tehtävien valinnassa, sekä valita tehtäviä oman mukavuusalueen ulkopuolelta.
### Oman työn seuranta ja kehittäminen
Olen pyrkinyt dokumentoimaan Clockifya käyttäen työajan, kehittämiseen ja yhteydenpitoon kuluneen ajan (kokoontumiset). Kaikkea yhteydenpitoa ei ole kuitenkaan dokumentoitu, sillä se on osittain satunnaista. Clockifyn käyttäminen oli tässä sprintissä vielä melko lapsenkengissä, joten useat tehtävät on samassa merkinnässä eikä erottelua ole juurikaan käytetty. Myös osa työajasta on jäänyt merkitsemättä. Tehtävät olivat luonteeltaan melko erilaisia, joten aika-arvioita oli hankala tehdä työajan seurannan perusteella.
Tässä raportti ajan käytöstä
https://clockify.me/bookmarks/5dd7c4d86afcf51b0133f34b
Tässä sprintissä:
- suunnittelin, mitä toiminnallisuuksia käyttöliittymässä pitäisi olla (TASK: 151)
https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%201?workitem=151
- suunnittelin sensoridatan keräämisen ja käsittelyn arkkitehtuuria (TASK: 131)
https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%201?workitem=131
- suunnittelin, miten ongelmatilanteessa toimitaan (TASK: 154)
(https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%201?workitem=154)
- suunnittelin, rakennuksien/ sensoreiden/ henkilökunnan hallintanäkymiä Laurin kanssa (TASK: 184)
https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%201?workitem=184
- autoin Valeriaa käyttöliittymän prototyypin suunnittelussa (TASK: 157)
https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%201?workitem=157
### Reflektio- ja itseohjautuvuusosaaminen
Toimin kehitystiimissä. Tehtäväni on kehitysjonon tehtävien suorittaminen muiden kehitystiimin jäsenten kanssa. Kehitystiimin jäsenenä minulla on velvollisuus videä projektia eteenpäin tehtäviä suorittamalla, ja niiden toteutumisen kommunikoinnista scrummasterille ja project ownerille. Pyrin kantamaan työroolini tuomat vastuut kysymällä tarpeen tullessa neuvoa ja palautetta muilta kehitystiimin jäseniltä. Sanoisin, että tässä sprintissä heikkouksiani oli aktiivisuuden puute sekä tehtävien teko oman mukavuusalueen sisältä.
### Omien työtehtävien hallinta
Työtehtäviini kuuluu sovelluksen osien toteutuksen ja tominnan sunnittelu, sekä myöhemmin niiden ohjelmointi. Lisäksi tehtäväni on informoida scrummaseterille tehtävien etenemisestä, mahdollisista ongelmista ja parannusideoista sekä kirjata työtehtävien etenemisestä Azureen. Olen pitänyt kirjaa työtehtävien toteutumisesta käyttäen Azurea ja Clockifya.
Heikkouksista kehitystyössä mainittiin jo Reflektio- ja itseohjautuvuusosaaminen- osiossa, mutta vahvuuksiani on tehtävien suorittaminen loppuun ajallaan ja muiden auttaminen, mikäli he tarvitsevat apua.
### Oma viestintä
Viestinnässä käytimme pääasiassa Discordia, mutta jotkin asiat kirjattiin myös Azure wikiin. Olen ollut yhteydessä ryhmään päivittäin, vaikka ensimmäisen sprintin aikana kokouksia ei aluksi pidetty päivittäin. En ole saanut palautetta viestinnästäni, mutta huomasin, että voisin ilmaista tarkemmin tehtävien aloittamisestä, enkä vain niiden suorittamisesta, sillä voi olla että jokin toinen ryhmän jäsen on aloittamassa saman tehtävän tekemistä, jolloin voimme päätyä molemmat suorittamaan saman tehtävän.
***
## Sprintti 2 (12.11. - 18.11.)
### Työpanokseni ja sitoutumiseni projektiin
Edellisen sprintin retrospektissä tuotiin esille ryhmämme vähäinen työmäärä, joten pyrin tämän palautteen pohjalta lisäämään tässä sprintissä aktiivisuuttani työtehtävien valinnassa, sekä tekemään tehtäviä oman mukavuusalueeni ulkopuolelta. Tämä näkyi myös työtuntejen määrässä. Päätin esimerkiksi toteuttaa Archimate-kaavioita ohjelmamme eri osa-alueiden toiminnasta, vaikka Archimaten käyttö olikin yksi heikkouksistani. Hyppäsin myös heti itse ohjelmointiin Mikan luotua pohjapiirrustusohjelman perustan, vaikka ohjelmoinnissa käytettiin jQuerya ja CSS, jotka molemmat ovat melko tuntemattomia minulle. Pyrin myös tarjoamaan apuani muille ryhmän jäsenille aktiivisemmin, näin varmistin että työtehtävät jakautuisivat tasapuolisemmin. Tässä sprintissä omaksuin hyviä käytänteitä ryhtymällä käyttämään repoa tiedostojen jakamiseen.
### Oman työn seuranta ja kehittäminen
Olen pyrkinyt dokumentoimaan Clockifya käyttäen työajan, kehittämiseen ja yhteydenpitoon kuluneen ajan (kokoontumiset). Kaikkea yhteydenpitoa ei ole kuitenkaan dokumentoitu, sillä se on osittain satunnaista. Paransin Clockifyn käyttöä tämän sprintin aikana erottelemalla työtehtävät toisistaan Clockify merkinnöissä. Käytin tässä sprintissä myös paremmin Azuren "To do"-, "In progress"- ja "To internal test"- kenttiä työtehtävien suorittamisen seurantaan. Opin tekemään parempia aika-arvioita ajan seurannan ansiosta. Huomasin, että Archimate kaavion teossa kului aina vähintään kaksi tuntia, kun kaaviota ja sen esittämän osa-alueen toimintaa luonnosteli ennen itse toteutusta.
Tässä raportti ajan käytöstä:
https://clockify.me/bookmarks/5dd83bf3d1f7b05531de464d
Tässä sprintissä:
- [loin Archimate- kaavion tiedon hausta palvelimelta (TASK: 276)](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%202?workitem=276)
- [loin Archimate- kaavion tiedon hallinnasta palvelimella (TASK: 277)](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%202?workitem=277)
- [loin Archimate- kaavion palvelimen toiminnasta (TASK: 278)](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%202?workitem=278)
- [suunnittelin prosessin sille, kuinka muutoksia tehtäisiin tietokannan rakenteeseen itse ohjelmointi vaiheen aikana (TASK: 307)](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%202?workitem=307)
- [suunnittelin lisäsensoreita rakennuksiin (TASK: 291)](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%202?workitem=291)
- [autoin Lauria listaamaan ongelmia/rajoitteita käyttöliittymän toiminnallisuuksissa (TASK: 312)](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%202?workitem=312)
- [autoin Anttia listaamaan ongelmia/rajoitteita palvelimen toiminnassa (TASK: 317)](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_sprints/taskboard/Ryhmä%20A_1%20Team/Ryhmä%20A_1/Sprint%202?workitem=317)
- parantelin pohjapiirrustusohjelman toiminnallisuutta parantamalla huoneiden liikuttelua sekä lisäämällä skaalauskahvan
[huoneiden sulava liikutus](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/fb9d0ac672d13e49b00573247ce7e7b48f921e79?refName=refs%2Fheads%2Fmaster)
[huoneen tietojen tallennus olioon](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/6453a40ef17385d8a211e3ee5229eba97bdf2adc?refName=refs%2Fheads%2Fmaster)
[huoneiden skaalaus kahvasta](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/2d1c9e15c6d8ee986c5082d9b74d3b60d0c0c0a9?refName=refs%2Fheads%2Fmaster)
### Reflektio- ja itseohjautuvuusosaaminen
Toimin kehitystiimissä. Tehtäväni on kehitysjonon tehtävien suorittaminen muiden kehitystiimin jäsenten kanssa. Kehitystiimin jäsenenä minulla on velvollisuus videä projektia eteenpäin tehtäviä suorittamalla, ja niiden toteutumisen kommunikoinnista scrummasterille ja project ownerille. Pyrin kantamaan työroolini tuomat vastuut kysymällä tarpeen tullessa neuvoa ja palautetta muilta kehitystiimin jäseniltä. Paransin tässä sprintissä aktiivisuuttani, työn seurantaa, työpanostani, tein tehtäviä oman mukavuusalueen ulkopuolelta ja tarjosin aktiivisemmin apua. Sanoisin kuitenkin, että työpanosta voisi silti korottaa, vaikka kaikki sprintin tehtävät tulikin tehtyä, minkä takia loppuviikon työtunnin jäivät vähäisiksi.
### Omien työtehtävien hallinta
Työtehtäviini kuului sovelluksen osien toteutuksen ja tominnan sunnittelu, sekä myöhemmin niiden ohjelmointi. Lisäksi tehtäväni on informoida scrummaseterille tehtävien etenemisestä, mahdollisista ongelmista ja parannusideoista sekä kirjata työtehtävien etenemisestä Azureen. Olen pitänyt kirjaa työtehtävien toteutumisesta käyttäen Azurea ja Clockifya.
Heikkouksista ja parannuksista kehitystyössä mainittiin jo Reflektio- ja itseohjautuvuusosaaminen- osiossa, mutta vahvuuksiani on tehtävien suorittaminen loppuun ajallaan ja muiden auttaminen, mikäli he tarvitsevat apua.
### Oma viestintä
Viestinnässä käytimme pääasiassa Discordia, mutta jotkin asiat kirjattiin myös Azure wikiin. Olen ollut yhteydessä ryhmään päivittäin, ja tässä sprintissä pidimme jokapäivä SCRUM- tapaamisia, jolloin kerroin tekemisistäni scrummasterille. Paransin viestintääni, kirjaamalla Azureen, missä vaiheessa työtehtäväni ovat (To do, In progress, Internal testing), ilmoittamalla muille ryhmän jäsenille Discordissa tehtävien aloittamisesta ja tarjoamalla aktiivisemmin apua.
***
## Sprintti 3 (19.11. - 25.11.)
### Työpanokseni ja sitoutumiseni projektiin
Sprinttini alkoi hitaasti, sillä Mika lupautui tekemään ohjelmiston eri osa-alueille (palvelimelle ja käyttöliittymälle) perustan, mutta heti sen valmistuttua osallistuin aktiivisesti ohjelmointiin, mikä näkyikin työpanoksessa. Tässä sprintissä jatkoi mukavuusalueen ulkopuolisten tehtävien suorittamista, ohjelmoin esimerkiksi käyttöliittymään graafin piirron sekä sensoridatan asettamisen kyseiseen graafiin käyttämällä apuna Chart.js kirjastoa, josta minulla ei ole yhtään kokemusta. Tästä huolimatta onnistuin tehtävistä hyvin, vaikka niihin kuluikin paljon aikaa. Mielestäni sprintin työtehtävät jakautuivat hieman epätasapuolisesti. Ohjelmoinnissa ryhmän eriävät taitotasot korostuivat ja jouduin Mikan kanssa ohjelmoimaan pääasiassa toiminnallisuuksia, kun taas muut keskittyivät graafisiin elementteihin ja käyttöliittymän sivujen tyylittämiseen. Tästä syystä minä ja, varsinkin, Mika toteutimme haastavimpia työtehtäviä. Omaksuin tässä sprintissä myös hyviä käytänteitä. Aloimme käyttämään esimerkiksi .json- tiedostoja configuroimaan omaa koodiamme siten, että jsoniin tallennettiin tietokannan käyttäjätunnus ja salasana. Tämä tehdään siksi, että jokaisella ryhmän jäsenellä on omat käyttäjätunnuksensa ja salasanansa, jotka heidän piti aina korjata koodiin ladattuaan uusimman version koodista reposta. Käyttämällä jsoneja vältyimme tältä ongelmalta.
### Oman työn seuranta ja kehittäminen
Olen pyrkinyt dokumentoimaan Clockifya käyttäen työajan, kehittämiseen ja yhteydenpitoon kuluneen ajan (kokoontumiset). Kaikkea yhteydenpitoa ei ole kuitenkaan dokumentoitu, sillä se on osittain satunnaista. Tässä sprintissä tehtävien kirjaaminen Azureen meni heikosti. Aloitimme viikon suunnitelemalla sprintin ryhmänä, toisin kuin ennen. Kaikilla näytti olevan kuitenkin hieman erilainen näkökulma siitä miten työtehtävien kirjaaminen backlogiin tapahtuu, joten joihinkin prosesseihin ei esimerkiksi kirjattu lainkaan taskeja. Kirjasin taskejen valmistumisesta huomattavasti myöhemmin. Joitain työtehtäviä ei edes oltu merkattu backlogiin, vaikka niiden suorittaminen olikin olellista muiden tehtävien suorittamisen kannalta (esimerkiksi päävalikon teko käyttöjärjestelmään).
En tiedä, kuinka suuri työni rahallinen arvo on, sillä ohjelmoinnissa tuli vastaan hyvin paljon uutta asiaa, esimerkiksi Chart.js, mistä johtuen aikaa tuli kulutettua huomattavasti joihinkin työhethtäviin. Aika-arvioiden tekeminen on ollut samoista syistä hankalaa. Usein tehtävää aloittaessa on jonkinlainen käsitys siitä, miten aikoo lähteä toteuttamaan, mutta toteutuksen aikana tulee paljon odottamattomia ongelmia vastaan. Projektin ohjelmistossa on myös monia osa-alueita: käyttöliittymä, palvelin, tietokanta. Mikäli jokin toiminnallisuus, esimerkiksi sensoridatan haku tietokannasta graafiin, ei toimi kuluu aikaa selvittää, missä ongelmakohta on: lähetetäänkö pyyntö oikein palvelimelle? käsitelläänkö se oikein palvelimella? onnistuuko tietokantakysely? jne.
Tässä raportti ajan käytöstä:
https://clockify.me/bookmarks/5ddda0fb6afcf51b0137d87a
Tässä sprintissä:
- [loin perustan päävalikon graafiselle esitykselle](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/e028c6eed04646d1314b1ec1f34d43a9236f5951?refName=refs%2Fheads%2Fmaster) (ei kirjattu Azureen, löytyy vain reposta)
- [loin "Oma profiili"- välilehden sekä välilehden vaihto toiminnallisuuden](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/1a0bfc9bd9ba547f104685e783b050fc229fc6a4?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 503](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=503))
- [loin sisäänkirjautumisen toiminallisuuden](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/b878f71caa7f288885c94c9f954e8d4591dcaa12?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 497](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=497))
- [loin "Kaikki hälytykset"- välilehden ja sen toiminnallisuudet](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/69c3ac72a55b49739a3139670a6811fe8d35d9f4?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 884](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=884) ja [TASK 552](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=522))
- [loin alun "Sensoridatan vertailu"- välilehdelle](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/ea4b213afc64ec877eeb2162b58acd8dc363a665?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 545](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=545))
- [harjottelin Chart.js käyttöä luomalla testigraafin "Sensoridatan vertailu"- välilehteen](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/ce1ad866cd52665e96d91069820027c212628090?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 545](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=545))
- [loin toiminnallisuuden "Sensoridatan vertailu"- välilehdelle](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/2c494df4451da665892010259033d500ab7ab333?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 545](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=545))
- [loin aikavälin asettamisen toiminnallisuuden "Sensoridatan vertailu"- välilehden graafiin](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/04df81fb7d08734bc3930fe274d3daddcb7f7ff8?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 545](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=545))
- [loin toiminnallisuuden tietojen tietokantaan lisäämiselle "Tietokannan hallinta"- välilehdellä](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/16c5f37e94e5ef6a9501d0beaa0219fd6729355f?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 547](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=547))
### Reflektio- ja itseohjautuvuusosaaminen
Toimin kehitystiimissä. Tehtäväni on kehitysjonon tehtävien suorittaminen muiden kehitystiimin jäsenten kanssa. Kehitystiimin jäsenenä minulla on velvollisuus videä projektia eteenpäin tehtäviä suorittamalla, ja niiden toteutumisen kommunikoinnista scrummasterille ja project ownerille. Pyrin kantamaan työroolini tuomat vastuut kysymällä tarpeen tullessa neuvoa ja palautetta muilta kehitystiimin jäseniltä. Kehitin itseäni sprintin aikana jatkmalla työtehtävien tekoa oman mukavuusalueeni ulkopuolelta. Paransin myös aktiivisuuttani tehtävien teossa, mikä näkyi ajankäytössä. Huomasin, että työpanokseni oli sprintin aikana merkittävä, sillä muilla ryhmän jäsenillä, Mikaa lukuunottamatta, ei ollut kokemusta eikä näin myöskään halukkuutta alkaa tekemään haastavampia tehtäviä. Kun itse kuitenkin kykenin luomaan toiminnallisuuksia, minulle kerääntyi kokemusta ja tietoa ohjelman sekä ohjelmointikielen toiminnasta enemmän kuin muille. Tämä johti itseään ruokkivaan prosessiin, jossa mitä enemmän ohjelmoin, sitä vaikeampia tehtäviä pystyin suorittamaan. Vahvuuteni tässä sprintissä on käyttöliittymän ja palvelimen ohjelmakoodin toiminnan täysi ymmärrys, mikä auttaa minua helpommin lisäämään uusia toiminnallisuuksia, implementoimaan muutoksia ja korjaamaan bugeja tulevissa sprinteissä. Heikkouksia on ollut esimerkiksi tehtävien seuranta Azuressa, jota voisi huomattavasti parantaa. Osittain ongelmana on se, että tehtävät on usein merkattu backlogiin kehnosti.
### Omien työtehtävien hallinta
Työtehtäviini kuului pääasiassa käyttöliittymän ja pääpalvelimen toiminnallisuuksien ohjelmointi, sekä kyseisten osa-alueiden välisen kommunikaation ohjelmointi (datan lähetys käyttöliittymästä palvelimelle ja toisinpäin, vastaanotetun datan käsittely ja lisääminen graafiseen näkymään). Ohjelmoin myös toiminnallisuuksia tietokannan ja palvelimen välille. Lisäksi tehtäväni on informoida scrummaseterille tehtävien etenemisestä, mahdollisista ongelmista ja parannusideoista sekä kirjata työtehtävien etenemisestä Azureen. Olen pitänyt kirjaa työtehtävien toteutumisesta käyttäen Azurea ja Clockifya.
Heikkouksista ja parannuksista kehitystyössä mainittiin jo Reflektio- ja itseohjautuvuusosaaminen- osiossa, mutta vahvuuksiani on tehtävien suorittaminen loppuun ajallaan ja muiden auttaminen, mikäli he tarvitsevat apua.
### Oma viestintä
Viestinnässä käytimme pääasiassa Discordia, mutta jotkin asiat kirjattiin myös Azure wikiin. Olen ollut yhteydessä ryhmään päivittäin, ja tässä sprintissä pidimme jokapäivä SCRUM- tapaamisia, jolloin kerroin tekemisistäni scrummasterille. Paransin viestintääni ilmoittamalla tehtävien aloittamisesta ja lopettamisesta Discordissa paremmin. Olisin kuitenkin voinut olla aktiivisempi muiden auttamisessa tässä sprintissä. Minulla on tapana olla huomioimatta Discordissa tapahtuvaa viestintää ohjelmoinnin aikana. Voisin kuitenkin yrittää vastailla ryhmän jäsenille nopeammin ja useammin, vaikka olenkin toteuttamassa työtehtävää.
***
## Sprintti 4 (26.11. - 2.12.)
### Työpanokseni ja sitoutumiseni projektiin
Tämä sprintti oli melko samanlainen kuin edellinenkin, mutta työpanokseni kasvoi, sillä työtehtävät olivat selvemmät sprintin alusta lähtien ja sprintin aloittaminen oli näin helpompaa. Jatkoin myös oman mukavuusalueeni ulkopuolelta olevien tehtävien toteuttamista toimimalla esimerkiksi kirjurina ohjaustunnilla. Ryhmän työmäärä jakautui melko epätasaisesti, sillä muilla ryhmäni jäsenillä ei ole juurikaan kokemusta JavaScriptista, joten jouduin tekemään suurimman osan ohjelmoinnista. Keskityin lähinnä toiminnallisuuksien kehittämiseen jättäen grafiikat ja tyylityksen muille ryhmän jäsenille. Mika, joka aikaisemmassa sprintissä auttoi ohjelmoinnissa, keskittyi enemmän omaan työrooliinsa, joka myös kasvatti hieman työni osuutta. Positiivista oli kuitenkin se, että ryhmäni jäsenet olivat aktiivisempia työtehtävien valinnassa, mikä helpotti työmäärää. Varmistin seuraavani ryhmäni ohjeita ja sovittuja suunnitelmia kertomalla suoritetuista sekä tulevista tehtävistäni päivittäisissä scrum-tapaamisissa. Työtehtävieni merkitys projektin onnistumiselle oli mielestäni huomattava, sillä monia toiminnallisuuksia ei oltu vielä toteutettu ja jotkin bugit olivat vielä vakavia. Pyrin edistämään työnjaon tasapuolisuutta ilmoittamalla ryhmän jäsenille, mitkä välilehdet kaipaavat vielä tyylitystä tai graafista parantelua. Yksi hyvä käytänne työskentelyssämme oli readME- tiedoston käyttö, jossa pidimme kirjaa havatuista ja korjatuista bugeista.
### Oman työn seuranta ja kehittäminen
Olen pyrkinyt dokumentoimaan Clockifya käyttäen työajan, kehittämiseen ja yhteydenpitoon kuluneen ajan (kokoontumiset). Kaikkea yhteydenpitoa ei ole kuitenkaan dokumentoitu, sillä se on osittain satunnaista. Tässä sprintissä kärsimme samoista ongelmista kuin edellisessäkin. Sprintin suunnittelu oli heikkoa, mikä näkyi myös Azuressa, kun pyrimme seuraamaan tehtävien suoritusta. Kaikilla työtehtävillä ei ollut omia taskejaan eikä välttämättä edes prosessiaan. Tämä selittää sen, miksi jotkin alla olevan tehtävälistan tehtävistä on linkattu epiikkaan. Monien työtehtävien valmisuminen kirjattiin huomattavasti myöhemmin ja useiden tehtävien kuvaukset olivat niin ympäripyöreitä, ettei niitä voitu vielä kirjata valmiiksi.
En tiedä, kuinka suuri työni rahallinen arvo on, sillä ohjelmoinnissa tuli vastaan hyvin paljon uutta asiaa, mistä johtuen aikaa tuli kulutettua huomattavasti joihinkin työhethtäviin. Uskoisin kuitenkin, että työni rahallinen arvo on melko pieni. Vaikka olenkin saanut jonkin verran kokemusta JavaScriptista projektin aikana, aika-arvioiden teko on sitli hankalaa. Joskus olen jumittunut joihinkin helpolta vaikuttaviin työtehtäviin, sillä kirjoittamani koodi ei ole vain tuottanut haluttua tulosta, ja lopuksi on käynyt ilmi, että kyse olikin vain pienestä virheestä. Tällaiset odottamattomat tilanteet vaikeuttavat aika-arvioiden tekoa.
Tässä raportti ajan käytöstä:
https://clockify.me/bookmarks/5de84193d1f7b05531ea1066
Tässä sprintissä:
- [korjasin graafin monistautumisbugin "Sensoridatan vertailu"- välilehdellä](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/a4b2a42d28a771795a445a8c6f5d5c4e11ee10d6?refName=refs%2Fheads%2Fmaster) (Bugin korjauksia ei ole Azuressa)
- [lisäsin sensoridatan generointi ohjelmaan hälytysten generoinnin](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/d6cd7f4ab3b9074c13bd8523eec4c67e08e2dd78?refName=refs%2Fheads%2Fmaster) (Ei löydy Azuresta, toiminto tehtiin auttamaan tietokannan populoinnissa)
- [tarkensin datan näyttämistä "Kaikki hälytykset"- välilehdellä](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/fc395e6458b2bfc19ed929df44aa6b698bde915f?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 794](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=794))
- [lisäsin etsintäpalkit sarakkeille "Tietokannan hallinta"- välilehdellä](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/ff8acb57da88ed41a7868ef7ab0c66a4b4a3288b?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 830](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=830))
- [loin toiminnallisuuden uusien hälytysten luonnille "Kaikki hälytykset"- välilehdellä](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/21a30ad5d475585208108b0e14429ceab2ce01bb?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 931](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=931))
- [siivosin koodia parantelemalla elementtejen luontia](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/42d300dcfbb9d84d015fb95999e276baae7be86d?refName=refs%2Fheads%2Fmaster) (ei Azuressa, koodin optimointia)
- [loin toiminnallisuuden sarakkeiden leveyden muuttamiselle vetämällä "Tietokannan hallinta"- välilehdellä](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/71e42f04a680bb0d5cdfb985f14fc5a9af5c46f6?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 945](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=945))
- [loin "Rakennuksen valvonta"- välilehden](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/53ecc4ab3b05ce419c53848da5df3938984d4e08?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 910](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=910))
- [loin toiminnallisuudet "Rakennuksen valvonta"- välilehteen (tiedon haku palvelimelta ja näyttäminen välilehdellä)](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/2789edb3472a9f5acad99813a5e05e6e6ae51581?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 920](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=920))
- [toimin ohjaustunnilla kirjurina](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_wiki/wikis/Ryhmä-A_1.wiki/184/4.-Ohjaustunti)
- [lisäsin dropdown-valikoihin tiedonhaun "Oma profiili"- välilehdellä (omat kiinteistöt, hälytykset)](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/b2b4558b12cfafba95915b49ff28c51aa4b21f0f?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 796](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=796))
- [tietokantaan tuli muutos, joten tein "Oma profiili"- välilehden tiedonhaun yhteen sopivaksi uuden tietokannan kanssa](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/81c62935750226083d8b4d522b53bdfb8d19d373?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 796](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=796))
- [lisäsin "Oma profiili"- välilehdelle tiedonhaun käyttäjän analyyseihin](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/2b50ab2012a271657d755f767fae69ebd3fcb417?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 796](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=796))
- [lisäsin pohjapiirrustusten hakemisen tietokannasta ja piirron "Rakennuksen valvonta"- välilehdelle](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/520972e8a05e21cbbde58845eda96e25a4573083?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 918](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=918))
- [lisäsin pohjapiirrustusohjelmaan toiminnon SQL-lausekkeiden luomiseksi](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/0d5a19718054dadb6c9c23780829d08386dc033f?refName=refs%2Fheads%2Fmaster) (ei Azuressa, tehtiin tilapäiseksi avuksi pohjapiirrustusten testaamista varten)
### Reflektio- ja itseohjautuvuusosaaminen
Toimin kehitystiimissä. Tehtäväni on kehitysjonon tehtävien suorittaminen muiden kehitystiimin jäsenten kanssa. Kehitystiimin jäsenenä minulla on velvollisuus videä projektia eteenpäin tehtäviä suorittamalla, ja niiden toteutumisen kommunikoinnista scrummasterille ja project ownerille. Pyrin kantamaan työroolini tuomat vastuut kysymällä tarpeen tullessa neuvoa ja palautetta muilta kehitystiimin jäseniltä. Kehitin itseäni sprintin aikana jatkmalla työtehtävien tekoa oman mukavuusalueeni ulkopuolelta toimien kirjurina.
Työpanokseni tässä sprintissä oli huomattava, sillä muilla ryhmän jäsenillä ei ole kokemusta JavaScriptista. Aiemmassa sprintissä sain myös tehtyä huomattavan osan projektin toiminnallisuuksista, mikä antoi minulle hyvän käsityksen siitä, miten eri osa-alueet toimivat teknisellä tasolla. Tämä antoi minulle hyvät valmiudet kehittää projektin osa-alueita eteenpäin, sekä korjaamaan bugeja, joita muut ryhmäni jäsenet löysivät. Vahvuuteni tässä sprintissä on ollut toiminnallisuuksien toteuttaminen ja ohjelmakoodin ymmärrys. Heikkouksia on ollut tehtävien seuranta Azuressa, mikä osittain johtui backlogin sekavuudesta.
### Omien työtehtävien hallinta
Työtehtäviini kuului pääasiassa käyttöliittymän ja pääpalvelimen toiminnallisuuksien ohjelmointi, sekä kyseisten osa-alueiden välisen kommunikaation ohjelmointi (datan lähetys käyttöliittymästä palvelimelle ja toisinpäin, vastaanotetun datan käsittely ja lisääminen graafiseen näkymään). Ohjelmoin myös toiminnallisuuksia tietokannan ja palvelimen välille. Lisäksi tehtäväni on informoida scrummaseterille tehtävien etenemisestä, mahdollisista ongelmista ja parannusideoista sekä kirjata työtehtävien etenemisestä Azureen. Olen pitänyt kirjaa työtehtävien toteutumisesta käyttäen Azurea ja Clockifya.
### Oma viestintä
Viestinnässä käytimme pääasiassa Discordia, mutta jotkin asiat kirjattiin myös Azure wikiin. Olen ollut yhteydessä ryhmään päivittäin, ja tässä sprintissä pidimme jokapäivä SCRUM- tapaamisia, jolloin kerroin tekemisistäni scrummasterille. Paransin viestintääni ilmoittamalla tehtävien aloittamisesta ja lopettamisesta Discordissa paremmin. Pyrin osallistumaan Discordissa käytyyn keskusteluun aktiivisemmin silloinkin, kun olen keskellä työtehtävää. Kehitin viestintääni myös olemalla avuliaampi. Autoin esimerkiksi Valeriaa ratkaisemaan hänen tietokantaansa liittyviä ongelmia.
## Sprintti 5 (3.12. - 10.12.)
### Työpanokseni ja sitoutumiseni projektiin
Tässä sprintissä työpanokseni kasvoi, mutta tämä johtui lähinnä sprintin pituudesta, sillä päätimme pitää itsenäisyyspäivän vapaata. Itsenäisyyspäivänä tein kuitenkin lisäyksiä ohjelmakoodiin. Ryhmäni työmäärä jakautui edelleen epätasaisesti, sillä muilla ryhmäni jäsenillä ei ollut yhtä paljon kokemusta JavaScriptista, tai tietämystä projektin koodista, sillä olin kirjoittanut suuren osan siitä. He auttoivat kuitenkin grafiikoissa ja dokumentaatiossa, kun taas itse keskityin toiminnallisuuksien hiomiseen ja valmiiksi saattamiseen. Varmistin seuraavani ryhmäni ohjeita ja sovittuja suunnitelmia kertomalla suoritetuista sekä tulevista tehtävistäni päivittäisissä scrum-tapaamisissa. Työtehtävieni merkitys projektin onnistumiselle ei ollut yhtä suuri kuin edellisessä sprintissä, sillä huomattava osa toiminnallisuuksista oli jo valmiita, ja projektia olisi voinut jo kutsua valmiiksi. Silti pohjapiirrustusohjelman liittäminen osaksi käyttöliittymää oli suuri osa projektin alkuperäistä suunnitelmaa, ja ilman sitä, projekti olisi jäänyt tavoitteistaan.
### Oman työn seuranta ja kehittäminen
Olen pyrkinyt dokumentoimaan Clockifya käyttäen työajan, kehittämiseen ja yhteydenpitoon kuluneen ajan (kokoontumiset). Kaikkea yhteydenpitoa ei ole kuitenkaan dokumentoitu, sillä se on osittain satunnaista. Tässä sprintissä saimme korjattua edellisessä ilmenneitä ongelmia. Sprintin suunnittelu oli huomattavasti parempi ja tehtävät jaoteltiin [HackMD:ssä prioriteettinsä mukaan](https://hackmd.io/q4ECydfSRTyfntJ4KZIj1w). Tavoitteenamme oli saada ensimmäisen prioriteetin tehtävät tehtyä, kaikki muu oli ylimääräistä tai hiomista. Tehtävät kirjattiin backlogiin selkeämmin, minkä ansiosta kykenin kirjaamaan työtehtävieni etenemisen paremmin Azureen, vaikka joitakin puutteita silti oli. Aika-arvioiden tekeminen on vieläkin melko vaikeaa, varsinkin bugeja korjatessa, mutta olen huomannut, että yhden toiminnallisuuden toteuttamiseen tulisi varata ainakin n. 2 tuntia aikaa. Olen käyttänyt näitä aika-arvioita, esimerkiksi taukojen suunnittelussa.
Tässä raportti ajan käytöstä:
https://clockify.me/bookmarks/5df4e19ab1a5ec52732c86ee
Tässä sprintissä:
- [yhdistin pohjapiirrustusohjelman osaksi käyttöliittymää](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/99305f522287b2029d75d1b712324cc935cb4a0e?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 937](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=937))
- [lisäsin huoneiden tallentamisen tietokantaan pohjapiirrustusohjelmassa](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/45d4d16a01a4e47214649eae990a05ec5066dc63?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 937](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=937))
- [loin pohjapiirrustusohjelmaan toiminnallisuuden sensoreiden lisäykselle](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/c4e313cced51722208ae9f4dcafb509eb114baf6?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 937](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=937))
- [lisättiin pohjapiirrustuksen tallennus pohj. piirrustusohjelmaan](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/a11da71a6310efac75c9e0bbe6479af2915e55da?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 937](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=937))
- [lisäsin sensoreiden piirron "Rakennuksen valvonta"- välilehdelle](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/afc7b4ce3de01713a9194425046dee381052f342?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 919](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=919))
- [lisäsin pohjpiirrustuksen muokkauksen "Rakennuksen valvonta"- välilehdelle ja korjasin pohj. piirrustusten esitykseen liittyvän bugin](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/9f91f331ed412240b4a3ea0d30d80f07d7034f0f?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 938](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=938))
- [parantelin "Rakennuksen valvonta"- välilehden interaktiivisuutta, sekä lisäsin sen taulukoihin vierityspalkit](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/9c3fd1c2b3135b20daac8bbb902c810fd88b23fb?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 921](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=921))
- [lisäsin visuaalisen ilmoitusjärjestelmän](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/c79439e9600aab081e3c7180e7d5098e529761d0?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 905](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=905))
- [parantelin huoneen/sensorin valintaa pohj. piirrustusohjelmassa, sekä korjasin bugin pohj. piirrustuksen tallennuksessa tietokantaan](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/ad48205f243d567db094424e08baa188311e462f?refName=refs%2Fheads%2Fmaster)(ei Azuressa, löytyy vain reposta)
- [korjasin "Oma profiili"- välilehden käyttämään rakennuksien ja rakennusryhmien ID:n sijasta niiden nimiä](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/4c6d3445f1ee6a0a8c0cac497f868b033f83b909?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 845](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=845))
- [korjasin bugeja pohj. piirrustusohjelmassa (palvelimen kaatuminen tyhjiä pohj. piirrustuksia tallennettaessa, huoneen paikan virheellinen tallennus)](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/4c6d3445f1ee6a0a8c0cac497f868b033f83b909?refName=refs%2Fheads%2Fmaster) (bugi, ei Azuressa, ilmoitettiin Discordissa)
- [parantelin visuaalista ilmoitusjärjestelmää](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/ac7fcb19fd330bdda40340087038a1188c84403e?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 942](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=942))
- [korjasin bugin pohj. piirrustusohjelmassa, jossa tiedot tallennettiin useaan kertaan tietokantaan](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/877bedcc12c5ede3428ee4aeee8a28d055119adc?refName=refs%2Fheads%2Fmaster) (bugi, ei Azuressa, ilmoitettiin Discordissa)
- [parantelin pohj. piirrustusohjelmaa lisäämällä paluun "Rakennuksen hallinta"- välilehdelle muutosten tallentamisen jälkeen](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/bd1331ddbcfa461f18a385059715ff3eddd158ab?refName=refs%2Fheads%2Fmaster) (parannus, ei Azuressa, ilmoitettiin Discordissa)
- [korjasin bugeja pohj. piirrustusohjelman huoneiden koon ja paikan asetuksessa](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/dfb7bd7f7a0598274cf4d7506688c702a5ab7d3e?refName=refs%2Fheads%2Fmaster) (bugi, ei Azuressa, ilmoitettiin Discordissa)
- [paransin ajan esityksen "Kaikki hälytykset" ja "Rakennuksen valvonta"- välilehdillä](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/9efb82fcdf35c6589dcb80c7f3c835f6f6a9c678?refName=refs%2Fheads%2Fmaster) (parannus, ei Azuressa)
- [parantelin visuaalista ilmoitusjärjestelmää](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/b4b55df9385ad4969228c03bb76af767a76c6b6d?refName=refs%2Fheads%2Fmaster) (Azuressa: [TASK 1021](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=1021) ja [TASK 1022](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_backlogs/backlog/Ryhmä%20A_1%20Team/Epics/?workitem=1022))
- [korjasin bugin, jossa pohj. piirrustuksen elementtejä pystyi liikuttamaan ympäri käyttöliittymää](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/9a22a192ce0202591d3865961f3d81a9e0cdce03?refName=refs%2Fheads%2Fmaster) (bugi, ei Azuressa)
### Reflektio- ja itseohjautuvuusosaaminen
Toimin kehitystiimissä. Tehtäväni on kehitysjonon tehtävien suorittaminen muiden kehitystiimin jäsenten kanssa. Kehitystiimin jäsenenä minulla on velvollisuus videä projektia eteenpäin tehtäviä suorittamalla, ja niiden toteutumisen kommunikoinnista scrummasterille ja project ownerille. Pyrin kantamaan työroolini tuomat vastuut kysymällä tarpeen tullessa neuvoa ja palautetta muilta kehitystiimin jäseniltä. Yksi kehityskohteista on edelleen tehtävien toteutumisen merkkaaminen Azureen, sillä vaikka työn seuranta oli parempaa tässä sprintissä, monet tehtävät merkattiin tehdyiksi vasta myöhemmin. Yksi vahvuuksistani oli kommunikointi, sillä ilmoitin tehtävieni aloituksesta ja päättymisestä Discordissa, sekä varmistin ymmärtäväni ryhmäni jäsenten bugi-ilmoitukset kysymällä niistä lisätietoa, mikäli tarpeellista.
### Omien työtehtävien hallinta
Työtehtäviini kuului pääasiassa käyttöliittymän ja pääpalvelimen toiminnallisuuksien ohjelmointi, sekä kyseisten osa-alueiden välisen kommunikaation ohjelmointi (datan lähetys käyttöliittymästä palvelimelle ja toisinpäin, vastaanotetun datan käsittely ja lisääminen graafiseen näkymään). Tässä sprintissä tavoitteenamme oli saada viimeiset toiminnallisuudet valmiiksi ja parannella olemassa olevia toiminnallisuuksia, sekä korjata bugeja. Tarkoitus oli saada ohjelma demoamiskelpoiseksi projektin esittelyä varten, mikä tapahtui keskiviikkona (11.12). Emme kuitenkaan aikarajoituksista johtuen demonneet projektia. Lisäksi tehtäväni on informoida scrummaseterille tehtävien etenemisestä, mahdollisista ongelmista ja parannusideoista sekä kirjata työtehtävien etenemisestä Azureen. Olen pitänyt kirjaa työtehtävien toteutumisesta käyttäen Azurea ja Clockifya.
### Oma viestintä
Viestinnässä käytimme pääasiassa Discordia, mutta jotkin asiat kirjattiin myös Azure wikiin. Olen ollut yhteydessä ryhmään päivittäin, ja tässä sprintissä pidimme jokapäivä SCRUM- tapaamisia, jolloin kerroin tekemisistäni scrummasterille. Ilmoitin tehtävien aloittamisesta ja lopettamisesta Discordissa, ja kysyin ryhmäni jäseniltä tarkennuksia heidän ilmoittamiinsa bugeihin. Sprintin alussa autoin taas Valeriaa tietokantaongelmien kanssa.
## Sprintti 6 (12.12. - 19.12.)
### Työpanokseni ja sitoutumiseni projektiin
Tämä sprintti alkoi myöhemmin kuin muut sprintit, sillä edellistä jatkettiin tiistaihin saakka, jonka jälkeistä esityspäivää ei luettu osaksi tätä sprinttiä. Sprintin tavoitteena oli testata järjestelmää, korjata bugeja, hioa tyylitystä ja kirjoittaa käyttöohjetta, ei niinkään enää lisätä toiminnallisuuksia. Tehtäväni oli edelleen ohjelmonitikeskeinen. Korjasin bugeja sitä mukaan kun ne ilmenivät, mutta koska bugeja oli melko vähän työpanoskin jäi matalaksi. Tässä sprintissä työ jakautui kuitenkin tasaisemmin, sillä nyt oli työtehtäviä joita muutkin pystyivät tekemään, ohjelmointia ja kirjoisttamista oli yhtä paljon. Mielestäni työtehtäväni eivät enää olleet projektin onnistumisen kannalta kovin tärkeitä, sillä kaikki toiminnallisuudet oli jo tehty, mutta järjestelmän toimivuus parani silti huomattavasti bugeja korjatessa.
### Oman työn seuranta ja kehittäminen
Olen pyrkinyt dokumentoimaan Clockifya käyttäen työajan, kehittämiseen ja yhteydenpitoon kuluneen ajan (kokoontumiset). Kaikkea yhteydenpitoa ei ole kuitenkaan dokumentoitu, sillä se on osittain satunnaista. Sprintin suunnittelu oli melko vähäistä, sillä sovimme tavoitteista yleisellä tasolla. Meillä ei ollut tarkkaa listaa siitä mitä piti tehdä, vaan pyrimme testaamaan järjestelmää vapaamuotoisesti ja kirjaamaan löytyvistä bugeista [Azuren wikiin](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_wiki/wikis/Ryhmä-A_1.wiki/247/Järjestelmän-betatestaus). Olen huomannut, että yhdelle bugille tulisi varata aikaa korkeintaan tunti, sillä vaikka bugi voikin olla helposti korjattavissa, suurin osa ajasta kuluu sen ymmärtämiseen. Sanoisin, että työni rahallinen arvo oli hyvin vähäinen, sillä moni korjaamistani bugeista oli korjattavissa muuttamalla/lisäämälle yhden rivin koodiin.
Tässä raportti ajan käytöstä:
https://clockify.me/bookmarks/5dfb6daeb1a5ec5273315df8
Tässä sprintissä:
- [Korjasin bugin, jossa pohjapiirrustusohjelman huoneiden säätökahva näkyi muilla välilehdillä ja päävalikon päällä](https://dev.azure.com/tiko-agile19/_git/Ryhmä%20A_1/commit/9efb82fcdf35c6589dcb80c7f3c835f6f6a9c678?refName=refs%2Fheads%2Fmaster)
- [Korjasin bugin, jossa "Kaikki hälytykset"- välilehdellä hälytystä luotaessa maksimiarvoksi pystyi syöttämään minimiarvoa matalamman arvon](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/2c9b202b78440fb74c143250d38c7e7236ebc03b/)
- [Korjasin ajan esityksen "Raportit"- välilehdellä](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/68803b058d9362501b55926736177ecaf6cac3cd/)
- [Korjasin "Peruuta"- näppäimen toiminnan "Tietokannan hallinta"- välilehdellä](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/bfdc37b64285c0b7e68481bf0009b2fd140c8dff/)
- [Korjasin bugin, jossa "Rakennuksen valvonta"- välilehden listat (sensorit, huoneet, hälytykset) asettuivat toistensa päälle](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/568bbeeba005daf8d8c899ec5e94200f7bb8363c/)
- [Korjasin bugin, jossa tietoa ei voinut enää tiedon muokkaamisen jälkeen lisätä tietokantaan "Tietokannan hallinta"- välilehdellä](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/99f2ee119157c29cbbd6f249aa9942a359953447/)
- [Korjasin bugin, jossa huonetta/sensoria vetäessä ikkunan ulkopuolelle tai hiiren oikealla, elementti vetäytyy loputtomasti hiiren mukana](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/503950b69c9e23f20f6c6afcd89bbdcd3fe5899b/)
- [Lisäsin pohjapiirrustusohjelmaan toiminnallisuuden huoneen/sensorin poistolle](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/a67e0c615d755c4016d0c308c1a7a4bd569fbcfa/)
- [Korjasin bugin, jossa "Tietokannan hallinta"- välilehdellä olevat tiedonlisäyskentät eivät päivittyneet "Siiry"- näppäintä painaessa](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/41977b74a870ffda045ca1a5adcbd1042565dec8/)
- [Korjasin bugin, jossa pohjapiirrustusohjelman säätökahva ilmestyi huonetta lisättäessä oikeaan yläkulmaan](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/25ef4d345b7873ba7202fdc0c26da36d0f49bd87/)
- [Korjasin bugin, jossa pohjapiirrustusohjelman säätökahvaa ei piilotettu oikein eikä kahva asettunut oikein huoneiden nurkkaan](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/f94ffaae351be222e66370f9a463b613b8bd829b/)
- [Korjasin bugin, jossa pohjapiirrustukset ja taulukot "Rakennuksen valvonta"- välilehdellä asettuivat toistensa päälle](https://dev.azure.com/tiko-agile19/Ryhmä%20A_1/_git/Ryhmä%20A_1/commit/5ce0803c67ae428f6fa291ddaf0b689940e830d3/)
### Reflektio- ja itseohjautuvuusosaaminen
Työroolini oli kehitystiimissä. Tehtäväni oli korjata ryhmän jäsenien ilmoittamia bugeja ja merkata Azureen, sekä ilmoittaa ryhmälle, korjaamisen onnistumisesta. Työroolini oli tämän sprintin tavoitteiden kannalta tärkeä, mutta koko projektin mittakaavassa tässä sprintissä tehdyt tehtävät olivat osaltani melko pinnallisia.
### Omien työtehtävien hallinta
Työtehtäväni ovat pitkälti tulleet esille jo aiemmissa osioissa, mutta niiden lisäksi minun on tullut olla yhteydessä ryhmääni päivittäin pidettävissä scrum-tapaamisissa, joissa kerron korjaamistani bugeista ja muista toteuttamistani tehätvistä. Olen pitänyt kirjaa työnteosta käyttäen Clockifyä ja kirjannut Azuren wikiin korjatut bugit.
### Oma viestintä
Viestinnässä käytimme pääasiassa Discordia, mutta jotkin asiat kirjattiin myös Azure wikiin. Olen ollut yhteydessä ryhmään päivittäin, ja tässä sprintissä pidimme jokapäivä SCRUM- tapaamisia, jolloin kerroin tekemisistäni scrummasterille. Ilmoitin bugejen korjaamisesta Discordissa, ja kysyin ryhmäni jäseniltä tarkennuksia heidän ilmoittamiinsa bugeihin.
# Vertaisarviointi
## Mika Marjomaa
### Yleinen panos projektityöhön: 5 / 5
Äärimmäisen täkeä osa projektin onnistumista. Suunnitteli sprintit lähes kokonaan itse, ja varsinkin projektin alussa teki huomattavan määrän töistä. Mika koodasi myös järjestelmän eri osa-alueille rungon, joka auttoi minua pääsemään kiinni palvelinohjelmoinnista sekä jQuerystä ja pystyin näin esimerkkien avulla ohjelmoimaan toiminnallisuuksia projektiimme.
### Roolin sopivuus
Mielestäni project ownerin rooli sopi Mikalle hyvin. Hän osaa esiintyä hyvin luontevasti ja auttaa muita ryhmän jäseniä, kun on tarpeen. Mika toimikin puheenjohtajana jokaisella ohjaustunnilla ja Sepon tapaamisissa. Hän osaa myös antaa kritiikkiä työnteosta, esimerkiksi projektin alussa työmäärä oli vähäistä, jolloin Mika huomautti asiasta sen sijaan, että olisi antanut asian olla.
### Vahvuudet ja kehittämiskohteet
Vahvuuksia olivat kommunikaatio, ahkeruus, muiden auttaminen ja sprinttejen johtaminen.
Työskentelymme ei kuitenkaan aina mennyt scrumin periaatteiden mukaan, joten yksi kehityskohteista voisi olla asioiden tarkempi selvittäminen ennenkuin lähtee toteuttamaan.
#### Omien työtehtävien hallinta: 4 / 5
#### Työpanos ja sitoutuminen projektiin: 5 / 5
#### Viestintä: 5 / 5
## Lauri Hiltunen
### Yleinen panos projektityöhön: 3 / 5
Työskenteli ahkerasti projektin alussa, mutta loppua kohden työnteko hidastui. Tämä johtui kuitenkin osittain kokemuksen puutteesta JavaScriptissä. Kehitysprosessin aikana hän kuitenkin auttoi sivujen tyylittämisessä ja toimi lähes jokaisella ohjaustunnilla tai Sepon tapaamisella kirjurina. Kommunikoi hyvin tekemisistään ja vastaili muiden ryhmän jäsenten viesteihin ripeästi. Välillä tapahtui kuitenkin päällekkäistä työskentelyä, sillä Lauri ei ollut ilmoittanut aloittavansa jotain työtehtävää.
### Roolin sopivuus
En tiedä, miten hyvin kehitystiimin rooli sopii Laurille, sillä JavaScript osaaminen oli erityisen tärkeää tässä projektissa. Tästä huolimatta Lauri otti itselleen työtehtäviä, mitkä hän osasi. Ehkä scrummasterin rooli olisi sopinut hänelle paremmin.
### Vahvuudet ja kehittämiskohteet
Vahvuuksia ovat tarttuminen aktiivisesti työtehtäviin, jotka osaa. Kommunikointi, vaikka pieniä parannuksia voisikin tehdä.
Kehittämiskohteista sanoisin, että Lauri olisi voinut pyrkiä opettelemaan JavaScriptiä projektin aikana, sillä hän onnistui saamaan pieniä muutoksia koodiin aikaan. Itsellänikään ei ollut projektin alussa paljoa kokemusta JavaScriptistä, mutta pystyin silti oppimaan paljon Mikan koodia tarkastellessa. Lauri olisi voinut ottaa enemmän tehtäviä mukavuusalueensa ulkopuolelta
#### Omien työtehtävien hallinta: 3 / 5
#### Työpanos ja sitoutuminen projektiin: 2.5 / 5
#### Viestintä: 4 / 5
## Valeria Vasylchenko
### Yleinen panos projektityöhön: 3.5 / 5
Työskenteli myös ahkerasti projektin alussa, mutta työnteko hidastui tehtävien tullessa ohjelmointikeskeisiksi. Projektin alussa kuitenkin Valeria oli avainhenkilö käyttöliittymän ulkoasun suunnittelussa ja ilman häntä monia tärkeitä tehtäviä ei oltaisi saatu alussa tehtyä. Valerialla oli myös puutteita JavaScript taidoissa, joten hänenkin työpanos päätyi vähäiseksi koodauksen aikana. Hän kuitenkin auttoi tyylittämällä välilehtiä. Projektin loppua kohden Valeria alkoi aktivoitumaan jälleen käyttöohjeiden kirjoittaessa ja oli pitkälti vastuussa sen onnistumisessa.
### Roolin sopivuus
Valeria toimi ryhmän scrummasterina. Tämä rooli sopi mielestäni hyvin Valerialle, sillä hänellä ei ollut juurikaan JavaScript osaamista ja pystyi näin keskittymään omiin työtehtäviinsä. Silti JavaScript taidoista olisi hyötyä, sillä hän kuitenkin oli myös osa kehitystiimiä.
### Vahvuudet ja kehittämiskohteet
Vahvuuksia ovat scrummasterin rooli ja kommunikointi. Hän myös pyrki selvittämään joidenkin ryhmäläistemme puutteellista ajan merkkausta, eli hän ei pelännyt antaa negatiivista palautetta silloin kun se on tarpeen.
Sanoisin, että Valerialla on samoja kehityskohteita kuin Laurillakin. Hän olisi voinut pyrkiä opiskelemaan JavaScriptiä ja ottamaan tehtäväksi työtehtäviä, mitkä ovat hänen mukavuusalueen ulkopulelta.
#### Omien työtehtävien hallinta: 3 / 5
#### Työpanos ja sitoutuminen projektiin: 3 / 5
#### Viestintä: 4 / 5
## Riku Härkönen
### Yleinen panos projektityöhön: 2 / 5
Projekti alkoi hitaasti, mutta sen edetessä työntekokin kasvoi. Riku oli vastuussa projektimme tietokannan luomisesta, hallinnasta ja taulujen/datan lisäämisestä/poistamisesta. Riku oli tärkeä osa projektimme onnistumista, sillä ilman häntä tietokantaa ei olisi saatu käyttöön, eikä siihen tarvittavia muutoksia oltaisi saatu tehtyä. Riku olisi voinut kuitenkin tehdä enemmän työtehtäviä tietokannan ulkopuolelta.
### Roolin sopivuus
Riku toimi kehitystiimissä. Riku onnistui tietokanta-asioissa hyvin, mutta hänellä oli silti samoja ongelmia kuin muillakin ryhmämme jäsenillä, hänellä ei ollut JavaScript taitoja.
### Vahvuudet ja kehittämiskohteet
Vahvuuksia oli kommunikointi, mikä oli hänen osaltaan hyvin tärkeää, sillä muut ryhmän jäsenet pyysivät häntä tekemään muutoksia tietokantaan, ja hänen piti olla ajantasalla vaadittavista muutoksista sekä kommunikoida tehdyt muutokset eteenpäin ryhmälle, jotta he voivat päivittää omat tietokantansa.
Kehityskohteena on SQL:n palauttaminen mieleen, sillä tietokannassa oli monia virheitä, mitä myöhemmin piti korjata. Toistan tähän vielä samat kehityskohteet kuin muillekin ryhmäläisille: JavaScriptin opiskelu ja haastaviltakin tuntuvien tehtävien suorittaminen.
#### Omien työtehtävien hallinta: 2 / 5
#### Työpanos ja sitoutuminen projektiin: 2 / 5
#### Viestintä: 3 / 5
## Antti Salo
### Yleinen panos projektityöhön: 0.5 / 5
Teki joitain tehtäviä projektin suunnitteluvaiheessa, mutta työnteko muuttui nopeasti olemattomaksi. Auttoi hieman ohjelmointivaiheessa, muttei tuottanut mitään projektin kannalta tärkeää.
### Roolin sopivuus
Vaikea määritellä, sillä melkein mitään työtehtäviä ei tullut tehtyä. Olettaisin, että hänellä kuitenkin oli jotain JavaScript taitoja, sillä hän onnistui tuottamaan jotain koodia, mutta hänellä ei vaan ollut motivaatiota.
### Vahvuudet ja kehittämiskohteet
Vahvuuksia ei voida määritellä.
Kehityskohteena voisi olla tehtävien yrittäminen, vaikka ne tuntuvatkin vaikeilta. Antti ei juurikaan kirjannut Clockifyyn omia työtuntejaan, joten hän voisi kehittää oman työnsä seurantaa. Kommunikaatio on myös yksi kehitysalueista. Hän olisi voinut esimerkiksi pyytää apua asioissa joita ei osaa.
#### Omien työtehtävien hallinta: 0 / 5
#### Työpanos ja sitoutuminen projektiin: 0 / 5
#### Viestintä: 2 / 5