Technology

Scrum parantaa näkyvyyttä ja ohjattavuutta

November 1, 2010

Read time 4 min

Scrum on ketterä prosessikehys, jonka käytännöt luovat erinomaisen näkyvyyden tuotekehityksen todelliseen edistymiseen. Scrumilla kehitettävä tuote voi olla esimerkiksi kuluttajille suunnattu ohjelmistopaketti tai yrityksille suunnattu web-palvelu. Läpinäkyvyyden avulla voidaan tehdä ajantasaiseen ja tarkkaan tilannetietoon perustuvia päätöksiä jatkuvasti kehityksen edetessä.

Scrum soveltuu komplekseihin hankkeisiin

Perinteinen tuotekehitys lähtee tarkasta vaatimusmäärittelystä, jossa selvitetään tarve ja kiinnitetään tarvittavan järjestelmän vaatimukset. Tulevaisuuden ennustaminen on kuitenkin hankalaa. Sen vuoksi vaatimusten keräämisen ja tuotteen käyttöönoton välillä huomataan usein, että alussa tehdyt ennustukset eivät pitäneet paikkansa ja siksi toteutettu järjestelmä vastaa tarpeita vain osittain. Scrumissa ennustuksia ei hakata alussa kiveen, vaan suunnittelua tehdään jatkuvasti projektin edetessä.

Merkittävin kysymys Scrumin käyttöä pohtiville on, kuinka epävarmassa ympäristössä töitä tehdään. Jos maailma (kilpailijat, markkinat, teknologiat, asiakkaiden tarpeet) on tarkasti ennustettavissa ja toteutus on suoraviivainen, perinteiset mallit toimivat varmasti hyvin. Jos taas liiketoiminta- ja järjestelmäympäristöissä on paljon epävarmuustekijöitä Scrum soveltuu kehitykseen erinomaisesti.

Ei viime hetken yllätyksiä

Scrumia käytettäessä on helppo seurata tuotekehityksen edistymistä eri osa-alueilla. Ajantasaisen tiedon avulla pystytään tekemään koko kehitystä koskevia päätöksiä, parantamaan toimintatapoja ja vaikuttamaan kehitystä hidastaviin asioihin. Uusiin vaatimuksiin ja toimintaympäristössä tapahtuviin muutoksiin pystytään reagoimaan nopeasti ja hallitusti.

Työn edetessä rakennettavaa toiminnallisuutta voidaan karsia, priorisoida uudelleen tai määritellä eri tavalla palautteen ja opitun tiedon perusteella. Laatua seuraamalla havaitaan ryhtiliikkeen tarve ennen kuin varsinainen notkahdus on tapahtunut. Kenties kaikkein eniten Scrum tarjoaa läpinäkyvyyttä juuri kustannuksiin ja aikatauluihin lyhyen kehityssyklinsä kautta. Säännöllisten tarkistelupisteiden ansiosta muodostuu käsitys kehitystiimien kapasiteetista eli siitä, kuinka paljon toiminnallisuutta rakennetaan yhdessä syklissä. Scrumia käytettäessä viime metreillä ei tule yllätyksiä, koska jatkuvasti tiedetään, missä mennään.

Tuoteomistaja tuo liiketoiminnan näkökulman ja vision

Scrumissa kehitystä ohjaa tuoteomistaja (Product Owner) liiketoiminnan vision ja asiakkaiden tarpeiden pohjalta. Tuoteomistaja toimii tiiviissä yhteistyössä tuotteen kehittämisestä vastaavien kehitystiimien kanssa.

Tuoteomistajan rooli on kriittinen, koska hän vastaa siitä, että käytettävissä olevat aika ja resurssit käytetään juuri oikeiden asioiden tekemiseen. Jos tuotevisio on hukassa ja tuote ei vastaa asiakkaiden tarpeita, se ei pelastu hyvällä toteutuksella.

Tuoteomistaja käyttää ohjaamiseen priorisoitua listaa, tuotteen kehitysjonoa (Product Backlog). Tuoteomistaja priorisoi tuotteeseen ehdotetut toiminnallisuudet liiketoiminnan tarpeiden mukaan ja kehitystiimit arvioivat niiden toteuttamiseen tarvittavan työmäärän. Jatkuva yhteistyö, priorisointi ja arviointi varmistavat, että työskentelyssä keskitytään liiketoiminnan kannalta tärkeimpiin asioihin.

Priorisoidun listan ansiosta suunnitelmia voidaan muuttaa kehityksen edetessä, kun saadaan uutta tietoa kehityksestä tai liiketoiminnasta. Yksi hyödyllisimmistä tiedonlähteistä tuoteomistajalle on julkaisun edistymiskäyrä (Release Burn-up tai Burn-down), joka visualisoi kokonaisuuden todellisen valmiusasteen. Käyrän avulla voi arvioida jäljellä olevan toiminnallisuuden toteuttamiseen tarvittavan ajan sekä muutokset (ja muutoksen vaikutukset) julkaisun laajuudessa ja aikataulussa.

Kehitystyö on kurinalaista tiimityöskentelyä

Scrumissa toteutus- ja kehitystyö tapahtuu 1–4 viikon kehityssykleissä (Sprinteissä). Kehityssyklin suunnittelupalaverissa (Sprint Planning) valitaan kehitysjonosta toteutettavaksi ne toiminnallisuudet, jotka ovat liiketoiminnan kannalta tärkeimmät. Kehitystiimit ovat Scrumissa moniosaavia eli kaikki tarvittava osaaminen löytyy tiimistä (esimerkiksi määrittely, arkkitehtuuri, käyttöliittymä, toteutus, testaus, integraatio, dokumentointi). Jokaisen Sprintin päätteeksi kehitystiimit tuottavat valmiin kokonaisuuden, joka katselmoidaan yhdessä tuoteomistajan ja muiden sidosryhmien kanssa Sprintin katselmoinnissa (Sprint Review).

Kehitystiimi hallinnoi työtään Sprintin aikana tehtävälistan (Sprint Backlog) avulla. Tehtävälista on ajantasainen suunnitelma eri ominaisuuksien toteuttamiseksi tarvittavista tehtävistä ja töistä. Kehitystiimi on yhteisesti vastuussa työstään ja sen tuloksista sekä siitä, että kaikki valmistuneet ominaisuudet on tehty yhdessä määritellyn laatutason (Definition of Done) mukaisesti Sprintin päätteeksi.

Päivän Scrum-tapaamisissa (Daily Scrum) Scrum-tiimi synkronoi ja koordinoi työtään jakamalla toisilleen olennaista tietoa työskentelyyn liittyvistä asioista (haasteista, tehdyistä töistä). Tapaamisissa tietämys leviää ja ongelmiin voidaan tarttua välittömästi.

Scrum auttaa kehittämään toimintaa

Läpinäkyvyys ei helpota vain tuotekehitystä, vaan myös toiminnan kehittämistä. Kun työ tehdään lyhyissä ja tiiviissä iteraatioissa, voidaan toimintaa tarkastella ja mukauttaa helposti ja nopeasti tarpeen mukaan. Jokaisen Sprintin päätteeksi pidetään retrospektiivi (Retrospective), jossa tarkastellaan Sprintin onnistumista toimintatapojen näkökulmasta – mikä toimi hyvin ja missä on parannettavaa. Näin löydetään parempia tapoja tehdä töitä ja auttaa organisaatiota lähestymään todellista suorituskykyään.

Suurimmat hyödyt olen itse nähnyt Scrumista saavutettavan organisaatiotasolla, kun tiimit ja yksilöt ovat alkaneet aktiivisesti ottaa vastuuta toiminnan kehittämisestä. Parhaimmillaan näkyviä muutoksia tuottavuudessa ja työtyytyväisyydessä tulee jo muutamissa viikoissa. Tiimejä ja tuoteomistajaa auttaa jatkuvassa kehittymisessä Scrum Master, jonka tehtävänä on hankkeen edistämisen lisäksi auttaa paremman suorituskyvyn saavuttamisessa, haastamalla ja valmentamalla koko organisaatiota.

Scrum motivoi tekijänsä

Perinteisessä tuotekehityksessä yksi suurimmista vaikeuksista on ollut nähdä tuotteen todellinen valmiusaste. Scrumia käytettäessä tuotteen tila on jatkuvasti selvillä ja edistymiseen vaikuttavat tekijät ovat havaittavissa. Scrum on helposti omaksuttava työmalli, joka pakottaa miettimään ja kehittämään toimintatapoja tilanteeseen sopivaksi.

Olemme huomanneet, että työskentely Scrum-tiimissä on erittäin motivoivaa, koska tiimillä on selkeät tavoitteet ja tiimi pystyy vaikuttamaan omaan työhönsä ja työskentelytapoihin. On syytä kuitenkin muistaa, että Scrumin käyttäminen edellyttää, että tiimin jäsenet ovat osaavia ja työhön sitoutuneita.

Never miss a post