Upload
petriaukia
View
1.141
Download
6
Tags:
Embed Size (px)
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 [email protected]
Petri Aukia Twitter: @aukia Blog: http://petri.aukia.com Tel: +358 400 438610 [email protected]