AVOIMEEN LÄHDEKOODIIN PERUSTUVA KEHITYS PROJEKTINHALLINNAN NÄKÖKULMA



Samankaltaiset tiedostot
Tutkittua tietoa. Tutkittua tietoa 1

Mittaaminen projektipäällikön ja prosessinkehittäjän työkaluna

AVOIN LÄHDEKOODI JA SEN MERKITYS LIIKETOIMINNASSA

Kokonaisvaltainen mittaaminen ohjelmistokehityksen tukena

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

Avoimen datan liiketoimintamallit. Matti Rossi, Aalto University School of Business


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

MIKÄ ON TIIMI? Tiimi on pieni ryhmä ihmisiä, joilla on: Lisäksi tiimin jäsenet pitävät itseään yhteisvastuussa suorituksistaan.

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

15224 standardi johtamisen ja laadukkaan työn tukena auditoijan näkökulma YTL Merja Huikko

työryhmien SharePoint-yhteistyötä helpottava ratkaisu

Onnistunut ohjelmistoprojekti

Yhdeksän mittaria ohjelmistotuotannon. seuraamiseen. tsoft. Vesa Tenhunen Joensuun yliopisto, TKT:n laitos

Kahdenlaista testauksen tehokkuutta

Avoimen lähdekoodin kehitysmallit

Onnistunut ohjelmistoprojekti

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

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Tieto- ja viestintätekniikkaa opetustyön tueksi

Ohjenuora työntekijöillemme

Avoin lähdekoodi hankinnoissa Juha Yrjölä

SFS, STANDARDIEHDOTUKSEN ISO/DIS ESITTELY

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


Työpaja: Vapaaehtoistoiminnan johtaminen Kirkollisen johtamisen forum 2014

Avoimen lähdekoodin vaarat

Vertaisarvioinnin käyttö opetushenkilöstön työn kehittämisessä Olli Vuorinen, kehitysjohtaja Raision seudun koulutuskuntayhtymä:

Software engineering

AVOIN KOODI YRITTÄJYYDEN LÄHTÖKOHTANA

ARVIOINTISUUNNITELMA HSL REITTIOPAS

Arvioinnin viitekehys ja toimintamalli hankearvioinnin perustana

Johdantoluento. Ohjelmien ylläpito

SYSTEEMIJOHTAMINEN! Sami Lilja! itsmf Finland 2014! Oct ! Kalastajatorppa, Helsinki! Reaktor 2014

ITK130 Ohjelmistojen luonne

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Suomen avoimien tietojärjestelmien keskus COSS ry

Adeptus Myynnin Suorituskyvyn parantaminen. Analyysin tekijä Adeptus Partners Oy

Riski = epävarmuuden vaikutus tavoitteisiin. Valtionhallinnossa = epävarmuuden vaikutus lakisääteisten tehtävien suorittamiseen ja tavoitteisiin

Software product lines

1 Teknisen ja ympäristötoimen mittareiden laatiminen

Miksi potilastietojärjestelmän käytettävyys on niin tärkeää?

Arviointi ja mittaaminen

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU

Tärkeimmät mittarit strategisen työympäristöjohtamisen kannalta?

OHJEITA VALMENTAVALLE JOHTAJALLE

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

Miksi vaikuttavuuden mittaaminen on tärkeää ja miten sitä voi tehdä?

Tietopolitiikan valmistelun tilanne O-P Rissanen JUHTA

Yhteisöllisen toimintatavan jalkauttaminen!

TIEDÄTKÖ TUKEEKO HR YRITYKSESI LIIKETOIMINTAA? mittaamalla oikea suunta johtamiseen

Kohti avointa, asiakaslähtöistä palvelujen tuotteistamista

Mikä on tieteenfilosofinen positioni ja miten se vaikuttaa tutkimukseeni?

Avoin lähdekoodi (Open Source) liiketoiminnassa

Kandidaatintyön esittely: Epätäydellisen preferenssi-informaation huomioon ottavien päätöksenteon tukimenetelmien vertailu

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Kansalliskirjaston ATThankkeet

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

CMM Capability Maturity Model. Software Engineering Institute (SEI) Perustettu vuonna 1984 Carnegie Mellon University

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

Merkityksellistä työtä

Ohjelmistojen virheistä

Vaikutusten mittaaminen. Hannes Enlund Fimea Lääkehoitojen arviointi

IPT 2. Syventävä työpaja ( ): Ryhmätöiden tulokset

OS-ohjelmistojen liiketoimintamallit

Sovellustietoturvallisuus Petteri Arola OWASP Chapter Leader Nixu Oy OWASP The OWASP Foundation

Tuotantotalouden analyysimallit. TU-A1100 Tuotantotalous 1

JOUSTAVUUS JA LUOTTAMUS -MITTAUS

KÄYTTÄJÄKOKEMUS & KÄYTTÖLIITTYMÄSUUNNITTELU. CSE- C3800, Aalto , Eeva Raita

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

Tuotantotalouden tutkinto-ohjelma Korvavuusluettelo, päivitetty

Tervetuloa! TULOKSISTA TOIMINTAAN. Kohti yhteistä ja innostavaa arkipäivän kehittämistä yhdessä tekemällä

Ohjelmistoihin perustuva liiketoiminta: haasteita ja mahdollisuuksia

Avoin lähdekoodi ja hankinnat. JHS-SEMINAARI Avoimet teknologiat haaste ja mahdollisuus

Tietokantapohjaisen arviointijärjestelmän kehittäminen: kohti mielekästä oppimista ja opetusta

CxO Mentor Oy. Organisaatiokulttuurit. CxO Academy Eerik Lundmark. CxO Mentor Oy 2014

SoberIT Ohjelmistoliiketoiminnan ja tuotannon laboratorio

Uudelleenkäytön jako kahteen

Tiimistä huipputiimiksi

Yksilöllistä, puhuroi, suorita - Mitä käyttöliittymien termien taakse kätkeytyy?

Megaprojekti pysyi aikataulussa. Totta vai tarua?

UUDEN TYÖN MARKKINA Ehdotus edistyksellisemmän työn markkinan luomiseksi Suomeen

Esiselvitys ja avoin lähdekoodi

Monipuolisen yhteistyön haaste pyrittäessä korkealle

Työhyvinvointi ja tuottavuus

CMMI CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto

Miten saan ystäviä, menestystä ja vaikutusvaltaa verkossa liikkuvin kuvin

Suuret Hyödyt Suuri IT-palveluiden tehokkuus

Ketterä vaatimustenhallinta

Perheystävällinen työpaikka. Anna Kokko, Erityisasiantuntija Väestöliitto

Saimaan rannalla. Mikkelin valtuustostrategia Luonnos

Palvelutuotannon tuottavuuden mittaaminen ja kehittäminen. Antti Lönnqvist Tampereen teknillinen yliopisto

Julkaisun laji Opinnäytetyö. Sivumäärä 43

Inno-Vointi. Johtamisella innovaatioita ja hyvinvointia Vantaan kaupungin varhaiskasvatuksessa. Inno-Vointi

Helena Lemminkäinen Johtava konsultti, Kevi Consulting Oy (

Lapsen Vasun arviointi

Tapani Ahola. Lyhytterapiainstituutti Oy

JOHTAMINEN. Yritystoiminta Pauliina Stranius

Yhteiskuntafilosofia. - alueet ja päämäärät. Olli Loukola / käytännöllisen filosofian laitos / HY

Transkriptio:

Atte Karkimo, Joni Kivinen, Juha Rouvinen, Tuukka Hastrup AVOIMEEN LÄHDEKOODIIN PERUSTUVA KEHITYS PROJEKTINHALLINNAN NÄKÖKULMA Tietojärjestelmätieteen harjoitustyö 3.3.2007 Jyväskylän yliopisto Informaatioteknologian tiedekunta Jyväskylä

TIIVISTELMÄ Atte Karkimo, Joni Kivinen, Juha Rouvinen, Tuukka Hastrup, Avoimeen lähdekoodiin perustuva kehitys projektinhallinnan näkökulma / Atte Karkimo, Joni Kivinen, Juha Rouvinen, Tuukka Hastrup Jyväskylä: Jyväskylän yliopisto, 2007. 16 s. Harjoitustyö Tämä työ käsittelee eräitä projektinhallinnan erityispiirteitä avoimeen lähdekoodin perustuvassa kehityksessä. Käsittelemme sekä avoimen kehityksen haasteita että mahdollisuuksia, ja vertaamme sitä perinteiseen ohjelmistotekniikkaan. AVAINSANAT: tutkielma, avoin lähdekoodi, hallinnointi, kehitys, menestys, johtaminen

SISÄLLYS 1 JOHDANTO...4 2 AVOIMEN JA PERINTEISEN KEHITYKSEN VERTAILU...5 2.1 Käyttöönotto...5 2.2 Mielikuvat ja todellisuus...5 3 KEHITYSVAIHEIDEN MERKITYS PROJEKTIN TEHOKKUUDELLE...7 3.1 Kehitysvaiheet...7 3.2 Tehokkuuden arviointi...7 3.3 Tehokkuuteen vaikuttavat tekijät ja niiden rooli projektin eri vaiheissa...8 4 PROJEKTIEN MENESTYSTEKIJÄT...9 4.1 Perinteiset mittausmenetelmät...9 4.2 Avoimen lähdekoodin projekteihin sovellettuja mittausmenetelmiä...10 4.3 Merkitys projektin hallinnoinnille...10 5 JOHTAMINEN...12 5.1 Vapaaohjelmistohakkerit...12 5.2 Hakkerietiikka...12 5.3 Yrittäjyys...13 6 YHTEENVETO...14

1 JOHDANTO Avoin lähdekoodi on laaja ilmiö ohjelmistotekniikassa ja sen merkitys kasvaa. Sen ominaispiirteet vaikuttavat ohjelmistonkehitykseen: taustalla on ideologia tiedon ja ohjelmistojen vapaudesta, näkemys avoimuudesta tärkeänä osana ohjelmistonkehitystä sekä ympäristö, jossa toimitaan pitkälti vahvasti verkottuneina yksityishenkilöinä. Avoimeen koodiin perustuva ohjelmistokehitys voi käyttää muiden tällaisia komponentteja, siinä voi olla merkittävää koodin julkaisu yleisesti tarkasteltavaksi ja paranneltavaksi, se voi olla olemassa olevan kehitysyhteisön toimintaan osallistumista ja sen tavoitteena voi olla uuden yhteisön luominen. Tässä ei suljeta pois mitään näistä aspekteista, mutta ei myöskään voida sanoa, että kaikki tulokset koskisivat kaikenlaisia projekteja. Projektinhallinta ohjelmistotuotannon alueena käsittelee oikeiden ihmisten löytämistä projektin työntekijöiksi ja muiden resurssien hankintaa, projektin suunnittelua ja aikataulua, seurausta ja valvontaa, riskinhallintaa, alihankintasopimuksia, projektin toiminnan mittausta ja analysointia sekä sidosryhmien huomiointia. Avoimen lähdekoodin projektit ovat epämuodollisia. Voidaankin kysyä voidaanko niitä hallita ja jos voidaan, niin kuka ja miten. Aiemmista avoimen lähdekoodin projektien tutkimuksista olemme tunnistaneet joitakin projektinhallinnan teemoja ja käsittelemme niitä seuraavassa.

5 2 AVOIMEN JA PERINTEISEN KEHITYKSEN VERTAILU Kappaleessa käsitellään avoimeen lähdekoodiin perustuvien sekä suljettuun lähdekoodiin ja perinteisiin ohjelmistotekniikan menetelmiin perustuvien ohjelmistojen ja kehityksen eroja. 2.1 Käyttöönotto Yrityksen ottaessa käyttöön avoimeen lähdekoodiin perustuvia ratkaisuja, tulee ottaa huomioon tiettyjä asioita, jotka eroavat osittain suljettuun lähdekoodiin liitetyistä kriteereistä. Ne voidaan jakaa funktionaalisiin (mm. täyttääkö ohjelma tarkoituksensa?), teknisiin (mm. onko ohjelman käyttöönotto mahdollista?), organisaatiollisiin (mm. onko ohjelman takana oleva yhteisö kunnossa?), laillisiin (mm. mitä ohjelman lisensseistä seuraa?), taloudellisiin (mm. onko ohjelma helposti ylläpidettävissä?) ja poliittisiin seikkoihin (mm. miten käyttöönotto vaikuttaa yrityksen julkisuuskuvaan?) (Cruz, Wieland & Ziegler). Merkittävimpiä eroja ratkaisun arviointiin tuo avoimen lähdekoodin läpinäkyvyys, jolloin voidaan tarkastella monia asioita, jotka suljetuissa ratkaisuissa jäisivät tuntemattomiksi. Tämä tekee avoimista kehitysyhteisöistä myös ainutlaatuisen tutkimuskohteen ohjelmistotekniikan kannalta. (Scacchi, 2007) Yrityksen tulee tutustua ohjelmiston kehityksen vaiheisiin, sen tekijöiden keskinäisiin suhteisiin, lähdekoodiin ja tunnettuihin virheisiin. (Cruz, Wieland & Ziegler) 2.2 Mielikuvat ja todellisuus Avoimeen lähdekoodiin yleisesti liitettyjä mielikuvia ovat nopea kasvu, luovuus, yksinkertaisuus, modulaarisuus ja vikojen nopea korjaaminen. Vertailtaessa tiettyjä avoimia ja suljettuja ohjelmia havaittiin avoimen lähdekoodin eduiksi edellä mainituista luovuus ja vikojen nopea korjaus. Muista oletetuista ominaisuuksista ei löytynyt näyttöä. Yksinkertaisuutta tarkasteltaessa avointen projektien todettiin jopa olevan huonommassa asemassa. (Paulson) Luovuus ilmeni siinä, että vertailtuihin avoimen lähdekoodin projekteihin lisättiin enemmän funktioita tietyssä ajassa, jolloin voidaan olettaa myös ohjelmien ominaisuuksien lisääntyneen. Funktioiden lisääntyminen saattaa vaikuttaa

6 myös virheiden nopeaan korjaamiseen. Suurin syy siihen on kuitenkin testaajien suuri määrä. Avoimuuden ansiosta testaajien on mahdollista myös paikallistaa virheiden aiheuttajia ja jopa korjata niitä. (Paulson) Scacchi sen sijaan tunnistaa avoimessa kehityksessä monia piirteitä, joiden avulla se voi olla nopeampaa, halvempaa ja parempaa kuin perinteisen ohjelmistotekniikan mukaiset menetelmät. Hänen mukaansa avoin kehitys on ohjelmistokehityksen malli, jonka tietyistä yhteisöllisistä erityispiirteistä perinteisen ohjelmistotekniikan käyttäjät voisivat ottaa mallia. Toisaalta avoimet yhteisöt voisivat myös hyötyä perinteisten menetelmien käytöstä projektinhallinnassa. (Scacchi, 2003)

7 3 KEHITYSVAIHEIDEN MERKITYS PROJEKTIN TEHOKKUU- DELLE Kappaleessa käsitellään avoimen lähdekoodin projektien tehokkuuteen vaikuttavia muuttujia ja niiden roolia projektin eri vaiheissa. 3.1 Kehitysvaiheet Ohjelmistokehityksen vaiheet on normaalisti jaoteltu analyysiin, suunnitteluun, toteutukseen, testaukseen ja ylläpitoon. Avoimen lähdekoodin projekteille annetaan samaan tapaan eri luokitukset. Kehitysvaiheesta riippuen projekti on joko suunnittelu-, pre-alfa-kehitys-, alfa-testaus-, beeta-testaus- tai tuotantovaiheessa. Edistyneet ja pitkään kehityksessä olleet projektit luokitellaan kypsiksi. 3.2 Tehokkuuden arviointi Tehokkuutta voidaan arvioida subjektiivisesti ja objektiivisesti. Saavutetut tavoitteet ja projektin edistyminen voidaan nähdä objektiivisina merkkeinä projektin tehokkuudesta. Toisaalta tehokkuuteen vaikuttaa myös kehitystiimin subjektiivinen näkemys projektin edistymisestä. Koska suuri osa avoimen lähdekoodin kehityksestä pohjautuu vapaaehtoiseen työhön, on ryhmän jäsenten motivaation ja työpanoksen kannalta subjektiivinen tehokkuus tärkeää. Jos jäsenet eivät koe projektin edistyvän, saattavat he hylätä sen. Kehitystiimien tehokkuutta on mitattu input-processing-outcome (IPO) -mallin avulla. Syötteeksi (input) voidaan laskea kuuluvaksi muuttujia kuten kehittäjien määrä projektissa, tehtävä ja teknologia. Prosessointiin kuuluu esimerkiksi kehitystiimin tavoitteet ja luottamus. Lopputulokseksi (outcome) voidaan ymmärtää työn laatu, tehokkuus ja jäsenten tyytyväisyys. Kaikkia näitä tekijöitä voidaan käyttää kehitystiimin tehokkuuden arvioinnissa. Avoimen lähdekoodin projekteissa erityistä huomiota tulee kiinnittää myös syötteisiin. Koska suuri osa työstä perustuu vapaaehtoisuuteen, voidaan kehittäjien määrä nähdä merkkinä projektin tehokkuudesta. Tällä on erityinen merkitys omakohtaiseen arvioon (subjective evaluation) projektin tehokkuudesta, koska suurempi kehitystiimi käsitetään projektin kannalta hyväksi asiaksi. Ryhmän jäsenet arvioivat, että suu-

8 rempi kehitystiimi saa projektin varmemmin päätökseen. 3.3 Tehokkuuteen vaikuttavat tekijät ja niiden rooli projektin eri vaiheissa Seuraavat havainnot perustuvat Stewartin ja Gosainin (2006) tutkimustuloksiin. Kuten aiemmin mainittu, ryhmän koko voidaan nähdä tehokkuutta lisäävänä tekijänä. Tämä kuitenkin osoittautuu projektin alkupuolella tosiasiassa projektia hidastavaksi tekijäksi, koska ehdotuksia toiminnallisuuksista tulee useampia ja asioista voi olla vaikeampi päästä yhteisymmärrykseen. Projektin myöhemmissä vaiheissa, kun projektin on edennyt beeta-testaukseen, on suurempi kehitystiimi tehokkaampi. Projektin edetessä ryhmän koon merkitys omakohtaiseen arvioon vähenee, ja saavutettujen tulosten merkitys kasvaa. Saavutetut tulokset on suurin subjektiiviseen ja objektiiviseen tehokkuuteen vaikuttava tekijä beetavaiheen jälkeen. Hyvin edennyt projekti motivoi jäseniä jatkamaan sen parissa. Projektin alkupuolella kehittäjien yhteinen näkemys ja ideologia vaikuttavat positiivisesti omakohtaiseen arvioon. Myöhemmässä vaiheessa niiden merkitys vähenee, kun ryhmän välille kehittyy normit ja toimintatavat, ja tavoitteiden saavuttaminen nousee tärkeämpään asemaan. Tavoitteiden saavuttamiseen yhteinen ideologia vaikutti negatiivisesti. Syyksi voidaan arvella ryhmän huolehtivan sosiaalisista tarpeistaan tehokkuuden kustannuksella tai samaa ideologiaa edustavan ryhmän olevan erikoistunut samoihin asioihin. Luottamuksella ryhmän jäsenten kesken havaittiin olevan hieman suurempi merkitys omakohtaiseen arvioon projektin myöhemmässä vaiheessa kuin alkupuolella. Sen sijaan kognitiivisella luottamuksella (usko ryhmän jäsenten kykyihin ja pätevyyteen) havaittiin olevan suurempi merkitys kehitystiimin kokoon projektin alkuvaiheilla.

9 4 PROJEKTIEN MENESTYSTEKIJÄT Kappaleessa käsitellään perinteisten ja avoimen lähdekoodin projektien menestystekijöitä, niiden mittausta ja vaikutusta avoimen lähdekoodin projektin hallinnointiin. 4.1 Perinteiset mittausmenetelmät Perinteisten ohjelmistojen menestyksen mittaukseen on useita eri tapoja, mutta ne eivät yleensä sovellu avoimien ohjelmistojen menestyksen mittaukseen, joko epäsatunnaisten otoksien tai liian monimutkaisen/mahdottoman tietojen keruun takia. Yleisin näistä malleista on DeLonen ja McLeanin malli (kuvio 1), jossa on kuusi menestystä mittaavaa tekijää: saatavilla olevan tiedon laatu (dokumentointi), ohjelmiston laatu (ISO standardin 9126 mukaan osa-alueet ovat toiminnallisuus, luotettavuus, käytettävyys, tehokkuus, ylläpidettävyys ja siirrettävyys), käyttö, käyttäjätyytyväisyys, vaikutus yksilöön ja yhteisöön. KUVIO 1 DeLonen ja McLeanin malli ohjelmistojen menestyksestä. Nämä kuitenkin antavat hyvää ohjeistusta siihen, mistä menestyksen mittareita avoimen koodin projektien tapauksessa kannattaa lähteä hakemaan. Tämän lisäksi Hackmanin malli, joka keskittyy työryhmien tehokkuuden mittaamiseen, on hyvä lähtökohta avoimen lähdekoodin projektien menestystekijöiden hakuun. Hackmanin malli sisältää mm. ryhmän jatkuvan yhteistyökyvyn ja yksittäisten ryhmänjäsenten henkilökohtaisten tarpeiden tyydyttämisen.

10 4.2 Avoimen lähdekoodin projekteihin sovellettuja mittausmenetelmiä Crowston, Howison ja Annabi (2006) esittää avoimen lähdekoodin projekteille seuraavia menestyksen mittausmääreitä jaotellen ne neljään osaan: ohjelmiston kehitys, laatu, käyttö ja seuraukset. Ensinnäkin ohjelmiston kehitykseen liittyy kehittäjien aktiivisuus. Luonnollisesti mitä enemmän projektin kehittäjät ovat valmiita uhraamaan aikaa projektille (esimerkiksi keskustelemalla käyttäjien kanssa), sitä menestyksekkäämpi se yleensä on. Kehitystiimin koko itsessään on yksi tyypillinen mittari avoimen lähdekoodin projektien menestykselle; menestyvät projektit vetävät puoleensa paljon ihmisiä, joista on apua kehitykselle. Ohjelmoijien tuottavuus on myös yksi kehityksen menestyksen mittareita, sillä vaikka ihmisiä olisi paljon, vaikuttaa ohjelmoijien keskimääräinen koodirivien vuosittainen määrä kehitysnopeuteen. Projektin kehityksen vaihe on myös hyvä huomioida menestystä arvioitaessa, eli onko projekti vielä alfa tai beeta vaiheessa, vai onko siitä jo vakaa julkaisu olemassa. Lisäksi täytyy tarkistella tehtävien suoritusnopeutta, eli miten nopeasti bugit yms. hoidetaan ja vakaiden prosessien kehitystä, eli onko projektilla käytössä prosesseja ja onko niitä dokumentoitu asiallisesti. Ohjelmiston laatuun puolestaan liittyy lähdekoodin modulaarisuus, oikeellisuus, eli virheiden määrä koodirivien suhteen, hallittavuus, ts paketinhallinnan käyttö ja ylläpidettävyys, nimenomaisesti millä todennäköisyydellä koodia muutettaessa syntyy pahoja ketjureaktioita. Lisäksi pitää tarkistella ohjelmiston käyttöä, johon liittyy sen yhteisöissä herättämä mielenkiinto, siitä otettujen kopioiden määrä ja, mikäli se on mitattavissa, ohjelmiston markkinaosuus. Lopuksi pitää tarkistella ohjelmiston seurauksia, eli mitä kehittäjien motivaatiot ovat kysymyksien lukemiseen ja vastaamiseen, sekä työkalujen kehittäminen ja käytön selvittäminen. 4.3 Merkitys projektin hallinnoinnille Edellisen kappaleen kriteerien mukaan Crowstonin, Howisonin ja Allabin (2006) tekemä tutkimus osoittaa, että kaikkien yllä olevat tekijät todella vaikuttaa, ei vain projektin menestykseen, vaan myös toisiinsa, vaikka vaihtelevin määrin. Tosin tutkijoiden itsensä mukaan kohdistui liian suppeaan perusjoukkoon, mutta on kuitenkin suuntaa-antava. Toisin sanoen menestyksekäs projektin hallinta vaatii sen, että projektin jäseniä ohjataan heidän vahvuuksia hyödyntäen eri

11 menestystekijöiden suuntaan, pyrkien saavuttamaan ja sittemmin ylläpitämään positiivinen ketjureaktio. Eritoten vilkkaan julkisen toiminnan, joka houkuttelee aktiivisia jäseniä projektiin, ylläpito on avoimen lähdekoodin projekteille kriittistä.

12 5 JOHTAMINEN Projektinhallinnan yksi keskeinen osa on oikeiden työntekijöiden löytäminen sekä sen varmistaminen, että työntekijät tekevät oikeita asioita ihmisten johtaminen. Avoimeen koodiin perustuvassa ohjelmistokehityksessä asetelma voi useilta osin poiketa merkittävästi perinteisestä. Seuraavassa tarkastellaan vapaaohjelmistokehittäjiä tästä näkökulmasta. 5.1 Vapaaohjelmistohakkerit Sekä Free Software että Open Source -liikkeiden keulakuvat, Richard M. Stallman ja Eric S. Raymond, pitävät itseään ja heitä yleisesti pidetään hakkereina. Lakhanin ym. (2002) mukaan myös vapaaohjelmistokehittäjien enemmistö samaistuu hakkerikulttuuriin; osalla kehittäjistä työskentely liittyy kouluttautumiseen, mutta useilla päällimmäinen motiivi on vapaaohjelmistokehitys eräänlaisena harrastuksena tai elämäntapana. Scacchi (2006) selvittää, että joissain projekteissa on palkattuja työntekijöitä, mutta useimmat työskentelevät vapaaehtoisina eikä useimmilla projekteillakaan ole omistajayritystä tai työnjohtajia. Vapaaohjelmistoprojekteissa työskentely on itseohjautuvaa ja korkeasti verkostoitunutta. Johtaminen voi rakentua monenlaisista toimista, ja Li ym. (2006) ovat huomanneet, että vapaaohjelmistokehittäjien tuottavuuteen erityisesti vaikuttavat ulkoisen motivaation kautta johtohahmojen ennakoiva päätöksenteko ja sisäisen motivaation kautta uudistava johtaminen. Uudistavaan johtamiseen kuuluvat älylliset virikkeet, yksilöiden huomioiminen, esikuvana toimiminen sekä inspirointi. 5.2 Hakkerietiikka Hakkereiden asennoitumisen, hakkerietiikan, on havaittu sisältävän monia erityispiirteitä. Himanen (2001) erottaa siitä hakkereiden rahaetiikan, verkkoetiikan ja työetiikan: hakkerietiikassa työnteko on intohimo ja sen tarkoitus on opettavien ja kiinnostavien haasteiden tarjoaminen. Hakkerietiikkaa kutsutaan myös hakkeriestetiikaksi, muun muassa Vadén (2002). Søren Kierkegaardin filosofisen terminologian mukaisesti. Harvey (1985)

13 kertoo, että tällä ei tarkoiteta kirjaimellisesti kauneuskäsitystä vaan sitä, että hakkerius valitsee tylsästä ja mielenkiintoisesta eikä oikeasta ja väärästä. McDonald (2006) kuvaa Kierkegaardin mallia niin, että ihminen voi keskittyä esteettisiin asioihin vaikka eläisikin eettisesti. 5.3 Yrittäjyys Hakkerien toiminta ja vaikuttimet saattavat vaikuttaa olevan ristiriidassa kaupallisten tavoitteiden kanssa. Kuitenkin modernin liiketaloustieteen luonnehdinta yrittäjyydestä vastaa pitkälti hakkeriutta, esimerkiksi yrittäjämäisessä markkinoinnissa Morris ym. (2002). Tämän yhtenevyyden syvyyttä ja mahdollisia seurauksia ei kuitenkaan ole tietääksemme tutkittu. Edelleen yrittäjämäisessä markkinoinnissa nähdään yrityksen toiminnan kannalta oleelliseksi yrittäjyyden ja markkinoinnin integroiminen niiden ristiriitaisten tavoitteiden yhdistämiseksi. Voidaankin kysyä, olisiko yrittäjyyden ja avoimeen koodin perustuvan ohjelmistokehityksen projektinhallinnan yhdistäminen mahdollista. Rossi ja Bonaccorsi (2005) ovat havainneet, että avointa koodia käyttävissä yrityksissä kehitysyhteisön itseisarvo näyttäisi usein rajoittuvan mielikuvan luomiseen kehittäjien luottamuksen saavuttamiseksi. Kuitenkin tietyssä osassa yrityksistä kehitysyhteisön merkitys ja hakkerikulttuuri ovat tulleet kehittäjä-perustajilta ja säilyneet.

14 6 YHTEENVETO Tulimme tulokseen, että avoimeen lähdekoodiin perustuva kehitys asettaa monenlaisia suljetusta kehityksestä poikkeavia haasteita projektinhallinnalle. Erityisen tärkeä osa-alue avoimen kehityksen hallitsemisessa on ihmisten ja yhteisön hallinta. Tulee ymmärtää mikä motivoi ihmisiä työskentelemään tietyn asian parissa ja hyödyntää sitä projektin eteenpäin viemiseksi. Avoimella kehityksellä on myös kuitenkin selvästi monia vahvuuksia, joita tulisi tutkia enemmän. Tämä voisi myös auttaa perinteisen ohjelmistotekniikan kehittämisessä. Tutkittaessa ei voida soveltaa kaikkia hyväksi havaittuja menetelmiä, mutta toisaalta kehityksen avoimuus antaa uusia mahdollisuuksia tutkimukselle.

15 LÄHDELUETTELO Crowston K., Howiston J., Annabi H., 2006. Information Systems Success in Free and Open Source Software Development: Theory and Measures. Software Process Improvement and Practice; 11: 123-148. Cruz D., Wieland T., Ziegler A., 2006. Evaluation criteria for free/open source software products based on project analysis. Software Process Improvement and Practice; 11: 107-122. Harvey B., 1985. Computer Hacking and Ethics. ACM Select Panel on Hacking. Appendix A: What is a Hacker? Himanen P., 2001. The hacker ethic, and the spirit of the information age. New York : Random House. Lakhani K.R., Wolf B., Bates J., DiBona C, 2002. The Boston Consulting Group Hacker Survey, July 24. http://www.ostg.com/bcg/bcg-0.73/bcghackersurveyv0-73.html. Li Y., Tan C., Teo H., Mattar A.T., 2006. Motivating open source software developers: influence of transformational and transactional leaderships. Proceedings of the 2006 ACM SIGMIS CPR conference on computer personnel research. McDonald W., Søren Kierkegaard, The Stanford Encyclopedia of Philosophy (Summer 2006 Edition), Edward N. Zalta (toim.). http://plato.stanford.edu/ archives/sum2006/entries/kierkegaard/. Morris M.H., Schindehutte M., LaForge R.W., 2002. Entrepreneurial marketing: a construct for integrating emerging entrepreneurship and marketing perspectives. Journal of Marketing Theory and Practice, vol. 10 (4). Paulson J., 2004. An empirical study of open-source and closed source projects. IEEE Transactions on Software Engineering 30(4), 246-256. Rossi C., Bonaccorsi A., 2005. Why profit-oriented companies enter the OS field?: intrinsic vs. extrinsic incentives. In Proceedings of the Fifth Workshop on Open Source Software Engineering. ACM Press, New York, NY. Scacchi W., 2003. When Is Free/Open Source Software Development Faster, Better, and Cheaper than Software Engineering? Working Paper, Institute for Software Research, UC Irvine. Scacchi W., 2006. Understanding Free/Open Source Software Development Processes. Software Process Improvement and Practice; 11: 95-105. Scacchi W., 2007. Free/Open Source Software Development: Recent Research

16 Results and Methods, in M.V. Zelkowitz (ed.), Advances in Computers, 69, 243-269 (to appear). Stewart K., Gosain S., 2006. The moderating role of development stage in free/open source software project performance. Software Process Improvement and Practice; 11: 177-191. Vadén T., 2002. The Hacker Community and Ethics: An Interview with Richard M. Stallman Koodi vapaaksi Hakkerietiikan vaativuus, Tampere University Press. Sivut 62-80.