Scrumin nykytila ja kehitys

Post on 12-Nov-2014

410 views 1 download

description

Sovelto Aamiaisseminaari 23.8.2012 Ahti Haukilehto

Transcript of Scrumin nykytila ja kehitys

Scrumin nykytila ja kehitys

Ahti Haukilehto Sovelto, Senior-konsultti Professional Scrum Trainer, Scrum.org Microsoft Regional Director, Finland

Aiheet

•Kuinka Scrum-projekti toteutetaan •Mikä on Scrumin nykytila •Tärkeimmät välineet ja kehityspolut

Jyrki JJ Kasvi: Miljoonien musta aukko Julkaistu Tietokone-lehdessä 6/2012

• Tullin tavaraliikenteen turvallisuusriskien kartoittamiseen tarkoitettu, 2,7

miljoonaa maksanut Rita-tietojärjestelmä on neljä vuotta myöhässä.

• Sähköistä reseptiä ollaan lopulta ottamassa käyttöön, 10 vuoden kehittelyn ja kymmenien miljoonien kustannusten jälkeen.

• Helsingin kaupungin taloushallinnon tietojärjestelmän käyttöönotto meni pitkäksi, ja 150.000 laskun lähettäminen viivästyi kuukausilla.

• Kansallisen potilastietojärjestelmän piti olla ensimmäisten suunnitelmien mukaan käytössä vuonna 2007. Yli 20 miljoonaa euroa myöhemmin järjestelmä otetaan käyttöön vaiheittain vuosina 2013-2015.

• Eduskunnan 4,7 miljoonaa euroa maksava Eduksi-järjestelmä viivästyy.

• Suurten epäonnistumisten varjossa tehdään myös pieniä mokia, jotka eivät ylitä uutiskynnystä. Esimerkiksi pieni muutos potilastietojärjestelmän käyttöliittymään lisäsi potilaiden tietojen kirjaamiseen kuluvaa aikaa 10-20 sekuntia. Kun sairaanhoitopiirissä on tuhansia potilaita päivässä, tuloksena oli kymmenien henkilötyövuosien ja satojentuhansien eurojen menetys.

Johdatus Scrumiin

Kääntänyt

Jyrki Wahlstedt

Projektin kohinataso

Helppo

Monimutkainen

Anarkia

Teknologia

Vaatim

ukset

Sopimus

alulla

Lähes

sovittu

Lähe

s

va

rma

Eritt

äin

epävarm

a

Ralph Stacey: Strategic Management

and Organizational Dynamics

teoksessa Ken Schwaber & Mike

Beedle: Agile Software Development

with Scrum.

Scrum tiivistetysti

Kuvan lähde: http://www.scrum-institute.org/index.php

Ei muutoksia kesken sprintin

• Sprintin kesto suunnitellaan sen mukaan, miten pitkään muutokset voidaan sulkea sprintistä

Muutos

Scrum-kehys

•Tuotteen haltija

•ScrumMaster

•Tiimi

Roolit

•Sprintin suunnittelu

•Sprintin lopetus

•Sprintin arviointi

•Päivittäinen scrum

Kokoukset

•Tuotteen työjono

•Sprintin työjono

•Etenemiskaaviot

Artefaktit

Tuotteen haltija

• Määrittelee tuotteen piirteet

• Päättää julkistusajan ja -sisällön

• Vastaa tuotteen tuloskelpoisuudesta (ROI)

• Järjestää piirteet markkina-arvon mukaan

• Säätää ominaisuuksia ja järjestystä iteraatioittain tarpeen mukaan

• Hyväksyy tai hylkää saavutetut tulokset

ScrumMaster

• Edustaa projektin johtoa

• Vastaa Scrumin arvojen ja käytäntöjen pitämisestä

• Poistaa haittoja

• Varmistaa tiimin toimivuudesta ja tuottavuudesta

• Edesauttaa kaikissa rooleissa ja tehtävissä toimivien yhteistyötä

• Suojaa tiimiä ulkoisilta häiriöiltä

Tiimi

• Yleensä 3-9 jäsentä

• Monitaitoinen:

• Ohjelmoijia, testaajia, käytettävyysihmisiä, …

• Jäsenten tulisi olla kokoaikaisia

• Poikkeuksia voi olla (esim. dba)

• Organisoi itse itsensä

• Mieluimmin ilman nimikkeitä (ei aina onnistu)

• Vakio sprintin ajan

Scrumin ”hajaantuminen”

Scrum ei ole rekisteröity tavaramerkki.

• Scrum Alliance • Sertifioinnit: Certified Scrum ..

• Scrum.org • Professional Scrum… • Koulutus alkanut Soveltossa, kouluttajina Panu Puro ja Ahti Haukilehto

• International Scrum Institute • Scrum … Accredited Certification

Scrumin taustaa, tiimityöskentely

Esimerkki tukimuksen kommunkoinnin mittaustuloksista

Johtopäätöksiä – ”It Factor”

• Kommunikointimalli on tärkein onnistumisen ennustava tekijä (Patterns of communication is most important predictor of a team’s success)

• Suorituskykyyn vaikutti oleellisimmin se, miten kommunikoitiin eikä se, mistä kommunikoitiin

• Kommunikoinnin tehokkuus oli tärkeämpi kuin muut oletetut tekijät, kuten tiimin henkilöiden älykkyys, kyvykkyys, taidot, luonteet jne.

Onnistuneen tiimikommunikoinnin ominaisuuksia

1. Jokainen keskustelee ja kuuntelee “saman verran”

2. Kasvokkain, henkilökohtaisesti. Energisesti, ml. ääni, eleet, tunteet jne.

3. Tiimin jäsenet keskustelevat myös kahdekkain, ei pelkästään ryhmänä

4. Tiimin jäsenet keskustelevat myös ulkopuolisten kanssa ja tuovat nämä tiedot tiimin käyttöön.

Yllättävin johtopäätös – The Best Way to Build a Great Team

• NOT to select individuals for their smarts or accomplishments

• BUT to learn how they communicate and to follow successful communication patterns

Beyond conventional wisdom

• 35% of variation in performance accounted for simply by the # of face-to-face communication

• Social time critical to team performance – accounting for more than 50% of positive changes

The Mythical team-month: If a team of 10 is failing, a team of 20 may only succeed in failing more slowly.

Justin Searls:n loistava artikkeli ja luento https://vimeo.com/42861260 Justin Searls, http://testdouble.com Seuraavat kalvot ja ajatukset on koottu hänen materiaalistaan.

Small teams go Faster

• Mutta mikä on ”small” ja mitä tarkoittaa ”faster”

Riittävän pieni tiimi?

• Scrum sanoo, että 6 +- 3

• Amazon sanoo: 2PT (Two Pizza Team) Bezos pursued his idea of a decentralized, disentangled company where small groups can innovate and test their visions independently of everyone else. He came up with the notion of the "two-pizza team": If you can't feed a team with two pizzas, it's too large. That limits a task force to five to seven people, depending on their appetites.

Mikä tarkoittaa, että on pieni tiimi?

• Että ei ole paikkaa piiloutua

• Jos voit olla • keskittymättä • yrittämättä • välittämättä • kommunikoimatta

on tiimi liian iso

Mitä on ”nopeasti”? Onko se

• Kuinka nopeasti koodirivi syntyy?

• Kuinka nopeasti toiminto saadaan julkaistua?

• Kuinka nopeasti tienataan rahaa?

”Nopeasti” on:

kuinka nopeasti saan vastauksen kysymykseeni • Kuten ”onko tämä ominaisuus mahdollinen” • ”voimmeko tehdä tämän” • ”onkohan tämä ominaisuus tarpeellinen, käytetäänkö sitä”

• Tai – ”maksavatkohan käyttäjät siitä” • ”kestääkö sivusto miljoonaa päivittäistä käyttäjää” • ”miksi tämän ominaisuuden tekeminen kestää niin kauan”

Vastaukset ovat palautetta

• Kertovat, missä mennään

• Ehdotuksia siitä, minne mennä seuraavaksi

Vastaukset ovat palautetta

Joten pieni tiimi etenee nopeammin koska sen jäsenet saavat palautteen nopeammin

Faster means: Faster Feedback

Projektien epäonnistuminen

• ~ 25% projekteista epäonnistuu

• Tämä on huono juttu • Siis se, että 75% projekteista onnistuu!!! • Onko todella niin, että 75% projekteista on ollut alunperinkään hyvä idea!

Idea, ja sen epäonnistuminen

• Moni idea on huono, niiden tuleekin feilata

• Kun näin on, niin olisi erittäin tärkeää, että epäonnistuminen havaitaan nopeasti – jotta voidaan testata mahdollisimman montaa ideaa

Projektihallinta ja epäonnistuminen

• Projektinhallinnan tärkein tavoite: vältä epäonnistuminen

• Jos pahalta näyttää, niin • lisätään resursseja • viilataan deadlinea • lasketaan tavoitetasoa

• Jotta projekti saadaan maaliin

Projektin epäonnistumisen minimointi on huonoa optimointia

• Projektin onnistuminen tarkoittaa ROI:n maksimointia • Mutta kuka sitä mittaa

• Yleensä projekteissa harhaudutaan tavoittelemaan vallan muuta, kuten

• Delivered on Time • Delivered on Scope • Delivered on Budget

Projektin epäonnistumisen minimointi on huonoa optimointia

• Jotta “delivered” –mittarit mittaisivat edes epäsuorasti ROI:ta, tulisi tarkoin tietää, mitä halutaan

• Entä, jos • Tavoitetta ei voida koskaan saavuttaa • Käyttäjät eivät siitä piittaakaan • Järkyttävän kallis ylläpitää

Joten myös projekteissa pitäisi optimoida: Nopea palaute - Faster Feedback

• Jotta voidaan epäonnistua nopeammin

• Jotta voidaan kokeilla useampaa asiaa – useampaa idea

• Jotta onnistumisen todennäköisyys kasvaa

Tiimin koosta (jälleen)

• Ei iso tiimi ole aina huono asia • Se vain edellyttää, että tavoite on kristallin kirkas

• Iso tiimi on usein alkanut pienestä tiimistä • Jotta tavoite saadaan kristalloitua • Usein nimenomaan projektin alussa on paljon kysymyksiä.

Iso tiimi

• Edellyttää että tulee vähän kysymyksiä

• Että tulee vähän uusia ideoita

• Jotta se voisi onnistua vaikka palautelooppi on hidas

XP

State of Agile Development

http://www.versionone.com/state_of_agile_development_survey/11/ The sixth annual “State of Agile Development” survey was conducted between July 22nd and November 1st, 2011. Sponsored by VersionOne, the survey polled individuals from a variety of channels within the software development industry. The data was analyzed and prepared into a summary report by Analysis.Net Research. A total of 6,042 responses were received.

Experience with Agile Development Practises

Number of Projects Using Agile

39

Agile Methodology Used

Leading Causes of Failed Agile Projects

Benefits Obtained From Implementing Agile

Specific Agile Tools Used

Project management tools that support scrum Wikipedia

• IBM Rational Team Concert

• JIRA using Green Hopper plugin

• Redmine and ChiliProject, with a plug-in (several are available)

• Visual Studio 2010, Microsoft Team Foundation Server

There are many other project management tools that support scrum or scrum-like processes that are either from smaller companies or are open-source projects. They do not merit articles in this list but may be superior to those listed here.

Demo: Team Foundation Server 2012 OnLine

Välinekehitys: edelleen mietitään ja säädetään

• Definitions of done ja Acceptance Criteria • Useita erityyppisiä • Joskus vaikea määritellä, silti user story / vaatimus on olemassa

• Continuous Integration => Continuous Feedback • Erityisesti isoissa projekteissa, isoissa tiimeissä

• Kuinka pieni increment tulisikaan olla • Pienemmän incrementin vaikutus

tuottavuuteen on yllättävän suuri

Tiimit ja sosiaalinen media

• Tiimityöskentelyvälineiden kehittyminen • Information Visualization

• Mitä ryhmän jäsenet ovat tekemässä • Ja keitä he ovat • Erityisesti ”kaukana” olevien henkilöiden visualisointi ja

ryhmädynamiikkaan mukaan ottaminen • Social Proxies • Social Media

Tiivis vrs. erillään olevan työryhmän eroja

• Kokouskäyttäytyminen

• Ad-hoc keskustelut

• Tietoisuus siitä, mitä muut ryhmän henkilöt tekevät

• Luottamus ryhmän muihin jäseniin

• Muiden jäsenien työn tuloksen arviointi ja oppiminen

• Etäällä olevat eivät opi ryhmän ”normeja”

• Etäisyys on On-Off –tyyppinen • ”lähellä” tarkoittaa todella lähellä • Eri kerros voi olla yhtä kaukana kuin eri kaupungissa työskentely

Halutaan tuntea ja tietää HENKILÖ

• Joka omistaa tai on käsitellyt koodia, jonka parissa työskentelen

• Joka omistaa speksit, joiden perusteella teen työtä

• Joka olisi se asiantuntija, joka tuntee käyttämäni ominaisuuden, APIn, tuotteen tai palvelun

• Joka tietää, missä muut tarvitsemani artifactit ovat

• Miksi tehty muutos on toteutettu

• Kehen muuhun henkilöön/koodiin/Work Itemiin/Specsiin tai testiin tekemäni muutos voi vaikuttaa

WorkItem ja ”sosiaalinen media”

• WI:n liittyy aina keskustelu-stream

• WI:n historia näkyy henkilöittäin

• ”Twitter” –liittymä, voit valita keiden WI-päivityksiä seuraat

• Asiat pyritään visualisoimaan henkilöiksi

Sosiaalisen median käyttöönoton hankaluuksia

• Work networking != Social networking

• Yksittäisen henkilön arvot voivat olla konfliktissa tiimin arvojen kanssa

• Tietovuodot, projektin/yrityksen asioita ei voi käsitellä vapaasti

Yhteenveto

• Kommunikoinnin tehokkuus, käsittäen koko ketjun, on avainasemassa, jotta voit onnistua – siis epäonnistua – nopeammin

• Tiimin koko on tärkeä kommunikoinnin tehokkuuteen vaikuttava asia

• Scrum-välineet ovat edelleen kehittyneet • Sosiaalisen median ideoiden hyväksikäyttö keskeinen haaste