johdanto leaniin ja ketterään tietotyöhön
TRANSCRIPT
Johdanto leaniin ja ketterään tietotyöhön
Agenda
• Leanin ja ketteryyden arvot ja periaatteet• Leanin ja ketterän työn viitekehykset• Tuoteomistajuus ja Ketterä tuote – kuinka
ketterää ja leania työtä ohjataan• Katsaus leanin ja ketterän tietotyön
käytäntöihin
MIKSI KETTERYYS?
Tyypillinen työmalliPe
rehty
min
en
Suunnittelu Toteutus
TA-D
AA
!
Tyypillinen työmalliPe
rehty
min
en
Suunnittelu Toteutus
OH
O!
Iteratiivinen malli
Prototyyppi TA-
DA
A!
Proto-tyypp
i TA-D
AA
!Proto-tyyppi
TA-D
AA
!
Proto-tyyppi
TA-D
AA
!
Ketterät ohjelmistoprojektit onnistuvat varmemmin
Ketteryydestä saadut hyödyt
• http://www.versionone.com/pdf/7th-Annual-State-of-Agile-Development-Survey.pdf
8
Kyky hallita muuttuvia prioriteettejä
Lisääntynyt tuottavuus
Parantunut näkyvyys
Tiimin tyytyväisyys parantunut
Parantunut ohjelmiston laatu
Riskit vähentyneet
Nopeammin ideasta markkinoilleIT:n ja liiketoiminnan tavoitteet
yhdentyneet
Kehitysprosessi yksinkertaistunut
Parempi tekninen kurinalaisuus
Hyödyt ja haitat
• Projekti pystyy mukautumaan helposti olosuhteiden muuttumiseen
• Asiakas voi päättää milloin tuote on ‘tarpeeksi hyvä’
• Lyhyt aika ideasta toteutuksen alkuun
• Lyhyt time to market• Tukee hyvää tiimihenkeä• Tukee hyvää yhteistyötä
kaikkien viiteryhmien välillä• Läpinäkyvyys
• Vaatii enemmän työtä projektin aikana scrum masterilta
• Vaatii vahvan tuoteomistajan joka voi päättää mitä tehdään seuraavaksi” tarpeeksi hyvin” (eli mikä on tärkein toiminnallisuus)
Oikea toimintatapa projektille on aina syytä valita tapauskohtaisesti
Leanin ja ketteryyden arvot ja periaatteet
Arvo 1: Jatkuva kehittyminen yhdessä
Arvo 1: Jatkuva kehittyminen yhdessä
• Tekijätiimillä valta ja vastuu• Sekä tuotoksista että kehittymisestä• Varmistetaan laatu empiirisesti• Luodaan kaikille näkyvyys tuloksiin ja prosessiin
Arvo 2: Empiirinen lähestymistapa työhön
Arvo 2: Empiirinen lähestymistapa työhön
• Edistymisen arviointi lopputuotteiden asiakasvaikutusten kautta
• Jatkuva oppiminen tarkastelemalla työn tekemisen tapaa
• Työn tekijät vastuussa laadusta ja kehittymisestä• Tarkastellaan ja kehitetään työtä kokonaisuutena
Arvo 3: Asiakasnäkökulma
Kuva: Matt Watts
Arvo 3: Asiakasnäkökulma
• Asiakasvaikutus ratkaisee• Asiakasvaikutuksia validoidaan empiirisesti aikaisilla ja
säännöllisillä tuotosten toimituksilla• Tiivis yhteistyö asiakasrajapintaan• Pyritään minimoimaan turha työ: tehdään vain
sellaista, mitä todella uskotaan asiakkaiden tarvitsevan
Arvo 4: Muutoksen hyväksyminen
Kuva: Jeremie Kent
Arvo 4: Muutoksen hyväksyminen
• Minimoidaan ennenaikainen työ oikea-aikaisella suunnittelulla
• Tehdään päätökset mahdollisimman myöhään• Pyritään toimittamaan mahdollisimman nopeasti
päätöksenteon jälkeen• Jatkuva yhteistyö liiketoiminnan edustajien ja
asiakasrajapinnan kanssa
Leanin tietotyön periaatteet
1. Poista hukka2. Vahvista oppimista3. Tee päätökset niin
myöhään kuin mahdollista
4.Toimita niin pian kuin mahdollista
5. Valta ja vastuu tiimille
6. Rakenna laatu sisään7. Näe kokonaisuus
1. Eliminate waste2. Amplify learning3. Decide as late as
possible4. Deliver as fast as
possible5. Empower the team6. Build integrity in7. See the whole
Ketterän tietotyön periaatteet
• Aikaiset ja säännölliset lopputuotteiden toimitukset
• Hyväksytään muutos, jopa toivotetaan se tervetulleeksi
• Yhteistyö liiketoiminnan kanssa• Kommunikointi kasvokkain• Prototyypit, osatoimitukset edistymisen mittarina• Kestävä toimintatapa ja –tahti• Jatkuva huomio laatuun• Yksinkertaisuus – turhan työn minimointi• Suunnitteluratkaisut itseorganisoituneissa tiimeissä• Toiminnan tarkastelu ja parantaminen säännöllisesti
Tietotyö on usein kompleksista
Kompleksisella alueella empiirinen lähestymistapa
toimii
Leanin ja ketterän työn viitekehykset
Ketteriä ja leaneja viitekehyksiä
XP
Scrum
Kanban
Scrumban
jne.
Scrum
Scrum
• Tuotekehityksen viitekehys
Scrumin arvot
Fokus
Rohkeus
Avoimuus
Sitoutuminen
Kunnioitus
Iteratiivinen ja inkrementaalinen
Tarkastele ja mukauta
Scrumissa on roolit
TuoteomistajaScrummasterKehitystiimiScrum-tiimi
Tuoteomistaja
• Tuotteen ruumiillistuma
Scrummaster
• Tiimin valmentaja
Kehitystiimi
• Ideoista konkretiaan
Scrum-tiimi
• Virtaviivainen koneisto, joka tekee visiosta totta
Scrumissa on artefakteja
Tuotteen kehitysjonoSprintin kehitysjono
Sprintin edistymiskäyrä
Tuotteen kehitysjono Engl. Product backlog
• Tuotevisiosta muodostetaan kehitysjonon asioita
Asia Arvio
Asiakkaana haluan ostaa lippuja junasta ilman lisämaksua, jottei minun tarvitse tulla asemalle etuajassa.
Asiakkaana haluan, että tilausnumero luodaan minulle automaattisesti, jotta minun ei tarvitse käyttää aikaa sen keksimiseen.
Asiakkaana haluan, että asiakaspalvelu voi tulostaa minulle tarvittaessa uuden liipun, jotta minun ei tarvitse ostaa lippua uudelleen jos olen kadottanut sen.
Asiakkaan etukäteisvaraus ilman maksua
Sprintin kehitysjonoEngl. Sprint backlog
• Konkreettiset askeleet sprintin tavoitteeseen ja niiden nykytila
Story Todo In progress Done
Asiakkaana haluan ostaa lippuja junasta ilman lisämaksua, jottei minun tarvitse tulla asemalle etuajassa.
Asiakkaana haluan, että tilausnumero luodaan minulle automaattisesti, jotta minun ei tarvitse käyttää aikaa sen keksimiseen.
Lisää lisämaksuton
lippu konduktöörin laitteeseen.
Päivitä asiakkaan ohjeistusta,
Poista id:n syöttökenttä
käyttöliittymästä.
Edistymiskäyrä (engl. burndown)
Pysymmekö ennusteessa?
todellinen ennuste
Työtä
jä
ljellä
Scrumissa on tapahtumia
Sprintin suunnitteluPäivittäispalaveri
Sprintin katselmointiSprintin retrospektiivi
Scrum pähkinänkuoressa
Tuotekehityksen viitekehysPerustuu empiiriseen prosessikontrolliin
Arvot• Keskittyminen• Rohkeus• Avoimuus• Sitoutuminen• Kunnioitus
Periaatteet• Empiirinen prosessinkontrolli• Tarkasta ja mukauta• Läpinäkyvyys
Roolit• Tuoteomistaja• Scrum Master• Kehitystiimi
Artefaktit• Tuotteen kehitysjono• Sprintin työjono• Sprintin kehityskäyrä
Tapahtumat• Päivittäispalaverit• Sprintin suunnittelu• Sprinttikatselmus• Retrospektiivi
Kanban
Kanban kolmessa vaiheessa
Visualisoi työnkulku
Lähde siitä miten toimitte nyt
Rajoita kesken-eräisen työn määrää
Maksimoi työn virtaus
Evolutio-näärinen muutos parempaan
Kehitä työn tekemistä yhdessä
Kanbanin periaatteet
1. Lähde siitä, miten teette nykyään2. Kunnioita nykyistä prosessia3. Sopikaa, että tähtäätte asteittaiseen,
evolutionääriseen muutokseen
Kanbanin säännöt
1. Visualisoi työnkulku2. Rajoita keskeneräisen työn määrää
(engl. Work in progress, WIP)3. Hallitse töiden virtausta (engl. Flow)4. Tee prosessin menettelytavoista
eksplisiittisiä5. Kehitä toimintaa yhteistyössä, käytä
kehitystyöhön mallinnusta ja tieteellistä menetelmää
6. Käytä palautesyklejä
Kanban ja kanban
• kanban• Merkkikortti, merkkilappu• Tulee japanin kielestä: ”visuaalinen kortti”
• Kanban-järjestelmä• Vetämisperiaatteeseen (engl. pull principle)
perustuva järjestelmä, joka on toteutettu kanban -kortein
• Kanban• Evolutionäärisen ja asteittaisen kehittämisen
metodologia tietotyöhön
David J. Anderson: Kanban, 2010.
Työnkulun visualisointi: Jaettu malli siitä miten työ tehdään
Työnkulun visualisointi: Näkyvyys kaikille
Työnkulun visualisointi: kanban-taulut
Yksinkertainen kanban-taulu
Monimutkainen kanban-taulu
Luova kanban-taulu
Tuoteomistajuus ja ketterä tuote
ketterän ohjelmistokehityksen ohjaaminen
Tuoteomistaja (engl. Product owner, PO)
Tuotteen ruumiillistuma
Tiimi
Ideoista konkretiaan
TUOTEOMISTAJAN VASTUUT
Osallistua
• Sprintinsuunnittelupalaveriin (engl. Sprint planning)
• Sprinttikatselmukseen (engl. review / demo)
• Retrospektiiviin• Kehitysjonon kohentamiseen (engl.
Backlog grooming)
Tuoteomistajan vastuut
• Edustaa tuotteen näkökulmaa• Ilmaista tuotevisio, tuoda se
esiin jatkuvasti
• Motivoida tiimiä• Olla saatavilla
KETTERÄ TUOTE
Tuotteen evoluutio
“It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change.”
”Lajeista vahvin tai älykkäin ei ole se joka selviytyy, vaan lajeista mukautuvin.”
– Charles Darwin
Tuotteen evoluutio
Tarvitsen suojan!
Luola5 päivää
Teltta2 viikkoa
Talo6 kk
Pilvenpiirtäjä2 v
Tuoteomistajan näkökulma
Tarvitsen suojan!
Luola5 päivää
Teltta2 viikkoa
Talo6 kk
Pilvenpiirtäjä2 v
Sidosryhmä
Tarve
Tarpeen täyttävät tuoteversiot
Riskit
• Liiketoimintariski• Tekninen riski• Sosiaalinen riski• Hinta- ja aikatauluriski
Perinteinen työmalliTo
teute
ttavuu
s?
Määrittely & suunnittelu
Toteutus
Hyväks
ym
is-
test
aus
VesiputousTo
teute
ttavuu
s?
Määrittely & suunnittelu
Toteutus
Hyväks
ym
is-
test
aus
Ketterän kehityksen työmalli
Kehitystiimi
Käytössä oleva tuoteversio
AsiakasTuotevisio
Tuotteen kehitysjono
Arvo,vaikutukset
Palaute
Julkaisu
Ominaisuudet
Konkreettiset tehtävät
Tekninen riski
VesiputousTo
teute
ttavuu
s?
Määrittely & suunnittelu
Toteutus
Hyväks
ym
is-
test
aus
Teknisen riskin minimointi
Teknisen riskin
validointi
Ketterän kehityksen työmalli
Kehitystiimi
Käytössä oleva tuoteversio
AsiakasTuotevisio
Tuotteen kehitysjono
Arvo,vaikutukset
Palaute
Julkaisu
Ominaisuudet
Konkreettiset tehtävätTeknisen riskin
minimointi
Teknisen riskin
validointi
Liiketoiminnallinen riski
VesiputousTo
teute
ttavuu
s?
Määrittely & suunnittelu
Toteutus
Hyväks
ym
is-
test
aus
Liike-toiminta-
riskin minimointi
Liik
eto
imin
ta-
risk
in
valid
oin
ti
Ketterän kehityksen työmalli
Kehitystiimi
Käytössä oleva tuoteversio
AsiakasTuotevisio
Tuotteen kehitysjono
Arvo,vaikutukset
Palaute
Julkaisu
Ominaisuudet
Konkreettiset tehtävät
Liiketoiminta-riskin
minimointi
Liike-toiminta-
riskin validointi
Aikataulu- ja hintariski
VesiputousTo
teute
ttavuu
s?
Määrittely & suunnittelu
Toteutus
Hyväks
ym
is-
test
aus
Aikataulu-riskin
minimointi
Aik
ata
ulu
risk
in
valid
oin
ti
Ketterän kehityksen työmalli
Kehitystiimi
Käytössä oleva tuoteversio
AsiakasTuotevisio
Tuotteen kehitysjono
Arvo,vaikutukset
Palaute
Julkaisu
Ominaisuudet
Konkreettiset tehtävät
Hinta- ja aikataulu-
riskin hallinta
Sosiaalinen riski
VesiputousTo
teute
ttavuu
s?
Määrittely & suunnittelu
Toteutus
Hyväks
ym
is-
test
aus
Sosiaalisenriskin
minimointi
Sosiaalisen riskin
validointi
Ketterän kehityksen työmalli
Kehitystiimi
Käytössä oleva tuoteversio
AsiakasTuotevisio
Tuotteen kehitysjono
Arvo,vaikutukset
Palaute
Julkaisu
Ominaisuudet
Konkreettiset tehtävät
Sosiaalisen riskin
hallinta
AIKAISET JA SÄÄNNÖLLISET TOIMITUKSET
Ekosysteemi
Kehitystiimi
Käytössä oleva tuoteversio
AsiakasTuotevisio
Tuotteen kehitysjono
Arvo,vaikutukset
Palaute
Julkaisu
Ominaisuudet
Konkreettiset tehtävät
Tuoteomistaja
Minimituote (engl. minimum viable product, MVP)
• Tuoteversio, jonka avulla tiimi voi kerätä maksimaalisen paljon validoitua oppimista tärkeistä sidosryhmistä ja heidän tarpeistaan mahdollisimman vähällä vaivalla
• MVP:n laajuus riippuu siitä, miten paljon sidosryhmien tarpeista tiedetään jo ja miten paljon on mahdollista oppia
Minimiominaisuus (engl. minimal marketable feature, MMF)
• Pienin mahdollinen muutos palvelussa tai tuotteessa, joka ansaitsee ranskalaisen viivan tuotekuvauksessa
• Tuottaa arvoa jollekin sidosryhmälle
• Pienin mahdollinen muutos, jonka vaikutuksia on mahdollista validoida
Toteutusvalmis kehitysjonon asia
(engl. ready product backlog item)
• Tarpeeksi pieni otettavaksi kehitystiimin toteutettavaksi
• Läpimenoaika lyhyt • Scrum: alle sprintti
• Ymmärrettävä• Yksiselitteinen• Testattavissa
• Esim. käyttäjätarina (engl. user story)
Hyväksymiskriteerit?
• Engl. Conditions of satisfaction tai acceptance criteria
• Tarkentavat ominaisuutta tai käyttäjätarinaa
• Voidaan käydä tarkentavassa keskustelussa haluttavasta toiminnallisuudessa tuoteomistajan kanssa
PRIORISOINTI
Priorisointi arvon mukaan
Suuri arvo
Pieni arvo
Priorisointi arvon ja riskin mukaan
Pieni arvo, suuri riski
Suuri arvo, suuri riski
Pieni arvo, pieni riski
Suuri arvo, pieni riski
Leanin ja ketterän tietotyön käytännöt
MITÄ JA MIKSI ENNUSTAA
Mitä ja miksi ennustaa?
Tarvitsen suojan!
Luola5 päivää
Teltta2 viikkoa
Talo6 kk
Pilvenpiirtäjä2 v
Edistymiskäyrä (engl. burndown)
Pysymmekö ennusteessa?
todellinen ennuste
Työtä
jä
ljellä
Ennustaminen arvioinnin vs. empiirisen tilastotiedon
perusteella Ennustamismenetelmä Riski
Historiallinen tilastotieto Hyvin pieni
Vertaileva työmäärän arviointi
Keskikokoinen
Kehittäjien työmääräarviot Suuri
S-M-L
T-paitakoot
0-1-2-5-8-20-40-100
Tarinapisteet (engl. story points)
SUUNNITTELU JA ENNUSTAMINEN: TEORIASTA KÄYTÄNTÖÖN
Suunnittelu ja ennustaminen Scrumissa
Suunnittelu ja ennustaminen Kanbanissa
• Saadaan enemmän aikaan tekemällä vähemmän
• Samaan aikaan työn alla oleville tehtäville on raja, jolla on mahdollista pitää laatua yllä
• Yleensä tämä yläraja on intuitiivisesti luultua pienempi
• Lyhyet läpimenoajat ovat elintärkeitä luottamuksen rakentumiseen ja oppimisen nopeuttamiseen
• Kanbanissa keskitytään läpimenoaikojen lyhentämiseen ja työn virtauksen maksimointiin
Kanban: Sovitetaan työt todelliseen kapasiteettiin
• Otetaan lisää töitä kanban-järjestelmään vain siinä tahdissa, kun töitä valmistuu
• Ts. järjestelmään ehdolla oleville töille on lukumäärällinen rajoitus
• Tätä tukee se, että järjstelmässä työn alla olevilla töillä on lukumäärällinen rajoitus (engl. work in progress limit, WIP limit)
• Opetetaan viiteryhmät toimimaan kanban-järjestelmän säännöillä
• Tarvittaessa sovitaan yhdessä toimenpiteistä, joilla kapasiteettia voidaan lisätä
Flow-ajattelu ominaisuustasolla
Työjono Kehityksessä Valmis
Ominaisuus 1
Ominaisuus 2
Ominaisuus 3
Suunnittelu ja ennustaminen Kanbanissa
Kuva: Jurgen Appelo
Kumulatiivinen virtausdiagrammi
QueuePlanDevelopmentTestingReady to DeployDone
Kumulatiivinen virtausdiagrammi
QueuePlanDevelopmentTestingReady to DeployDone
WIP
WIP
Kumulatiivinen virtausdiagrammi
QueuePlanDevelopmentTestingReady to DeployDone
Cycle time
Kumulatiivinen virtausdiagrammi
QueuePlanDevelopmentTestingReady to DeployDone
Lead time
JATKUVA TOIMINNAN KEHITTÄMINEN
Retrospektiivi
• Mahdollisuus tiimille tarkastella ja mukauttaa toimintaansa seuraavaa iteraatiota varten
• Tarkastellaan edellisen syklin onnistumista ja toimintaa ihmisten, ihmissuhteiden, prosessin ja työkalujen suhteen
• Identifioidaan: • Hyvin menneitä asioita• Mahdollisia parannuskohteita• Vaihtoehtoja parantaa toimintaa
• Tehdään suunnitelma tiimin toimintatavan mukauttamiseksi ja parantamiseksi
Retrospektiivin rakenne
• Johdanto, palaverin teeman asettaminen• Tiedonkeräys• Oivallusten tekeminen• Päätöksenteko• Retrospektiivin päättäminen
Gathering Data
Possible activities: Timeline of the Sprint (with events,
actions, problems) Energy seismograph Starfish: continue, do more, do less,
stop doing, try doingContinue, do more, do less, stop doing, try doing
Gathering Data
Vinkkejä retroihin
• Päätettyjen toimenpiteiden läpikäynti seuraavassa retrossa
• Toimenpiteet näkyviksi tiimin tilassa ja taululla• Valitaan vain ne toimenpiteet, joita tiimi aktiivisesti
haluaa viedä eteenpäin• Valitaan asioita, joihin voidaan vaikuttaa