Tuesday, March 17, 2015

ScanAgile 2015: Gojko Adzicin esityksestä, aiheena Transforming the software development industry

ScanAgile on perinteisesti ollut Se Tapahtuma suomalaisessa agilemaailmassa, johon olen ehdottomasti halunnut osallistua. Niin tälläkin kertaa, enkä pettynyt. Päivä alkoi Gojko Adzicin vauhdikkaalla avausesityksellä ohjelmistokehityksen muutoksesta. Kirjoitin kynä höyryten muistiin asioita, ja onneksi järjestäjien toimesta myös tallennettiin esitykset jotta pääsin jälkeenpäin vielä kertaamaan ja käymään läpi muistiinpanot tarkentaen. Siitä poiki sitten tämä kooste, koska mielestäni Gojkolla oli sen verran paljon painavaa asiaa jota haluan pureksia ja laittaa muistiin.

Paljon on tutkittu ja seurattu erilaisilla yrityksillä ohjelmistokehityksen menetelmiä, ja todettu että WaterScrumFall on se tehokkain. Näinköhän todella? Varmaan on, jos mitään todellista muutosta ei oikeasti tehdä. Seuraavan "silver bulletin" etsiminen agilekehityksessä onkin melkoisen kuuma peruna, ja jokseenkin moni esitys keskittyi pohtimaan sitä samaa; mikä on se seuraava Juttu?

Gojko kävi havainnollistavasti asiaa läpi vanhaan tehdaskulttuuriin peilaten. Ennen tehtaat olivat korkeita, pinta-alaltaan pieniä mutta korkeussuunnassa suuria ja siihen oli erittäin painavat perusteet. Tehtaissa nimittäin käytettiin suuria höyrykoneita, jotka räjähtäessään räjähtävät ylöspäin. Miksi sitten edelleen rakennetaan korkeita tehtaita? Ei enää ole suuria räjähtäviä höyrykoneita jotka tarvitsisivat korkeaa tilaa.
Miksei rakenneta matalia, laajoja tehtaita jotka tukisivat paremmin nykyisiä koneita ja toimintoja?

Ihan vastaavasti kehitysmaailmassa ollaan menty eteenpäin, vanhan maailman haasteet ja ongelmat eivät ole enää tätä päivää.

Yksi selkeä havainto on, että monissa yrityksissä ohjelmistokehitys kulkee kovemmalla vauhdilla kuin liiketoiminta. Kehitys tuottaisi nopeammin kuin mihin liiketoiminta ehtii reagoimaan, ja tähän hoitokeinona on sitten hidastettu kehitystä.

Miksi pitäisi hidastua, eikö olisi parempi auttaa muita pääsemään samaan vauhtiin?


Nopea, jatkuva kehitys saattaa usein hukata kokonaiskuvan ja ymmärryksen liiketoimintaprosesseista sen ympärillä, porskuttaa omaa vauhtiaan ja pakottaa muut nielemään vauhdilla tekemänsä tuotokset.
Pakkosyöttö ei yleensä ottaen toimi, se koetaan vaikeana vastaanottavilla tahoilla eikä johda välttämättä kovinkaan toivottuun lopputulokseen. Liiketoiminnalla on oltava valmiudet jalkauttaa tuotokset ja prosessien omaksua ne. Ohjelmistoja käyttävät tahot eivät pidä hyvänä asiana jatkuvasti puskettavia muutoksia joita ei ehditä omaksua ja joita tulee ikään kuin pakkosyötettynä.

Nopeampi ei ole aina parempi

Nopeammalla toimituksella saatetaan ainoastaan kuluttaa rahaa nopeammin, ei välttämättä saada enemmän aikaan. Nopeus on usein se toivottu asia, pyritään tavoitteissa nopeuteen, vaaditaan nopeampaa toimitusta, nopeampaa kehitystä, nopeammin tuloksia. Voitaisiko sanoa vain suoraan että halutaan tuhlata enemmän rahaa nopeammalla tahdilla?


Mitä mitataan?

Miten menestystä mitataan? Hyvällä mittaamisella estetään se, ettei toimiteta vain nopeasti kuraa. Usein tunnutaan mittaavan sitä mikä on helppoa mitata, ei välttämättä sitä mikä on tärkeää. Miten sitten tunnistetaan se mikä on tärkeää? Oliko se siihen käytetyn rahan arvoista?
Yksi aika selkeä mittari voisi olla esimerkiksi voidaanko sen perusteella tehdä päätöksiä? Jos mitataan jotain josta saadaan tuloksena tietoa jonka perusteella voidaan oikeasti tehdä päätöksiä, on sillä tiedolla selkeästi arvoa. 
Pelkkien tulosten mittaaminen siksi että niitä voidaan mitata mutta niiden perusteella ei voi päätellä saati päättää mitään, ei anna tuloksille arvoa. Olisi syytä pohtia tarkemmin mikä on sellaista tietoa jolla on oikeasti arvo, ja suunnitella miten sitä voidaan mitata ja hyödyntää.

Jatkuvalla toimittamisella on vaikutuksia markkinointiin. Liiketoiminta voi mahdollistaa sen avulla uusien liiketoimintamallien avaamisen. Yksinkertaisimmillaan voisi esimerkki olla autoteollisuudesta, jota Gojko käytti tämän havainnollistamiseen. 
Perinteinen autoteollisuus tuottaa uuden automallin vuodessa, ne nimetään vuosien mukaan ja niillä on vuosittaisten mallien mukaiset ominaisuudet. 
Tesla sen sijaan tuo automallin, jota voi päivittää. Automalli voisi olla jopa sellainen, että siihen voi ladata lennosta verkon yli uusimmat päivitykset ja saada uusimmat ominaisuudet heti käyttöön. Tässä tosin on melkoiset riskit, jos esimerkiksi tuodaan versio jossa onkin jokin virhe. Vaikutukset saattavat olla arvaamattoman pahat liikenteessä...

Markkinoinnin ja teknisen toimittamisen erottaminen


Gojkon mukaan olisikin erittäin tärkeää, että aletaan erottaa oikeasti markkinointitapahtuma teknisestä toimituksesta. Nämä ovat erillisiä asioita, niiden pitäisi olla todellisuudessakin erillisiä asioita. 
Käyttöönotto (deployment) ja julkaisu (release) ovat erillisiä asioita ja niiden pitäisi olla siis todellisuudessakin erikseen. 

Multiversiointi


Tämä saattaa nyt olla se tulevaisuuden hopealuoti, se seuraava iso asia johon kaikki keskittyvät. Gojko pitää tätä olennaisen tärkeänä jatkuvan toimittamisen kannalta tulevaisuudessa, ja olen valmis allekirjoittamaan sen. 
  • Eri versioita pitäisi voida markkinoida ja toimittaa eri kohderyhmille eriaikaisesti
  • liiketoiminnallisia vaikutuksia voitaisi mitata näiden osalta erikseen ja
  • saada määriteltyä sen avulla arvo eri toimituksille
Multiversioinnin ei pitäisi olla edes teknisesti haasteellista, mikäli ohjelmisto suunnitellaan alunperinkin tukemaan sitä. 

Mistä sitten tiedetään onko turvallista ottaa käyttöön uusia versioita? 
Kriteeristö tälle puuttuu usein, ja silloin se onkin vaikea tietää. Käyttöönoton turvallisuuden määrittämiseksi tulisi siis olla kriteeristö joka on läpinäkyvä ja perustuu riskien analysointiin ja sen pitäisi olla yhteisesti jaettu näkemys. Usein eri alueiden tahot näkevät oman alueensa asiat ja riskit tärkeimpinä ja jättävät huomiotta muiden alueiden riskit. Tämä tulee esiin esim. MOSCOW-mallin priorisoinnilla, jos huomataan että kaikki ovat Must-riskejä.
Jotta tämä ei tapahtuisi, tarvitaan läpinäkyvä keskustelu alueiden välillä: 
  • kuinka paljon riskiä meillä on mahdollisuus/lupa ottaa 
  • millaisia riskejä meillä on mahdollisuus/lupa ottaa

Jatkuva toimittaminen on kilpailuetu


Kun tehdään päätöksenteko- ja arviointiprosessi helpoksi, npoeaksi ja halvaksi. Mitataan oikeat asiat, käytetään niitä päätösenteossa, saadaan hyödynnettyä tuloksia esim. eri versioiden samanaikaisesta toimituksesta nopealla tahdilla ja voidaan reagoida niihin.
Siirrytään pois lineaarisista backlogeista, aletaan tuomaan arvoa.
Muunnetaan tekniset ongelmat liiketoimintamahdollisuuksiksi.


Gojkon esitys nähtävillä kokonaisuudessaan täällä

















Monday, February 2, 2015

Sprintin tavoitteet ja sitouttaminen












Neil Killickin postauksen innoittamana päädyin pohtimaan sprinttien tavoitteita ja miksi niiden selkiyttäminen on joskus niin haasteellista.

Scrum-tiimissä product owner ja scrum master pyrkivät luomaan sprintille selkeän backlogin, jonka tekemiseen tiimi sitoutuu. Asiakkaalle annetaan usein lupaus sprintille otettavista taskeista, ja niiden deadlinet kommunikoidaan tiimille. 

Jostain syystä usein kuitenkin käy niin, että tekemisen aloittaminen priorisoidaan, ja kriittisten tekemisten valmistumiset aikataulutetaan, mutta varsinainen sprintin kokonaistavoite ja päämäärä jää suunnittelematta, kommunikoimatta ja sitouttamatta.

Pitäisikö keskittyä enemmän siihen, mikä on sprint goal? Nähdäänkö metsää puilta?


Olennaisia havaintoja ja kysymyksiä tähän liittyen, joihin product ownerin tulisi keskittyä
  • Kaikilta sidosryhmiltä tulevien erillisten ja kilpailevien prioriteettien selkiyttäminen hyväksi backlogiksi tiimille
    • toteutuuko tämä, onko roadmap olemassa?
  • Tunnista ja kommunikoi selkeät aikarajat (deadlinet), joiden jälkeen backlog itemin arvo vähenee tai katoaa
    • onko aikarajojen perusteet selkeät (asiakaslupaukset, lakivaatimukset jne)?
    • onko selkeää mikä on valmiin tuotoksen aikaraja ja miten se vaikuttaa arvoon?
    • miten tavoite vaikuttaa siihen?
  • Varmista että tiimi keskittyy tekemään oikeaa asiaa oikeaan aikaan
    • tähän keskittyy monesti ongelman ydin. Tehdäänkö oikeita asioita oikeaan aikaan?
    • onko koko tiimillä yhtenäinen käsitys tästä, ja onko se kommunikoitu selkeästi PO:n ja SM:n toimesta?
  • Toimi yhteistyössä tiimin kanssa sprintin tavoitteiden ja niihin liittyvien tehtävien ymmärtämisessä, tee kompromisseja tarvittaessa
    • Sprintin tavoitteiden tulisi olla selkeät jo lähdössä, mutta matkan varrella asioita saattaa muuttua ja tavoitteiden ja tekemisen täytyy voida elää sen mukana. 
    • Olennaista on miten tätä kommunikoidaan tiimille
  • Neuvottele sprintin scopesta ja prioriteeteista tiimin kanssa sekä sprinttejä ennen, niiden välillä ja niiden aikana, sitä mukaa kun tieto ja ymmärrys lisääntyy
    • scope ja prioriteetit voivat elää mutta tiimin tekemiseen keskittyminen täytyy voida myös turvata
  • Auta tiimiä kehittämään Definition of Ready- ja Definition of Done- määritelmiään laadun  ja asiakaskokemuksen parantamiseksi
  • Varmista että jokainen Done-tuotos edustaa jotain arvoa loppukäyttäjälle, ja että on vahvistettu että se toimii ja tekee kuten asiakas odottaa
    • Definition of done ja toimitettava kokonaisuus on olennaista ymmärtää yhtenevästi sprintin tavoitteiden osalta. Jos tämä ei ole selkeää, ei tavoitteetkaan voi olla selkeitä.


Sprintin tavoite on eri asia kuin sprintin backlogille listattavat priorisoidut taskit. 

Tavoite selventää miksi näitä tehdään, luo motivaation niiden toteutukselle. Tavoitteen pitäisi olla yhteinen, PO:n ja tiimin tulee olla samalla sivulla siitä mikä on oikea tapa päästä tavoitteeseen; mitä tehdään, milloin tehdään ja miten tehdään jotta sovittu tavoite saavutetaan.

Sprintin tavoitteiden asettaminen on helppoa ja selkeää, jos tiimi toteuttaa perinteisen scrumtiimin tavoin jotain kokonaisuutta, jolloin kaikki sprintillä olevat storyt ja taskit liittyvät esim. jonkun featuren toimittamiseen. Tällöin perusperiaate "jokaisella sprintillä tulisi olla yksi selkeä, yhteinen tavoite" on suhteellisen helppo toteuttaa. Haasteellisemmaksi tekeminen menee, jos tiimi on iso ja siinä tehdään useiden alueiden toisistaan eriäviä storyja. Tällöinkin pitäisi ainakin voida luoda tavoitteet, vaikka sitten eri alueille eri tavoitteet mutta kuitenkin siten että koko tiimillä on yhtenevä käsitys mikä on se varsinainen maali tällä sprintillä ja miten siihen tulisi päästä.

Mitä hyötyä tavoitteista on, jos storyt, prioriteetit ja deadlinet ovat selkeät?


Se mitä sprintin tavoitteeksi sovitaan, auttaa myös kommunikointia asiakkaan suuntaan. On selkeämpää viestiä mitä pyritään tällä sprintillä saamaan valmiiksi, kuin että mitä otetaan tällä sprintillä työn alle. 
Tavoite helpottaa priorisointia ja sprintin suunnittelua.
Selkeä tavoite antaa paremmat mahdollisuudet tiimille elää ja reagoida muutoksiin joita sprintin aikana mahdollisesti tapahtuu, tietty määrä epävarmuutta on kuitenkin aina hyväksyttävää ja oletettavaa.
Yhteinen ja selkeä tavoite sprintille mahdollistaa sitouttamisen, tiimi ei sitoudu erillisiin taskeihin vaan tavoitteeseen.




Pohjalla:
http://neilkillick.com/2015/02/01/how-do-i-know-im-an-effective-product-owner/
http://neilkillick.com/2015/01/22/how-do-i-know-im-an-effective-scrum-master/
http://www.romanpichler.com/blog/sprint-goal-template/
http://www.scaledagileframework.com/sprint-goals/
http://www.romanpichler.com/blog/effective-sprint-goals/

Tuesday, April 22, 2014

Mikä tekee organisaatiosta ketterän?

Ongelma: organisaatiomuutoskulttuuri


Useissa yrityksissä tehdään uudelleenorganisointia usein ja säännöllisesti, keskimäärin n. 6-9kk välein. Lukuisia uudelleenorganisoitumisia läpikäyneenä voi todeta että seuraavat havainnot pitävät pitkälti paikkansa:
  • Uudelleenorganisoiti luo sääntöjä ja suoritusmittareita
  • Se mittaa yksilöllistä suorituskykyä ja sääntöjen noudattamista - 
  • Se keskittyy vastuullisuuteen, ei arvoihin
  • Se pakottaa onnistumaan ensimmäisellä kerralla
  • Sen mittarit kytkeytyvät yleensä prosesseihin, ei tulokseen
  • Se luo kaaosta, lannistavuutta, motivoituneisuuden puutetta
  • Se pakottaa tiedonsiirtokierteeseen, jossa yritetään tehdä tiedonsiirtoa tiedonsiirron perään, juosta uusien roolien perässä ja jakaa vanhoja
  • Usein se vain parantaa oireita, ei itse ongelmaa
(Lähde: Andrea Tomasini)

Mikä sitten tekee organisaatiosta ketterän?

  • Näkyvyys
  • Läpinäkyvyys
  • Turvallisuus
  • Ohjaus ja kontrolli
  • Visio ja suunta
  • Voima
  • Mukavuus

Miten voi parantaa jos ei ole mahdollisuutta epäonnistumiseen?

Tiimityöskentelykokemus on osoittanut että ketteryydellä voi toimittaa arvoa nopeammin, suuremmalla laadulla ja se on tekijöille motivoivampaa. Mikä sitten tekee tiimistä ketterän?
Kuten jo Agile manifestossa sanotaan:
  • Yksilöt ja vuorovaikutukset yli prosessien ja työkalujen
  • Toimiva ohjelmisto yli kattavan dokumentaation
  • Asiakasyhteistyö yli sopimusneuvottelujen
  • Muutokseen vastaaminen yli suunnitelman seuraamisen
Venkat Subramaniamia lainaten: A professional who doesn't learn to fail, fails to learn.

Keinoja kehittyä tässä?

Empiirinen prosessikontrolli on pohjana Scrumille, ja sen sisäistäminen on avainasemassa kehittymisessä ketteräksi ja tehokkaaksi. Empiiriseen prosessikontrolliin ei kuulu oletuksia, eikä varsinkaan yritetä olettaa mitä asiakas haluaa. Prosessin kontrolloinnin määrittely ei ole myöskään ihan yksiselitteistä, mutta aika joka kuluu jatkuvien toimien suorittamiseen on pätevä mittari ennustamiseen. 

Pull vai Push?

Onnistuminen ei ole henkilökohtaista. Mantra, joka pitäisi pitää koko ajan esillä ja muistissa. Tiimi on se joka tuottaa arvon, ja vain sitoutuneilla yksilöillä voi luoda tiimin. 

Pull keskittyy arvoon, yhteistyöhön ja tiimiin, kun taas Push tuottaa enemmän kilpailua, sääntöjen noudattamista ja yksilöllisyyttä. 

Jatkuvaa parantamista tulisi tapahtua jatkuvasti. Muutoksen tulisi tapahtua jokaisessa iteraatiossa. Tämän voi skaalata niin sprintteihin kuin organisaatiouudistussykleihinkin, ja yrittää pitää mielessä että iteraation ei ole tarkoitus tuottaa lopullista kiveenhakattua ikuista, vaan se on nimenomaan iteraatio jonka jälkeen tulee seuraava iteraatio jossa on parannettu ne joista on edellisessä iteraatiossa opittu.

Toinen mantra jota tulisi hokea ja muistaa on Muri - Mura - Muda

Muri: vältä tuottamasta uudelleen tekemistä, poista ylikuormitus
Mura: tarpeettomat vaihtelut, normalisoi backlogin tulovirtaus, pidä virtaus tasaisena ja mahdollista turvallinen ympäristö epäonnistumiselle. Määrittele "valmis"
Muda: hukkatekeminen; poista arvoa tuottamattomat tehtävät jotka selvitetään retrossa.

Thursday, March 6, 2014

Estimointia vai arvailua?

Perinteisesti scrumtiimi arvioi tulevalle sprintille tulevaa työmäärää jonkinasteisella estimointikäytännöllä.
Usein on käytössä planning pokerin ja t-shirt sizingin välimuoto, työmäärän arviointi storyn perusteella, mutta tässä on omat haittansa ja riskinsä.

Planning pokerin etu on sen demokraattisuudessa. Jokainen tiimin jäsen saa korttipakan ja voi esittää oman näkemyksensä taskin koosta. Planning pokerin haitta on siinä että se on kohtuullisen aikaa vievä toimenpide. Pokeriarviointi saattaa myös helposti johtaa ajatukset aikamääreisiin, pisteiden ollessa esim. tunteja tai päiviä mielessä. Aikamääreiden käyttämistä on vältettävä ja painotettava suhteellisten kokoarvioiden arvoa.

T-shirt sizing - menetelmän etu on arvojen abstraktiivisuudessa ja siinä ettei varsinaisia välineitä tarvita, voi esim. kirjoittaa kokolaput XS, S, M, L, XL. Suhteelliset kokoluokitukset muunnetaan sovittuun arvoon joiden avulla esim. velositeettia ja burndown charttia voidaan mitata ja seurata.

Jos estimointia ei tehdä, kuinka tiimi voi arvioida sprintin työmäärää? Miten tiimi voi sitoutua toimittamaan jotain aikaikkunan sisällä, jos työmäärä ei ole tiedossa?

Scrum itsessään ei sano mitään estimoinnista. Scrum sanoo, että jokainen item backlogilla on oltava jonkin kokoinen, mutta miten koko luokitellaan riippuu täysin tiimistä. On myös muistettava että scrumtiimi sitoutuu sprintin tavoitteeseen joka on arvon toimittaminen, ei arvioitujen pisteiden toimittaminen.

Estimoinnin puolesta on argumentteja:
- estimointi auttaa meitä ennustamaan milloin sprintin tavoite on saavutettu
- estimoinnit auttavat tiimin sidosryhmiä suunnittelemaan ennalta
- estimoinnit auttavat vähentämään riskiä epämääräisten työmäärien osalta
- sprintin tekemisiä voidaan uudelleenjärjestellä vaihtamalla samankokoisia taskeja. Jos ei ole estimointeja, ei voi tehdä vaihtoja
- estimoinnin tekeminen itsessään tuo arvoa. Kun keskustellaan vaatimusmääritteyiden yksityiskohdista, saavutetaan parempi ymmärrys siitä mitä tarvitaan

Ja estimointia vastaan on argumentteja:
- estimoinnit harvoin ovat tarkkoja. Kaikki mitä estimoinnissa tehdään, on asetetaan vääriä odotuksia
- käytännössä estimointi nähdään sitoutumisena, ei parhaana arvauksena.
- estimointi on aikaavievää ja pois toteuttamiseen käytettävästä ajasta
- vain todellisilla mittareilla on väliä, ei arvioilla. Agiliteetti vaatii metriikkaa, ja ainoa todellinen metriikka on se joka mittaa toimitusta

Vaatimusmäärittelyillä on tapana olla epämääräisiä, monimutkaisia ja toisiinsa kietoutuneita. Sitoutumalla sprintin tavoitteisiin ja toimittamalla merkittävää arvoa, tätä riskiä voidaan hallita.
Epävarmat ja sidonnaiset vaatimusmäärittelyt niputetaan sprinttiin ja hallitaan yhtenä joukkona. Kun tämä tehdään hyvin, on tiimillä selkeä sprintin tavoite ja asianmukainen backlogi. Kun tämä tehdään huonosti, on tiimillä epämääräinen sprintin tavoite, sotku toimeksiantoja jotka ei palvele tiimin tarkoitusta eikä tiimitasoista sitoutumista toimittamiseen.

Lean ja Kanban keskittyy yleensä perustekemiseen. Lean Kanban - toimitus koostuu pienistä ja toistuvista muutoksista, jotka eivät välttämättä liity mitenkään toisiinsa eikä niiden pitäisikään liittyä. Tällaisia ovat esim pienet kehitykset, bugikorjaukset ja ylläpitotehtävät.

Miten sitten voi ja kannattaa arvioida, jos halutaan arvioida?

Funktionaalinen, standardisoitu Cosmic-menetelmä tarjoaa esimerkiksi selkeän tavan suorastaan laskea storyn toteuttamiseen tarvittavaa työmäärää. Näin arvioitava koko mittaa toiminnallisuuden toteuttamista ja on täysin riippumaton tekniikasta ja tekijöistä, esim. koodaus/konfigurointi-tekemisessä.
Cosmicin mainittavia etuja on:
- helposti omaksuttava ja stabiili
- kustannustehokas
- parantaa estimoinnin tarkkuutta
- koon määrittäminen antaa paremman mahdollisuuden kontrolloida vaatimusmäärittelyjen laatua

Cosmicilla arvioidaan prosessia ja sen tapahtumia, esim:
toimeksianto tulee sisään -> toimeksianto kuitataan vastaanotetuksi
taskin tekeminen aloitetaan -> aloituspäivä kirjataan

Näistä kaikista summauksena voisi todeta, että jonkinlainen estimointi on tarpeen, mikäli tekemistä halutaan suunnitella ja toteuttaa se jonkin määritellyn aikaikkunan sisällä jollain määritellyillä resursseilla, tekemistä jota halutaan mitata ja seurata. Koon mittaaminen on estimoinnissa tärkeää, jos sen perusteella esim. mitataan ja seurataan ja esim. laskutetaan toimittajayhteistyössä.
Tällöin voi olla haasteellista lähteä tekemään estimointeja demokraattisen arvioinnin perusteella, ja on ehkä perusteltua ottaa käyttöön funktionaalisempi ja standardisoidumpi menetelmä.

Cosmic on standardi, mutta sekin on muokattavissa erilaisiin tarpeisiin. Esim. jos Cosmicin perustana on mitata prosessin tietokannan kirjauksia (entries & reads), voidaan konfigurointitaskeissa ajatella kirjaukset esim tietue-taulu - tasolla vaikkapa näin:
Story: Rakenna hinnoittelut x, y, z tuotteeseen A jota käyttää valikoima 1
Prosessi:
kirjaus x tauluun x = 1*1=1
kirjaus y tauluun y = 1*1=1
kirjaus z tauluun z = 1*1=1
kirjaus x,y,z tauluun A = 3*1=3
kirjaus A tauluun 1= 1*1=1
Storyn koko: 1+1+1+3+1= 7


Lähteitä:
http://www.cosmicon.com/portal/public/COSMIC%20Method%20v3.0.1%20Measurement%20Manual.pdf
http://agile.dzone.com/articles/large-scale-scrum-and-cosmic

http://blogs.versionone.com/agile_management/2013/10/14/scalable-agile-estimation-and-normalization-of-story-points-introduction-and-overview-of-the-blog-series-part-1-of-5/

http://agile.dzone.com/articles/agile-estimation-practice

http://www.slideshare.net/alimenkou/agile-estimation-techniques

http://scrummethodology.com/scrum-effort-estimation-and-story-points/


Saturday, February 15, 2014

Lean vs Scrum by Pavel Dabrytski



Hyvä kooste, josta löytyy perustietoa ja uusia ideoita.
Edelleen keskitytään periaatteisiin ja hukkaan, mutta painotetaan sitä miten scrumia voi kehittää leanin avulla.
Scrum on arvo-ohjattu kehys kehitykselle, ja lean auttaa optimoimaan sitä.
"Leania ei voi tehdä, mutta voimme käyttää sitä parantaaksemme prosessiamme"

Esim.
- user storyissä
- backlog-jäävuoren hallinnassa
- WIP-limiteissä
- testausohjatussa kehityksessä
- jatkuvassa toimituksessa

Lean startupissa:
Minimum viable product

  • smoke test product
  • deploy first, code later
  • measure
  • beware of vanity metrics
  • generate more ideas


  1. vältä hukkaa
  2. korosta oppimista
  3. päätä mahdollisimman myöhään
  4. toimita mahdollisimman nopeasti
  5. vahvista tiimiä
  6. rakenna eheyttä
  7. näe kokonaisuus


Perusasioita, joita korostetaan jatkuvasti. Silti, miksi se on niin vaikeaa?
- hukkaa tulee, koska hukkaa tehdään
- oppimista korostetaan, mutta opitaanko oikeita asioita?
- päätöksiä pakotetaan tekemään liian aikaisessa vaiheessa ja niihin jäädään jumiin
- toimitukset odottavat jumeja ja päätöksiä ja lopullisen kokonaisuuden valmistumista
- eheys kärsii, koska kokonaisuutta ei nähdä
- kokonaisuutta ei nähdä, koska keskitytään pieniin asioihin