# Kehittäjäpäiväkirja
## Azure-projekti
### Sprint 1
Ensimmäisen sprintin aikana jaettiin roolit ja mietittiin yhdessä ohjelman rakennetta.
Esittelin omaa näkemystäni ohjelman toteutuksesta PowerPoint esityksellä. Valikkopohjaiselle konsolisovellukselle se oli mielestäni selkeä tapa tuoda esille omaa visiota.
Eräs ryhmäläisistä alkoi toteuttamaan visioni pohjalta ohjelmalle kaaviota. Kaavio selkeytti ohjelman rakennetta entisestään, ja seuraavaksi vuorossa oli tehtävänjako.
Olin ehtinyt suunnitella yhden ohjelman osion toteutusta pitkälle. Eräs ryhmän jäsenistä ehdotti toista tapaa, mutta en heti ymmärtänyt oikein, mitä hän tarkoitti. Ehkä oman innokkuuteni takia hän ei kehdannut asiaa uudestaan tuoda esille. Myöhemmin samana päivänä oivalsin, mitä hän oli tarkoittanut, ja hänen ideansa oli yksinkertaisempi tapa ratkaista se ongelma, johon itse olin kehitellyt monimutkaisen ratkaisun. Opin tästä sen, että muita pitää kuunnella tarkasti, ja tarvittaessa kannustaa kertomaan lisää, varsinkin jos vaikuttaa siltä, että toinen ei ujoutensa tai muun takia uskaltaisi. Muutoin saattaa hyvä idea jäädä kuulematta.
### Sprint 2
Ensimmäisellä sprintillä pääsimme jo ohjelmoimaan. Melkein kaikki saivat jotain tekemistä. Oma roolini oli lähinnä muiden tekemän koodin lukeminen ja palautteen anto. Yksi tehtävistä oli vahingossa annettu minulle ja eräälle toiselle ryhmäläiselle, jolla oli hieman vähemmän ohjelmointitaustaa. Yhdessä katsoimme hänen koodia, ja hioimme hänen toteutusta tehtävästä lopulliseen muotoon. Toteutus oli erilainen, kuin mitä olisin itse tehnyt, mutta lopputulos oli silti sellainen, että tarvittu toiminto saatiin aikaseksi. Olin aiemmin myös pitänyt pienen koodailusession toiselle ryhmäläiselle, joka olikin käyttänyt näyttämiäni tekniikoita omassa tehtävässään.
Vaikka ensimmäisellä sprintillä minulle ei varsinaisesti tullut omaa taskia, koin olevani silti hyödyksi ryhmälle eräänlaisena mentorina. Minusta oli mielenkiintoista debuggailla koodia yhdessä, ja löytää yhdessä ratkaisuja ongelmiin. Itse saisin ohjelman tehtyä muutamassa tunnissa, joten ehkä jatkossakin aion pysyä mahdollisimman paljon mentorin roolissa, ja neuvoa muita ongelmatilanteissa.
### Sprint 3
Sprint 3 meni aika lailla sairastellessa, en päässyt osallistumaan ryhmän kokouksiin, eikä minulle oltu määrätty taskia.
### Sprint 4
Otin taskiksi käyttäjän painoindeksitiedoston tulostamisen. Tiedoston tiedot voidaan nyt tulostaa kokonaisuudessaan, tai rajatuilta ajalta.
Tiedot järjestellään päivämäärien mukaan. Viimeistelin myös toisen kehittäjän keskenjääneen käyttäjän kirjautumisen, koska sen valmiiksi
saaminen oli tärkeää ohjelman ajettavuuden kannalta.
Ohjelmaa oli mahdollista testailla enemmän nyt kun kirjautuminen oli valmista. Yhteensopivuusongelmia tuli korjattua refaktoroinnin yhteydessä.
Ongelmaksi huomattiin windowsin päivämäärän formaatti. Yhden devaajan koneen asetukset käyttivät päivämäärissä merkkeinä kauttaviivaa, kun lopuilla oli pisteet.
Tällöin tämän devaajan kone ei tunnistanut päivämäärää tiedostosta, ja antoi virheilmoituksen. Yhdessä mietimme hyvän tovin Discoridssa, kunnes löysimme ratkaisun. Siitä seurasi muutama riemunkiljahdus.
### Sprint 5 ja yhteenveto
Viimeinen sprintti piti sisällään sovelluksen viimeistelyä ja bugien korjausta. Vietimme paljon aikaa discordissa käyden läpi sovelluksen viimeisiä
viilauksia, ja yhdessä tutkimme Visual Studion versionhallintaa. Siitä tuli opittua jonkin verran, ja käytimme brancheja ja mergaamista erilaisten
toimintojen lisäämiseen. Muutamia kertoja tuli laitettua sovellus solmuun, mutta onneksi pysyvää vahinkoa ei sattunut. Bugeista eniten päänvaivaa aiheutti
päivämäärien muotoilu, joka muodostui jälleen ongelmaksi. Sekaan oli ilmestynyt myös toinen bugi eräästä toisesta toiminnosta, jonka aluksi luulimme liittyvän päivämääriin. Onnistuin löytämään ratkaisun jälkimmäiseen bugiin, ja muokkamaan päivämäärien tulostusta niin, että sen pitäisi toimia nyt kaikilla.
Viimeisen sprintin aikana olisi voinut ehkä tehdä enemmän testailua, niin olisimme löytäneet aiemmin mainitut bugit aikaisemmin. Mielestäni sovelluksemme
kuitenkin toimi tarpeeksi hyvin, ja ennen kaikkea täytti tehtävänannon kaikilta osilta. Suurin osa tiimistä oli hyvin mukana viimeistelyvaiheessa, ja
kaiken ohjelmistokehityksen liittyvän lisäksi voin sanoa tutustuneeni myös hyviin tyyppeihin, joiden kanssa voisin jatkossakin tehdä ryhmätöitä. Opin seb, että myönnytyksiä pitää osata tehdä, ja vaikka omasta mielestä oma toteutus olisi paras. Muita kannattaa kuunnella, ja kannustaa tuomaan esille ideoitaan, sillä ne voivat osoittautua erittäin hyödyllisiksi.
## Itsearviointi
Kurssin arvosanaksi antaisin itselleni vähintään 4. Azure-projektissa meidän ryhmä onnistui hyvin, ja meidän sovelluksemme täytti kaikki tehtävänannon kriteerit. Minulla oli iso rooli siinä. Clockifyn käytöstä ehkä pudottaisin yhden pisteen kokonaisarvosanasta, koska aivan kaikkia merkintöjä en sinne muistanut laittaa.