-
Notifications
You must be signed in to change notification settings - Fork 0
Raportti
Sprinttien aikana kohdatut ongelmat (prosessiin-, projektityöskentelyyn ja teknisiin asioihin liittyvät)
Ryhmän suurin haaste oli ryhmän jäsenten kiireet (paljon kursseja, töitä, mitä kenelläkin), mutta mielestämme lopputulos oli siitä huolimatta hyvä. Kiire näkyi etenkin ensimmäisen sprintin aikana tavoitteista jäämisenä. Onneksi olimme kuitenkin saaneet suunniteltua teknologiat ja toteutuksen: Rails+MongoDB, joka paljastuikin erittäin hyväksi tähän projektiin. NoSQL tietokanta helpotti työtämme huomattavasti, kunhan tiimi pääsi jyvälle Rails ja MongoDB käytöstä, sillä projektin tietokohteet sopivat hyvin dokumenttipohjaiseen NoSQL kantaan.
Ensimmäisen sprintin takkuiluun vaikutti myös AgileFantin käyttö, joka vaati alkuun hieman perehtymistä SCRUMiin - AgileFant serverimme taisi myös olla parina kriittisenä aikana alhaalla (oman asentaminen ei meiltä onnistunut). AgileFant kuitenkin paljastui mielekkääksi työkaluksi ominaisuuksiensa vuoksi ja sen kautta tuli myös opittua SCRUM prosessi - on melko vaikea täyttää kaikki AgileFantin vaatimat kentät ja hallita storyja ellei seuraa SCRUMia oikein.
Toinen sprintti sujui ryhmän mielestä kauttaaltaan mallikkaasti ja vastasi hyvin Scrumin työtapoja. Tähän varmasti kannusti ensimmäisen sprintin jälkein retrospektiivi ja huolella tehty backlog heti retron jälkeen. Jatkoimme tästä myös suunnittelemalla kolmannen sprintin backlogin heti toisen sprintin päätytyä. Pääsiäisloma ja muiden kurssien deadlinet kuitenkin hieman sekoittivat kolmannen sprintin työtahtia ja toteutus jäi viimeisten päivien varaan.
Eräs viimeisen viikon haaste koitui hankalaksi, sillä vaihdoimme uudempaan MongoDB versioon, jotta saimme uuden text search ominaisuuden käyttöön, jonka kanssa referenssien etsiminen oli helppo toteuttaa ja tehokas. Ongelmaksi tämä muodostui siksi, että Heroku, Travis ja Nitrous ei vielä tukenut tätä versiota; päädyimmekin siirtämään palvelun tuotantoversion itse konfiguroidulle Linux instanssille.
Kiireisyydestä huolimatta tiimillä oli ammattitaito kohdillaan ja työskentely onnistui kätevästi etänä käyttäen IRC-kanavaa kommunikointiin ja välillä yhdessä työskennellen. Ratkaisevaa oli se, että pystyimme lukemaan toistemme tekemää koodia ja tietämään mitä toinen tiimin jäsen tällä koitti kommunikoida ja mitä ongelmaa hän koitti ratkaista - näin pystyimme rakentamaan toistemme tekemän työn päälle ja projekti pystyi etenemään vaikka teimmekin sprinttejämme aivan eri aikoihin.
Tiimin merkittävä vahvuus oli uusien teknologioiden nopea omaksuminen; Ruby ja Rails oli lähes kokonaan uutta asiaa kahdelle jäsenelle, samoin myös MongoDB ja NoSQL - päädyimme kuitenkin näihin teknologioihin konsensuksella, koska niiden edut (helppous, nopeus, sopivuus projektiin) päihittivät haitat (osaamisen puute).
Parannettavaa olisi ehdottomasti löytynyt sprinttien suunnittelupalaverien ja tehtävien etukäteen jakamisen osalta, sprinttien suunnittelu oli lähinnä muutaman minuutin keskustelujen ja scrum masterin päätösten varalla - mitään koko tiimin suunnittelupalavereja ei varsinaisesti ollut kuin aivan ensimmäisen sprintin alussa. Onneksi tiesimme jo heti alkuun miten tulemme projektin toteuttamaan.
AgileFant ja SCRUM ylipäätään avautuivat aivan uudella tasolla luentomateriaaleihin nähden - on eri asia lukea oppaita kuin tehdä itse. Toisaalta myös Rails, MongoDB ja Ruby käyttäminen oikeassa projektissa auttoi näiden teknologioiden oppimista - etenkin gemfilen kätevyys tuli monta kertaa esille, kun olimme riippuvaisia useista eri lisäpalikoista etenkin testauksen ja tietokantayhteyden tiimoilta. Luonnollisesti gitin käyttö monen hengen projektissa on aina hyvää kertausta.
Parhaalta tuntui kuitenkin tiimin toiminnan sujuvuus; jäsenet näyttivät ymmärtävän toistensa koodia ja työn delegointi onnistui hyvin - vahvuudet ja heikkoudet vaikuttivat komplementoivan hyvin toisiaan ja koodi oli monella tapaa yhteisomistuksessa; vaikka jokaisella olikin omat tehtävänsä.