PROJEKTISUUNNITELMA. Polku http://code.google.com/p/polku-projekti/ Versio 0.1. Projektiryhmä



Samankaltaiset tiedostot
ESITUTKIMUS. Polku Versio 0.1. Projektiryhmä

ESITUTKIMUS. Polku Versio 1.0. Projektiryhmä

PROJEKTISUUNNITELMA. Polku Versio 1.1. Projektiryhmä

LOPPURAPORTTI. Polku Versio 1.0. Projektiryhmä

VAATIMUSMÄÄRITTELY. Polku Versio 1.2. Projektiryhmä

VAATIMUSMÄÄRITTELY. Polku Versio 1.1. Projektiryhmä

Figure 1: Projektipäälliköt Juha-Pekka Honkavaara ja Juha Mattila

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Projektisuunnitelma. Luuppi verkkoportaali. versio 1.2

Projektityö

Reilun Pelin työkalupakki: Kiireen vähentäminen

Esitutkimus. Luuppi, versio 1.0. Petri Ikävalko Panu Tunttunen.

Kieliaineistojen käyttöoikeuksien hallinnan tietojärjestelmä

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU käyttöjärjestelmässä -projekti

LOPPURAPORTTI Paperikonekilta Versio 1.0

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Playoff kokouspöytäkirja 4

Projektisuunnitelma Nero-ryhmä

Hajautettu Ohjelmistokehitys

Siimasta toteutettu keinolihas

TIEA4 Projektityö, 5-10 op.,

Convergence of messaging

Lohtu-projekti. Testaussuunnitelma

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

Tietotekniikan Sovellusprojektit

Internet-pohjainen ryhmätyöympäristö

Orientaatio ICT-alaan. Projekti

AS Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma Syksy 2009 A09 05 OSGi IRC Bot For Coffee Maker

Kuopio Testausraportti Asiakkaat-osakokonaisuus

T Testiraportti - järjestelmätestaus

Projektisuunnitelma. Laitteiston ja kalusteiden hankinta, versio WEB MAGIA OY Laatija Oula Kangas

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

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

Käyttöliittymä ja tuotantokäsikirjoitus. Heini Puuska

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Lego Mindstorms anturit

Kuopio Testausraportti Kalenterimoduulin integraatio

AS Automaatio- ja systeemitekniikan projektityöt

UCOT-Sovellusprojekti. Testausraportti

TYÖOHJEET VR-HYVINKÄÄ

PROJEKTISUUNNITELMA. FotMana17

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen

TIEA4 Projektityö, 5-10 op.,

Ylläpitodokumentti Mooan

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

TOIMINNALLINEN MÄÄRITTELY MS

PS-vaiheen edistymisraportti Kuopio

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

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

KOODAAKO PROJEKTIPÄÄLLIKKÖ?

Projektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

Bitnami WordPress - Asenna WordPress koneellesi. Jari Sarja

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Työkalut ohjelmistokehityksen tukena

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

Projektijohtaminen. Ohjelma Paikka: HAUS kehittämiskeskus, Munkkiniemen koulutustalo, Hollantilaisentie Helsinki

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kansallisen palveluväylän pilotoinnin tukeminen. JulkICTLab-projektihakemus

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi?

Käyttöoppaasi. F-SECURE MOBILE SECURITY 6 FOR ANDROID

AS Automaatio- ja systeemitekniikan projektityöt - Projektisuunnitelma

Arvioinnista kehittämiseen

Toteutusvaihe T2 Edistymisraportti

KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ

KEHITYSVAIHEEN PROJEKTISUUNNITELMA OSA 2 Keskusta-Lentävänniemi

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Tik Ohjelmistotuoteliiketoiminta

Kuntasektorin yhteineset viitearkkitehtuurit Tiedon- ja asianhallinta Johtamisjärjestelmä

1 Aateliset. 1.1 Johdanto. 1.2 Organisaatio

Jyrki Kullaa ohjaava opettaja. Mika Miettinen puheenjohtaja

Uudelleenkäytön jako kahteen

Projektisuunnitelma Viulu

SEPA päiväkirja. Dokumentti: SEPA_diary_EM_PV.doc Päiväys: Projekti : AgileElephant Versio: V0.9

Testaussuunnitelma Labra

OTM-HANKE. Opintohallinnon tietojärjestelmän modernisointi - tilannekatsaus

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Vuoro Sähköisen työaikaraportin käyttöohje

Projektisopimus. 1. Sopimuksen osapuolet. 2. Määrittelyt. 2.1 Johtoryhmä. 2.2 Suunnitteludokumentit

Projektisuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

Aika Vaihe Lopputulos

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

TIEDONKULKU. PROJEKTITYÖ Tik Wclique

Data Sailors - COTOOL dokumentaatio Riskiloki

Oy Karltek Ltd internet-sivujen uusiminen. Eveliina Aaltonen

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

A4.1 Projektityö, 5 ov.

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Sosiaalihuollon valtakunnallisten tjpalveluiden. I-vaihe

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Onnistunut Vaatimuspohjainen Testaus

Transkriptio:

PROJEKTISUUNNITELMA Polku http://code.google.com/p/polku-projekti/ Versio 0.1 Projektiryhmä Janne Pihlajaniemi janne.pihlajaniemi@iki.fi Antti Jämsén antti.jamsen@uta.fi Maria Hartikainen maria.hartikainen@uta.fi Pekka Kallioniemi pekka.kallioniemi@uta.fi Jorma Laajamäki jorma.laajamaki@uta.fi Panu Tunttunen panu.tunttunen@m-toy.net Nina Tyni nina.tyni@uta.fi Joonas Jokiniemi joonas.jokiniemi@uta.fi

Versiohistoria Päiväys Versionumero Tekijät Muutosten syy Muutokset 04.10.09 0.1 Koko ryhmä. Raakaversio sisäistä katselmointia varten - 2

1 Sisällysluettelo 1 1 Johdanto...5 1.1 Tarkoitus ja kattavuus...5 1.2 Tuote ja ympäristö...5 1.3 Määritelmät, termit ja lyhenteet...5 1.4 Viitteet...5 1.5 Yleiskatsaus dokumenttiin...6 2 2 Nykyinen järjestelmä...7 2.1 Vanha järjestelmä...7 2.2 Muut vastaavat järjestelmät...7 3 3 Hyödyt ja haitat...8 3.1 Projektin hyödyt...8 3.2 Projektin haitat...8 4 4 Projektin organisointi...9 4.1 Henkilöstö...9 4.2 Sidosryhmät...9 1 Oman organisaation sisällä...9 2 Asiakas...9 4.3 Projektiryhmän koon muuttaminen...9 5 5 Projektin tavoitteet ja päättyminen...11 5.1 Projektiryhmän tavoitteet...11 5.2 Asiakkaan tavoitteet...11 5.3 Projektin tavoitteet...11 5.4 Projektin keskeyttämiskriteerit...11 5.5 Projektin päättämiskriteerit...11 6 6 Projektin ositus ja vaiheistus...12 6.1 Välineet ja menetelmät...12 6.2 Kehitysmalli...12 6.3 Vaiheistus...12 6.4 Työmääräarviot...13 6.5 Toimituspaketti...14 7 7 Seuranta ja ohjaus...15 7.1 Ryhmän sisäinen...15 7.2 Ryhmän ulkopuolinen...15 Asiakas...15 Kurssi...15 8 8 Standardit, direktiivit ja määräykset...16 8.1 Standardit ja suositukset...16 8.2 Luottamuksellisuus...16 8.3 Tekijänoikeudet...16 9 9 Tunnistetut riskit...17 9.1 Henkilöstöriskit...17 9.2 Asiakasriskit...20 9.3 Organisaatioriskit...23 9.4 Teknologiariskit...25 9.5 Tuoteriskit...26 9.6 Riskien seuranta...27 10... 10 Koulutussuunnitelma...28 3

10.1 Projektiryhmän sisäinen...28 10.2 Asiakkaalle tarjottava...28 11... 11 Asennussuunnitelma...29 12... 12 Käyttöönottosuunnitelma...30 13... 13 Kustannukset...31 14... 14 Hylätyt ratkaisuvaihtoehdot ja jatkokehitysajatuksia...32 14.1 Alustaa koskevat hylätyt ratkaisut...32 14.2 Jatkokehitysajatuksia...32 4

1 Johdanto 1.1 Tarkoitus ja kattavuus Dokumentin tarkoituksena on kuvata, mitä projektiryhmä aikoo tehdä käytössään olevilla resursseilla seuraavan noin viiden kuukauden aikana, sekä miten näitä resursseja on käytettävä projektin tavoitteen saavuttamiseksi. Lisäksi, suunnitelma pyrkii kuvaamaan projektiin liittyviä riskejä, toteutusvälineitä ja mahdollisuuksia. Suunnitelma toimii myös seurantavälineenä ja vertailukohteena sille, miten hyvin projektin toteutus onnistuu. Projekti toteutetaan osana Tampereen yliopiston tietojenkäsittelytieteiden laitoksen Projektityökurssia. 1.2 Tuote ja ympäristö Projektin tarkoituksena on luoda web-sovellus pitkäaikaisten yhteistyöprosessien ja -projektien seurantaan Helsingin kaupunginosayhdistykset ry:lle. Sovelluksella on mahdollisuus tallentaa, muokata ja poistaa tietoa erilaisista tapahtumista, niihin liittyvistä toimijoista sekä näiden välisistä suhteista. Tuote mahdollistaa tapahtumien ja toimijoiden listaamisen ja auttaa näin ollen projekteihin liittyvässä raportoinnissa. 1.3 Määritelmät, termit ja lyhenteet LAMP - Kokoelma avoimen lähdekoodin ohjelmia, jotka yhdessä muodostavat wwwpalvelimen jonka alla voidaan suorittaa dynaamisia web-sivustoja Apache Avoimeen lähdekoodiin perustuva palvelinohjelma PHP WWW-ohjelmointiin suunniteltu ohjelmointikieli MySQL SQL-tietokannan hallintajärjestelmä. Google code Sivusto projektin dokumenttien ja avoimen lähdekoodin ylläpidolle Eclipse Ohjelmointi- ja kehitysympäristö SVN Subversion-versionhallinta. SCRUM Ketterän ohjelmistokehityksen menetelmä Sprintti Projektin ajallinen osakokonaisuus. Sprintin kesto on noin kolme viikkoa. Käytettävyysryhmä Projektityökurssin osallistujista koottu erillinen ryhmä, joka auttaa muita projektityökurssin ryhmiä käytettävyysasioissa. 1.4 Viitteet PHP: http://php.net/ MySQL: http://mysql.com/ Apache: http://httpd.apache.org/ 5

Eclipse: http://www.eclipse.org/ Tortoise SVN: http://tortoisesvn.tigris.org/ Robot Framework: http://robotframework.org/ Google Code http.//code.google.com SCRUM - http://fi.wikipedia.org/wiki/scrum 1.5 Yleiskatsaus dokumenttiin Luvussa 1 esitellään projektin ympäristö sekä listataan yleisimmät lyhenteet ja yhdenmukaistetut termit. Luvussa 2 kerrotaan projektin tuotetta vastaavista sovelluksista. Luvussa 3 esitellään projektin mahdolliset hyödyt ja haitat. Luvussa 4 kerrotaan projektin henkilöstöstä ja esitellään projektille oleelliset sidosryhmät. Luvussa 5 määritellään projektiryhmän ja asiakkaan tavoitteet ja päättymiskriteerit. Luvussa 6 selvitetään projektissa käytettävät välineet ja menetelmät, kehitysmalli sekä aikataulutus. Luvussa 7 kerrotaan projektin sisäisistä ja ulkoisista yhteydenpitokanavista sekä seurantamenetelmistä. Luvussa 8 listataan projektin kannalta oleellisimmat standardit, määritykset ja määritellään projektin ja siinä syntyvien keksintöjen omistusoikeudet. Luvussa 9 listataan projektissa tunnistetut riskit tietoineen sekä esitellään projektin riskienhallintasuunnitelma projektille. Luvussa 10 kerrotaan projektiryhmän sisäisestä sekä asiakkaalle mahdollisesti myöhemmin tarjottavasta koulutuksesta. Luvussa 11 kuvataan projektissa tuotettavan sovelluksen asennussuunnitelma. Luvussa 12 kuvataan projektissa tuotettavan sovelluksen käyttöönottosuunnitelma. Luvussa 13 arvioidaan projektin kustannuksia sekä projektikurssin että reaalimaailman työprojektin näkökulmasta. Luvussa 14 listataan ja kuvataan hylätyt ratkaisuvaihtoehdot sekä jatkokehitysajatukset. 6

2 Nykyinen järjestelmä 2.1 Vanha järjestelmä Kyseiseen tehtävään ei ole 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ä. Olemassa oleva menetelmä tiedonhallintaan on rajoittunut, joten yhteinen sovellus kyseiseen tehtävään siis on todella tarpeen. 2.2 Muut vastaavat järjestelmät Yleisiä tiedonhallintajärjestelmiä on olemassa useita, mutta asiakkaan vaatimusmäärittelyjen mukaisesti valmista pohjaa pitäisi muokata hyvin paljon. Näimme parhaaksi luoda kokonaan uuden järjestelmän vastaamaan asiakkaan tarpeita. 7

3 Hyödyt ja haitat 3.1 Projektin hyödyt Toteutettavan järjestelmän tarkoituksena on helpottaa ja nopeuttaa projektien seurantaa ja arkistointia, eli sovellus toimii verkostoiden ja niiden tapahtumatietojen hallinnoimisen apuna. Järjestelmään kirjataan ylös verkostoprosessissa suoritettuja tapahtumia, toimijoita ja niiden yhteyksiä sekä huomioita. Huomiot toimivat eräänlaisina muistiinpanoina tapahtumista ja toimijoista, joihin reagoidaan mahdollisimman pian tai joita selataan vasta tarvittaessa. Prosessiseurannan avulla käyttäjät pystyvät paremmin seuraamaan menneitä ja nykyisiä projekteja sekä niiden tapahtumia vähentäen ylimääräistä työtä arkistoitujen asioiden käsittelyssä. 3.2 Projektin haitat Sovelluksen käyttöönotto voi aiheuttaa vaikeuksia uudessa ympäristössä, mutta oletus toteutuksen aikana on, ettei suurempia ongelmia synny käyttöönottovaiheessa. Ohjelmiston käytön mahdollinen koulutus sekä ongelmatilanteet voidaan laskea ajallisiksi ja rahallisiksi haitoiksi. 8

4 Projektin organisointi 4.1 Henkilöstö Projektipäälliköt Janne Pihlajaniemi Vastuualueet: viikkopalaverien vetäminen ja tilanvaraus niitä varten ym. ryhmän tapaaminen Tampereella Antti Jämsén Työryhmä Vastuualueet: tiedottaminen asiakkaalle, asiakastapaamiset Helsingissä, viikkoraportit Maria Hartikainen Nina Tyni Jorma Laajamäki Panu Tunttunen Pekka Kallioniemi Käytettävyysryhmän edustaja Joonas Jokiniemi Tarkempi työnjako ryhmän kesken täsmentyy myöhemmässä vaiheessa. 4.2 Sidosryhmät Tässä kappaleessa listataan projektiin liittyvät sidosryhmät. 1 Oman organisaation sisällä Tampereen yliopisto tarjoaa projektin käyttöön tiloja sekä svn-tietovaraston. Ryhmän jäsenet osallistuvat myös yliopiston tarjoamaan opetukseen. Kurssin puitteissa ryhmän käytettävissä on myös erillinen käytettävyysryhmä. Kurssin luennoitsijana ja vastuuhenkilönä toimii Timo Poranen (timo.t.poranen@uta.fi). 2 Asiakas 3 Projektin asiakas on Helsingin kaupunginosayhdistykset ry (Helka), jonka edustajina toimivat Ilari Kajaste (ilari.kajaste@helka.net), Terhi Vilkman (terhi.vilkman@helka.net) ja Anna Kanervo (anna.kanervo@helka.net). 4.3 Projektiryhmän koon muuttaminen Projektiryhmä on nykyisellään sopivan kokoinen, mutta tarvittaessa projekti pystyttäneen viemään läpi, vaikka joku projektiryhmäläisistä keskeyttäisikin kurssin. Tämä kuitenkin lisäisi 9

työpainetta muilla projektiryhmän jäsenillä ja työnjako täytyisi miettiä tarkkaan uudelleen. Jos kaksi tai useampi projektiryhmäläisistä lopettaisi kesken kaiken, olisi projektin läpivienti jo todellisisessa vaarassa ja silloin tarvittaisiin paljon venymistä muilta ryhmän jäseniltä tai ainakin sovelluksen vaatimusten vähentämistä. Käytettävyystiimi toimii siten joustavasti, että sieltä voi saada lisäresursseja tarvittaessa esim. jonkin vaikean käytettävyysongelman ratkaisemiseen tai joku muu käytettävyysryhmän jäsenistä voi tuurata Joonas Jokiniemeä, jos hän joutuisi jättämään kurssin kesken tai olisi muusta syystä estynyt pitkällä aikavälillä osallistumaan projektiin. Projektipäälliköiden kohdalta olisi erityisen hankalaa, jos Janne Pihlajaniemi joutuisi jättämään kurssin kesken, koska toinen projektipäällikkö Antti Jämsén asuu Helsingissä, eikä täten pääse joka viikko osallistumaan ja vetämään viikkopalavereita. Näillä näkymin ryhmän koko on siis varsin hyvä ja toivottavasti tämä sama miehitys säilyy koko projektin ajan. 10

5 Projektin tavoitteet ja päättyminen 5.1 Projektiryhmän tavoitteet Projektiryhmän tavoitteena on tehdä sovellus, joka vastaa asiakkaan tarpeita. Sovellus on tarkoitus saada valmiiksi kurssin osalta annetussa aikataulussa. Koska kyseessä on pakollinen kurssi, on ryhmän tavoitteena luonnollisesti myös itse kurssin suorittaminen ja opintopisteiden saaminen. Projektiin liittyy myös odotuksia uuden oppimisesta, esimerkiksi ennestään vieraaseen ohjelmointikieleen tutustumisesta ja projekteissa mukana olemisesta. 5.2 Asiakkaan tavoitteet Asiakkaan tavoitteena on saada mahdollisimman helppokäyttöinen järjestelmä pitkäaikaisten yhteistyöprosessien ja -projektien seurantaan. Tärkeää on, että sovelluksessa on kaikki tarvittavat ominaisuudet, ja se tukee pitkäaikaista käyttöä. Tavoitteena on, että sovelluksella käyttäjä pystyy syöttämään tapahtumia, toimijoita ja niiden välisiä suhteita tietokantaan. Tapahtumat ovat aikasidonnaisia, ja niihin 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 useaankin laajempaan kokonaisuuteen. Sovelluksen tulee kyetä tekemään listauksia tapahtumista käyttäjän valitsemilta ajanjaksoilta. Listauksia pitää pystyä muodostamaan myös toimijoista. Eri listauksien välillä tulee olla linkitykset niin, että esimerkiksi tapahtumien listauksesta on mahdollista siirtyä tapahtumaan liittyvän toimijan listaukseen. Näiden siirtymien tulee olla mahdollisimman sujuvia. 5.3 Projektin tavoitteet Projektin tavoitteena on toteuttaa omat ja asiakkaan vaatimukset mahdollisimman hyvin. Projekti on tarkoitus saada käytettävissä olevan ajan ja resurssien puitteissa mahdollisimman onnistuneeseen päätökseen. 5.4 Projektin keskeyttämiskriteerit Projekti voidaan keskeyttää, jos huomataan, että sen valmiiksi saattaminen ei jostain syystä tule onnistumaan, tai sen jatkaminen ei ole enää mahdollista esimerkiksi tarpeeksi monen projektiryhmän jäsenen keskeytettyä kurssin. Myös asiakas voi vetäytyä projektista, mitä ei kuitenkaan pidetä todennäköisenä. 5.5 Projektin päättämiskriteerit Projekti päättyy, kun sovellus on valmis, tai kaikki projektin osapuolet ovat tyytyväisiä lopputulokseen. Projektityökurssin kannalta projektin tulee olla valmis ja päättyä viimeistään 6.3.2010. 11

6 Projektin ositus ja vaiheistus 6.1 Välineet ja menetelmät Projektissa hyödynnetään GoogleWikiä, joka on monipuolinen Wiki-työkalu projektityöskentelyyn. Kotisivu löytyy osoitteesta: http://code.google.com/p/polku-projekti/. Projektin kotisivulta löytyy myös projektin tuottamat dokumentit ja sitä käytetään mm. tiedostojen ja tiedon jakamiseen ryhmäläisten kesken. Tuntilistaukset ylläpidetään Google-dokumenttien taulukkolaskennassa, johon jokainen ryhmäläinen käy joka viikko viimeistään sunnuntaina kirjaamassa edellisviikon tuntinsa. Google Groupsissa on luotu sähköpostilista, jonka avulla tietoa saadaan nopeasti lähetettyä ryhmän kesken. Yhteydenpito projektin aikana tapahtuu pääasiallisesti sähköpostin kautta, mutta projektilla on myös oma IRC-kanava, jota viimeistään ohjelmointivaiheessa on tarkoitus hyödyntää. Asiakas oli jo etukäteen määritellyt tarkkaan ympäristön, jossa sovellusta ajetaan eli projektiryhmällä ei asiassa ollut sen enempää työtä. Palvelin: Linux Ubuntu Server 8.04.3 LTS Web-palvelin: Apache Tietokanta: MySQL 5.0.51a-3ubuntu5.4 Ohjelmointikieli: PHP 5.2.4-2ubuntu5.7, Suhosin-Patch Kehitysympäristönä projektilla toimii tietojenkäsittelytieteiden laitoksen tarjoama virtuaalipalvelin, jossa on palvelinohjelmistona perusasennettu Debian GNU/Linux 5.0. Vaikka palvelin ei olekaan sama kuin asiakkaan käytössä oleva, jolla sovellus tulee pyörimään, niin se on kuitenkin niin lähellä samaa, ettei siitä uskota seuraavan ongelmia. Sovelluksen tulee toimia ainakin Mozilla Firefox-, Internet Explorer- ja mielellään myös Opera- selaimen uusimmassa versiossa (eli vähintään versiossa, joka on tällä hetkellä uusin). 6.2 Kehitysmalli Projektimme kehitysmallina käytetään Scrumia (http://fi.wikipedia.org/wiki/scrum). Käytännön syistä johtuen Scrumia ei kuitenkaan noudateta sillä tarkkuudella kuin yritysmaailmassa, koska päivittäisiin tapaamisiin ei ole mahdollisuutta. Sähköpostia ja IRCkanavaa hyödyntäen kuitenkin pyritään korvaamaan päivittäiset tapaamiset. Projektin vaatimat dokumentit kirjoitetaan mahdollisimman tarkasti koko sovelluksesta, mutta niitä täydennetään koko projektin ajan aina kuhunkin sprinttiin liittyvien asioiden kohdalla. Dokumentoinnissa siis pyritään kattamaan jo ensi alkuun koko sovellus, josta sitten jaetaan suoritettavia tehtäviä jokaiseen sprinttiin. Käytettävyyteen ja käyttöliittymän suunnitteluun liittyvissä sprinteissä, projektiin osallistuu myös ulkopuolisen käytettävyysryhmän edustaja. 6.3 Vaiheistus Projektin aikana dokumentteja kasvatetaan vähitellen. Tästä johtuen valmistumispäivämäärät eivät projektin päättymispäivää lukuun ottamatta ole ehdottomia. 12

Sprintti Sisältö Katselmointiaika Projektin suunnittelu Projektin käynnistäminen Aiheeseen tutustuminen Ideointi Projektisuunnitelma Vaatimusmäärittely ja suunnittelu Ohjelmointityökalujen asentaminen Ohjelmointityökaluihin tutustuminen Käyttöliittymän suunnittelu Tietokannan suunnittelu Käyttöliittymäsuunnitelma Vaatimusmäärittely Ohjelmointi ja testaus Ohjelmointia Testaamista Testaussuunnitelma Ohjelmointi ja testaus Ohjelmointia Testaamista Implementointisuunnitelma Ohjelmointi ja testaus Ohjelmointia Testaamista Testaus ja korjaus Testaaminen (myös käytettävyys) Bugien korjaaminen Dokumentit Käyttöopas Ylläpitosuunnitelma Testausraportti Käytettävyysraportti Projektin päättäminen Tuotteen luovuttaminen asiakkaalle Asiakkaan mahdollinen kouluttaminen Projektin päättäminen 09.10.09 06.11.09 27.11.09 18.12.09 22.01.10 12.02.10 05.03.10 6.4 Työmääräarviot 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 13

Jorma Laajamäki 10 Panu Tunttunen 10 Nina Tyni 10 Joonas Jokiniemi 5 Yhteensä 73 Taulukko 1. Projektin henkilöstöresurssit Projektin kesto : 5½ kuukautta = 22 viikkoa - viikko 52 (vapaa, Joulu) = yhteensä 21 viikkoa Projektin käytettävissä olevat resurssit : n. 1500 työtuntia Asiakkaan käytettävissä olevien työtuntien lukumäärä / viikko : 2 työtuntia (tarvittaessa enemmänkin) Asiakkaan käytettävissä olevat resurssit : n. 40 työtuntia Ajankäyttökategoria Arvioitu osuus (%) Arvioitu tuntimäärä Projektin suunnittelu ja ohjaus 25 375 Vaatimusten määrittely 5 75 Suunnittelu 15 225 Ohjelmointi 25 375 Integrointi ja testaus 10 150 Katselmoinnit 1 15 Korjaus 10 150 Opiskelu 4 60 Muut 5 75 Taulukko 2. Projektin työmäärän jakautuminen eri osa-alueille. 6.5 Toimituspaketti Projektista toimitetaan kurssinkin vaatimusten mukainen projekti-cd, joka sisältää seuraavat asiat: Ohjelmiston Lähdekoodin Asennusohjeet Loppuraportti Loppukertomus 14

7 Seuranta ja ohjaus 7.1 Ryhmän sisäinen Projektiryhmä tapaa pääsääntöisesti perjantaisin kello 14-16. Tapaamispaikka voi vaihdella, mutta yleensä ryhmä kokoontuu jossakin Linnan ryhmätyöhuoneista. Janne Pihlajaniemi vetää tapaamiset ja Antti Jämsén sekä asiakas osallistuvat niihin tarvittaessa. Tapaamisissa pyritään käymään läpi edellisen viikon asiat ja käydään läpi seuraavalla viikolla tehtävät asiat. Muutoin yhteydenpito ryhmän kesken tapahtuu Google Groupsin kautta sähköpostilla, puhelimitse tai IRC-kanavalla. Dokumentit, tiedostot, ohjeet ja linkit jaetaan ryhmän sisällä Polku-projektin wiki-sivuilla. Wiki-sivu toimii siis keskeisenä tiedonjakamisen lähteenä. 7.2 Ryhmän ulkopuolinen Asiakas Antti Jämsén toimii yhdyshenkilönä asiakkaaseen, koska sekä asiakas että Antti toimivat Helsingissä. Kommunikointi asiakkaan kanssa pyritään pitämään tiiviinä läpi projektin. Kommunikointi tapahtuu sähköpostin, puhelimen ja aina tarvittaessa tapaamisten muodossa (Antti voi tavata asiakasta myös Helsingissä Helkan tiloissa). Asiakkaalle toimitetaan myös jokaviikkoinen viikkoraportti. Kurssi Kurssin luennoitsija osallistuu raporttien katselmointeihin. Projektipäälliköt ovat yhteydessä kurssin luennoitsijaan projektin aikana ja raportoivat viikoittain projektin etenemisestä. 15

8 Standardit, direktiivit ja määräykset 8.1 Standardit ja suositukset PHP-ohjelmointiin käyttämämme standardit ovat W3 XHTML 1.0 Strict ja W3 CSS Level 2.1. Tietokannan kanssa käytettävä standardi on SQL-2003, ISO:n määrityksen mukaan ISO/IEC 9075(1-4,9-11,13,14):2003. 8.2 Luottamuksellisuus Projektissa ei käsitellä näillä tiedoin luottamuksellisia tietoja. Jos näitä kuitenkin tulee, käydään projektiryhmän kokouksessa läpi periaatteet luottamuksellisten tietojen käsittelyyn. 8.3 Tekijänoikeudet Kaikki moraaliset tekijänoikeudet jäävät asianomaisten teosten tai vastaavien tekijöille, koska kyseessä on opiskeluprojekti, eikä moraalisia tekijänoikeuksia ole mahdollista siirtää tietokoneohjelmistojen kohdalla kuin työ- toimi- tai virka-suhteessa. Muilta osin tekijänoikeudet luovutetaan julkisen lähdekoodin GNU/GPL-lisenssin alaisuuteen. 16

9 Tunnistetut riskit Tässä kappaleessa on tunnistettu ja listattu projektiin liittyvät riskit. Riskit on jaoteltu viiteen eri kategoriaan: Henkilöstö-, Asiakas-, Organisaatio-, Teknologia- ja Tuoteriskeihin. Jokaiselle riskille on lueteltu seuraavat asiat: Riskin nimi Tärkeysaste Todennäköisyys * Vakavuus Todennäköisyysaste 1-5 1 = erittäin epätodennäköinen 5 = erittäin todennäköinen) Vakavuusaste 1-5 Kuvaus Syy Torjunta 1 = vähäinen vaikutus 5 = katastrofaalinen vaikutus Riskin pitempi kuvaus Riskin aiheuttava syy Kuinka riski pyritään torjumaan projektiryhmän toimesta Toipuminen Kuinka riskin realisoitumisesta pyritään toipumaan Projektin vaihe Tila 9.1 Henkilöstöriskit Projektin vaihe jossa riski on ajankohtainen / toteutumiskerrat Projektiryhmän vähäinen motivaatio Tunniste: H-001 Tärkeysaste: 12 Todennäköisyysaste: 3 Vakavuusaste: 4 Projektin ollessa pakollinen suoritettava kurssi, jonka korvauksena on ainoastaan opintopisteitä, saattaa se laskea joidenkin motivaatiota. 17

Ryhmän motivaatio projektia kohtaan on vähäinen. Ryhmän työmotivaatiota pyritään pitämään yllä projektipäälliköiden osalta johtamalla projektia avoimesti, tasapuolisesti ja neuvotteluhenkisesti. Projektiryhmäläisille annetaan jokaiselle mahdollisuus vaikuttaa omiin tehtäviinsä ja työnjaossa otetaan myös ryhmän jäsenten osaamisalueet huomioon. Myös mahdollisuus uusien tehtävien ja toimien kokeiluun annetaan. Mikäli joku projektiryhmän jäsen toistuvasti laiminlyö hänelle annettuja tehtäviä, neuvotellaan hänen kanssaan tilanteesta ja mahdollisesta tehtävien uudelleenjärjestämisestä. Koko projektin elinkaari Ryhmän jäsenet estyvät työskentelemästä hetkellisesti Tunniste: H-002 Tärkeysaste: 5 Todennäköisyysaste: 5 Vakavuusaste: 1 Ryhmän jäsen tai jäsenet eivät pysty työskentelemään projektin hyväksi hetkellisesti jostain syystä. Ryhmän jäsen tai jäsenet ei pysty työskentelemään projektin hyväksi hetkellisesti jostain syystä. Esimerkiksi, teknisistä syistä, kuten kehityspalvelimen kaatuminen tai henkilökohtaisista syistä kuten matkustaminen tai sairastuminen. Hetkellistä estymistä ei täysin voida torjua, mutta useimmiten kuitenkin jossain määrin ennakoida. Jokatapauksessa, ryhmän jäsenien tulisi ilmoittaa koko projektiryhmälle ollessaan estynyt työskentelemästä tiettyinä aikoina. Mahdollinen tehtävien siirtäminen toiselle ryhmän jäsenelle, tilanteesta riippuen. Koko projektin elinkaari Projektiryhmän jäsenen sairastuminen influenssaan Tunniste: H-003 Tärkeysaste: 12 Todennäköisyysaste: 3 Vakavuusaste: 4 Projektiryhmän jäsen sairastuu influenssaan ja on estynyt työskentelemästä pidempiaikaisesti. 18

Kuluvalle syksylle on ennustettu normaalia vakavampaa kausiinfluenssa-aaltoa. Sairaus saattaa kestää kahdesta kolmeen viikkoa, jolloin projektiryhmän jäsen saattaa olla estynyt työskentelemästä projektissa. Kausittaisten influenssojen torjunta on vaikeaa. Projektin johto suosittelee ryhmän noudattavan terveysviranomaisten ohjeita influenssan torjunnassa. Tehtävien uudelleenjärjestäminen ryhmän jäsenten kesken riskin realisoituessa. Koko projektin elinkaari Projektiryhmän aikataulujen yhteensovittaminen epäonnistuu Tunniste: H-004 Tärkeysaste: 4 Todennäköisyysaste: 2 Vakavuusaste: 2 Kaikki projektiryhmän jäsenet eivät pysty osallistumaan viikkotapaamisiin samanaikaisesti. Ryhmän jäsenillä on muita projektiin liittymättömiä asioita ja tapahtumia, jotka saattavat estää osallistumisen tapaamisiin. Sovitaan kiinteät tapaamisajat, jotka parhaiten sopivat kaikille ryhmän jäsenille. Videoneuvottelutekniikkaa pyritään käyttämään mahdollisuuksien mukaan hyväksi silloin kun joku ryhmän jäsenistä ei pääse paikalle. Jokaisesta viikkopalaverista kirjoitetaan muistio wikiin mihin kirjataan tärkeimmät asiat ja tehtävät seuraavalle viikolle. Koko projektin elinkaari Kurssin keskeyttäminen projektiryhmän jäsenen osalta Tunniste: H-005 Tärkeysaste: 8 Todennäköisyysaste: 2 Vakavuusaste: 4 Joku projektiryhmän jäsenistä keskeyttää kurssin projektin aikana. Tämä saattaa vaarantaa projektin saattamisen päätökseen sen laajuisena kuin alunperin on suunniteltu. Projektiryhmän jäsenen muut projektiin liittymättömät kiireet, 19

motivaation puute tai ennalta-arvaamattomat elämäntilanteet saattavat johtaa kurssin keskeyttämiseen. Odottamattomien elämäntilanteiden torjuminen projektin puitteissa on käytännössä mahdotonta. Projektinjohtajat tekevät parhaansa projektiryhmän motivaation ylläpitämiseksi. Projektin ollessa opiskelijaprojekti, ei ryhmän jäsenen keskeyttäessä lisäresursseja ole saatavilla. Tällöin tulee projektin sisältö tarkistaa. Koko projektin elinkaari Ryhmän jäsenten vähäinen kokemus valittujen tekniikoiden käytöstä Tunniste: H-006 Tärkeysaste: 5 Todennäköisyysaste: 5 Vakavuusaste: 1 Kaikilla ryhmän jäsenillä ei ole entuudestaan kokemusta valittujen tekniikoiden käytöstä. Tämä saattaa hidastaa toteutuksen aloittamista ja ongelmien ratkaisua. Ryhmän jäsenillä ei ole ennalta kokemusta valituista teknologioista. Aloitetaan toteutus mahdollisimman aikaisessa vaiheessa tutustumalla ohjelmointityökaluihin ja tekniikoihin, ohjelmoimalla pieniä kokonaisuuksia. Ryhmä tutustuu saatavilla oleviin oppaisiin valituista tekniikoista ja opiskelee käytännönläheisesti työn ohessa. Ryhmälle voidaan järjestää koulutusta valituista tekniikoista workshop-tyyppisesti, myös asiakkaan avustuksella. Määrittely ja toteutus 9.2 Asiakasriskit Asiakkaan edustajan vähäinen mielenkiinto projektia kohtaan Tunniste: A-001 Tärkeysaste: 5 Todennäköisyysaste: 1 Vakavuusaste: 5 Asiakkaan edustaja ei vastaa projektipäälliköiden yhteydenottoihin. Asiakkaan edustaja ei ole kiinnostunut projektin tilasta. 20

Asiakasta informoidaan projektin tilasta vakituisesti. Projektiryhmä tekee päätöksen projektin viemisestä loppuun projektityökurssin vetäjän kanssa. Koko projektin elinkaari Asiakkaan vaatimusten väärin tulkitseminen Tunniste: A-002 Tärkeysaste: 8 Todennäköisyysaste: 2 Vakavuusaste: 4 Projektiryhmä tulkitsee asiakkaan vaatimuksia eri tavalla kuin asiakas itse. Vaatimuksia ei ole kirjattu ollenkaan tai ne on kirjattu huolimattomasti. Asiakkaan vaatimukset kirjataan mahdollisimman tarkasti ja avoimella keskustelulla varmistetaan että projektiryhmä tulkitsee vaatimukset oikein. Asiakkaan vaatimukset kirjataan huolellisesti ja varmistetaan että projektiryhmä tulkitsee niitä oikein. Koko projektin elinkaari Uusien vaatimusten ilmaantuminen myöhäisessä vaiheessa Tunniste: A-003 Tärkeysaste: 6 Todennäköisyysaste: 3 Vakavuusaste: 2 Asiakas esittää uusia vaatimuksia projektin myöhäisessä vaiheessa. Määrittelyvaiheessa kaikkia oleellisia vaatimuksia ei ole käsitelty. Jokaisen sprintin sisältö päätetään ennen sprintin aloittamista, eikä sisältöä muuteta kesken sprintin. Uudet vaatimukset otetaan mukaan seuraavan sprintin sisältöä suunniteltaessa. Uudet vaatimukset priorisoidaan muiden vaatimusten kanssa ja annetaan asiakkaalle mahdollisuus vaikuttaa sprinttien sisältöön. Toteutus ja testaus 21

Asiakas ei osallistu palavereihin Tunniste: A-004 Tärkeysaste: 8 Todennäköisyysaste: 2 Vakavuusaste: 4 Asiakkaalla ei ole mahdollisuutta osallistua palavereihin. Asiakkaan edustajalla ei ole aikaa tai muista syistä johtuen on estynyt osallistumasta palavereihin. Asiakkaasta riippuvia riskejä on projektiryhmän lähes mahdoton torjua. Riskejä ehkäistään pitämällä asiakas hyvin informoituna projektin tilasta. Projektiin liittyvät tapaamiset pyritään järjestämään asiakkaalle sopivaan aikaan. Määrittely Vaatimuksien selvittämiseen käytetään liiaksi aikaa Tunniste: A-005 Tärkeysaste: 8 Todennäköisyysaste: 2 Vakavuusaste: 4 Vaatimuksien selvittämiseen käytetään liikaa aikaa eikä vaatimuksia lyödä lukkoon ajallaan. Vaatimuksia ei saada selville ajoissa. Edetään sprintti kerrallaan, toteutetaan vain olennaisimmat vaatimukset ja pyritään selvittämään ne mahdollisimman hyvin. Rajoitetaan toteutettavien vaatimusten määrää ja keskitytään vain olennaisiin vaatimuksiin. Määrittely Asiakas ei pysty pitämään sovittuja asioita Tunniste: A-006 Tärkeysaste: 4 Todennäköisyysaste: 1 Vakavuusaste: 4 Asiakas ei pysty järjestämään sovittuja asioita. 22

Asiakas ei omasta tai kolmannesta osapuolesta johtuen pysty pitämään sovittuja asioita. Asiakkaasta riippuvia riskejä on projektiryhmän lähes mahdoton torjua. Projektiryhmä yrittää etsiä korvaavia tapoja jatkaa projektin etenemistä. Toteutus 9.3 Organisaatioriskit Projektipäälliköiden kokemuksen puute Tunniste: O-001 Tärkeysaste: 9 Todennäköisyysaste: 3 Vakavuusaste: 3 Projektin johtaminen ei ole sujuvaa. Projektin projektipäälliköt eivät ennalta omaa käytännön kokemusta projektien läpiviemisestä ja valvonnasta. Projektipäälliköt osallistuvat aktiivisesti projektin johtamiseen koko projektin ajan. Ongelmatilanteissa projektipäälliköt kartoittavat yhdessä ratkaisuvaihtoehtoja ja tarvittaessa tiedustelevat projektiryhmän ja/tai muiden sidosryhmien kantaa ratkaisuun. Koko projektin elinkaari Vastuiden jako ryhmän jäsenten kesken on epäoikeudenmukaista Tunniste: O-002 Tärkeysaste: 6 Todennäköisyysaste: 2 Vakavuusaste: 3 Vastuiden jako projektiryhmän jäsenten kesken on tehty epäoikeudenmukaisesti projektipäälliköiden toimesta. Projektipäälliköt jakavat vastuita epäoikeudenmukaisesti projektiryhmän jäsenille. Projektipäälliköiden tulee valvoa vastuiden jakaantumisesta projektiryhmän jäsenten kesken. Projektipäällikön tulee tarvittaessa puuttua asiaan, joko itsenäisesti tai projektiryhmän jäsenen ilmoituksesta ja vastuiden jakaantuminen tarkistaa. 23

Vastuiden jakautumisen tarkistaminen. Koko projektin elinkaari Työmääräarvioiden epäonnistuminen Tunniste: O-003 Tärkeysaste: 9 Todennäköisyysaste: 3 Vakavuusaste: 3 Työmääräarviot eivät vastaa todellisia työmääriä. Käytettyjen tekniikoiden tuntemattomuus ja vähäinen kokemus projektitöiden tekemisestä saattaa aiheuttaa työmääräarvioiden vääristymistä. Työmääräarvioita tehdään sprinttien suunnitteluvaiheessa Sprinttien sisältöä muutetaan tarpeen mukaan niin, että tärkeimmät toiminnallisuudet saadaan toteutettua. Määrittely Kommunikointi asiakkaiden kanssa tai projektiryhmän sisällä ei toimi Tunniste: O-004 Tärkeysaste: 6 Todennäköisyysaste: 2 Vakavuusaste: 3 Kommunikointi projektiryhmän ja asiakkaan välillä tai ryhmän sisällä ei toimi. Asiakkaalle ei välitetä tietoja projektiin olennaisesti liittyvistä asioista tai asiakkaan viestit eivät saavuta projektiryhmää. Projektiryhmän sisäiseen kommunikointiin käytettävät kanavat eivät toimi tai tavoita koko projektiryhmää. Toinen projektipäälliköistä on nimetty hoitamaan yhteydenpitoa asiakkaan kanssa ja välittämään asiakkaalta tulevat viestit koko projektiryhmän tietoon. Projektin sisäiseen kommunikoitiin käytetään useampia kanavia. Viikoittaisissa projektipalavereissa käydään läpi projektiin olennaisesti liittyviä asioita ja ne myös kirjataan palaverimuistioon. Koko projektin elinkaari 24

9.4 Teknologiariskit Ennalta tuntemattomiin teknologioihin tutustuminen kestää liian pitkään Tunniste: T-001 Tärkeysaste: 12 Todennäköisyysaste: 3 Vakavuusaste: 4 Projektissa käytettävät teknologiat ovat projektiryhmälle lähes täysin aiemmin tuntemattomia. Tämä saattaa aiheuttaa aikataulujen venymistä ja kaikkia asiakkaan esittämiä vaatimuksia ei välttämättä ehditä toteuttamaan projektin aikana. Projektissa käytettävät teknologiat eivät ole projektiryhmälle entuudestaan tuttuja. Tutustumalla saatavilla oleviin tekniikoita käsitteleviin oppaisiin ja manuaaleihin. Jo projektin aikaisessa vaiheessa pyritään opettelemaan uusia tekniikoita ohjelmoimalla pieniä toiminnallisuuksia. Sprinttien sisältöä muutetaan tarpeen mukaan niin, että tärkeimmät toiminnallisuudet saadaan toteutettua. Toteutus ja testaus Valitut teknologiat eivät sovellu vaatimusten toteuttamiseen Tunniste: T-002 Tärkeysaste: 5 Todennäköisyysaste: 1 Vakavuusaste: 5 Vaatimukset ovat liian kompleksisia valituilla teknologioilla toteutettaviksi. Toteutukseen valitut teknologiat eivät mahdollista kaikkien määriteltyjen toiminnallisuuksien toteuttamista. Vaatimusmäärittelyn aikana pyritään arvioimaan valittujen teknologioiden sopivuutta vaatimusten toteuttamiseen. Vaatimuksien muokkaaminen teknologioiden rajoitusten mukaan. Määrittely ja toteutus Ohjelmointityökalujen käyttöönotto viivästyy Tunniste: T-003 Tärkeysaste: 9 25