Ketterä projektinhallinta Petri Heiramo Agile Coach, CST 1
Petri Heiramo Ikä: 37 (vielä pari päivää ) Oma koulutus- ja valmennusyritys, Agilecraft Oy, reilut 3 viikkoa Lähes 10v ohjelmistokehitys- ja -prosessitausta Digialla Osaan auttavasti koodata, mutta pääkiinnostuksen kohde on ollut laatu ja prosessit Prosessinkehityspäällikkönä 6v Ketteryys ja Scrum pääpainopistealueena syksystä 2005 Työn ulkopuolella Koti Kotkassa 2,5 vuotta Perhe vaimo ja pieni tytär 2
KETTERÄ AJATTELU 3
Iteratiivinen suunnittelu? Used with permission
Iteratiivinen suunnittelu Used with permission
Iteratiivinen suunnittelu Used with permission
Iteratiivinen suunnittelu Used with permission
Periaatteita tarkemmin Projekteissa onnistuminen on ensisijaisesti kiinni projektin henkilöistä ja sidosryhmistä, ja näiden välisestä kommunikaatiosta Kehitystyö ja johtaminen rakentuu koko projektin ajan toimivan, toiminnallisesti laajenevan ratkaisun ympärille Asiakkaiden kanssa pyritään yhteistyöhön ja sopimusten tulee tukea tätä päämäärää Suunnittelun tarkoitus on mahdollistaa reagointi muutoksiin ja uusiin ideoihin, ei luoda suunnitelmia, joiden mukaan yritettäisiin toimia 5
Ketterä kehitysstrategia Iteratiivinen ja inkrementaalinen sykli Eteneminen lyhyissä iteraatioissa, versiojulkaisut kunkin iteraation jälkeen Aikarajatut iteraatiot ja aktiviteetit Huolehditaan riittävistä päätöksentekopisteistä Riski- ja arvovetoinen jatkuva priorisointi Henkilö- ja kommunikaatiovetoinen Tuhlauksen poistaminen toiminnasta 6
Turhien ominaisuuksien välttäminen 7
Turhien ominaisuuksien välttäminen Kerää palautetta, jotta löytäisit nämä Käytä priorisointia näiden poistamiseen 7
Monimutkaisuus Vaatimukset Teknologia Ihmiset lisäävät yhden akselin Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. 8
Monimutkaisuus Ketterä lähestyminen Vaatimukset Suunnitelmavetoinen lähestyminen Teknologia Ihmiset lisäävät yhden akselin Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. 8
Keskeiset hyödyt asiakkaalle Parempi näkyvyys konkreettisten tiheiden toimitusten myötä Parempi soveltuvuus käyttöön Joustavuus vaatimuksissa, parempi vasteaika muutoksille Todellisuus, mielenrauha Aikaisempi käynnistys, nopeammat toimitukset 9
Keskeiset hyödyt toimittajalle Kyky paremmin palvella asiakkaan todellisia tarpeita Hyödyntää paremmin henkilöstön osaamista Sitouttaa henkilöstöä, korkeampi työtyytyväisyys Parempi riskienhallinta ja projektien ennustettavuus Parantaa projektitoiminnan arvotehokkuutta 10
Keskeiset haasteet Erilainen ajattelutapa vaatii opettelua 80% ketteryyden hyödyistä tulee ajattelutavan ymmärtämisestä; ilman sitä tekniikat eivät toimi Ei ratkaise ongelmia, tuo ne esiin Jää jokaisen organisaation valinnaksi poistaa ne Ketteryys vaatii osaamista, jota monissa organisaatioissa ei välttämättä löydy Toisaalta se tarjoaa kilpailuetua niille, joilla sitä on ainakin vielä vähän aikaa 11
SCRUM 12
Scrumin prosessi Pre-Game Kehitysiteraatiot ( Sprintit ) Post-Game Alustava suunnittelu Päivittäiset palaverit Dokumentaation viimeistely Tuotekirja Tehtävälista Julkaisulaatuinen tuoteversio Tuotekonsepti Kehitysiteraatiot voi aloittaa, kun alustava tuotekirja määriteltynä riittävästi priorisoitua työtä ensimmäiseen iteraatioon Kehitystyö päättyy suunnitelman mukaan, tai tuotekirjassa ei ole tekemisen arvoisia ominaisuuksia Used with permission
Projektia ohjaava kokonaiskuva Projektin visio: Puhelinvaihteen toiminnot yhteen käyttöliittymään Julkaisun tavoite: Keskeisimmät ominaisuudet perusversioina Tavoiteltu perustoiminnallisuus, lopullinen ulkoasu Käytettävyyden viimeistely, ryhmätyöominaisuudet Lisäkehitys palautteen mukaan α β 1.0 1.1 Iteraatio Julkaisu Suunnitellut ominaisuudet: - Ominaisuus 1 - Ominaisuus 2 - Ominaisuus 5 - Ominaisuus 6 - Ominaisuus 8 - Ominaisuus 9 - Ominaisuus 3 - Ominaisuus 7 - Ominaisuus 4 14
Yksittäisen iteraation rakenne 3.! Tiimi seuraa työn etenemistä päivittäin ja reagoi tarvittaessa ongelmiin 4. Tiimi demoaa toteutetut ominaisuudet tuoteomistajalle ja sidosryhmille kommentointia ja palautetta varten. 1. Tuoteomistaja priorisoi tuotekirjan ominaisuudet, joista arvokkaimmat valitaan tiimin kapasiteetin mukaan. 2.! Tiimi suunnittelee ominaisuuksien toteutuksen ja jakaa ominaisuudet työtehtäviin kehitystyötä varten 5.! Tiimi tarkastelee kulunutta iteraatiota ja miettii kehityskohteita, joilla toimintaa voidaan kehittää tehokkaammaksi. Used with permission
Roolit ja päävastuut Tavoitteet Asiakas saa rahoilleen vastinetta (ROI) ScrumMaster Suojata tiimiä ulkoisilta häiriöiltä Product Owner ja team täyttävät vastuunsa Vastuut Tukea tiimin itseohjautuvuutta Kehittää tiimin tuottavuutta Tukea Product Owneria liiketoimintaarvon määrittämisessä Poistaa toiminnan esteitä Pyörittää Scrumin prosessia Huolehtia kommunikaatiosta Huolehtia projektiympäristöstä Tuoteomistaja (Product Owner) Tiimi Tavoite Saada oikea tuote Kehittää arvokkaimmat ominaisuudet Vastuut Luoda tuotekonsepti ja tiekartta Hallinnoi tuotekirjaa ja julkaisuja Määrittää liiketoiminta-arvo Hankkia käyttäjäpalautetta Määrittää hyväksymiskriteerit Tavoitteet Tuottaa asiakkaalle mahdollisimman paljon arvoa Säilyttää muutoskyky Vastuut Arvioida työmääriä ja riippuvuuksia Suunnitella iteraatioiden toteutus Toteuttaa säännöllisiä päivityksiä järjestelmään Used with permission
Product Backlog Sisältää kaikki suunnitellut ja mahdolliset ominaisuudet Tuoteomistaja priorisoi liiketoiminta-arvon perusteella Iteraatioon valitaan aina prioriteettijärjestyksessä listan tärkeimmät ominaisuudet 17 17 2005 SysOpen Digia Plc Company Confidential Used with permission
Projektin seuranta 18
YHTEENVETO 19
Ketterä ajattelu Taustalla erilainen arvomaailma Luodaan kyky reagoida muutokseen, priorisoidaan arvon ja riskien perusteella, palautteen hakeminen Ihmis- ja kommunikaatiolähtöisyys Asiakas keskeisessä roolissa Tavoitteena tehokkaat itseorganisoituvat tiimit Vastuu, päätösvalta, motivaatio, osaaminen Avoimuus ja läpinäkyvyys Periaatteessa helppoa, käytännössä haastavaa 20
Scrum Empiirisen prosessin kontrollikehys Minimisetti, josta itsestään on pidettävä kiinni Käyttö organisaatiossa edellyttää täydentävien käytäntöjen käyttöä muista lähteistä Näitä voi helpommin muuttaa tarpeiden mukaan Harhaanjohtavan yksinkertainen, tehokas käyttö hyvin haastavaa Paljastaa organisaation ongelmat; niiden poistaminen se hankala osa 21
Onnistumisen avaimet Huolehditaan ketterän ajattelun ymmärtämisestä kaikilla liiketoiminnan tasoilla Johdon tuki Selkeä, ymmärrettävä, kommunikoitu visio Palaute ja priorisointi Laatua alusta saakka Jokainen iteraatio pyrkii tekniseen tuotantolaatuun Organisaatio oikeasti ryhtyy poistamaan esiin tulleita ongelmia Riittävä sisäinen tai ulkoinen tuki/valmennus 22
Kiitos Lisätietoja: Petri.Heiramo@gmail.com 23