ESITUTKIMUS Polku Versio 1.0 Projektiryhmä Janne Pihlajaniemi Antti Jämsén Maria Hartikainen Pekka Kallioniemi Jorma Laajamäki Panu Tunttunen Nina Tyni Joonas Jokiniemi 1
Versiohistoria Päiväys Versionumero Tekijät Muutosten syy 22.09.09 0.1 Katso kansi Katselmointi versio 29.09.09 1.0 Katso kansi Katselmoinn issa havaittujen virheiden korjaus Muutokset - Muutamia kieliopillisia- ja asiavirheitä korjattu. 2
Sisällysluettelo 1. Tuoteidea... 4 2. Projektin organisointi ja resurssit... 5 2.1 Projektin organisointi...5 2.2 Projektin resurssit... 6 3. Nykyinen järjestelmä...7 4. Tavoitteet ja vaatimukset... 8 5. Hyödyt... 9 6. Tunnistetut ongelmat ja riskit... 10 7. Aikataulu...11 8. Työkalut ja metodit...12 9. Kannattavuus- ja kustannusarvio...13 10. Ryhmän säännöt...14 3
1. Tuoteidea Projektin tarkoituksena on luoda web-sovellus pitkäaikaisten yhteistyöprosessien ja -projektien seurantaan. Sovelluksella on mahdollisuus tallentaa, muokata ja poistaa tietoa erilaisista tapahtumista, niihin liittyvistä toimijoista sekä näiden välisistä suhteista. Tuotteen ensisijaisena tehtävänä on avustaa projektien seuraamisessa kyseisen projektin aikana. Tuote mahdollistaa myös tapahtumien ja toimijoiden listaamisen ja auttaa näin ollen projekteihin liittyvässä raportoinnissa. 4
2. Projektin organisointi ja resurssit 2.1 Projektin organisointi Projektiryhmä : Projektipäälliköt Janne Pihlajaniemi Antti Jämsén Sovelluskehittäjät Maria Hartikainen Pekka Kallioniemi Jorma Laajamäki Panu Tunttunen Nina Tyni Käytettävyysryhmän edustaja Joonas Jokiniemi Projektin asiakkaat : Helsingin kaupunginosayhdistykset ry, Helka (http://helka.net/) Ilari Kajaste Anna Kanervo Terhi Vilkman Projektiryhmän ja asiakkaan välisenä yhteyshenkilönä toimii projektipäällikkö Antti Jämsén. Yhteydenpito tapahtuu sähköpostin, puhelimen sekä ajoittaisten tapaamisten muodossa. Kaikki projektin dokumentit toimitetaan myös asiakkaalle. Asiakas osallistuu projektiryhmän tapaamisiin Tampereella aina tarvittaessa, muutoin tapaamiset hoitaa Antti Helsingissä. 5
2.2 Projektin resurssit Projektiryhmän jäsenten käytettävissä olevien työtuntien lukumäärä / viikko: Projektiryhmän jäsen Työtunnit / viikko Janne Pihlajaniemi 10 Antti Jämsén 8 Maria Hartikainen 10 Pekka Kallioniemi 10 Jorma Laajamäki 10 Panu Tunttunen 10 Nina Tyni 10 Joonas Jokiniemi 5 Yhteensä 73 Projektin kesto : 5½ kuukautta = 22 viikkoa - viikko 52 (vapaa, Joulu) = yhteensä 21 viikkoa Projektin käytettävissä olevat resurssit : 1533 työtuntia Asiakkaan käytettävissä olevien työtuntien lukumäärä / viikko : 2 työtuntia (tarvittaessa enemmänkin) Asiakkaan käytettävissä olevat resurssit : 42 työtuntia 6
3. Nykyinen järjestelmä Kyseiseen tehtävään ei olemassa mitään nykyistä järjestelmää. Henkilöstö on kirjannut tapahtumat ja toimijat kukin omalla tavallaan satunnaisiin tekstitiedostoihin ym. dokumentteihin, minkä johdosta niiden hallinta ja jakaminen on ollut hyvin työlästä. Yhteinen sovellus kyseiseen tehtävään siis on todella tarpeen. Asiakkaalta kysyttiin, miksei Wikin kaltainen palvelu riitä kyseiseen tehtävään. Syy tähän on, että projekteihin liittyvien tietojen organisointi on moniulotteista ja aikasidonnaista, joten Wiki ei yksinään riittäisi vastaamaan näitä tarpeita. 7
4. Tavoitteet ja vaatimukset Sovelluksen tulee olla mahdollisimman helppokäyttöinen, koska se tulee myös muiden kuin ITasiantuntijoiden käyttöön. Tärkeintä on kuitenkin se, että siitä löytyy tarvittavat ominaisuudet eli se tukee sovelluksen pitkäaikaista käyttöä. Tavoitteena on, että sovelluksella käyttäjä pystyisi syöttämään tapahtumia, toimijoita ja niiden välisiä suhteita tietokantaan. Tapahtumat ovat aikasidonnaisia. Tapahtumiin voi myös liittyä huomautuksia, jotka voivat olla joko aktiivisia (vaativat käyttäjän toimenpiteitä) tai passiivisia. Tapahtumia tulee myös pystyä kokoamaan suuremmiksi kokonaisuuksiksi. Tapahtumat ja toimijat voivat yhtä aikaa kuulua useaankiin laajempaan kokonaisuuteen. Sovelluksen tulee kyetä tekemään listauksia tapahtumista käyttäjän valitsemilta ajanjaksoilta. Listauksia pitää pystyä muodostamaan myös toimijoista. Sovelluksessa tulee olla myös linkitykset eri listauksien välillä eli esim. tapahtumien listauksesta on mahdollista siirtyä tapahtumaan liittyvän toimijan listaukseen. Vaatimuksena on, että järjestelmä toteutetaan PHP-kielellä ja se käyttää tietokantanaan MySQLtietokantaa. Järjestelmn alustana toimii Linux Ubuntu Server. Selaimista sovelluksen tulee toimia ainakin Mozilla Firefoxin, Internet Explorerin ja Operan uusimmilla versioilla. Järjestelmän toivotaan myös käyttävän mahdollisimman vähän levyjärjestelmää, lähinnä ainoastaan konfiguraatiotiedostojen lukemiseen. Käyttäjätunnuksien ylläpitoon ei tarvita erillistä käyttöliittymää. Sovellus tulee Helka:n sisäiseen käyttöön ja sen käyttöoikeuksia ei tarvitse rajata, vaan ne ovat kaikille samat. Käyttäjätunnukset voivat sijaita esim. tekstitiedostossa, jota sovelluksen ylläpitäjä voi muokata. 8
5. Hyödyt Järjestelmä auttaa Helka:a jäsentämään pidempiaikaisen yhteistyön sisältöä. Sen avulla pystytään seuraamaan esim. mitä tapahtumia ja toimijoita siihen on liittynyt. Sovelluksen kehittäminen liittyy osana kansainväliseen EU:n rahoittamaan CADDIES-projektiin, jossa tarkoituksena on visioida asuinalueen tulevaisuutta asukkaiden ja muiden toimijoiden kanssa. CADDIES kestää vuoden 2011 loppuun saakka. Sovelluksen käyttö edesauttaa hiljaisen tiedon keräämisessä kyseisestä projektista ja toimii apuna sen raportoinnissa. CADDIES toimii sovelluksen pilotointina ja sitä on tarkoitus käyttää sen jälkeen myös muissa projekteissa ja mahdollisesti jatkokehittää Helka:n toimesta. Helka:n asiakkaat eli eri kaupunginosayhdistykset saattavat saada sovelluksen myös käyttöönsä. Tällaista asiakas ei ole varsinaisesti suunnitellut, mutta tällainenkin mahdollisuus tuli esitutkimuksen katselmoinnissa ilmi. Projektiryhmää sovelluksen kehittäminen hyödyttää opintopisteiden muodossa, mutta mikä vielä tärkeämpää, ryhmä saa kurssin aikana arvokasta kokemusta projektityöskentelystä. Tästä kokemuksesta on suuresti hyötyä käytännön työelämässä. 9
6. Tunnistetut ongelmat ja riskit Projektiryhmä on alustavasti tunnistanut projektin riskit liittyen teknologioihin, organisaatioon, henkilöihin ja asiakkaisiin. Havaitut riskit on listattu alla olevassa taulukossa. Riskien todennäköisyys- ja vakavuusaste on luokiteltu asteikolla 1-5. 1 = erittäin epätodennäköinen, ei vakava 5 = erittäin todennäköinen, erittäin vakava Kategoria Riski T V Henkilöt Projektiryhmän vähäinen motivaatio 3 4 Henkilöt Ryhmän jäsenet estyvät työskentelemästä hetkellisesti 5 1 Henkilöt Projektiryhmän jäsenen sairastuminen influenssaan 3 4 Henkilöt Projektiryhmän aikataulujen yhteensovittaminen epäonnistuu 3 2 Henkilöt Kurssin keskeyttäminen projektiryhmän jäsenen osalta 2 4 Henkilöt Ryhmän jäsenten vähäinen kokemus valittujen tekniikoiden käytöstä 5 1 Asiakas Asiakkaan edustajan vähäinen mielenkiinto projektia kohtaan 1 5 Asiakas Asiakkaan vaatimusten väärin tulkitseminen 2 4 Asiakas Uusien vaatimusten ilmaantuminen myöhäisessä vaiheessa 3 2 Asiakas Asiakas ei osallitu palavereihin 2 4 Asiakas Vaatimuksien selvittämiseen käytetään liiaksi aikaa 4 3 Asiakas Asiakas ei pysty pitämään sovittuja asioita 3 2 Organisaatio Projektipäälliköiden kokemuksen puute 4 3 Organisaatio Vastuiden jako ryhmän jäsenten kesken on epäoikeudenmukaista 2 4 Organisaatio Työmääräarvioiden epäonnistuminen 3 4 Organisaatio Kommunikointi asiakkaiden kanssa sekä ryhmän sisällä ei toimi 2 5 Teknologia Ennalta tuntemattomiin teknologioihin tutustuminen kestää liian pitkään (asiakas luvannut PHP-koulutusta ryhmälle, jos siihen on tarvetta) 4 3 10
Teknologia Valitut teknologiat eivät sovellu vaatimusten toteuttamiseen 1 5 Teknologia Ohjelmointityökalujen käyttöönotto viivästyy 3 3 7. Aikataulu Projektin aikataulu on jaettu kahteen: Kurssin määräämä aikataulu ja projektiryhmän oma aikataulu. Taulukossa 1 on määritelty kurssin aikataulu ja taulukossa 2 on projektiryhmän viitteellien alustava aikataulu. Tehtävä Päivämäärä Esitutkimuksen valmistuminen 25.09.09 Projektisuunnitelman valmistuminen 09.10.09 Päätösraportin valmistuminen 06.03.10 Kurssi loppuu 06.03.10 Taulukko 1: Kurssin määräämä aikataulu Tehtävä Päivämäärä Käytettäviin teknologioihin tutustuminen Viikko 39 alkaen Toteutuksen aloitus Viikko 46 Yksikkötestauksen aloitus Samaan aikaan toteutuksen kanssa Järjestelmätestauksen aloitus Viikolla 1 Toteutuksen jäädytys Viikolla 6 Taulukko 2: Alustava projektiaikataulu 11
8. Työkalut ja metodit Projektin ohjelmistokehitysmallina toimii SCRUMin kaltainen ketterä ohjelmistokehitysmalli. Käytössä on 3 viikon mittaiset sprintit, jotka sisältävät ryhmätapaamisen kasvotusten kerran viikossa. Nopeaan ongelman ratkaisuun käytetään irc-kanavaa, sähköpostilistaa ja tarvittaessa myös puhelinta. Projekti toteutetaan LAMP-ympäristöön; Linux, Apache, MySQL ja PHP. Lähdekoodin versiohallintaan käytetään tietojenkäsittelytieteiden laitoksen tarjoamaa Subversionversionhallintajärjestelmää. Projektissa mahdollisesti käytettäviä työkaluja ovat: PHP: http://php.net/ MySQL: http://mysql.com/ Apache: http://httpd.apache.org/ Eclipse: http://www.eclipse.org/ Tortoise SVN: http://tortoisesvn.tigris.org/ Robot Framework: http://robotframework.org/ Projektin tukitoimintojen työkaluina käytetään: Google Groups: yleinen kommunikointi sähköpostilistan kautta Google Spreadsheets: viikoittaisten työtuntien raportointi GoogleWiki: projektin kotisivut ja dokumenttien jakaminen ryhmän ulkopuolisille On-line kommunikointi IRC:in välityksellä. OpenOffice: dokumenttien kirjoittaminen ja koostaminen. Kaikissa ohjelmistoissa projektiryhmä suosii viimeisintä julkaistua versiota. 9. Kannattavuus- ja kustannusarvio Projektiin on arvioitu käytettävän kaikenkaikkiaan noin 1500 työtuntia. Jos projektiryhmän jäsenten tuntipalkka on 30euroa, muodostuu projektin kokonaispalkkakustannuksiksi 45 000euroa. 12
Projektiin liittyvät matkakustannukset koostuvat pääsääntöisesti toisen projektipäällikön matkakuluista Tampereen ja Helsingin välillä. Matkat kuljetaan junalla ja arvioitu lippukustannus koko projektin aikana on 1364euroa. Matkakuluihin lasketaan myös Helsingin paikallisliikenteen lippukustannuksia 53euroa. Matkapäivärahakustannuksia projektin aikana tulee arviolta 840euroa. Projektiin liittyviä kustannuksia puheluista ja tekstiviesteistä tulee projektin aikana arviolta noin 40euroa per projektiryhmän jäsen, eli yhteensä 320euroa. Projektin kokonaiskustannukset ovat 50577euroa. Projektin kokonaishinta 35% voittomarginaalilla asiakkaalle on 68279euroa. Todellisuudessa projekti on asiakkaalle kuitenkin erittäin edullinen, sillä yllä lasketut kustannukset ovat vain viitteellisiä. Koska kyseessä on yliopiston projektityökussi, eivät projektiin osallistuvat opiskelijat saa työstään rahallista korvausta. Projektista asiakkaalle todellisia aiheutuvia kustannuksia ovatkin lähinnä asiakkaan omat matkakulut projektipalavereihin Tampereelle. Tarpeetonta matkustamista vältetään ja viikkotapaamisissa pyritään hyödyntämään videoneuvottelutekniikkaa mahdollisuuksien mukaan. Näin ollen, projekti on asiakkaan kannalta erittäin kannattava. 13
10. Ryhmän säännöt Alla on listattu ryhmän yleiset säännöt: 1. Palaverit alkavat tasalta 2. Viikkotunnit raportoidaan sunnuntaina 3. Ilmoitetaan jos ei pääse osallistumaan palavereihin 4. Ongelmista puhutaan avoimesti 5. Ei luvata mahdottomia 14