Scrumin nykytila ja kehitys
description
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
Mitä SCRUM organisaatiolle onkaan tapahtunut
http://www.scrumalliance.org/
http://www.scrum.org/
http://www.scrum- institute.org/index.php
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
The New Science of Building Great Teams Harvard Business Review, April 2012 http://hbr.org/2012/04/the-new-science-of-building-great-teams
• Miksi osa tiimeistä suoriutui erinomaisesti, kun ulkoisesti samanlaiset toiset tiimit epäonnistuivat
• Tunnistaa vaikeasti havaittavat ryhmädynamiikan tekijät, jotka vaikuttavat tiimin suorituskykyyn
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
Aihealueen kurssit Soveltossa http://www.sovelto.fi/kurssit/kurssienselailu/pages/ryhma.aspx?pgc=139 http://www.sovelto.fi/kurssit/kurssienselailu/pages/ryhma.aspx?pgc=62