Top Banner
Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto? Marko Taipale - Huitale
40

Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Nov 22, 2014

Download

Documents

Marko Taipale

My presentation slides from Tieturi-event 24.4.2012
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Teknisen taitamisen merkitys ketteryydessä

- näpertelyä vai elinehto? Marko Taipale - Huitale

Page 2: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

2 Cases: Mikä oli teknisen taitamisen merkitys?

Page 3: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Mitä on technical excellence käytännössä ja mitä iloa siitä on liiketoiminnalle?

2 Cases: Mikä oli teknisen taitamisen merkitys?

Page 4: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Mitä on technical excellence käytännössä ja mitä iloa siitä on liiketoiminnalle?

Miten sovittaa työkalut ja käytännöt tasapainoon ketterien käyttöönotossa?

2 Cases: Mikä oli teknisen taitamisen merkitys?

Page 5: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 1

Page 6: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 1 - tausta

Yritys: Kansainvälinen online pelitalo, LV 100+ Meur, 400+ työntekijää Toimeksianto: Skaalaa liiketoimintaa jalkauttamalla ketteryyttä kehitystiimeihin “Tuotekehitys on pullonkaulamme”

Page 7: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 1: Onnistuminen?

10+ tiimiä pyörivät Scrumilla,

6 viikon yritys-sprintit

Homma on tehty, eikös?

Page 8: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 1: ihmetys…

Liiketoiminta: “En tiedä mitä olette tehneet, mutta ainakaan mikään ei ole parantunut”

Page 9: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Development Design

Customer approval

Internal approval Idea Resourcing

Deployment

Page 10: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Development

2m

Design

1m

Customer approval

2h

Internal approval

2h

Idea Resourcing

1d

Deployment

3w

Page 11: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Development

2m 15

Design ready

6m

1w

Design

1m

1m

Customer approval

2h 2d

Internal approval

2h

Idea 6m

Resourcing

1d

8

Selected ideas

Deployment

3w 12

Production ready

6m

Page 12: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Development

2m 15

Design ready

6m

1w

Design

1m

1m

Customer approval

2h 2d

Internal approval

2h

Idea 6m

Resourcing

1d

8

Selected ideas

Deployment

3w 12

Production ready

6m

SCRUM!

Page 13: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Development

2m 15

Design ready

6m

1w

Design

1m

1m

Customer approval

2h 2d

Internal approval

2h

Idea 6m

Resourcing

1d

8

Selected ideas

Deployment

3w 12

Production ready

6m

SCRUM!

Page 14: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 1: Teknisen taitamisen merkitys?

Page 15: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 2

Page 16: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 2: 1400

Tausta: Finanssialan toimija, ketteryyttä jalkautettu ylhäältä alaspäin, 3 tiimiä ketterässä projektissa

Page 17: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 2: toimintamalli

3 Sprinttiä kehitystä

X sprinttiä virheenkorjausta

?

Page 18: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 2: toimintamalli

3 Sprinttiä kehitystä

3 sprinttiä virheenkorjausta

1400 bugia

Page 19: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 2: Teknisen taitamisen merkitys?

Page 20: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Case 1 & 2 Yhteenveto

Page 21: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Käytännöt auttavat kehitysvaihetta, mutta eivät takaa liiketoiminnallista

tuloksellisuutta

Arvoketju voi syödä kaiken tehon, jonka käytännöt tuovat (Case 1)

Käytännöt ovat kuitenkin elinehto kestävälle tuotekehitykselle (Case 2)

Page 22: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Mitä on technical excellence käytännössä ja mitä iloa siitä on

liiketoiminnalle?

Page 23: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Ketteriä teknisiä käytäntöjä

Testivetoinen kehitys (Test Driven Development, TDD) Jatkuva integrointi (Continuous Integration CI) Jatkuva julkaisu (Continuous Deployment, CD)

Page 24: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Aloita

Kirjoita testi, joka ei mene läpi

Toteuta toiminnallisuus siten, että testi

menee läpi

Lopeta

Refaktoroi

TDD

Page 25: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

TDD - hyödyt Laatu J Ei turhaa toteutusta ilman tarvetta (testi ohjaa) Muuttumattomuustestauskuorman kanssa mahdollisuus selvitä Automatisoimalla yksikkö- ja toiminnallisen testaamisen testaajat saavat mahdollisuuden keskittyä mielenkiintoisempiin testauskategorioihin Lyhyempi TTM, koska virhekorjauskierrokset vähenevät, myös välitön säästö ongelmien selvittelyn ajassa, nopeampi palaute

Page 26: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Jatkuva integrointi (Continuous Integration)

Kehitys CI

….

1. Kerää integroitava aineisto tietolähteistä (versionhallinta..) 2. Rakenna aineistosta julkaistavat tuotokset 3. Asenna ne kohdeympäristöön 4. Aja kohdeympäristössä automatisoidut testit 5. Raportoi tulokset

24h

Page 27: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Jatkuva integrointi - hyödyt

Ei enää integrointiyllätyksiä – fail fast!

Nopeampi palaute, virheiden korjaus nopeutuu

Time-to-Market

Page 28: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Jatkuva julkaisu (Continuous Deployment)

CD Tuotanto

1. Ota varmuuskopiot tuotannosta 2. Kerää tuotantoaineisto tietolähteistä (CI) 3. Tarkista päivitystarve tuotantoon (versiot) 4. Aja migraatioskriptit (tietokanta jne..) 5. Asenna tuotantopaketti 6. Aja tarkistusajot, tee tarvittaessa rollback 7. Raportoi tulokset, jatka mittareiden seuraamista ja tee

tarvittaessa rollback

24h

CI

Page 29: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Jatkuva julkaisu - Hyödyt •  Time-to-Market •  Nopea palaute liiketoiminnasta (mittaristolla) •  Eriytettävissä “julkaisu” ja “asiakasjulkaisu” •  Pienemmät tuotantoketjun jonot, atomisempi

arvoketju -> jatkossa vielä lyhyemmät läpimenoajat

•  Operatiivinen tehokkuus (infran myötä) •  Asiakastyytyväisyys •  Konfiguraatioiden määrä vähenee, koska

muutokset saataan tuotantoon nopeammin

Page 30: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Technical excellence

•  On ennenkaikkea asennetta ja itsekuria tehdä työtä inkrementaalisesti ja iteratiivisesti

Page 31: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Miten sovittaa työkalut ja käytännöt sopivaan tasapainoon

ketterien käyttöönotossa?

Page 32: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Aika

Muutoskyky (ilman työkaluja)

Page 33: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Aika

Muutoskyky (työkalut) Muutoskyky (ilman työkaluja)

Page 34: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Aika

Muutoskyky (työkalut) Muutoskyky (ilman työkaluja)

Page 35: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Opit

•  Älä anna työkalujen ohjata tekemistä, vaan tarpeen on ohjattava ja työkalujen vikistävä

•  Aloita manuaalisesti, automatisoi ja sähköistä vaiheittain, tarpeen mukaan

Page 36: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Yhteenveto

Page 37: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Tekninen taitaminen ei korvaa huonoa “järjestelmän” johtamista

Tunne arvoketjusi, ennen aloittamista.

Johda järjestelmää.

Page 38: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Tekninen taitaminen on kuitenkin tuotekehityksessä elinehto.

Jotta liiketoiminnallinen ketteryys

voidaan saavuttaa

Page 39: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Marko Taipale

•  15+ vuotta ohjelmistotuotantoa •  Agile/Lean consultant, Advisor

Kansainvälinen online-pelitalo (TO 100+ Meur) lyhensi TTM:a 24 kuukaudesta 3 kuukauteen Suomalainen energiayhtiö hankki prosessinohjaus/tilausjärjestelmän 20Meur hankkeessa ketterästi ja sai järjestelmän 4 kertaa kaavailtua nopeammin Suomalainen finanssisektorin toimija tehosti hanke- ja projektihallintoaan ja säästi 1,3Meur/vuosi hallintokuluissa Suomalainen startup-yhtiö löysi toimivan liiketoimintamallin 2 kuukaudessa.

•  Kymmeniä kansainvälisiä julkisia esiintymisiä

Page 40: Teknisen taitamisen merkitys ketteryydessä - näpertelyä vai elinehto?

Marko Taipale

•  [email protected] •  +358 40 578 6447 •  Twitter: @markotaipale