talent base ja nitor creations: pragmatic agile

30
Tommi Laitila ja Mikko Mustakallio 05.12.2012 Pragmatic Agile

Upload: talent-base-oy

Post on 26-May-2015

1.188 views

Category:

Documents


3 download

DESCRIPTION

Pragmatic Agile: Mikä se on? Miten se toimii käytännössä? Mitä asiakas siitä hyötyy?

TRANSCRIPT

Page 1: Talent Base ja Nitor Creations: Pragmatic Agile

Tommi Laitila ja Mikko Mustakallio 05.12.2012"

Pragmatic Agile

Page 2: Talent Base ja Nitor Creations: Pragmatic Agile

Pragmatic Agile"

•  Mikä se on?"•  Miten se toimii käytännössä?"•  Mitä asiakas siitä hyötyy?"

Page 3: Talent Base ja Nitor Creations: Pragmatic Agile

Mikä se on?"

Page 4: Talent Base ja Nitor Creations: Pragmatic Agile

Miksi ketterä kehitys? "

•  Perinteinen vesiputousmalli ja sen variantit eivät enää kyenneet vastaamaan vaatimuksiin"–  Järjestelmien koko ja monimutkaisuus teki etukäteen

konseptoinnin (Big Design Up Front) haastavaksi"–  Isoissa hankkeissa ennustettavuus perinteisillä

malleilla oli epätarkkaa"–  Aikatauluvaatimukset (Time-to-market) pakotti

aikaistamaan toteutusta hankkeissa"–  Työntekoa piti tehostaa, johon ratkaisun toi

itseohjautuvat tiimit ja jatkuva priorisointi"

Page 5: Talent Base ja Nitor Creations: Pragmatic Agile

Miksi Pragmatic Agile?"•  Työkalupakki liiketoimintajärjestelmien ketterään

kehittämiseen"

Page 6: Talent Base ja Nitor Creations: Pragmatic Agile

Mitä Pragmatic Agile tuo lisää ketterään kehitykseen "

•  Hyvä takaisinmaksuaika (ROI) "•  Ilman elinkaarikustannusten (TCO) nousua"

Page 7: Talent Base ja Nitor Creations: Pragmatic Agile

Laadukas syöte kehityssykliin"

•  Kehityssykli on kone, joka tuottaa ICT-järjestelmän"–  Ulos tulevan lopputuotteen laatu korreloi syötteen

laadun kanssa"

Page 8: Talent Base ja Nitor Creations: Pragmatic Agile

Tuote-backlog pitää valmistella ennen kuin sprint commitment voi tapahtua"

Page 9: Talent Base ja Nitor Creations: Pragmatic Agile

Tarkoituksenmukaisen arkkitehtuurin varmistaminen (lean)"

Page 10: Talent Base ja Nitor Creations: Pragmatic Agile

Toteutuksesta pienkehitykseen ja ylläpitoon"

Page 11: Talent Base ja Nitor Creations: Pragmatic Agile

Miten se toimii käytännössä?"

Page 12: Talent Base ja Nitor Creations: Pragmatic Agile

CASE"Responsiivinen

kuluttajaverkkopalvelu"

Page 13: Talent Base ja Nitor Creations: Pragmatic Agile

Asiakkaalle aivan uudenlainen sopimus"

•  Lähdettiin rakentamaan uudenlaista luottamussuhdetta välille tilaaja-toimittaja"

•  Puitesopimus pienen, ketterän toimijan kanssa, joka tarjoaa osaamisen liiketoimintakonseptista toteutukseen"

•  Ainoastaan laadullisia mittareita sopimuksessa"•  Asiakkaan ja toimittajan tekijät nivoutuvat yhdeksi tiimiksi"•  Kvartaaleittain hankintatilaus, jonka pohjana tiimien

tarvitsema optimaalinen roolitus tekemisen luonteeseen nähden"

Page 14: Talent Base ja Nitor Creations: Pragmatic Agile

Mitä luvattiin?"•  Oikea ketterän kehityksen malli, jota liiketoiminta voi

ohjata omien prioriteettiensa mukaan"•  Itseohjautuvat Hero-tiimit"•  Aivan uudenlaista näkyvyyttä ja ennustettavuutta

hankkeen etenemiseen"•  Automatisoida kaikki, mikä on järkevästi

automatisoitavissa"•  Laatu aivan uudelle tasolle"•  Kova asenne ja vahva vastuuntunto paikalle"•  Elinkaarikustannusten hallittavuus"

Page 15: Talent Base ja Nitor Creations: Pragmatic Agile

Resources  Infrastructure  Technology  

Solu%on  design   Architecture  

Scrum  Quality  &  

deployment  

Needs  &    Requirements  

Business  

Prod

uc;o

n  

IT  

Enterprise  Architecture  

Architecture  

Releases  

Pragmaattinen malli"

Page 16: Talent Base ja Nitor Creations: Pragmatic Agile

KAPO = Konseptointi, Arkkitehtuuri, Prototyypitys, Operatiivinen malli"

BUSINESS" Design" UI" Concept"Architecture"

Web dev"

Operational Process"

Proto" CMS dev"

Content"

Testing"

BUSINESS" CAPO" DEVELOPMENT" CONTENT" TESTING & UAT"

Page 17: Talent Base ja Nitor Creations: Pragmatic Agile

Hero Team –periaatteet"

I.  Arkkitehtuuri ja ratkaisukonseptointi yhdessä: Vahva arkkitehtuuri- ja ratkaisukonseptointiosaaminen tiimissä keskenään samassa tilassa. Liiketoimintatarpeet selkeytetään ja prosessoidaan tekniseksi ratkaisuksi ja tuotetaan Product backlog -itemit toteutustiimille. Operatiivinen optimointi suoritetaan osana ratkaisukonseptia."

II.  Prototyyppi: HTML5-ulkoasu, CSS-tyylitiedostot, Javascript, grafiikat"III.  Toteutettu ominaisuus: Hero Team tuottaa ratkaisukonsepteista suoraan

tuotantokelpoisia ominaisuuksia (Java-toteutus + CMS-integraatio) "–  Yhteinen vastuu, yhteiset työkalut"

  Saumaton sykli: "–  Ratkaisukonseptoinnista prototyypin kautta operatiivisesti optimoituun

tuotantovalmiiseen järjestelmään" Saumaton toiminnallinen laatu:"

–  Konseptisuunnittelija vastaa lopputuotteen toiminnallisesta laadusta yhdessä kehittäjän kanssa (sign-off ennen hyväksyntätestausta)"

–  Hero Team vastaa testiautomaatiosta ja koodikatselmoinneista"

Page 18: Talent Base ja Nitor Creations: Pragmatic Agile

Vähemmän tekijöitä mutta laajemmissa rooleissa"

•  Pieni, tehokas tiimi tarkoittaa, ettei tarvita dedikoituja henkilöitä kapeisiin “laput silmillä” -rooleihin"

•  Laajemmat roolit tukevat kokonaisuuden ymmärtämistä ja vähentävät vastuurajojen epäselvyyttä"

•  Vähemmän rajapintoja ihmisten/roolien välillä varmistaa saumattoman kommunikaation"

Page 19: Talent Base ja Nitor Creations: Pragmatic Agile
Page 20: Talent Base ja Nitor Creations: Pragmatic Agile

Miten lupaus pidettiin?"

•  Asiakas vahvasti integroitu prosessiin"•  Konseptointi, arkkitehtuurin ohjaus ja protoilu

esisprintissä, joka syötteenä toteutussprinttiin"•  Itseohjautuvat moniosaajatiimit (Hero Team)"•  Testilähtöinen kehitys konseptista ylempiin ympäristöihin"•  Automatisointi kehitykseen, asennuksiin ja testaukseen"

BUSINESS" CAPO" DEVELOPMENT" CONTENT" TESTING & UAT"

Page 21: Talent Base ja Nitor Creations: Pragmatic Agile

Mitkä ovat asiakkaan hyödyt?"

Page 22: Talent Base ja Nitor Creations: Pragmatic Agile

Projektin tila nyt"

I.  Pienemmällä porukalla tehdään isompia asioita nopeammin ja laadukkaammin"

II.  Lopputuotos on täysin testaantuvaa ja design-velka minimoitu (vrt. perinteinen käsitys agile-malleista)"

III.  Velocity on tasaantunut ja ennustettavuus parantunut"IV.  Liiketoiminnan ketterä ohjaus toimii:

liiketoimintavaatimus sisään, toimiva ominaisuus ulos "

Page 23: Talent Base ja Nitor Creations: Pragmatic Agile

Hard Facts* 1/4 – tiimin koko, lähtötilanne vs. Nitor-TB haltuunotto"

0"

10"

20"

30"

40"

50"

60"

70"

Ennen" Nitor-TB"

Projektin pääluku yhteensä"Backlog-itemeita toteutettu"

•  Vaikka projektin pääluku (ml. konseptoijat, arkkitehdit, kehittäjät) on laskenut 1/3-osaan, ominaisuuksia toteutetaan jopa enemmän"

*Vertailun pohjana olevat luvut katsottu yhdessä asiakkaan kanssa kahdesta verrokkisprintistä. Ominaisuus tai backlog item pysynyt kutakuinkin saman kokoisena suureena muttei absoluuttinen luonnonvakio vaan pikemminkin suuntaa-antava yksikkö.

Page 24: Talent Base ja Nitor Creations: Pragmatic Agile

Hard Facts 2/4 - kehittäjän panos per sprintti"

•  Aika, jonka kehittäjät nyt pystyvät dedikoimaan itse kehitystyöhön, on kasvanut 15%"

4,0"

4,5"

5,0"

5,5"

6,0"

6,5"

7,0"

7,5"

8,0"

Ennen" Nitor-TB"

Kehittäjän kontribuutio sprinttiin (htp)"

Page 25: Talent Base ja Nitor Creations: Pragmatic Agile

Hard Facts 3/4 - kehittäjän käyttämä aika vs. toteutettu ominaisuus"

0,0"

1,0"

2,0"

3,0"

4,0"

5,0"

6,0"

7,0"

8,0"

Ennen" Nitor-TB"

HTP:tä / Backlog Item"

•  Hero-tiimin osana toimivilta kehittäjiltä menee nyt n. 60% vähemmän aikaa yhden liiketoiminnan tarvetta vastaavan ominaisuuden* toteuttamiseen"

*Ominaisuus tai backlog item pysynyt kutakuinkin saman kokoisena suureena muttei absoluuttinen luonnonvakio vaan pikemminkin suuntaa-antava yksikkö.

Page 26: Talent Base ja Nitor Creations: Pragmatic Agile

Hard Facts 4/4 - Tekniset parannukset (esimerkkejä)"

•  Käännös ja automaattinen testaus 1/10-osaan "

•  Järjestelmän rakennus ja asennus (kehitysympäristö) 1/20-osaan"•  Mahdollistettiin “build on commit”"

•  Muut ympäristöt olivat manuaalisia ja nyt automatisoitu"

0"

5"

10"

15"

20"

25"

30"

35"

40"

Ennen" Nitor-TB"

Minuuttia"

0"20"40"60"80"

100"120"140"160"180"

Ennen" Nitor-TB"

Minuuttia"

Page 27: Talent Base ja Nitor Creations: Pragmatic Agile

Tekniset parannukset (näkyvyys)"

•  Mitä mitataan näkyy kaikille"

Page 28: Talent Base ja Nitor Creations: Pragmatic Agile

Yhteenveto"

•  Kehityssyklin lopputuote on syötteestä riippuvainen, saumaton yhteistyö varmistaa tehokkuuden ja laadun "

•  Selkeät vastuut (DoD) ja saumattomat hand-overit varmistavat, että kehittäjät tekevät oikeita asioita eikä heidän työnsä keskeydy kesken sprintin "

•  Asiakkaiden ei enää tarvitse ostaa isoja projekteja ja useita erilaisia mutta kapeita rooleja, vaan keskittyä moniosaajiin, jotka tehokkaasti tuottavat liiketoimintavaatimuksista toimivan järjestelmän"

Page 29: Talent Base ja Nitor Creations: Pragmatic Agile

Asiakkaamme kertovat"

”Oikeasti, hyvät tyypit ja rutkasti asiantuntemusta”

“They have good working moral and always look for the best interest of the customer.” “Talent Base and NitorCreations’ people

stand out especially with subject matter expertise and mastering of their responsibility areas” “I personally would prefer a small

service provider like NitorCreations to a large service vendor with complicated hierarchy and processes”

“They stand out with their brilliant down-to-earth, humble and always helpful attitude”

“If something isn’t clear to myself or others in the business, your guys patiently take the time to explain or bring in others who can help”

“Easy to approach with any questions at any time, no matter what the issue”

Page 30: Talent Base ja Nitor Creations: Pragmatic Agile

THIS IS WHAT COUNTS:

☐ Team delivers working, tested software after each iteration ☐ Team delivers what the business needs most ☐ Team is continuously improving its practices

☐ Clearly defined product owner (PO) ☐ PO is dedicated to the project and easily available to the team ☐ PO is empowered and has knowledge to prioritize ☐ PO has direct contact with team ☐ PO has direct contact with stakeholders

☐ PO maintains a product backlog (PBL) ☐ PBL is prioritized by business value ☐ PBL is visible to the team

☐ Top PBL items are well understood and ready for development ☐ Grooming takes place before sprint planning ☐ Bizcases have been approved ☐ Architectural implications to other systems have been agreed ☐ UI mockups have been created an verified ☐ Items have been estimated by the team ☐ Items are small enough to fit in a sprint

☐ Team understands architecture and goals of surrounding systems ☐ Team receives architectural guidance when needed ☐ Team can bring up architectural issues and proposals ☐ Issues and proposals are managed transparently

☐ Team has sprint planning meetings ☐ PO brings an up-to-date PBL with well-understood items ☐ Whole team and PO participates ☐ Meeting is not longer than 4 hours ☐ Team decides what fits into the sprint ☐ Team has a visible sprint backlog and a burndown chart

☐ Team has a release burndown chart ☐ Teams estimate in story points rather than hours ☐ Team velocity is measured and used for release planning

POSITIVE INDICATORS:

☐ Team is having fun and is being trusted by stakeholders ☐ Work generally takes place within the limits of normal working hours ☐ The atmosphere is open for discussing, experimenting and criticizing

Pragmatic Agile check list v1.1

☐ Daily scrum (max 15 minutes) takes places daily at the same time ☐ Whole team participates ☐ Impediments surface and are dealt with

☐ Clearly defined scrum master (SCM) who is not PO ☐ Team knows top impediments ☐ SCM works actively to solve impediments ☐ Escalated to mgmt. when team cannot solve

☐ All code is automatically tested ☐ Continuous integration is used ☐ Unit tests are written and test coverage is followed ☐ Acceptance tests are automated and created based on user stories

☐ Demos are held after each sprint before the next one starts ☐ PO and the required stakeholders participate ☐ Useful feedback is received

☐ Retrospective takes place after each sprint ☐ The entire team including the PO participates ☐ Results in improvement proposals and some get implemented

☐ Sprints of max 4 weeks ☐ Thee sprints always end on time ☐ Team usually finished most items ☐ Team is not disrupted by other tasks ☐ Team possesses all skills required for completing items