Tuesday, July 20, 2021

Scrum sovelluskehitys

Olen 2000-lluvun alussa tutustunut Scrumiin ja toiminut hetken Scrum Masterina. Tässä Scrum esittely 

Johdanto

Scrum- menetelmä sopii ihanteellisesti monimutkaisiin tai nopeasti muuttuvien vaatimusten ympäristöihin. Scrum –projektin tehtävistä laaditaan luettelo nimeltään Product Backlog. Tämä on luettelo tulevan ohjelmiston ominaisuuksista. Scrum -ryhmä työskentelee ajallisesti rajatun jakson (30 pv) puitteissa. Tällaista jaksoa kutsutaan Sprintiksi. Sprintin alkaessa pidetään Sprintin suunnittelukokous (4 + 4 tuntia). Tämän aikana tiimi yhdessä tuotteen omistajan kanssa valitsee ne ominaisuudet, jotka tiimi sitoutuu toteuttamaan Sprintin aikana. Nämä ominaisuudet muutetaan Sprint Backlogin tehtäviksi.


Scrumin aikana työn tekemistä ryhmän sisällä ohjataan päivittäisillä Scrum –kokoontumisilla. Tällaisen kokoontumisen kesto on noin 15 min ja tämän aikana ryhmä pyrkii ymmärtämään työn edistymisen kokonaistilanteen ja työn esteet.


 


(kst. Ken Scwaber & Mike Beedle: Agile Software Development with Scrum

  Prntice Hall 2002)


Scrum perustuu työn edetessä tarkkeneviin tavoitteisiin ja ryhmän voimakkaaseen itseohjautuvuuteen. Tarkasti ennalta määritellyt prosessit ovat mahdollisia vain hyvin yksinkertaisten asioiden yhteydessä. 


Scum roolit ja vastuut

Scrum- projektin kolme roolia ovat tuotteen omistaja:  Tuotteen omistaja  (Product Owner),

Scrum Master ja Scrum Tiimi 

Tuotteen omistaja ja Sprintin suunnittelukokous

Tuotteen omistajan vastuulla on ylläpitää ja järjestään tekemättömien tuoteominaisuuksien listaa (Produck Backlog) 


Toteuttamaton tuotteen ominaisuuslista on luettelo tuotteen piirteistä, joita ei vielä ole tuotteeseen toteutettu. Kun projekti käynnistyy, se alussa ei ole massiivista aikaa vievää pyrkimystä tuottaa täydellistä tehtävälistaa, vaan kirjata täysin ilmeiset suuntaviivat kehitykselle ja antaa tuotteen ”kehittyä” tai ”elää” oikeihin mittoihinsa. Näin toteuttamattomien ominaisuuksien lista elää, täydentyy ja tarkkenee oppimisprosessin myötä. 


Sprintin suunnittelukokouksessa tuotteen omistaja priorisoi toteutettavat ominaisuudet ja kuvailee ne tiimille. Tämän jälkeen tiimi päättää, mitkä ominaisuudet listan alusta se pystyy toteuttamaan Sprintin aikana. Tämän jälkeen tiimi siirtää tuotteen ominaisuuslistalta nämä ominaisuudet Sprintin ominaisuuslistalle (BackLog)  


Sprintin suunnittelukokoukset ovat aikarajoitettuja. Kumpikin kestää neljä (tai 3) tuntia. Kun jälkimmäinen osa alkaa siitä virallisesti myös Sprint. Jälkimäiseen kokoukseen osallistuu vain srcum tiiimi ja sen lopputuloksena tiimi muodostaa alkuosan aikana syntyneestä srpinttiin valituista tuoteominaisuuksista sprintin tehtäväluettelon.

 

  

Päivittäinen Scrum palaveri

Scum tiimi pitää päivittäin scrum- palaverin. Tyypillisesti nämä pidetään samaan aikaan samassa paikassa päivittäin.


Palaverin kesto on noin 15 minuuttia. Näissä palavereissa kukin tiimin jäsen kertoo 

    • mitä Sprintiin kuuluvaa työtä on tehnyt edellisen scrum palaverin jälkeen 

    • mitä työtä aikoo tehdä seuraavaan palaveriin saakka

    •  mitä esteitä tehtävän suorittamiselle on tullut

 Tällä tavoin koko tiimi pidetään ajan tasalla siitä, miten työ edistyy. Tällöin kukin työntekijä kertoo julkisesti kunkin päivän sitoutumisensa yhteiseen tavoitteeseen. Palaverin keskeinen tehtävä on päivittäin tunnistaa työn edistymistä haittaavat esteet. 


Scrum Masterin keskeisin tehtävä on huolehtia pikaisesti syntyneiden esteiden poistamisesta.


Päivittäiseen Scrum palaveriin voi osallistua myös ”kanoja”, mutta heidän tulee olla pelkästään tarkkailijoita eivätkä he saa yrittää mitenkään (puhumalla, ilmeillä tai muut) vaikuttaa palaverin kulkuun.


Sprintin valmistumiskokous 

Sprintti päättyy valmistumiskokoukseen. Kokouksessa tiimi esittelee sprintin tulokset. Yleensä tämä tapahtuu esittelemällä aikaansaadun ohjelmiston toimintaa. Tämä kokous pyritään pitämään epävirallisena. Tämä merkitsee sitä, että PowerPoint –kalvojen esittäminen on jyrkästi kielletty ja tämän valmisteluun ei saa kuluttaa kahta tuntia enempää. Tämän kokouksen tavoitteena ei ole olla scrum tiimin taakka, vaan luonteva lyhyt aikaansaannosten esittely. 


Sääntöjä

Veli- Srcum –työskentelyssä noudatetaan seuraavia Scrum –sääntöjä.

    • Tiimi voi pyytää ukonpuolista neuvoa, apua, tietoa tai tukea

    • Sprintin aikana tiimi on ainoa taho, joka tekee suunnittelu- ja toteutuspäätökset ja tiimi on näin ollen täysin itseohjautuva eikä tiimin päätöksentekoon Scrumin aikana saa yrittää vaikuttaa ulkopuolelta

    • Jos Sprintin aikana tämän tavoitteet osoittautuvat ylivoimaisiksi, voi Scrum Master keskeyttää Sprintin ja käynnistää uuden Sprintin suunnittelukokouksen

    • Jos tiimi toteaa, että sen ei kykene saavuttamaan koko alussa asetettua Sprintin product backlogia, niin tiimi voi neuvotettl Scrum Masterin ja Product Ownerin kanssa mitkä ominaisuudet poistetaan nykyisen Sprintin listalta. Jos Srintin saavutettava lisäarvo osoittautuu liian pieneksi, voi Scrum Master keskeyttää Sprintin.

    • Tiimi päättää voiko se toteuttaa sovittua enemmän ominaisuuksia Srintin kuluessa.

    • Tiimin jäsenillä on 3 hallinnollista velvollisuutta

        ◦ Osallistua päivittäisiin Scrum- palavereihin

        ◦ Ylläpitää Sprint backlogin jäljellä olevia työmääriä päivittäin

        ◦ Kirjata työtunnit oman organisaation työkirjausjärjestelmään (kuten TERP)  

Kirjallisuutta

 Kent Schwaber & Mike Beedle: Agile Development with Scrum


No comments:

Post a Comment