Ketterät prosessit kansainvälisessä ohjelmistotuotannossa

Samankaltaiset tiedostot
arvostelija OSDA ja UDDI palveluhakemistoina.

Tutkittua tietoa. Tutkittua tietoa 1

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

Selainpelien pelimoottorit

Aika/Datum Month and year Kesäkuu 2012

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan

Luonnontieteiden popularisointi ja sen ideologia

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages

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

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin

Hajautettu Ohjelmistokehitys

Arkkitehtuurinen reflektio

Prosessien kypsyysmallit hajautetussa ohjelmistokehityksessä

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

Software engineering

OpenUP ohjelmistokehitysprosessi

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

Siirtyminen ketterien menetelmien maailmaan! Maarit Laanti 24 October 2013!

! #! %! & #!!!!! ()) +

Tapahtuipa Testaajalle...

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Tutkittu totuus globaalista ohjelmistokehityksestä

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi

Onnistunut ohjelmistoprojekti

KOODAAKO PROJEKTIPÄÄLLIKKÖ?

Hajauttamisen ongelmat ohjelmistokehityksessä Ratkaisuna Scrum?

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta

Maanvuokrausjärjestelmä Mvj. Projektitarpeen ja tavoitteiden kuvaus

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

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

Onnistunut ohjelmistoprojekti

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

XML-tutkimus Jyväskylän yliopistossa

!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0

Virtuaalitiimit ja Luottamuksen merkitys virtuaaliorganisaatioissa. Mari Mykkänen Hallman-Yhtiöt

Ketterä vaatimustenhallinta

World-Wide Work Stress Multi-case Study of Stress-Coping Process in Distributed Work. Niina Nurmi, KM

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg

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

Oppimateriaalin kokoaminen ja paketointi

Ketterä projektinhallinta

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

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

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

T Ohjelmistoprojektien hallinta Tehtävän 3 ratkaisu. Maija Kangas, Kimmo Stålnacke ja Outi Syysjoki

IT-organisaatiot: Suomen Pankki

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

Ketterien periaatteiden merkitys projektityössä

Software Factory ohjelmistotuotannon osaaminen

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

Mira Grönvall ja Rami Lehtinen

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

Laskennallinen yhteiskuntatiede

punainen lanka - Kehitysjohtaja Mcompetence Oy markokesti.com Työhyvinvoinnin kohtaamispaikka Sykettätyöhön.

arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi

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

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen laadun parantaminen refaktoroinnilla Simo Mäkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto

Käytettävyyslaatumallin rakentaminen web-sivustolle. Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9.

Leonardo-kesäpäivät. Kumppanuushankkeet Katriina Lammi-Rajapuro Miksi lähditte mukaan hankkeeseen?

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

RANTALA SARI: Sairaanhoitajan eettisten ohjeiden tunnettavuus ja niiden käyttö hoitotyön tukena sisätautien vuodeosastolla

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

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

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

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

Kahdeksan vuotta oppimisratkaisujen kehitystä Lean-projektinhallintakäytännöillä ( RePa )

Lyhyt johdatus ketterään testaukseen

Luottamuksen ja maineen rooli palveluperustaisten yhteisöjen muodostamisessa

Ketterä (agile) tietojärjestelmien suunnittelu

Projektin suunnittelu

TSSH-HEnet : Kansainvälistyvä opetussuunnitelma. CASE4: International Master s Degree Programme in Information Technology

Sähkötekniikan tutkintoohjelma. DI-tutkinto ja uranäkymät

Ketterä (agile) tietojärjestelmien suunnittelu

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Scrumin käyttö ketterässä sovelluskehityksessä

Johdattelua, motivointia, eli missä ollaan ja kuinka siihen on tultu

Kokonaisvaltainen mittaaminen ohjelmistokehityksen tukena

Menetelmäraportti - Konfiguraationhallinta

Projektinhallintapäivä 2011 Hyvää huomenta tasapuolisesti kaikille!

Käytettävyyssuunnitelman toteuttaminen Scrum-prosessimallissa

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

Lean Start-up Canvaksen käyttäminen projektisuunnittelussa

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

T Loppukatselmus

Ohjelmistoprosessit ja ohjelmistojen laatu kevät 2009

Monitoimijaisen asiakastyön johtaminen perhekeskus- ja erityispalveluiden tasolla

Vastuu- ja tehtäväalueet sekä tiedonvälitys OSCu-kursseilla

Estimointityökalut. Pekka Forselius, Senior Advisor Finnish Software Measurement Association FiSMA ry

Ylläpitodokumentti Mooan

Vaatimusten ja konfiguraation hallinta avoimessa ohjelmistokehityksessä

Työelämäyhteydet uudistuvassa korkeakoulutuksessa seminaari Sessio 3. Kirsti Keltikangas, Aalto-yliopiston Sähkötekniikan korkeakoulu

Kasvuyrityksen tuotekehitysportfolion optimointi (valmiin työn esittely)

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

Aalto University School of Engineering Ongelmaperusteisen oppimisen innovatiivinen soveltaminen yliopisto-opetuksessa

CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto Software Engineering Institute (SEI)

Transkriptio:

hyväksymispäivä arvosana arvostelija Ketterät prosessit kansainvälisessä ohjelmistotuotannossa Rauli Poikela Helsinki 27.03.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution Department Matemaattis-luonnontieteellinen tiedekunta Tekijä Författare Author Tietojenkäsittelytieteen laitos Rauli Poikela Työn nimi Arbetets titel Title Ketterät prosessit kansainvälisessä ohjelmistotuotannossa Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Aika Datum Month and year Tiivistelmä Referat Abstract 5.3.2008 Sivumäärä Sidoantal Number of pages 10 sivua + 1 liitesivu Tämä kirjoitus on tarkoitettu Helsingin Yliopiston Tietojenkäsittelytieteen laitoksen alempien opinnäytteiden ja harjoitusten ulkoasun ja rakenteen ohjeeksi. Ohje soveltuu siten tieteellisen kirjoittamisen kurssille, ohjelmistotuotantoprojekteihin, seminaaritöihin ja pro gradu -tutkielmiin. ACM Computing Classification System (CCS): A.1 [Introductory and Survey], I.7.m [Document and text processing] Avainsanat Nyckelord Keywords Ketterät prosessit, kansainvälinen ohjelmistotuotanto, Scrum Säilytyspaikka Förvaringställe Where deposited

ii Muita tietoja Övriga uppgifter Additional information Sisältö 1 Johdanto 1 2 Ketterät prosessit ohjelmistokehityksessä 1 2.1 Ketterien prosessien synty...2 2.2 Ketterän ohjelmistokehityksen menetelmät...2 2.3 Scrum-prosessimalli...2 3 Kansainvälinen ohjelmistokehitys 2 3.1 Kansainvälisen ohjelmistokehityksen ominaispiirteet...2 3.1.1 Hajautetulle ohjelmistokehitykselle ominaiset haasteet...3 3.1.2 Kansainväliselle ohjelmistokehitykselle ominaiset haasteet...3 4 Ketterät prosessit kansainvälisessä ohjelmistokehityksessä 4 4.1 Hajautetun Scrumin strategiat...4 4.1.1 Integroitu Scrum pienessä kansainvälisessä projektissa...5 4.1.2 Sisäkkäiset Scrumit laajassa kansainvälisessä projektissa...7 4.1.3 Integroitu Scrum laajassa kansainvälisessä projektissa...8 5 Yhteenveto 9 Lähteet 10 Lähteet (tulevaan käyttöön) 11

1 1 Johdanto Kansainvälinen ohjelmistokehitys on teknologian kehityksen myötä mahdollistunut myös pienempien ohjelmistoyritysten keskuudessa. Edulliset tietoliikenneyhteydet ja kommunikaatioteknologiat kuten VoiP-ratkaisut ja pikaviestimet ovat tehneet fyysisesti hajautetun projektiryhmän yhteydenpidosta nopeaa ja helppoa. Kynnys kansainvälistymiseen on laskenut ja pienikin ohjelmistoyritys voi hankkia osaamista sieltä, missä sitä on. Samaan aikaan ketterät prosessit ovat vallanneet alaa ohjelmistokehityksessä. Iteratiiviset prosessimallit, esimerkiksi Scrum, ovat yleisesti käytössä ohjelmistoyrityksissä perinteisten mallien rinnalla. Miten nämä mallit sopivat kansainväliseen ohjelmistokehitykseen? Ketteristä prosesseista ja kansainvälisestä ohjelmistokehityksestä on olemassa runsaasti tutkimustietoa ja kirjallisuutta. Sen sijaan ketterien prosessien soveltumista kansainväliseen ohjelmistokehitykseen on tutkittu vähemmän. Ketterien prosessien perusominaisuudet tekevät niiden soveltamisesta haastellisia kansainväliseen kehitystyöhön. Ketterille prosesseille tyypillisiä menetelmiä ovat XP:n pariohjelmointi, Scrumin jokapäiväiset 'seisten vietetyt' ryhmäkokoukset ja asiakas, joka on lähellä antamassa välitöntä palautetta. Tällaiset menetelmät soveltuvat hyvin kasvokkain tehtäviksi ja suosivat välitöntä, nopeaa ja epävirallista kommunikaatiotapaa. Ketterät prosessimallit ovatkin haasteellisia kansainvälisissä ohjelmistoprojekteissa, joissa kasvokkain tapaaminen on harvinaista ja kommunikaatiota vaikeuttavat tyypillisesti myös aika- ja kulttuurierot. 2 Ketterät prosessit ohjelmistokehityksessä Koska ketterät menetelmät ja Scrum-prosessimalli on jo käsitelty varsin kattavasti tämän seminaarin aiemmissa esityksissä, en lavenna näitä kappaleita toistaiseksi.

2 2.1 Ketterien prosessien synty 2.2 Ketterän ohjelmistokehityksen menetelmät 2.3 Scrum-prosessimalli 3 Kansainvälinen ohjelmistokehitys Kansainvälisellä ohjelmistotuotannolla tarkoitetaan valtioiden rajat ylittävää ohjelmistokehitystä. Kansainvälisessä ohjelmistokehityksessä voi olla kyseessä perinteinen ohjelmistojen ja ohjelmistokomponenttien alihankinta taloudellisista syistä alhaisemman kustannustason maista. Tällöin toimittava taho on usein erillinen organisaatio, joka toimittaa ohjelmiston määritysten mukaisesti. Kyseessä voi olla myös ohjelmistoprojekti, jonka henkilöstö on hajautettu eri maihin, mutta joka työskentelee yhtenä projektiorganisaationa, muodostaen globaalin virtuaalisen tiimin. Tässä tutkielmassa keskityn pääasiassa projekteihin joiden resurssit sijaitsevat hajautetusti eri toimipisteissä. 3.1 Kansainvälisen ohjelmistokehityksen ominaispiirteet On useita syitä miksi yritys haluaisi ryhtyä kansainväliseen ohjelmistotuotantoon. Suuret kansainväliset yritykset haluavat usein keskittää eri toimialojensa parhaan osaamisen erikoistuneisiin toimistoihin, jolloin tiettyyn projektiin tarvittavaa osaamista saatetaan joutua kokoamaan useasta eri toimistosta [Lau04]. Kustannustekijät tai eri aikavyöhykkeillä sijaitsevien toimipisteiden mahdollistama vuorokauden ympäri jatkuva kehitystyö voivat myös olla syynä kansainvälisen projektin perustamiseen[key03]. Erikoisosaamista vaativissa projekteissa kansainvälistymisen motivaationa voi olla resurssipula, kun osaamista ei välttämättä löydy lyhyellä varoitusajalla maan rajojen sisältä eikä työntekijöiden siirtäminen maiden välillä ole välttämättä mahdollista [Lau04]. Kansainvälinen ohjelmistokehitys ei kuitenkaan tarjoa pelkkiä hyötyjä vaan myös haasteita. Kansainvälisessä ohjelmistokehityksessä haasteet jakautuvat kahteen pääkategoriaa: Ensiksi yleisesti hajautettujen projektien kohtaamat välimatkasta johtuvat ongelmat ja toiseksi kansainvälisille projekteille ominaiset kulttuuri- ja aikaerojen aiheuttamat ongelmat.

3 3.1.1 Hajautetulle ohjelmistokehitykselle ominaiset haasteet Huomattava osa kansainvälisten ohjelmistokehitysprojektien kohtaamista ongelmista johtuu projektiryhmän hajautetusta sijainnista. Kun ihmiset eivät tapaa kasvokkain, kommunikaatioon tulee viiveitä ja tietoa hukkuu matkan varrella. Näiden ongelmien ratkaisussa kommunikointiteknologiat ja kommunikaatiossa käytettävät prosessit ovat tärkeitä. Hajaannus aiheuttaa myös inhimillisiä huolia. Ryhmähengen ja luottamuksen rakentaminen tiimin jäsenten välillä on vaikeaa kun projektiryhmän jäsenet tapaavat kasvokkain vain harvoin tai pahimmassa tapauksessa eivät ollenkaan. Luottamuksella muihin tiimin jäseniin on huomattava merkitys organisaation tehokkuudelle sekä ryhmien viihtyvyydelle ja luovuudelle [Key03, Pil06]. Vastuu jakautuu virtuaalisessa tiimissä tyypillisesti epätasaisemmin kuin kasvokkaisessa. Pillis ja Furumo havaitsivat tutkimuksessaan että virtuaalisessa työryhmässä oman työpanoksen laiminlyönti on huomattavasti yleisempää. Osa hajautetun ryhmän jäsenistä ei osallistunut lainkaan ryhmän työhön. Virtuaalisessa ryhmässä työskentely koettiin kaiken kaikkiaan vähemmän tyydyttäväksi kuin kasvokkaisessa tiimissä [Pil06]. 3.1.2 Kansainväliselle ohjelmistokehitykselle ominaiset haasteet Kaikki hajautetuille projekteille ominaiset haasteet koskevat myös kansainvälisiä ohjelmistokehitysprojekteja. Näiden lisäksi tyypillisiä ongelmia ovat kulttuuriset erot kommunikoinnissa ja työtavoissa, kielelliset vaikeudet kommunikoinnissa sekä aikaeron aiheuttamat vaikeudet projektiryhmän kommunikoinnissa ja kokousten järjestämisessä. Esimerkiksi kansallisten aksenttien ymmärtäminen saattaa osoittautua liian hankalaksi konferenssipuhelimen heikon äänenlaadun vuoksi [Ber07] tai yhteisten palaveriaikojen löytyminen voi olla vaikeaa, vaikka projektin jäsenet sijaitsivatkin pääpiirteittäin samalla aikavyöhykkeellä [Lau04]. Vaikka aikaerojen mahdollistama ympärivuorokautinen työskentely saattaa olla erittäin hyödyllistä kansainväliselle ohjelmistokehitysprojektille, aikaerot aiheuttavat myös paljon päänvaivaa projektien kommunikaation ja kokousten järjestämisessä. Tapaamisia ei voida järjestää spontaanisti silloin, kun niille on tarvetta, eikä kysymyksiin välttämättä voi saada vastausta saman päivän aikana. Onkin selvää että aikaerot projektiryhmien välillä hidastavat projektin työskentelyä. Espinosa, Nan ja Carmel tutkivat aikaeron eri asteiden vaikutusta projektin tehokkuuteen ja saivat mielenkiintoisia tuloksia. Tutkimuksen

4 mukaan projekteissa, joissa on pieniä aikaeroja, eteneminen oli kaikkein hitainta. Sen sijaan projekteissa, joissa tiimeillä ei ole ollenkaan samanaikaista työaikaa, etenemisnopeus on rinnastettavissa projekteihin, joissa kaikki työaika on samanaikaista [Esp07]. 4 Ketterät prosessit kansainvälisessä ohjelmistokehityksessä Ketterien prosessien yhteydessä käytettyjen menetelmien riippuvuus projektiryhmän fyysisestä sijainnista vaihtelee menetelmäkohtaisesti. XP:n pariohjelmointi, jossa projektiryhmän jäsenet istuvat saman työpisteen ääressä, on erittäin riippuvainen sijainnista. Ohjelmistokehityksen testi-lähtöisyydelle sijannilla puolestaan ei ole merkitystä. Hallinnollisena työkaluna ja työprosessina Scrum-prosessimalli soveltuu teoriassa kansainvälisen ohjelmistokehityksen hallintaan, mutta aiheuttaa tiettyjen menetelmiensä osalta haasteita. Kansainvälisessä käytössä Scrum-prosessi tarvitsee tarkkaa suunnittelua toimiakseen halutulla tavalla. 4.1 Hajautetun Scrumin strategiat Fyysisesti hajautetun ohjelmistokehitysprojektin Scrum-prosessimallin toteuttamiselle on kirjallisuudessa esitetty kolme vaihtoehtoa: eristetyt Scrumit, paikalliset Scrumit hajautetulla Scrumien Scrumilla ja integroidut Scrumit [Sut07]. Eristetyt Scrumit on menetelmistä yksinkertaisin. Samassa kansainvälisessä projektissa voi olla useita paikallisia Scrum-tiimejä, mutta nämä eivät kommunikoi keskenään. Tämä lähestymismalli ei sisällä kansainvälistä Scrum-prosessia, joten en syvenny siihen tutkimuksessani. Scrum Alliance suosittelee hajautetun Scrumien Scrumin strategiaa parhaana käytäntönä. Tässä strategiassa Scrum-tiimit ovat useimmiten kokonaan paikallisia tiimejä, jotka eivät ole erityisen riippuvaisia toisistaan. Tiimien Scrum-mestarit, jotka tyypillisesti ovat tiiminvetäjiä tai projektipäälliköitä, muodostavat oman hajautetun Scrum-tiiminsä. Tämä Scrumien Scrum kokoontuu säännöllisesti jakamaan tietoa eri Scrum-tiimien välille. Strategia kannustaa kommunikaatioon ja yhteistyöhön ja on suositeltava tapa tiimeille, joilla ei ole vielä vankkaa pohjaa ketteristä työskentelymenetelmistä. Integroidut Scrumit ovat Scrum-tiimejä, joiden jäsenet ovat fyysisesti hajautettuja eri toimipisteiden välillä, mutta jotka toimivat silti yhtenä Scrum-tiiminä. Integroidut Scrumit

5 on hallinnollisesti haasteellisin strategia, koska fyysinen hajautus vaikeuttaa tiimien yhteydenpitoa ja ylimääräisiä kustannuksia syntyy kommunikoinnista ja koordinoinnista. Integroidun Scrumin vahvoja puolia ovat kulttuuristen muurien murtaminen, työtapojen yhteensovittaminen ja laajemman yhteenkuuluvuuden tunteen luominen organisaatiossa. Jos Integroidun Scrumin strategian toteutus on onnistunut, fyysinen sijainti lakkaa olemasta merkityksellinen ja tuottavuudessa voidaan päästä lähelle pienen paikallisen tiimin tulosta. Integroitujen Scrumien strategiaa voidaan suositella kokeneille ketterille tiimeille. Kuvio 1: Hajautettujen Scrum-tiimien strategiat [Sut07] Tyypillisessä projektissa, jossa hyödynnetään kansainvälistä alihankintaa, tiimit toimivat erillisinä yksiköinään ilman Scrum-tyyppistä koordinointia. Ne voivat kuitenkin noudattaa Scrum-prosessia sisäisesti. Tämä voidaan mieltää alkeelliseksi versioksi eristettyjen Scrumien strategiasta [Sut07]. Erilaisista hajautetun Scrumin toteutuksista on olemassa muutamia tapaustutkimuksia, joista esittelen tässä tutkimuksessa kolme. 4.1.1 Integroitu Scrum pienessä kansainvälisessä projektissa Ketterät menetelmät ovat riippuvaisia jatkuvasta ja laadukkaasta palautteesta projektiryhmälle, jotta projekti voi vastata liiketoiminnan tarpeitten muutokseen. Hyvä kommunikaatio on kriittistä. Etäisyyksien myötä kommunikaatio hidastuu. Kun ongelmia tulee, hajautettu projektiryhmä on vaikeassa tilanteessa. Berczuk kuvasi tällaisen tilanteen tutkimuksessaan norjalaisen hakukoneyhtiö FASTin kehitystiimin hajaantumisesta yhtiön Norjan ja Yhdysvaltain toimistojen välille [Ber07].

6 FASTin tapauksessa projektiryhmä oli ehtinyt työskennellä projektin ensimmäiset kuukaudet samassa toimipisteessä ja harjoitella Scrumin käyttöä projektin hallintaan. Osan projektiryhmästä palatessa Norjaan tiimi hajaantui kahdelle eri mantereelle. Suurimmat hajaantumisen aiheuttamat ongelmat liittyivät kommunikointiin ja aikaeroon. Alussa kiusaus tehdä tiimikohtaisia poikkeuksia käytettyihin Scrum-menetelmiin oli suuri, mutta projektin edetessä tiimi havaitsi, että poikkeukset prosessista aiheuttivat vain lisää kommunikointivaikeuksia tulosten ollessa sitä parempia mitä orjallisemmin prosessia noudatettiin. Erilaiset työkalut kuten projekti-wikit ja työjonon käsittelyjärjestelmät osoittautuivat erittäin hyödyllisiksi etenkin projektin myöhemmässä, hajautetussa vaiheessa. Myös alkeellisemmilla työkaluilla oli merkityksensä. Esimerkiksi seinäkello, joka osoitti paikallista aikaa toisessa toimistossa, edisti tiimin yhteenkuuluvuuden tunnetta. Projektin työjakson (eng. sprint) pituus oli aluksi ollut neljän viikon mittainen. Tästä kuitenkin luovuttiin myöhemmin osin projektikohtaisista syistä, mutta myös koska projektiryhmä koki että pitkät työjaksot edistivät eristyneisyyttä tiimissä. Kun lyhentyneiden työjaksojen vuoksi suunnittelupalavereita ja lopputarkasteluita pidettiin kerran kahdessa viikossa, projektiryhmä pysyi paremmin selvillä projektin ja toistensa tilanteesta. Lyhentyneet työjaksot helpottivat myös projektin seurantaa. Hyvien tuotekehityskäytäntöjen noudattamisen hyödyllisyys on itsestäänselvää tuotekehitysprojekteille. Hajautetussa ympäristössä käytäntöjen noudattamisen hyöty korostui entisestään, koska noudattamatta jättämisen haittavaikutukset korostuivat. Projektin kuluessa tiimi alkoi pitää paremmin huolta siitä, että uusin koodi kääntyi aina ja yksikkötestit menivät läpi. Tällöin toimistot eivät törmänneet enää usein tilanteisiin joissa kehittäjät olisivat riippuvaisia eri aikavyöhykkeellä toimivan toimiston tekemistä korjauksista. Eniten päänvaivaa projektille tuotti päivittäisten Scrum-tapaamisten järjestäminen. Aikaeron vuoksi päivittäiset tapaamiset järjestyivät lopuksi siten, että Norjassa ne pidettiin työpäivän päätteeksi ja Yhdysvalloissa työpäivän alussa. Tällöin Scrumin kolmen kysymyksen protokolla johti omituiseen tilanteeseen, jossa osa tiimistä puhui siitä, mitä aikoo tehdä tänään ja toinen osa siitä, mitä aikoo tehdä huomenna. Norjan toimistolla päädyttiin myös pitämään aamuisin mini-tapaaminen käytännöllisyyden vuoksi. Teknologiakaan ei ollut ongelmatonta. Konferenssipuhelinten äänenlaatu osoittautui riittämättömäksi, jotta kaikkien puheesta olisi saanut selvää. Tästä syystä

7 projektiryhmä siirtyi käyttämään Skypeä konferenssipuheluihin, mikä toimi paremmin. 4.1.2 Sisäkkäiset Scrumit laajassa kansainvälisessä projektissa Kun Scrumia käytetään projektinhallinnan menetelmänä suurissa kansainvälisissä projekteissa, projektin kansainvälisyyden ja toimipaikkojen lukumäärän merkitys projektin onnistumiselle pienenee suhteessa projektin muihin ominaisuuksiin kuten projektin laajuuteen. Projektin ollessa tarpeeksi suuri se on helppo pilkkoa pienempiin hallittaviin kokonaisuuksiin, jotka ovat pääasiassa kasvokkain työskentelevien tiimien toteutettavissa. Tällöin kansainvälisen kommunikoinnin osuus kokonaiskommunikaatiosta vähenee. Smits ja Pshigoda analysoivat Scrumin käyttöä tällaisen laajan, hajautetun ja kansainvälisen projektin toteutuksessa [Smi07]. BMC Software sovelsi Scrum-metodologiaa kehittäessään 'Identity Management' -tuotteestaan seuraavan version. Kyseessä oli laaja projekti, jossa työskenteli aluksi neljä ohjelmistokehitystiimiä. Näistä kehitystiimeistä kaksi oli kansainvälisesti hajautettuja ja kaksi paikallisia. Kansainvälisten tiimien jäsenet työskentelivät Israelissa, Yhdysvalloissa ja Ranskassa. Paikalliset tiimit työskentelivät Israelissa. Projektin omistajat muodostivat oman tiiminsä, joka oli myös hajautettu Israelin, Ranskan ja Yhdysvaltojen välille. Lisäksi projektiin nimitettiin arkkitehti, joka toimi muiden projektin tiimien ulkopuolella. Projekti käynnistyi kaikkien projektiin osallistujien tapaamisella Tel Avivissa, jossa projektin osalliset tutustuivat. Projektin ensimmäinen julkaisu suunniteltiin yhdessä. Projektin jatkuessa projektin johto laajensi myöhempien julkaisujen yhteydessä projektin tavotteita ja lisäsi projektiin tiimejä. Suurimmillaan projektissa oli 14 kehitystiimiä omistajatiimin lisäksi. Scrumin käyttö projektin hallintaan aiheutti aluksi ongelmia kun arkkitehturaalisia vaatimuksia muutettuun työjonon (eng. product backlog) tehtäviksi (backlog item), jotka Scrumissa ovat ennemmin ominaisuus- tai tarinavetoisia. Projektin omistajien osallistuminen oli haasteellista: Omistajaryhmän jäsenten intressit koskivat koko projektia, mutta sen jäsenet olivat hajaantuneet fyysisesti eri toimipaikkoihin, jotka sijaitsivat eri aikavyöhykkeillä. Projektin arkkitehdin ja laadunhallinnan roolit ja vastuut organisaatiossa olivat epäselviä. Projektin dokumentointi oli erityisen haasteellista, koska ominaisuuksien kehittäminen, testaus ja dokumentointi saman työjakson aikana koettiin mahdottomaksi. Projektin aikana ei löydetty yhteistä työtapaa dokumentointiin. Suunnittelusessiot koettiin hyvin haasteellisiksi. Projektissa koettiin ensisijaisen tärkeäksi

8 suunnittelusessioiden tapahtuminen kasvokkain, joten projektissa investoitiin huomattavasti suunnittelusession osallistujien lennättämiseen samaan paikkaan. Toinen tärkeä vaatimus hyvälle suunnittelusessiolle oli saada työjono valmiiksi hyvissä ajoin suunniteltavalle työjaksolle. Projektiryhmien määrän kasvaessa Scrum-prosessin '15-minuuttisten päivittäisten tapaamisten' koko alkoi kasvaa liian suureksi osallistujamäärältään ja liian vaikeasti koordinoitavaksi aikavyöhyke-erojen vuoksi. Ongelma ratkaistiin projektissa sisäkkäisellä Scrum-projektirakenteella. Projektin viisitoista tiimiä jakautuivat useaan 'Scrumien Scrum' -tason ryhmään, joiden Scrum-mestarit kokoontuivat raportoimaan Scrummestarien Scrum-mestarille, muodostaen projektiin 'Scrumien Scrumien Scrum' -tason. 4.1.3 Integroitu Scrum laajassa kansainvälisessä projektissa SirsiDynixillä on arviolta 4000 kirjasto- ja konsortiumiasiakasta maailmanlaajuisesti. Kun SirsiDynix päätti kehittää kokonaan uuden järjestelmän korvaamaan 12500 vanhaa kirjastojärjestelmäasennusta, yritys valitsi alihankkijakseen venäläisen StarSoft Development Labsin, jolla on paljon kokemusta ketteristä menetelmistä. Projektin Yhdysvaltain toimiston kehitystiimiin Utahissa kuului 30 henkeä ja StarSoftin alihankkijoina projektiin liittyi 26 Pietarista käsin työskentelevää venäläistä [Sut07]. Projektin Scrum-strategiaksi valittiin Integroitu Scrum, jossa tyypillinen tiimi koostui 3-5 henkilöstä Utahissa ja neljästä tai useammasta henkilöstä Pietarissa. Lisäksi jotkin tiimien jäsenistä työskentelivät Seattlessa, Denverissä, St. Louisissa ja Kanadan Waterloossa. Projektien Scrummestarit olivat aina Utahissa ja pitivät Scrumien Scrumin paikallisesti. Kymmenen tunnin aikaeron johdosta Scrum-tapaamiset pidettiin kello 7:45 Utahin aikaa, joka on 17:45 Pietarin aikaa. Tiimit havaitsivat kuitenkin, että oli tarpeellista jakaa sähköpostilla vastaukset Scrumin kolmeen kysymykseen ennen tapaamisia. Tämä lyhensi telekonferenssien kestoa ja helpotti kielimuurin aiheuttamia ongelmia. Lisäksi Pietarin tiimi piti oman paikallisen kokouksensa joka työpäivän alussa. Työjaksojen pituudeksi muodostui kaksi viikkoa kuten FASTin tapauksessa. Jokainen työjakso alkoi jakson suunnittelukokouksella. Jakson päätökseksi suunnitellut ominaisuudet olivat valmiit ja ne demottiin. Projektin aikana valmiin määritelmä laajennettiin sisältämään täysi testaus. Keskeneräiset työkokonaisuudet pyrittiin pitämään tiukasti työjaksojen sisäisinä eikä keskeneräinen työkokonaisuus saanut valua työjaksosta toiseen, koska se aiheutti viiveitä, kasvatti riskiä ja rikkoi ketterän kehityksen periaatteita.

9 Vaatimukset toteutetaan normaalisti Scrumissa käyttäjätarinoiden muodossa. Tämän projektin tarpeisiin käyttäjätarinat eivät kuitenkaan olleet tarpeeksi tarkkoja, koska kirjastokäytännöt poikkeavat toisistaan kansainvälisellä tasolla. Käyttäjätarinoiden sijaan käytettiin hyvin yksityiskohtaisia käyttötapauskuvauksia. Projekti oli eräs tuottavimmista dokumentoiduista Scrum-projekteista. Projekti tuotti 671,688 koodiriviä 14,5 kuukauden aikana 56 henkilön toimesta. Projektin aikana koodille suoritettiin radikaali uudelleenjärjestely kahdesti. Tällä tavoin koodin koosta vähennettiin 275,000 riviä. Projekti pääsikin tuottavuudessaan lähelle pienten paikallisten Scrum-tiimien lukemia. 5 Yhteenveto Ketterät menetelmät ovat vaivattomasti sovellettavissa suurissa kansainvälisissä projekteissa, koska projektin suuresta koosta johtuen kokonaiset kehitystiimit pystytään sijoittamaan samaan toimipisteesseen, jolloin ne kykenevät halutessaan käyttämään ketteriä menetelmiä paikallisesti. Tarvittaessa nämä paikalliset ketterät tiimit voivat toteuttaa Scrum-prosessimallia hajautetusti Scrumien Scrum-strategialla. Suurissa projekteissa haasteet ovatkin pääasiassa hallinnollisia. Pienempien kansainvälisten projektien yhteydessä on tyypillisempää, että yksittäinen kehitystiimi on hajautettu useamman toimipisteen välille. Tällöin tiimi saattaa olla lähtökohtaisesti pakotettu valitsemaan Integroidun Scrumin strategian. Pienessä organisaatiossa on myös vähemmän resursseja käytettävissä työnteon fasilitointiin ja projektin käytössä olevien kommunikaatioteknologioiden ja kommunikaatiotapojen merkitys korostuu. Integroidun Scrumin strategia soveltuu kuitenkin myös laajempiin kansainvälisiin projekteihin, mikäli osallistuvat työntekijät ovat kokeneita ketterien menetelmien hyödyntäjiä. SirsiDynix pystyi esittämään kunnioitettavia tuottavuuslukuja Integroidun Scrumin strategialla organisoidussa projektissaan.

10 Lähteet Smi07 Sut07 Ber07 Lau04 Key03 Pil06 Esp07 Smits, H., Pshigoda, G., Implementing Scrum in a Distributed Software Development Organization. Sutherland, J., Viktorov, A., Blount, J., Puntikov, N., Distributed Scrum: Agile Project Management with Outsourced Development Teams. System Sciences, 2007. HICSS 2007. 40th Annual Hawaii International Conference on Jan. 2007 Page(s):274a - 274a. Berczuk, S., Back to Basics: The Role of Agile Principles in Success with an Distributed Scrum Team. AGILE 2007 13-17 Aug. 2007 Page(s):382-388. Lau, R., Delivering projects with virtual teams. IEEE International Volume 2, Issue, 18-21 Oct. 2004 Page(s): 737-741 Keyzerman, Y., Trust in Virtual Teams. Professional Communication Conference, 2003. IPCC 2003. Proceedings. IEEE International. 21-24 Sept. 2003 Page(s): 10 pp.- Pillis, E., Furumo, K., Virtual vs. Face-to-Face Teams: Deadbeats, Deserters, and Other Considerations. Proceedings of the 2006 ACM SIGMIS CPR conference on computer personnel research: Forty four years of computer personnel research: achievements, challenges & the future. Session 8.2 Pages: 318-320 Espinosa, J. A., Nan, N., Carmel, E., Do Gradations of Time Zone Separation Make a Difference in Performance? A First Laboratory Study. Second IEEE International Conference on Global Software Engineering. ICGSE 2007. 27-30 Aug. 2007 Page(s):12-22

11 Lähteet (tulevaan käyttöön) Col07 Lee06 San07 Edw02 Cus03 Abr03 Sal08 Nid05 Coldewey, J., Link, J., Marquardt, K., Agility unlimited? OOPSLA '07: Companion to the 22nd ACM SIGPLAN conference on Object oriented programming systems and applications companion, October 2007 Lee, G., DeLone, W., Espinosa, J.A., Ambidextrous coping strategies in globally distributed software development projects. Communications of the ACM, October 2006 Sanders, D., Using Scrum to manage student projects. Journal of Computing Sciences in Colleges, October 2007 Edwards, H.K., Sridhar, V., Analysis of the Effectiveness of Global Virtual Teams in Software Engineering Projects, Proceedings of the 36th Hawaii International Conference on System Sciences, 2002 Cusumano, M., et al., Software Development Worldwide: The State of the Practice. IEEE Software, Volume 20, Number 6, Nov/Dec 2003, 28-34. Abrahamsson, P., Warsta, J., Siponen, M.T., Ronkainen, J., New Directions on Agile Methods: A Comparative Analysis. ICSE'03: Proceedings of the 25th International Conference on Software Engineering on 3-10 May 2003 Pages 244-254. Salo, O., Abrahamsson, P., Agile methods in European embedded software development organisations: a survey on the actual use and usefulness of Extreme Programming and Scrum Software. IET Volume 2, Issue 1, February 2008 Page(s):58-64. Nidiffer, K., E., Dolan, D., Evolving Distributed Project Management. IEEE Software, vol. 22, pages 63-72, Sep/Oct 2005