Ketterä hankinta käytännössä, Codento

Preview:

DESCRIPTION

Ketterään toimintamalliin siirtyminen vaatii runsaasti töitä. Tässä esityksessä kuvaan hyväksi näkemiämme tapoja siirtyä kohti ketteryyttä.

Citation preview

Ohjelmistoyrittäjät

Ketterä hankinta käytännössä

Petri Aukia27.2.2013

Hyviä neuvoja vaikea noudattaa

Hyviä neuvoja vaikea noudattaa

• Hyvät neuvot tuntuivat huuhaalta• Helposti noudatettavat neuvot olivat loppujen lopuksi turhia• Uusi toimintamalli vaatii muutoksia sopimuksissa sekä toimintatavoissa.• Päälleliimattu ketteryys on tyhjää huonompaa.

• Hyvät neuvot tuntuivat huuhaalta• Helposti noudatettavat neuvot olivat loppujen lopuksi turhia• Uusi toimintamalli vaatii muutoksia sopimuksissa sekä toimintatavoissa.• Päälleliimattu ketteryys on tyhjää huonompaa.

Ideaalimaailmassa

Ideaalimaailmassa

• Valtuutettu ja kokenut tuoteomistaja• Joustava backlog• Kaikki samassa huoneessa• Budjetissa varaa iterointiin• Pelkkiä seniorikehittäjiä

• Valtuutettu ja kokenut tuoteomistaja• Joustava backlog• Kaikki samassa huoneessa• Budjetissa varaa iterointiin• Pelkkiä seniorikehittäjiä

Vanhoista tavoista on vaikea luopua

Vanhoista tavoista on vaikea luopua

• Kitkaa tulee ketterän maailmankatsomuksen ja totutun hankintaprosessin välillä. • Osa haasteista on siis väliaikaisia• Ketterän menetelmän puolestapuhuja joutuu vetämään kovaa, jotta muiden maailmankatsomus saadaan muutettua• Vetämisessä onnistuneet hankkeet ovat kullanarvoisia

• Kitkaa tulee ketterän maailmankatsomuksen ja totutun hankintaprosessin välillä. • Osa haasteista on siis väliaikaisia• Ketterän menetelmän puolestapuhuja joutuu vetämään kovaa, jotta muiden maailmankatsomus saadaan muutettua• Vetämisessä onnistuneet hankkeet ovat kullanarvoisia

Pahimmat pulmat

Pahimmat pulmat

• Hankkeet jotka eivät valmistu• Budjettiylitykset• Laatuongelmat, havaittuna liian myöhään

• Suorituskyky• Tietoturva• Integrointi• Tuotantoonvientivaikeudet

• Vaikeudet seuraavan version teossa

• Hankkeet jotka eivät valmistu• Budjettiylitykset• Laatuongelmat, havaittuna liian myöhään

• Suorituskyky• Tietoturva• Integrointi• Tuotantoonvientivaikeudet

• Vaikeudet seuraavan version teossa

Suurimmat riemut

Suurimmat riemut

• Läpinäkyvyys• Hanke kerralla kuntoon• Puhe ja koodaus järjettömien dokumenttinippujen sijaan• Kehittämistä ilman raskasta suunnitteluvaihetta• Pikaprojektien mahdollisuus• Sitoutumista• Ammattiylpeyttä• Vaikeita osioita voidaan suunnitella ja kypsytellä pitempään

• Läpinäkyvyys• Hanke kerralla kuntoon• Puhe ja koodaus järjettömien dokumenttinippujen sijaan• Kehittämistä ilman raskasta suunnitteluvaihetta• Pikaprojektien mahdollisuus• Sitoutumista• Ammattiylpeyttä• Vaikeita osioita voidaan suunnitella ja kypsytellä pitempään

Luottamus tärkeintä

Luottamus tärkeintä

• Kaikki tietojärjestelmähankkeet mahdottomia ilman luottamusta• Sopimus ei juuri vaikuta luottamukseen

• Myös vesiputousmallissa• Älä ota epäluotettavia tarjouksia huomioon

• Kaikki tietojärjestelmähankkeet mahdottomia ilman luottamusta• Sopimus ei juuri vaikuta luottamukseen

• Myös vesiputousmallissa• Älä ota epäluotettavia tarjouksia huomioon

Kaksi koulukuntaa

Kaksi koulukuntaaVanhan koulun•Moniportainen ostaja•Sovittu budjetti•Tiukat ei-toiminnalliset vaatimukset•Priorisoimattomat toiminnallisuudet•Kertajulkistus•Huomattavasti korkeammat suunnittelu- ja projektinhallintakulut

Uuden koulun•Valtuutettu ostaja•Sovittu kuukausikustannus•Ei-toiminnalliset vaatimukset etsitään yhdessä•Toiminnallisuudet aidosti ketteriä•Toistuvat julkistukset

Vanhan koulun•Moniportainen ostaja•Sovittu budjetti•Tiukat ei-toiminnalliset vaatimukset•Priorisoimattomat toiminnallisuudet•Kertajulkistus•Huomattavasti korkeammat suunnittelu- ja projektinhallintakulut

Uuden koulun•Valtuutettu ostaja•Sovittu kuukausikustannus•Ei-toiminnalliset vaatimukset etsitään yhdessä•Toiminnallisuudet aidosti ketteriä•Toistuvat julkistukset

Luottamusvaihe alkuun

Luottamusvaihe alkuun

Kutsutaan myös nimellä nolla-sprint

•Jaettu maailma tavoitteena•Esimerkkejä asiakkaan toimialalta•Ensimmäiset yhteiset suunnitelmat•Yhteinen ymmärrys siitä, mihin pyritään koko tiimille•Budjetoitava

Kutsutaan myös nimellä nolla-sprint

•Jaettu maailma tavoitteena•Esimerkkejä asiakkaan toimialalta•Ensimmäiset yhteiset suunnitelmat•Yhteinen ymmärrys siitä, mihin pyritään koko tiimille•Budjetoitava

Kirjalliset vaatimukset?

Kirjalliset vaatimukset?

• Jos kirjallinen vaatimusmäärittely sopimuksen pohjana• Suosittelen vaatimusmäärittelyn yhdessä uudellenmäärittämistä backlogiksi• Sopimuksellisesti ensimmäinen yhdessä hyväksytty backlog korvaa mahdollisen vaatimusmäärittelyn. Lopullisesti.

• Tekee tiedonjaon näkyväksi• Toimittajan ymmärrettävä mitä tehdään• Mukaan myös laadulliset vaatimukset

• Jos kirjallinen vaatimusmäärittely sopimuksen pohjana• Suosittelen vaatimusmäärittelyn yhdessä uudellenmäärittämistä backlogiksi• Sopimuksellisesti ensimmäinen yhdessä hyväksytty backlog korvaa mahdollisen vaatimusmäärittelyn. Lopullisesti.

• Tekee tiedonjaon näkyväksi• Toimittajan ymmärrettävä mitä tehdään• Mukaan myös laadulliset vaatimukset

Asiakkaan panos

Asiakkaan panos

• Ketterän hankkeen asiakkaan työmäärä on merkittävä

• 20% nyrkkisääntö pienissä hankkeissa • Puolet asiakkaan tuoteomistajan tekemää

• Joskus taustatiimin tuki on ala-arvoista• Kymmenen hengen tiimi tarvitsee täysipäiväisen tuoteomistajan

• Ketterän hankkeen asiakkaan työmäärä on merkittävä

• 20% nyrkkisääntö pienissä hankkeissa • Puolet asiakkaan tuoteomistajan tekemää

• Joskus taustatiimin tuki on ala-arvoista• Kymmenen hengen tiimi tarvitsee täysipäiväisen tuoteomistajan

• Jos asiakkaan panos jää uupumaan, tuotteesta tulee heikkolaatuinen, torso ja/tai se ylittää budjetin.

• Asiakkaan panos on välttämätön ketterien menetelmien onnistumisessa

• Jos asiakkaan panos jää uupumaan, tuotteesta tulee heikkolaatuinen, torso ja/tai se ylittää budjetin.

• Asiakkaan panos on välttämätön ketterien menetelmien onnistumisessa

Introverttien ehdoilla?

Introverttien ehdoilla?• Monet parhaista kehittäjistä ovat introverttejä• Eivät ole vahvimmillaan isoissa keskusteluissa• Parhaat ketterät mallit mahdollistavat introverttien mukaanoton hankkeisiin

• Strukturoidut tapaamiset• Luonteva tapa kysyä neuvoja asiakkaalta

• Monet parhaista kehittäjistä ovat introverttejä• Eivät ole vahvimmillaan isoissa keskusteluissa• Parhaat ketterät mallit mahdollistavat introverttien mukaanoton hankkeisiin

• Strukturoidut tapaamiset• Luonteva tapa kysyä neuvoja asiakkaalta

Samassa huoneessa

Samassa huoneessa

• Hankkeen alussa kaikki joka päivä samaan huoneeseen• Myöhemminkin koko kehitysporukka päivittäiseen palaveriin samaan tilaan• Jos kehittäjät eivät osaa/voi/uskalla puhua asiakkaalle päivittäin, rahaa palaa varmasti hukkaan ja laatu kärsii• Usein kannattaa yhdessä skissata paperille, mitä on tarkoitus tehdä

• Yllättävän usein puhe tulee väärinkäsitetyksi

• Hankkeen alussa kaikki joka päivä samaan huoneeseen• Myöhemminkin koko kehitysporukka päivittäiseen palaveriin samaan tilaan• Jos kehittäjät eivät osaa/voi/uskalla puhua asiakkaalle päivittäin, rahaa palaa varmasti hukkaan ja laatu kärsii• Usein kannattaa yhdessä skissata paperille, mitä on tarkoitus tehdä

• Yllättävän usein puhe tulee väärinkäsitetyksi

Kalaporrasmalli

Kalaporrasmalli

• Jos hankkeen koko budjetti menee etukäteen suunniteltuihin pakollisiin osiin hanke ei ole ketterä

• Ketteryyden simulointi … kivuliasta ja kallista• Laatu voi silti olla näin tehtynä parempi kuin ei-iteratiivisesti tehtynä

• Kalliimpaa kuin vesiputous• Vaatii piinkovan projektipäällikköparin toimittajalta ja asiakkaalta

• Ketterissä malleissa kun tarkoitus on tehdä suunnitelmien muuttaminen mahdollisimman helpoksi

• Jos hankkeen koko budjetti menee etukäteen suunniteltuihin pakollisiin osiin hanke ei ole ketterä

• Ketteryyden simulointi … kivuliasta ja kallista• Laatu voi silti olla näin tehtynä parempi kuin ei-iteratiivisesti tehtynä

• Kalliimpaa kuin vesiputous• Vaatii piinkovan projektipäällikköparin toimittajalta ja asiakkaalta

• Ketterissä malleissa kun tarkoitus on tehdä suunnitelmien muuttaminen mahdollisimman helpoksi

Laadusta neuvottelu

Laadusta neuvottelu• Luottamus ei riitä,

tarvitaan mustaa valkoisella• Ohjelmiston näkyvät

laatukriteerit kuvataan kirjallisesti ja lyödään lukkoon hankkeelle luontevassa vaiheessa• Tuotteen sisäistä laatua

koskevat vaatimukset eivät luontevia sopimuksessa

• Ylläpidettävyys, testattavuus, joustavuus

• Specific, Measurable, Atteinable, Relevant, Traceable• http://scaledagileframew

ork.com/nonfunctional-requirements/

• Luottamus ei riitä, tarvitaan mustaa valkoisella• Ohjelmiston näkyvät

laatukriteerit kuvataan kirjallisesti ja lyödään lukkoon hankkeelle luontevassa vaiheessa• Tuotteen sisäistä laatua

koskevat vaatimukset eivät luontevia sopimuksessa

• Ylläpidettävyys, testattavuus, joustavuus

• Specific, Measurable, Atteinable, Relevant, Traceable• http://scaledagileframew

ork.com/nonfunctional-requirements/

• Suorituskyky• Esim “98% sivuista saadaan ladattua alle

sekunnissa”• Tai “Maksutapahtumista 99% tapahtuvat

tuotantoverkossa alle viidessä sekunnissa”• Skaalautuvuus

• Esim “Palvelinten määrän nelinkertaistaminen tuo kolminkertaisen avoimien yhteyksien määrän”

• Virheettömyys• Esim “Ei yhtään kriittistä tai merkittävää virhettä

tuotantoon viedess䔕 Käytettävyys

• Esim “80% testikäyttäjistä saa tehtyä ensimmäisen matkalaskunsa auttamatta alle viidessä minuutissa”

• Tai “80% testikäyttäjistä löytävät päätoiminnallisuudet auttamatta ensimmäisen tunnin aikana”

• Tietoturva• Tuotteelle on tehty OWASP Top-10 tarkastukset• Tuote läpäisee tietoturvatarkastuksen, joka

toteutetaan menetelmällä …• Tuotteessa on kaikki sen kirjastojen

tietoturvapäivitykset• Selainyhteensopivuus

• Tuote toimii selainversioilla x,y,z• Matkapuhelinyhteensopivuus

• Tuoteen yksikään sivu ei ylitä leveydeltään iPhone Safari-selaimen ikkunaa matkapuhelimella katsottuna

• Suorituskyky• Esim “98% sivuista saadaan ladattua alle

sekunnissa”• Tai “Maksutapahtumista 99% tapahtuvat

tuotantoverkossa alle viidessä sekunnissa”• Skaalautuvuus

• Esim “Palvelinten määrän nelinkertaistaminen tuo kolminkertaisen avoimien yhteyksien määrän”

• Virheettömyys• Esim “Ei yhtään kriittistä tai merkittävää virhettä

tuotantoon viedess䔕 Käytettävyys

• Esim “80% testikäyttäjistä saa tehtyä ensimmäisen matkalaskunsa auttamatta alle viidessä minuutissa”

• Tai “80% testikäyttäjistä löytävät päätoiminnallisuudet auttamatta ensimmäisen tunnin aikana”

• Tietoturva• Tuotteelle on tehty OWASP Top-10 tarkastukset• Tuote läpäisee tietoturvatarkastuksen, joka

toteutetaan menetelmällä …• Tuotteessa on kaikki sen kirjastojen

tietoturvapäivitykset• Selainyhteensopivuus

• Tuote toimii selainversioilla x,y,z• Matkapuhelinyhteensopivuus

• Tuoteen yksikään sivu ei ylitä leveydeltään iPhone Safari-selaimen ikkunaa matkapuhelimella katsottuna

Käyttöliittymän laatu

Käyttöliittymän laatu•Wireframe-kuviin kannattaa esim. värikoodata ne osuudet, joissa pyritään poikkeuksellisen hyvään laatuun tai joissa laatuvaatimukset ovat muuta sovellusta vaatimattomammat

•Wireframe-kuviin kannattaa esim. värikoodata ne osuudet, joissa pyritään poikkeuksellisen hyvään laatuun tai joissa laatuvaatimukset ovat muuta sovellusta vaatimattomammat

Laadun saavuttaminen

Laadun saavuttaminen

• Hankkeesta riippuu kannattaako laatua tehdä ensin, samalla toiminnallisuuksien kanssa vai vasta, kun tarkka toiminnallisuus on tiedossa

• Hankkeesta riippuu kannattaako laatua tehdä ensin, samalla toiminnallisuuksien kanssa vai vasta, kun tarkka toiminnallisuus on tiedossa

Osaanko ostaa?

Osaanko ostaa?

• Usein asiakkaan kannattaa tilata joku, joka osaa varmistaa, että softa tehdään oikein

• Täsmärekrytointi?• Hankintakonsultti?

• Ketterässä mallissa vaatimuksia hierotaan koko hankkeen ajan

• Konsultille on tarvetta koko hankkeen ajan

• Väärien alussa tehtyjen ratkaisujen purkaminen voi olla mahdotonta

• Aloittamisen kiirehtiminen tulee kalliiksi

• Usein asiakkaan kannattaa tilata joku, joka osaa varmistaa, että softa tehdään oikein

• Täsmärekrytointi?• Hankintakonsultti?

• Ketterässä mallissa vaatimuksia hierotaan koko hankkeen ajan

• Konsultille on tarvetta koko hankkeen ajan

• Väärien alussa tehtyjen ratkaisujen purkaminen voi olla mahdotonta

• Aloittamisen kiirehtiminen tulee kalliiksi

Nyrkkisääntö: 1/2

Nyrkkisääntö: 1/2

• Hyvä projekti:• 1/2 budjetin kohdalla hankkeesta on riittävä toiminnallisuus ja laatu saavutettu, jotta tuote olisi toimituskunnossa jos on pakko• Näin palaute alkaa aikaisessa vaiheessa laadukkaasti• Näin rahat eivät lopu kesken• Näin kukaan ei pääse olemaan liian optimisti

• Usein ei onnistu … hanketta seurattava tarkemmin

• Hyvä projekti:• 1/2 budjetin kohdalla hankkeesta on riittävä toiminnallisuus ja laatu saavutettu, jotta tuote olisi toimituskunnossa jos on pakko• Näin palaute alkaa aikaisessa vaiheessa laadukkaasti• Näin rahat eivät lopu kesken• Näin kukaan ei pääse olemaan liian optimisti

• Usein ei onnistu … hanketta seurattava tarkemmin

Kenen tarpeet?

Kenen tarpeet?Vaikeinta on päättää keiden tarpeet ovat tärkeitä juuri nyt

•Asiakkaan tuotepäällikön työ on todella vaikeaa

• Budjetti ei todellisuudessa riitä kaikkien osastojen tyydyttämiseen• Jaetaan tuskaa• Tulee kaikille huono sovellus

•Tärkeää olisi kyetä rajaamaan kokonaisia osastoja pois 1.0-versiosta.

• “Raportit 1.1 versioon”

Vaikeinta on päättää keiden tarpeet ovat tärkeitä juuri nyt

•Asiakkaan tuotepäällikön työ on todella vaikeaa

• Budjetti ei todellisuudessa riitä kaikkien osastojen tyydyttämiseen• Jaetaan tuskaa• Tulee kaikille huono sovellus

•Tärkeää olisi kyetä rajaamaan kokonaisia osastoja pois 1.0-versiosta.

• “Raportit 1.1 versioon”

Yksinkertainen on kaunista

Yksinkertainen on kaunista

• MVP + Ketterä = 😄

• MVP = minimum viable product. • Suomeksi käännettävissä muotoon “yksinkertaisin elinkelpoinen tuote” tai karvalakkimalli• Ketterät menetelmät toimivat loistavasti silloin kun kaikki pyrkivät välttämään turhia toiminnalisuuksia• Ja tuottavat iisakinkirkkoja jos hankkeeseen saa kaataa uusia vaatimuksia loppuun saakka

• MVP + Ketterä = 😄

• MVP = minimum viable product. • Suomeksi käännettävissä muotoon “yksinkertaisin elinkelpoinen tuote” tai karvalakkimalli• Ketterät menetelmät toimivat loistavasti silloin kun kaikki pyrkivät välttämään turhia toiminnalisuuksia• Ja tuottavat iisakinkirkkoja jos hankkeeseen saa kaataa uusia vaatimuksia loppuun saakka

Entä jos ei onnistu?

Entä jos ei onnistu?

• Ketterässä mallissa asiakas voi aina lopettaa hankkeen• Jos hankkeen lopussa koodi ei jää asiakkaalle on uhka keinotekoinen• En ikinä tekisi ketterää hanketta jossa koodi jää vain toimittajalle

• Vaikka todellisuudessa koodin siirtäminen on useimmiten kuollut kirjain

• Ketterässä mallissa asiakas voi aina lopettaa hankkeen• Jos hankkeen lopussa koodi ei jää asiakkaalle on uhka keinotekoinen• En ikinä tekisi ketterää hanketta jossa koodi jää vain toimittajalle

• Vaikka todellisuudessa koodin siirtäminen on useimmiten kuollut kirjain

Asiakkaan oppimiskokemus

Asiakkaan oppimiskokemus

• Ensimmäisissä ketterissä hankkeissa asiakkaalle tulee usein yllätyksenä

• Kuinka paljon kysyttävää tiimillä on• Kuinka monessa kohdassa vaatimuksia on vaikea löytää• Kuinka nopea vastaaminen säästää rahaa ja hikeä• Kaikille kokeneille kehittäjille suora yhteys asiakkaaseen

• Toiseen hankkeeseensa asiakkaan tuotevastaava usein varaa enemmän aikaa!

• Ensimmäisissä ketterissä hankkeissa asiakkaalle tulee usein yllätyksenä

• Kuinka paljon kysyttävää tiimillä on• Kuinka monessa kohdassa vaatimuksia on vaikea löytää• Kuinka nopea vastaaminen säästää rahaa ja hikeä• Kaikille kokeneille kehittäjille suora yhteys asiakkaaseen

• Toiseen hankkeeseensa asiakkaan tuotevastaava usein varaa enemmän aikaa!

Työmäärän arviointi

Työmäärän arviointi

• Ketterät mallit toimivat helposti, jos kerralla tehdään vain 3-4 kk kehittämistä • Työmääräennuste on nopanheittoja, jos:

• Käyttöliittymää voidaan vielä muuttaa• Jos skaalautuvuuskriteerit ovat ilmassa• Tietoturvavaatimuksia ei ole asetettu• Jos tietorakenteisiin voidaan vielä kajota

• Ketterät mallit toimivat helposti, jos kerralla tehdään vain 3-4 kk kehittämistä • Työmääräennuste on nopanheittoja, jos:

• Käyttöliittymää voidaan vielä muuttaa• Jos skaalautuvuuskriteerit ovat ilmassa• Tietoturvavaatimuksia ei ole asetettu• Jos tietorakenteisiin voidaan vielä kajota

Kenen sana on lopullinen?

Kenen sana on lopullinen?

• Laaja-alainen palaute kehittäjille tilaajalta tuottaa kalliimman sovelluksen

• Hyvin valittuna, laatukin voi olla parempaa• Huonosti … tulee kameli

• Kustannukset rajoittuvat kun palaute suoraan tuotepäälliköltä

• “Kysyn Annalta” tai “Makella ja Penalla voi olla tähän sanottavaa” -> ei enää yksi palautteenantaja

• Marilyn Monroe –malli• Tuoteomistaja maailman napa

• Laaja-alainen palaute kehittäjille tilaajalta tuottaa kalliimman sovelluksen

• Hyvin valittuna, laatukin voi olla parempaa• Huonosti … tulee kameli

• Kustannukset rajoittuvat kun palaute suoraan tuotepäälliköltä

• “Kysyn Annalta” tai “Makella ja Penalla voi olla tähän sanottavaa” -> ei enää yksi palautteenantaja

• Marilyn Monroe –malli• Tuoteomistaja maailman napa

• Luottamus-sprint 0

• Vaatimusmäärittely backlogiin

• Riittävä asiakkaan panos

• Pakolliset vaatimukset eivät vie koko budjettia

• Laatuvaatimukset kirjallisesti sovittuna

• Oikeudet asiakkaalle

• Yksinkertainen 1.0 tuottaa paremman lopputuloksen

Yhteenvetona

Kuvat: flickr.com / CC

• Johnson_cameraface

• Legoloverman

• Jamie in Bytown

• 4nitsirk

• Frank3.0

• Goarmyphotos

• Leshaines123

• Sean_alexander

• Frederic Poirot

• Wildcat Dunny

• Moonify UI

• Debaird

• Dunechaser

• Nickwheeleroz

• Ucumari

• Chris hunkeler

• Yakobusan

Petri Aukia Twitter: @aukia Blog: http://petri.aukia.com Tel: +358 400 438610 petri.aukia@codento.com

Petri Aukia Twitter: @aukia Blog: http://petri.aukia.com Tel: +358 400 438610 petri.aukia@codento.com