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

Post on 22-Nov-2014

1759 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

My presentation slides from Tieturi-event 24.4.2012

Transcript

Teknisen taitamisen merkitys ketteryydessä

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

2 Cases: Mikä oli teknisen taitamisen merkitys?

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

2 Cases: Mikä oli teknisen taitamisen merkitys?

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?

Case 1

Case 1 - tausta

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

Case 1: Onnistuminen?

10+ tiimiä pyörivät Scrumilla,

6 viikon yritys-sprintit

Homma on tehty, eikös?

Case 1: ihmetys…

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

Development Design

Customer approval

Internal approval Idea Resourcing

Deployment

Development

2m

Design

1m

Customer approval

2h

Internal approval

2h

Idea Resourcing

1d

Deployment

3w

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

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!

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!

Case 1: Teknisen taitamisen merkitys?

Case 2

Case 2: 1400

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

Case 2: toimintamalli

3 Sprinttiä kehitystä

X sprinttiä virheenkorjausta

?

Case 2: toimintamalli

3 Sprinttiä kehitystä

3 sprinttiä virheenkorjausta

1400 bugia

Case 2: Teknisen taitamisen merkitys?

Case 1 & 2 Yhteenveto

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)

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

liiketoiminnalle?

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

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

Aloita

Kirjoita testi, joka ei mene läpi

Toteuta toiminnallisuus siten, että testi

menee läpi

Lopeta

Refaktoroi

TDD

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

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

Jatkuva integrointi - hyödyt

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

Nopeampi palaute, virheiden korjaus nopeutuu

Time-to-Market

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

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

Technical excellence

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

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

ketterien käyttöönotossa?

Aika

Muutoskyky (ilman työkaluja)

Aika

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

Aika

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

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

Yhteenveto

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

Tunne arvoketjusi, ennen aloittamista.

Johda järjestelmää.

Tekninen taitaminen on kuitenkin tuotekehityksessä elinehto.

Jotta liiketoiminnallinen ketteryys

voidaan saavuttaa

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ä

Marko Taipale

•  marko.taipale@huitale.com •  +358 40 578 6447 •  Twitter: @markotaipale

top related