Ketterä (agile) tietojärjestelmien suunnittelu



Samankaltaiset tiedostot
Ketterä (agile) tietojärjestelmien suunnittelu

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi

Tutkittua tietoa. Tutkittua tietoa 1

Scrumjatkuvan palvelun DWprojektissa-case. Niina Mäkiranta & OP-scrum-tiimi Aureolis Oy

Ketterä projektinhallinta

Onnistunut ohjelmistoprojekti

Kun scrum ei riitä - skaalaa ketterä tuotekehitys SAFe lla Nestori Syynimaa Sovelto Oyj

Scrumin käyttö ketterässä sovelluskehityksessä

Siirtyminen ketterien menetelmien maailmaan! Maarit Laanti 24 October 2013!

Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.

Johanna Hämäläinen SCRUMIN HYÖDYT JA HAASTEET KEHITYSTIIMIN NÄKÖKULMASTA: TAPAUSTUTKIMUS IT-ALAN PALVELUYRITYKSESSÄ

PROJEKTINHALLINTA. Käyttäjälähtöinen suunnittelu

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Ketteryys pähkinänkuoressa. Kokopäivän Scrum-kurssin sisältö tislattuna ja tiivistettynä kolmeen varttiin

Scrum-käytännöt ja käyttäjäkokemustyö ohjelmistoalan yrityksessä. Marie-Elise Kontro

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Digitaalisuudesta muutosvoimaa

Onnistunut ohjelmistoprojekti

Lyhyt johdatus ketterään testaukseen

Ketteryys kokeilemalla. Leo Malila Kehittämispäällikkö, Kela

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Petri Mattila KÄYTTÄJÄKESKEISEN SUUNNITTELUN INTEGROINTI KETTERÄN KEHITTÄMISEN PROSESSIIN JA ROOLEIHIN

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D

Koekysymyksiä. Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistojen suorituskyky

Maanvuokrausjärjestelmä Mvj. Projektitarpeen ja tavoitteiden kuvaus

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Ketterien periaatteiden merkitys projektityössä

Ketterä vaatimustenhallinta

Juuso Järvi KETTERÄN OHJELMISTOKEHITYKSEN MENESTYS- TEKIJÄT

Nexus Guide. Nexuksen määritelmä ja opas: Skaalatun scrum-kehityksen viitekehys. Nexusta ylläpitää ja kehittää Ken Schwaber ja Scrum.

KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ

Tapahtuipa Testaajalle...

PROJEKTINHALLINTA SCRUMIN AVULLA

Agile-opas. Pikaopas Leaniin ja ketteryyteen

7. Iteratiivinen ohjelmistokehitys

Ohjelmistotekniikka - Luento 2

Muutoksen hallinta rakenteisen projektissa. Kari Kovanen Development manager Etteplan Technical Information

Ohjelmistoprosessit ja ohjelmistojen laatu kevät 2009

PROJEKTI- PÄÄLLIKÖSTÄ PRODUCT OWNERIKSI MEERI CEDERSTRÖM

AVOIN LÄHDEKOODI JA SEN MERKITYS LIIKETOIMINNASSA

Tietohallinnon liiketoimintalähtöinen toiminnanohjaus IT-ERP

OpenUP ohjelmistokehitysprosessi

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Harjoituskoe Vastaukset. ISTQB Ketterä testaaja 2015 Perustason sertifikaattisisällön laajennus

Miten johdan huolto- ja korjaamotoimintaa laadukkaasti? Autokauppa Finlandiatalo

JULKISTEN PALVELUJEN ELINKAARI; HYVÄ PALVELU EILEN, TÄNÄÄN, HUOMENNA MIHIN PALVELUT OVAT MENOSSA? Lauri Helenius, Solita Oy

Nexus Guide. Nexuksen määritelmä ja opas: Skaalatun Scrum-kehityksen viitekehys. Nexusta ylläpitää ja kehittää Ken Schwaber ja Scrum.

Käyttäjätarinat perinteisessä hankkeessa. Sisältö ja käytännöt

Yhteisöllisen toimintatavan jalkauttaminen!

The Scrum Guide. Scrumin määritelmä ja pelisäännöt. Heinäkuu Scrum Guidea kehittää ja ylläpitää Ken Schwaber ja Jeff Sutherland

Ohjelmistojen suunnittelu

Kaupunginkanslian avoin ohjelmistokehitys, rajapintatyö, syksy kevät Projektitarpeen ja tavoitteiden kuvaus

The Scrum Guide. Scrumin määritelmä ja pelisäännöt. Heinäkuu Scrum Guidea kehittää ja ylläpitää Ken Schwaber ja Jeff Sutherland

Muistitko soittaa asiakkaallesi?

KETTERÄT MENETELMÄT. Tomi Airaksinen. Tietojärjestelmätieteen Kandidaatin tutkielma

KOODAAKO PROJEKTIPÄÄLLIKKÖ?

Testauksen suunnittelu ja dokumentointi ketterässä testauksessa Tutkimustuloksia

AVOIMEN TUOTTEEN HALLINTAMALLIT. Kunnassa toteutettujen tietojärjestelmien uudelleenkäyttö. Yhteentoimivuutta avoimesti

Tietojärjestelmä uusiksi? Toimijaverkostot, niiden haasteet ja ratkaisut

Kokonaisuuksien, riippuvuuksien ja synergioiden hahmottaminen helpottuvat

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Ketterät menetelmät ja julkinen hankinta

The Scrum Guide. Scrumin määritelmä ja pelisäännöt. Lokakuu Scrum Guidea kehittää ja ylläpitää Ken Schwaber ja Jeff Sutherland

Kohti laaja alaista tuottavuusajattelua kuntataloudessa

Suuret Hyödyt Suuri IT-palveluiden tehokkuus

Parempaa liiketoimintaa henkilöstöjohtamisen uusilla välineillä

Aikaansaava organisaatio ketteryys ja Lean salkunjohtamisen perustana, eri työmuodot yhteen sovitettuina

Itseohjautuvat tiimit tie menestykseen? Henri Hämäläinen Toimitusjohtaja, Contribyte

Yhteisön kehitystyöhön osallistumisen mahdollisuudet ja mallit

OHJELMISTOPROJEKTINHALLINNAN KEHITTÄMINEN SCRUM-MENETELMÄLLÄ

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Big Room -toiminta tutkimuksen näkökulmasta. Sari Koskelo, Vison Oy

ja -kehitysmenetelmistä Jyri Partanen, QA Manager Sulake Corporation

SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus

Multisite -projektit uhasta mahdollisuus? Johtamiseväitä projektipäällikölle

Monipuolisen yhteistyön haaste pyrittäessä korkealle

ITSM. Olli Saranen Senior Consultant Avoset Oy Oliko ennen kaikki paremmin kuin nykyään? Kivikaudelta nykyaikaan

Käytettävyyden huomiointi ohjelmisto prosessissa testausta lisäämällä

Tietojärjestelmän kehittäminen syksy 2003

LAADUNVARMISTUS KETTERISSÄ OHJELMISTOKEHITYSMENETELMISSÄ

Ryhmätyö ohjelmistokehityksessä

Mikä on avoimen tuotteen hallintamalli perustiedot ja taustoitus. Jukka Kääriäinen, Tapio Matinmikko, Raija Kuusela

Mitä Lean on? Lean5 Europe Oy Ltd

R U B I C H R F I N L A N D O Y K U M P P A N I S I D I G I T A A L I S E S S A M U U T O K S E S S A

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmistoprojekti projektipäällikön näkökulmasta

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Avoin lähdekoodi hankinnoissa Juha Yrjölä

Kahdenlaista testauksen tehokkuutta

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Projektinhallinta TARJA NISKANEN LÄHTEENÄ MM. KEHITTÄJÄN KARTTAKIRJA

Millainen on onnistunut ICT-projekti?

TRIPLEWIN KEHITYSTARINA

Sulautettujen järjestelmien. ketterä käsikirja. Lehtonen, Tuomivaara, Rantala, Känsälä, Mäkilä, Jokela, Könnölä, Kaisti, Suomi, Isomäki & Ylitolva

Koulutuksen suhdannevaihtelut. Zeppeliinistä suihkukoneaikaan

Suomen avoimien tietojärjestelmien keskus COSS ry

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Oppivat tuotantokonseptit uusi näkökulma tuotantokonseptien ja välineiden kehittämiseen yrityksissä

Liite 6: Palvelukuvaus. Enterprise Advantage Program (EAP)

Transkriptio:

Ketterä (agile) tietojärjestelmien suunnittelu Abrahamsson P, Conboy B and Wang X, Lots done, more to do: the current state of agile systems development research European Journal of Information Systems 18, 2009, 281-284 Lan Cao, Kannan Mohan, Peng Xu and B Ramesh, A framework for adapting agile development methodologies. European Journal of Information Systems 18, 2009, 332-343 Li Jiang and Armin Eberlein, Towards A Framework for Understanding the Relationships between Classical Software Engineering and Agile Methodologies APOS 2008 ACM Workshop 17.2.2015 Pirkko Nykänen 1

Mitä ketteryys on? perusteluna on jatkuva muutos ketterät menetelmät ovat käytäntökokoelmia, jotka sopivat tietyn tyyppisiin projekteihin ja tietyn tyyppisille organisaatioille ohjelmistokehityksen tärkeimmät asiat kiteytetty 4 arvoon 12 pääperiaatetta kertovat tavat miten arvot realisoidaan Käytännöt (engineering practices) kertovat miten periaatteet toteutetaan käytännössä Pirkko Nykänen 2

AGILE MANIFESTO 2001 Me etsimme parempia keinoja ohjelmistojen kehittämiseen tekemällä sitä itse ja auttamalla siinä muita Ketteryyden 4 arvoa Arvostamme: Yksilöitä ja vuorovaikutusta enemmän kuin prosesseja ja työkaluja Toimivaa sovellusta enemmän kuin kokonaisvaltaista dokumentaatiota Asiakasyhteistyötä enemmän kuin sopimusneuvotteluja Muutokseen reagoimista enemmän kuin suunnitelman noudattamista www.agilemanifesto.org Pirkko Nykänen 3

Ketteryyden 12 periaatetta 1 Tärkeintä on täyttää asiakkaan vaatimukset julkaisemalla jatkuvasti ja aikaisin uusia hyödyllisiä versioita ohjelmistosta 2 Hyväksytään ja otetaan vastaan muuttuvat vaatimukset, jopa kehityksen loppuvaiheessa, ketterät menetelmät valjastavat muutokset asiakkaan kilpailueduksi. 3 Luovutetaan toimivia versioita kehitettävästä ohjelmistosta säännöllisesti, mielellään lyhyin väliajoin (muutamasta viikosta kuukauteen) 4 Liiketoiminnan ammattilaisten ja kehittäjien täytyy työskennellä päivittäin yhdessä koko projektin ajan Pirkko Nykänen 4

5 Rakennetaan projektit motivoituneiden yksilöiden ympärille ja annetaan heille ympäristö ja tuki jota he tarvitsevat sekä luotetaan että he saavat työn tehtyä 6 Kaikkein tehokkain tapa välittää tietoa kehitystiimille ja kehitystiimissä on kasvokkain tapahtuva keskustelu 7 Toimiva ohjelmisto on ensisijainen edistymisen mittari 8 Ketterät menetelmät suosivat kestävää kehitystä. Rahoittajien, kehittäjien ja käyttäjien tulisi kyetä pitämään jatkuvasti yllä tasainen työtahti. Pirkko Nykänen 5

9 Jatkuva huomion kiinnittäminen tekniseen laatuun, sekä hyvään rakenteeseen ja suunnitteluun, lisää ketteryyttä 10 Yksinkertaisuus taito maksimoida työn määrä, jota ei tarvitse tehdä, on olennaista 11 Parhaat arkkitehtuurit, vaatimukset ja suunnitelmat nousevat itseorganisoituvista tiimeistä 12 Tasaisin väliajoin tiimi miettii miten voisi tulla entistä tuottavammaksi, ja siten säätää ja muokkaa toimintaansa sen mukaan Pirkko Nykänen 6

Ketterät käytännöt, www.ketteratkaytannot.fi Mahdollistavat työn tekemisen ketteryyden periaatteiden mukaisesti Arvovirtakartoitus Arvovirran ja siihen kuuluvien prosessin kartoitus, arvovirta on esim virhekorjauksen läpimenoaika (kuinka paljon tehdään hyödyllistä, arvoa tuottavaa työtä) Jatkuva integraatio koko ohjelmisto koostetaan ja integroidaan jatkuvasti, komponentteja integroidaan koko kehitysvaiheen ajan Jälkitarkastelu Retrospective meeting/reflection workshop, mietitään ovatko toimintatavat ja käytännöt ok vai olisiko parannettavaa Koodikatselmointi varmistetaan tuotetun koodin toteutuskäytäntöjen mukaisuus ja annetaan palautetta ohjelmoijille, jaetaan tietoa toteutetuista komponenteista Pirkko Nykänen 7

Käyttäjätarinat ei tehdä vaatimusmäärittelyä etukäteen, vaatimukset tarkentuvat työn kuluessa Alkuun lähdetään käyttäjätarinoilla (user stories), kuvataan KUKA tekee, MITÄ tekee, MIKSI tekee, tarinankirjoitussessiot, iteroidaan ja tarkennetaan Pariohjelmointi kaksi ohjelmoijaa työskentelee yhdessä yhdellä koneella, toinen pääohjelmoija, toinen seuraa vierestä, rooleja vaihdetaan Pienet julkaisut asennuspaketit ovat kooltaan pieniä ja niitä tehdään usein, ketterän kehityksen inkrementit ovat yleensä 1-6 viikon mittaisia, kukin inkrementti on oltava laadultaan asennuskelpoinen

Prosessin muotoilu millaisia käytäntöjä juuri tässä projektissa, juuri tällä tiimillä, juuri tälle asiakkaalle, juuri tällä teknologiaalustalla tarvitaan Päiväpalaveri Päivittäinen tapaaminen jossa koko tiimi koolla Päiväpalaverissa käydään läpi: Mitä teit edellisenä päivänä, mitä aiot tehdä tänään, mitkä seikat haittaavat työskentelyäsi Refaktorointi ohjelmakoodin muuttamista niin ettei toiminnallisuus muutu, parannetaan koodin ylläpidettävyyttä

Tasainen tahti (sustainable pace) Työtahti tasainen (40t/v), ylitöitä ei suositella Testivetoinen kehitys ohjelmiston kehitys testivetoisesti, virheiden määrä pyritään pitämään koko ajan minimissä Toteutuskäytännöt pelisäännöt sille millaista koodia tuotetaan, kaikkien koodi mahdollisimman samanlaista Yhteisomistus koodi on tiimin yhteisessä omistuksessa Yksikkötestaus kehittäjätestaus, matalan tason testaus, koodi toimii ohjelmoijan tarkoittamalla tavalla

Ketterät menetelmät Pyritään minimoimaan riskejä jakamalla ohjelmistokehitys lyhyisiin vaiheisiin, iteraatioihin, kukin iteraatio on pieni projekti, joka sisältää kaikki ohjelmistokehityksen vaiheet ja tuottaa periaatteessa julkaisukelpoisen / toimivan ohjelmiston jokaisen iteraation lopussa arvioidaan mitä on saatu aikaan ja päätetään seuraavasta iteraatiosta Pirkko Nykänen 11

Ketterät menetelmät ovat työskentelytapoja, joilla tehostetaan ohjelmistotuotantoa ja kehitetään ohjelmistot vastaamaan paremmin asiakkaan todellisia tarpeita Ketterien menetelmien tärkein uusi tekijä on koko organisaation läpileikkaava uusi ajattelumalli, jossa arvot, periaatteet ja käytäntö kohtaavat saumattomasti Myös tuottavuus ja ohjattavuus on nostettu entistä keskeisempään asemaan Uudet menetelmät mahdollistavat huomattavasti joustavamman ja tehokkaamman tuotekehitysprosessin, koska menetelmällä voi tehdä muutoksia ohjelmistoihin jokaisessa prosessin vaiheessa Tämä on tarpeen, koska maailma muuttuu kiivaassa tahdissa ja asiakkaan tarpeet sen mukana Pirkko Nykänen 12

Ketterien menetelmien filosofiaa Perusfilosofia: ohjelmointi on voima eikä teollisuusprosessi, luovaa työtä eikä tuotteen valmistamista Ketterät menetelmät vastavoima mekaanisille, epäinhimillisille suunnitelmavetoisille metodologioille Pirkko Nykänen 13

Ketteryyden perustelua Ketteryyttä vaaditaan liiketoiminnassa yhä enemmän niin yrityksissä kuin julkisella sektorillakin, myös teknologian muutotokset ovat nopeita ICT-projektien pitää sopeutua nopeasti muuttuviin tilanteisiin tarvitaan uudenlaisia ohjelmistokehitysprosesseja, jotka tuottavat valmiita sovelluksia aikaisempaa nopeammin, mutta kuitenkin laadukkaasti Tunnetuimmat ketterät brändit ovat Extreme Programming (XP), Scrum ja Lean Software Development Pirkko Nykänen 14

Scrum Scrum tarjoaa sovelluskehitykseen mallin, jonka mukaan projektia ohjataan Scrumin lähtökohta = ajatus siitä, että ohjelmistokehityksen pitäisi olla empiirinen prosessi, jolle on ominaista läpinäkyvyys, tarkastelu ja sopeuttaminen Läpinäkyvyys tarkoittaa sitä, että kaikki osatekijät, jotka vaikuttavat ohjelmistokehitysprojektin lopputulokseen, ovat ohjelmistokehitys-projektiin osallistuvien henkilöiden tiedossa Ohjelmistokehitysprojektiin osallistuvat henkilöt tarkastelevat näitä osatekijöitä jatkuvasti ohjelmistokehitysprojektin edetessä sopeuttavat omaa toimintaansa tarkastelun pohjalta saavuttaakseen toivotun lopputuloksen. Tavoitteena oleva tuote kehittyy pikkuhiljaa täydellisemmäksi ja valmiimmaksi useiden kehitysjaksojen aikana www.ketteratkaytannot.fi

Scrum Scrum-projektissa esiintyy vain kolme eri roolia: Tuotteen omistaja, Scrummestari ja tiimi Tuotteen omistaja on henkilö, joka viime kädessä vastaa tuotteen ominaisuuksista, siis "omistaa" tuotteen Tuotekehitysprojekteissa omistaja on tyypillisesti tuotepäällikkö, asiakasprojekteissa se voi olla asiakkaan edustaja tai toimittajan tekninen projektipäällikkö, omistajan tehtävänä on tehdä kaikki päätökset tuotteen ominaisuuksista ja toiminnallisuuksiin vaikuttavista seikoista Scrum-mestarin tehtävänä on huolehtia siitä, että tiimi voi tehdä työtään optimaalisella tavalla Tiimiläiset raportoivat päivittäin ongelmista, jotka hidastavat töiden etenemistä ja mestarin tehtävänä on ratkoa nämä ongelmat, hän johtaa päivittäiset aamupalaverit ja vastaa siitä, että Scrumia noudatetaan oikein Tiimiin kuuluvat kaikki henkilöt, jotka projektia ovat tekemässä Tiimin sisältä ei erikseen nimitetä arkkitehteja, ohjelmoijia, testaajia tai käyttöliittymäsuunnittelijoita, vaan tiimiin kasataan henkilöitä, joilla on tarvittava osaaminen, tiimi yhdessä rakentaa tuotteen, halutaan korostaa kunkin tiimiläisen olevan projektin kannalta yhtä tärkeä ja että tiimi yhdessä vastaa tuotteen kaikista puolista, ei koskaan yksittäinen henkilö

Scrumissa työskennellään toistavasti ja lisäävästi (iterativeincremental) ennustettavuuden optimoimiseksi ja riskien kontrolloimiseksi Kehitysjaksoa kutsutaan sprintiksi Sprintti on 1-4 viikon mittainen aikaraja, jonka sisällä tuotetaan valmiin määritelmän täyttävä, käyttökelpoinen ja potentiaalisesti julkaisukelpoinen tuoteversio Jokaisen sprintin sisältö sovitaan sprintin suunnittelupalaverissa ennen sprintin aloitusta, ja toteutettaviksi valitaan sellaisia tuotteen kehitysjonon kohtia, joilla on sillä hetkellä suurin merkitys projektin onnistumiselle Sprintin lopuksi järjestetään sprinttikatselmus, jossa kehitystiimi esittelee sprintin konkreettiset saavutukset (esim. ohjelmiston uusimman version) tuoteomistajalle sekä mahdollisille sidosryhmien edustajille palautteen saamiseksi ja ymmärryksen lisäämiseksi kehityksen tilasta Ennen seuraavan sprintin aloittamista pidetään vielä sprintin retrospektiivi, jossa tarkastellaan prosessin näkökulmasta mikä sprintin aikana sujui hyvin ja mitä voitaisiin parantaa seuraavassa sprintissä Pirkko Nykänen 17

www.ketteratkaytannot.fi Tällä erottelulla on Scrumissa keskeinen merkitys. Siat määräävät miten projektissa toimitaan, kanat voivat vain tehdä havaintoja.

Pirkko Nykänen 19

Pirkko Nykänen 20

Pirkko Nykänen 21

Scrumissa kaikki ihmiset jaetaan kahteen ryhmään: sikoihin ja kanoihin Sikoja ovat kaikki, joilla on jokin rooli projektissa (tuotteen omistaja, scrum-mestari tai tiimiläinen) kanoja ovat muut, jotka ovat kiinnostuineita projektista. Nämä voivat olla esimerkiksi ylempää johtoa tai toisen Scrum-tiimin jäseniä. "A chicken and a pig are walking down the road. The chicken says to the pig: "Do you want open a restaurant with me?" The pig considers the question and replies: "Yes, I'd like that. What do you want to call the restaurant?" The chicken replies: "Ham and eggs!" The pig stops, pauses and replies:"on second thought, I don't think I want to open a restaurant with you. I'd be committed, but you'd only be involved. Tällä erottelulla on Scrumissa keskeinen merkitys. Siat määräävät miten projektissa toimitaan, kanat voivat vain tehdä havaintoja

SCRUM edut, haasteet Scrum on yksinkertainen ja helposti opittava viitekehys Kehitystiimi voi käyttää vapaasti valitsemiaan prosesseja, menetelmiä, tekniikoita ja työkaluja scrumin viitekehyksen sisällä Scrum voidaan ottaa käyttöön ohjelmistokehitysprojektin alussa tai kesken ohjelmistokehitysprojektin Oikein noudatettuna scrum tuo useita hyötyjä ohjelmistokehitysprojekteihin ja kehittäjät pitävät työskentelystä scrumprojekteissa. Scrumin käyttöönotto voi olla työlästä, aikaavievää ja haastavaa, kehittäjät voivat vastustaa scrumin käyttöönottoa. Jos scrumtiimi muuttaa scrumin viitekehystä tai käyttää vain osaa viitekehyksen rooleista, tapahtumista ja tuotoksista, scrumin hyödyt voivat jäädä Pirkko toteutumatta Nykänen 23

Scrum soveltuu parhaiten pienten kehitystiimien käyttöön, koska kehitystiimin pieni koko mahdollistaa suoran ja jatkuvan vuorovaikutuksen sekä nopean tiedon jakamisen kaikkien kehittäjien välillä Jos kehitystiimi on liian pieni, sen vuorovaikutus, osaaminen, tehokkuus ja tuottavuus vähenevät - jos kehitystiimi on liian suuri, sen toiminta vaatii liikaa koordinointia. Jos kehittäjät toimivat samaan aikaan useissa eri projekteissa, heidän voi olla vaikea osallistua ja sitoutua On toivottavaa että scrum-tiimi työskentelee yhteisessä työtilassa, maisemakonttorissa, jolloin tiedonvaihto on helppoa ja jatkuvaa Työskentely monitaitoisessa kehitystiimissä tukee kehittäjien välistä tiedon jakamista ja parantaa kehittäjien osaamista Pirkko Nykänen 24

Osaamisen kehittyessä scrum-projektin eteneminen ei ole kiinni ainoastaan yhden kehittäjän työpanoksesta Kukaan ei johda kehitystiimin toimintaa, vaan kehitystiimi päättää itse työnjaosta ja työskentelytavoistaan. Työskentely itseohjautuvassa kehitystiimissä lisää kehittäjien mahdol-lisuuksia vaikuttaa omiin työtehtäviinsä ja parantaa kehitystiimin toi-minnan koordinointia ja parantaa kehittäjien motivaatiota, sitoutumista scrum-projektiin, tehokkuutta ja tuottavuutta Jos scrumista ei ole aikaisempaa kokemusta, scrummaster ja muut scrum-projektin sidosryhmät voivat vastustaa päätöksentekovallan antamista kehitystiimille ja kehitystiimin voi olla vaikea ottaa vastuu päätöksenteosta Pirkko Nykänen 25

Ketterien menetelmien odotuksia Uusien ratkaisumallien ylle on asetettu merkittäviä odotuksia laadun ja tuottavuuden parantamisessa Voidaan saavuttaa huomattavia säästöjä ohjelmistoprojekteissa Nykyiset avainsanat ovat tehokkuus, jatkuva muutosvalmius ja erittäin lyhyet tuotantosyklit Perinteisten painopistealueiden prosessien, dokumentoinnin ja sopimusten väitetään jäykistävän organisaatioita ja kehitystiimejä siten, että liiketoimintaedut jäävät saamatta Suomen ohjelmistoteollisuutta uhkaa tuotannon siirtyminen halpoja tuotantokustannuksia tarjoaviin maihin, joten uusia innovaatioita ja ohjelmistojen toiminta- ja kehitysmalleja on omaksuttava ripeästi käyttöön Ketterän ohjelmistotuotannon menetelmillä suomalaisilla yrityksillä on entistä paremmat kilpailumahdollisuudet alan globaalilla kilpailukentällä Lupaava alue tulevaisuudessa: ketteryyden ja käyttäjäkeskeisyyden yhdistäminen Pirkko Nykänen 26

Agiilit versus traditionaaliset menetelmät Jakavat saman filosofisen perustan, ovat teknisesti toisiaan täydentäviä ja tukevia AGILITY The continual readiness of an entity to rapidly or inherently, proactively or reactively, embrace change, through high quality, simplistic, economical components and relationships with its environment. Conboy & Fitzgerald 2004 Pirkko Nykänen 27

Ketteryys ja käyttäjäkeskeisyys Molemmat iteratiivisia ja nostavat asiakkaan ja käyttäjät keskeiseen rooliin ohjelmistotuotantoprosessissa onko näiden yhdistäminen järkevää? Pirkko Nykänen 28

Käyttäjäkeskeisyys Kantava ajatus: käyttäjä on keskeinen osa ohjelmistokehitysprosessissa käyttäjiä haastatellaan, käyttäjiä tarkkaillaan heidän työssään, tutkitaan ja analysoidaan käyttäjäryhmän tietoja käyttäjä kokeilee prototyyppejä palautteiden, tietojen ja havaintojen avulla löydetään uusia vaatimuksia, parannuksia ja ymmärretään eri osien / toimintojen merkitys ja tärkeys etukäteissuunnittelua tehdään paljon: kuvataan kohdekäyttäjiä, tehdään käyttöliittymäsuunnittelua etc kaikki suunnittelu ja kehitys dokumentoidaan perusteellisesti Pirkko Nykänen 29

ketteryys vs käyttäjäkeskeisyys ketterät menetelmät eivät korosta etukäteissuunnittelua ja dokumentointi on kevyttä Molemmissa: luodaan useita prototyyppejä, joista haetaan palautetta ja jatketaan kehitystyötä eteenpäin palaute tulee ketterissä menetelmissä asiakkaan vastuulliselta edustajalta, käyttäjäkeskeinen suunnittelu hakee palautteen loppukäyttäjiltä yhdistely toisi palautteen molemmilta Pirkko Nykänen 30

Ketteryyden ja käyttäjäkeskeisyyden yhdistäminen Käyttäjäkeskeinen suunnittelu projektin alussa yhtenäisen käyttöliittymän suunnittelu, muttei liikaa suunnittelua rajaavia päätöksiä iteroiden ja testaten haetaan käytettävyydeltään oikeanlainen käyttöliittymä paperiprotot ja käyttäjien kanssa kommunikointi >> käyttöliittymän yleinen rakenne Ongelmallista: käytettävyyssuunnittelijoiden ja kehittäjien välinen kommunikaatio me ja ne muut- ajattelu, erilaiset ajatusmallit Pirkko Nykänen 31

Summary Ketterät menetelmät ja työtavat ovat tulleet jäädäkseen myös julkishallinnollisten asiakasorganisaatioiden hankkeisiin ja ketteriä menetelmiä käyttäen on mahdollista saavuttaa hyviä tuloksia, mutta myös epäonnistuneita lopputuloksia aivan sanoin kuin perinteisimmillä projektinhallinnan menetelmin johdetuilla ohjelmistoprojekteilla Ketteryys tarkoittaa parhaimmillaan varsin joustavaa tekemisenmallia, jossa asiakas saa jatkuvasti hyviä tuloksia ja vastinetta projektityöhön sitomalleen pääomalle ja jossa toimittaja pystyy hallitsemaan työhön sidottuja resursseja entistä joustavammin sekä vakuuttamaan asiakkaan paljon perinteisiä projektinhallinnan menetelmiä tehokkaammin Mutta toisaalta huonoimmillaan ketteryys on molemmille osapuolille riippakivi, josta halutaan eroon ja jolla työn tuottavuus on kaukana sille asetetuista tavoitteista. Pirkko Nykänen 32

www.agile.fi Agile Finland's mission is to help the development and application of Agile Software Development in Finland The Agile and Leadership Academy is an initiative between Agile Finland and University of Helsinki to bring some of the key practitioners in our community and some of the best experts world-wide together. Through a learning process that will support those of us in the community that have some years experience with Agile and are looking for the next step. Check it out in the site: www.acla.fi