Projektisuunnitelma Luuppi verkkoportaali versio 1.2 Petri Ikävalko Panu Tunttunen Eero Jaakonaho Mikko Kuivanen Kari Jussila Julius Torkkeli Johannes Lampela
Luuppi Projektisuunnitelma 2 / 19 Versiohistoria Päiväys Versio Muutokset Muutoksien syyt Tekijät 11.2.2011 1.2 Tarkennuksia, korjauksia ja lisäyksiä 5.10.2010 1.1 - Dokumentin koostaminen - Useita korjauksia, muutoksia ja sisällön lisäyksiä Huom: - Dokumentista puuttuu edelleen lukujen 14 ja 15 sisältö - Vaatii vielä täydellisen oikoluvun - Sisältöä pitää tuottaa enemmän -> tarkentaa sisältöä? Puutteellisia kappaleita ja virheitä Keskeneräinen dokumentti Panu Tunttunen Petri Ikävalko, Panu Tunttunen 3.10.2010 1.0 Ensimmäinen versio - Työryhmä
Luuppi Projektisuunnitelma 3 / 19 Sisällysluettelo Versiohistoria... 2 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... 6 1.5 Yleiskatsaus... 6 2 Nykyinen järjestelmä... 7 2.1 Vanha järjestelmä... 7 2.2 Muut vastaavat järjestelmät... 7 3 Hyödyt ja haitat... 7 3.1 Projektin hyödyt... 7 3.2 Projektin haitat... 7 4 Projektin organisointi... 8 4.1 Henkilöstö... 8 4.2 Sidosryhmät... 8 4.2.1 Asiantuntijat... 8 4.2.2 Asiakas... 8 4.3 Projektiryhmän koon muuttaminen... 8 5 Projektin tavoitteet ja päättyminen... 9 5.1 Projektiryhmän tavoitteet... 9 5.2 Asiakkaan tavoitteet... 9 5.3 Projektin tavoitteet... 10 5.4 Projektin keskeyttämiskriteerit... 10 5.5 Projektin päättymiskriteerit... 10 6 Projektin ositus ja vaiheistus... 11 6.1 Välineet ja ympäristö... 11 6.1.1 Selaimet... 11 6.1.2 Järjestelmä... 11 6.1.3 Versionhallinta... 11 6.1.4 Dokumentointi... 11 6.2 Vaiheistus ja menetelmät... 11 6.3 Työmääräarviot... 13
Luuppi Projektisuunnitelma 4 / 19 6.4 Lopullinen tuote... 13 7 Seuranta, ohjaus ja tiedottaminen... 14 7.1 Ryhmän sisäinen... 14 7.2 Ulkopuolinen... 14 7.2.1 Asiakas... 14 7.2.2 Kurssi... 14 8 Standardit, direktiivit ja määräykset... 14 8.1 Standardit ja suositukset... 14 8.2 Toimituspaketti ja takuu... 15 8.3 Luottamuksellisuus... 15 8.4 Tekijänoikeudet, käyttöoikeudet ja lisenssit... 15 10 Riskienhallintasuunnitelma... 15 10.1 Selite merkinnöistä... 15 10.1.1 Todennäköisyysaste... 15 10.1.2 Vakavuusaste... 15 10.2 Riskiluettelo... 15 10.3 Riskien seuranta... 18 11 Koulutussuunnitelma... 18 11.1 Projektiryhmän sisäinen koulutus... 18 11.2 Asiakkaalle tarjottava koulutus... 18 12 Asennussuunnitelma... 18 13 Käyttöönottosuunnitelma... 19 14 Projektin kustannukset... 19 15 Hylätyt ratkaisuvaihdoehdot ja jatkokehitysajatuksia... 19 15.1 Hylätyt ratkaisuvaihtoehdot... 19 15.2 Jatkokehitysajatuksia... 19
Luuppi Projektisuunnitelma 5 / 19 1 Johdanto 1.1 Tarkoitus ja kattavuus Tämä projektisuunnitelma on toteutettu Tampereen yliopiston projektityökurssin Luuppi projektille. Tässä dokumentissa on kuvattu projektin tarkoitus ja sisältö. Lisäksi dokumentissa kuvataan projektin aikataulu, riskienhallinta ja henkilöstöresurssit. Dokumentti on tarkoitettu yleiseksi ohjeeksi projektin toteuttajille, sekä asiakkaalle ja antaa yleiskuvan mitä pitää tehdä ja koska. Dokumentti päivittyy tarpeen mukaan projektin edetessä, jotta se vastaa todellisuutta ja on ajan tasalla. 1.2 Tuote ja ympäristö Projektin tuote on Tampereen yliopiston matematiikan, tilastotieteen ja tietojenkäsittelytieteiden opiskelijoiden ainejärjestö Luuppi Ry:lle tehtävät uudet kotisivut. Käyttäjinä tulevat olemaan Luupin jäsenet, muut opiskelijat, sekä kaikki Luupin toiminnasta kiinnostuneet tahot. Sivustojen ylläpitoa varten tarvitaan asiakkaalta web-palvelin. Palvelimella tulee olla PHP -tuki, sekä MySQL -tietokanta. Loppukäyttäjä ei tarvitse sivujen käyttöön, kuin jonkin tunnetun www - selaimen. 1.3 Määritelmät, termit ja lyhenteet PHP (Hypertext Preprocessor) Palvelimella suoritettava ohjelmointikieli, joka mahdollistaa verkkosivustojen dynaamisen toiminnan. MySQL Relaatiotietokanta verkkosovelluksiin. XHTML (Extensible Hypertext Markup Language) Staattisten verkkosivustojen toteutukseen tarkoitettu kuvauskieli. CSS (Cascading Style Sheets) Verkkosivustoiden tyylimäärittelyihin käytetty kuvauskieli. PDF (Portable Document Format) Adoben tiedostomuoto laitteistoriippumattomaan dokumenttien kuvaukseen Ohjelmistokehys (Framework) Tietyn ohjelmistokielen kehys, joka tarjoaa valmiin pohjan toteuttamisen helpottamiseksi. Sisältää valmiita toimintoja, luokkia, malleja ja kirjastoja nopeuttamaan ja vähentämään ylimääräistä kehitystyötä.
Luuppi Projektisuunnitelma 6 / 19 Subversion (SVN) Versionhallintatyökalu, jonka avulla ryhmän eri ohjelmistokehittäjät työskentelevät synkronoidusti samojen tiedostojen parissa ilman, että versioristiriitoja pääsee tapahtumaan lokalisoidusta kehityksestä poiketen. Digitaalinen maksupalvelu (DMP) Projektissa käytetään Luottokunnan toteuttamaa Digitaalista maksupalvelua joka mahdollistaa verkkokaupan maksujen hallinnan. Tätä ratkaisua tarvitaan mahdollistamaan Luuppi Ry:n jäsenmaksujen ja haalarien oston maksaminen. Palvelu liitetään osaksi verkkokauppaa tai tilausjärjestelmää HTML-lomakkeen tai XML-rajapinnan kautta. 1.4 Viitteet Projektin sivusto: http://code.google.com/p/luuppi/ Käytetyn PHP-ohjelmistokehyksen kotisivut: http://www.codeigniter.com/ Kurssin kotisivut: https://projectwiki.cs.uta.fi/wiki/main_page Scrum -ohjelmistokehitysmalli: http://en.wikipedia.org/wiki/scrum_(development) 1.5 Yleiskatsaus 1. Johdanto Kertoo dokumentista ja projektista yleisesti 2. Nykyinen järjestelmä Nykyisen järjestelemän kuvausta 3. Hyödyt ja haitat Projektin tuomat edut ja mahdolliset haittapuolet 4. Projektin organisointi Kertoo projektin organisoinnista tarkemmin 5. Projektin tavoitteet ja päättyminen Projektin tavoitteiden ja läpiviennin kuvaus 6. Projektin ositus ja vaiheistus Projektin jako osakokonaisuuksiinsa 7. Seuranta, ohjaus ja tiedottaminen Työkaluja projektin läpivientiin 8. Standardit, direktiivit, määräykset Toteutusta ohjaavat määritelmät 9. Riskienhallintasuunnitelma Kuinka selvitä mahdollisista ongelmista 10. Koulutussuunnitelma Projektiin liittyvä koulutus 11. Asennussuunnitelma Tuotteen lopullinen siirto asiakkaalle 12. Käyttöönottosuunnitelma Miten asiakas saa tuotteen käyttöönsä 13. Kustannukset Projektin kokonaiskustannukset 14. Hylätyt ratkaisuvaihtoehdot ja jatkokehitysajatuksia Esille tulleita toteutus- ja kehittämisratkaisuja 15. Projektin tehokkuus ja onnistuminen - Arvio projektista kokonaisuutena
Luuppi Projektisuunnitelma 7 / 19 2 Nykyinen järjestelmä 2.1 Vanha järjestelmä Asiakkaalla on käytössään sivusto, joka pohjautuu CMS järjestelmään. Sivustolle on lisätty toiminnallisuutta erilaisten moduulien avulla, joiden integroinnissa ja/tai kehittämisessä ei ole käytetty teknisesti kannattavaa ohjelmistokoodia. Sivuston eri toiminnot ovat räätälöity vain ja ainoastaan tiettyä tarkoitusta varten, jonka tuloksena koodin uudelleenkäytettävyys ja jälleenkehitys mahdollisuudet ovat olemattomia. 2.2 Muut vastaavat järjestelmät Vastaavia CMS järjestelmiä on käytössä monilla ainejärjestöillä. Käytännössä kaikki järjestelmät ovat räätälöity kunkin ainejärjestön tarpeiden mukaan. Valmista järjestelmää, mitä voitaisiin ajatella käytettäväksi tässä projektissa, ei ole löytynyt. Asiakkaan toimeksiannossa antamien vaatimusten pohjalta ei ollutkaan todennäköistä, että valmista järjestelmää olisi löytynyt. 3 Hyödyt ja haitat 3.1 Projektin hyödyt Luuppi ry saa uuden nettisivuston, jonka avulla se pystyy hallitsemaan käyttäjätunnuksia, tapahtumia, liittymismaksujen ja haalareiden maksujen hoitamista sähköisesti, sekä henkilöiden hakurekisteri. Mahdollisia muita toimintoja myös kuinka paljon projektin edetessä ehditä hoitamaan. Hyötyinä mainittakoon myös, että projektiin osallistuvat saavat kokemusta, sekä opintopisteitä. 3.2 Projektin haitat Haittojen määrä on hyvin minimaalinen, mutta näistä mainittakoon, että projektissa ei välttämättä ehditä suorittaa kaikkia asiakkaan mainitsemia alemman prioriteetin toimintoja, vaikkakin projektissa pyritään myös kaikki nämä toteuttamaan.
Luuppi Projektisuunnitelma 8 / 19 4 Projektin organisointi 4.1 Henkilöstö Projektiryhmä koostuu kahdesta projektipäälliköstä, viidestä projektityöntekijästä sekä käytettävyysryhmän kautta osa-aikaisena toimivasta käytettävyysasiantuntijasta. Kaikki projektin henkilöt ovat Tampereen yliopiston opiskelijoita. Projektipäälliköt suorittavat ohjelmistoprojektin johtaminen -kurssia. Työtekijät ovat projektityö -kurssilla olevia opiskelijoita. Projektipäälliköt: Petri Ikävalko Panu Tunttunen Projektityöntekijät: Eero Jaakonaho o o käyttöliittymätoteutus ohjelmointi Mikko Kuivanen o o tietokanta ohjelmointi Johannes Lampela o ohjelmointi Kari Jussila o ohjelmointi Julius Torkkeli o ohjelmointi Käytettävyysasiantuntija: Saila Oldén 4.2 Sidosryhmät 4.2.1 Asiantuntijat Projektissa toimii käytettävyysasiantuntija kurssille osallistuvana opiskelijana. Lisäksi käytettävissä on graafikko asiakkaan puolelta. 4.2.2 Asiakas Projektin asiakas on Luuppi ry, jonka yhteyshenkilönä toimii Tuomas Tauriala. Asiakas tulee ylläpitämään ja edelleen kehittämään valmista tuotetta kokonaisuudessaan. 4.3 Projektiryhmän koon muuttaminen Ryhmän koon muuttuminen voi aiheutua ryhmän jäsenen eroamisesta, jos jäsen esimerkiksi päättää jättää kurssin kesken. Ryhmän jäsen voidaan myös erottaa ryhmästä, mikäli projektin johto katsoo sen aiheelliseksi toistuvien tehtävien laiminlyöntien tai rikkomusten takia.
Luuppi Projektisuunnitelma 9 / 19 Projektiryhmän koon muuttuessa projekti pyritään viemään suunnitellusti läpi. Tällöin ryhmän keskinäistä työnjakoa on sovitettava uuteen ryhmäkokoon sopivaksi. Työnjako on tehtävä niin, ettei yksittäisen ryhmän jäsenen työrasitus kasva kohtuuttoman suureksi. Tarvittaessa projektin toteutustapa mahdollistaa toteutettavien komponenttien määrän pienentämisen. Tätä vaihtoehtoa voidaan harkita, mikäli projektin läpivieminen täysimittaisena ei ole uudella ryhmäkoolla mahdollista. 5 Projektin tavoitteet ja päättyminen 5.1 Projektiryhmän tavoitteet Projektiryhmän tavoitteena on saada Luuppi -ainejärjestölle toimivat ja tarkoituksen mukaiset kotisivut. Tarkoitus on uudistaa vanhat sivut tarjoamalla käytettävämmät ja kattavammat sivut, joita on mahdollista käyttää myös mobiililaitteilla. Projektiryhmä pyrkii tuottamaan sivustoa asiakkaan ehdoilla. Projektiryhmän jäsenillä on aikaa projektiin 5h-20h viikossa. Ensisijaiset: Tutustua projektiluonteiseen työskentelyyn Oppia lisää teknisiä taitoja tekemällä (PHP, Ajax, jquery jne.) Suoriutua kurssista kurssiajan puitteissa Tehdä asiakkaalle kattavat sivut, joilla on vanhoja sivuja parempi käytettävyys Luoda sivustolle lisää toimintoja ja hyödyntää dynaamisuutta Toissijaiset: Toteuttaa erilaisia ominaisuuksia itse, kuten kalenteri Integroida esim. Facebook -toimintoja sivustolle 5.2 Asiakkaan tavoitteet Ensisijaiset: Suunnitella sivustolle ulkoasu, joka on graafisesti selkeä ja käytettävä Tehdä staattisia sivuja, jotka ovat helppoja päivittää Jäsenrekisteri ja käyttäjätunnustenhallinta Toteuttaa käyttäjille haku jäsenrekisteristä Toteuttaa mahdollisuus käyttää jäsenrekisteriä tapahtumiin ilmoittautuessa Sivustolle mahdollisuus liittyä Luuppiin ja maksaa liittymismaksu Jäsenrekisterin jäsenistä tilastotietoa sivustolle Tapahtumien toteutus kalenterimuodossa ja monipäiväisten tapahtumien selkeyttäminen Mahdollisuus saada tapahtumat ical -muodossa esim. Omaan kalenteriin Sponsoreiden näkyvyys joka sivuille Toissijaiset: Uutiset RSS -muodossa ulos Kuva-arkisto, joille käyttäjät voivat ladata (ja poistaa) kuviaan
Luuppi Projektisuunnitelma 10 / 19 Tenttiarkisto, jossa hakutoiminto ja upload -toiminto jäsenille Haalarien tilaus- ja maksu-mahdollisuus jäsenille Liikunta-sivujen korvaus staattisilla sivuilla Staattisille sivuille WYSIWYG -editori Toimivuus mobiililaitteilla Dokumentaation selkeys, jotta projektia on helppo kehittää eteenpäin Integroiminen Facebook -palveluun Ajaxin käyttöä mm. kalenterissa 5.3 Projektin tavoitteet Ensisijaiset: Toteuttaa vaatimusmäärittelyn mukainen lopputuote Luuppi ry:lle Hankkia kokemusta projektityöskentelystä Toimia tiiviisti ryhmässä kaikissa projektin osa-alueissa Toissijaiset: Suoriutua projektista aikataulun mukaisesti Pitää huolta, että jokainen panostaa tasapuolisesti projektiin ja ottaa vastuun tekemisistään 5.4 Projektin keskeyttämiskriteerit Projektin keskeyttäminen ei ole todennäköistä, sillä asiakas on yliopiston ainejärjestö, jolla ei ole varsinaista taloudellista intressiä. Suurin keskeyttämiskriteeri lienee työntekijöiden (opiskelijoiden) projektin keskeyttäminen tai projektin venyminen liian pitkäksi. Projektiryhmä on kuitenkin varsin suuri (6hlö + projektipäälliköt), ja asiakkaan vaatimukset voivat olosuhteiden pakosta joustaa, jos esimerkiksi 1-2 opiskelijaa keskeyttää projektissa työskentelyn, on silti mahdollista saada käyttökelpoinen tuote asiakkaalle. 5.5 Projektin päättymiskriteerit Projektin tärkeimmät päättymiskriteerit on asiakkaan tyytyväisyys tuotteeseen ja kurssin aika. Kaikkia asiakkaan esittämiä ominaisuuksia ei välttämättä pystytä kurssin aikana toteuttamaan, joten tärkeää projektin päättämisessä on myös hyvä dokumentointi. Selkeän dokumentoinnin avulla sivuston mahdollinen jatkaminen ja ominaisuuksien lisääminen helpottuu. Projektin päättymisestä päättävät projektipäälliköt ja asiakas.
Luuppi Projektisuunnitelma 11 / 19 6 Projektin ositus ja vaiheistus 6.1 Välineet ja ympäristö Järjestelmä tullaan toteuttamaan ja testaamaan Luuppi RY:n palvelimella. Järjestelmään tulee selainkäyttöliittymä, jonka tulisi toimia mahdollisimman monella nettiselaimella 6.1.1 Selaimet Mozilla Firefox (versio 2-) Microsoft Internet Explorer (versio 7-) Apple Safari (versio 4-) Google Chrome (versio 9-) Opera (versio 11-) 6.1.2 Järjestelmä Toteuttamiseen käytettävänä kielenä toimii PHP versio 5.x.x Kehitysympäristönä toimii NetBeans versio 6.x Tietokantana toimii MySQL versio 5.x 6.1.3 Versionhallinta Subversion Yliopisto tarjoaa versionhallinnan palvelimen 6.1.4 Dokumentointi Projektin dokumentointiin käytetään Microsoft Office -tuoteperheen ohjelmistoja, sekä Googledocs työkaluja 6.2 Vaiheistus ja menetelmät Projektissa käytetään SCRUM ohjelmistokehitysmallia. Tarkoituksena on pitää noin kolmen viikon mittaisia sprinttejä. Sprinttiin siis sisältyisi kuusi palaveria (ja tarvittaessa ylimääräinen workshop) ja yksi asiakastapaaminen, joka mahdollisesti tullaan käymään samassa ajankohdassa projektiryhmän palaverin kanssa. Palavereissa on tarkoituksena käsitellä projektissa toteutettuja asioita ja katselmoida retrospektiivisesti jo toteutettuja. Ryhmän on tarkoitus olla itseohjautuva, sekä jäseniään tukeva. Ongelmien ratkaisuja etsitään nopeasti toisten avustuksella, jolloin tyhjäkäynnin määrä minimoituu. Määrittelyvaihe: Esitutkimus, viikolla 38 Vaatimusmäärittely, viikolla 39 Projektisuunnitelma, viikolla 40 Toteutusvaihe:
Luuppi Projektisuunnitelma 12 / 19 Suunniteltu aikataulu on suuntaa antava ja siihen tullaan todennäköisesti tekemään muutoksia toteutettavien asioiden aikataulutuksen suhteen. Sivusto sisältää niin monia ominaisuuksia, että niiden läpikäyminen, suunnittelu, toteutus ja testaus tulevat viemään paljon aikaa projektissa. Viikko Tehtävä 38 - Esitutkimus - Sprint 1 alkaa 39 - Käytettävyyskartoitus - Käyttöliittymän ja arkkitehtuurin suunnittelu aloitetaan - Teknologioihin perehtyminen 40 - Projektisuunnitelman palauttaminen ja katselmointi - Teknologioihin perehtyminen jatkuu - Käyttöliittymän layout arvioitavaksi 41 - Sprint 2 alkaa - Tekninen toteutus alkaa - Framework käyttöön - Prototyypin toteutus - Tietokanta hyvälle mallille - Sivuston eri osioiden kevyttä suunnittelua - Staattisten sivujen editori (max. 2 henkilöä) 42 - Prototyyppi valmis - Prototyypistä käyttöliittymäksi - Jäsenrekisterin suunnittelua ja toteutusta - Versionhallinta jokaiselle haltuun ellei jo ole - Staattisten sivujen editori valmis - Uutishallinnan toteutus (1 henkilö) 43 - Käyttöliittymätestausta - Frameworkin opiskelua (vaatii panostusta!) - Käyttöliittymä valmis 44 - Sprint 3 alkaa - 1. henkilökohtainen raportti - Jäsenrekisterin toteutus jatkuu - Uutistenhallinta valmis Toteuttanut henkilö jatkaa RSS syötteiden toteuttamisella 45 - Tapahtumienhallinnan toteutus alkaa - Käyttöliittymän korjailua ja ehostamista - Framework opeteltu 46 - Jäsenrekisteri valmis - Osioiden suunnittelua ja toteutusta 47 - Sprint 4 alkaa - Jäsenrekisterin mahd. muutoksia ja säätöjä - Tapahtumienhallinnan toteutus jatkuu / valmis - Korjailua ja säätöä 48 - Projektin esittely - Yhden sivun tiivistelmä - Toteutus jatkuu 49 - Katselmointi - Tapahtumien hallinta ja kalenteri valmis ical tuen toteutus - Kokoushallinnan ja haalariverkkokaupan suunnittelu ja toteutus alkaa 50, 51 - Loma 1 - Sprint 5 alkaa - 2. henkilökohtainen raportti - Toteutus jatkuu 2 - Kokoushallinta ja haalariverkkokauppa valmis
Luuppi Projektisuunnitelma 13 / 19 - Kuvagallerian ja tenttiarkiston suunnittelu ja toteutus (saisi alkaa miltei jo aikaisemmin!) 3 - Toteutus jatkuu - Testausta - Korjailua 4 - Sprint 6 alkaa - Kuvagalleria ja tenttiarkisto valmis - Lisäominaisuudet toteutukseen 5, 6 - Lisäominaisuuksien toteutusta - Toimintojen testausta - Korjailua - Käytettävyystarkastelu 7 - Sprint 7 alkaa - Viimeistelyä 8 - Projektin esittely - Kertomus - Loppuraportti - 3. henkilökohtainen raportti - Lopputapaaminen projektin vastuuhenkilön kanssa - Projektin lopputuotteen toimittaminen CD:llä 6.3 Työmääräarviot Työmäärän arvio on tehty sen mukaisesti, kuinka paljon jokainen projektiin osallistuva pystyy antamaan aikaansa projektin eteen. Projektiryhmän jäsen Työtunteja viikossa Petri Ikävalko 8 Panu Tunttunen 12 Eero Jaakonaho 10 Mikko Kuivanen 10 Johannes Lampela 20 Kari Jussila 10 Julius Torkkeli 10 Saila Oldén 5 Yhteensä 85 20 viikon projektissa tämä viikoittainen resursointi tekisi projektin kokonaistuntimääräksi n. 1700. Käytettyjen tuntien määrät tulevat todellisuudessa vaihtelemaan varmasti eri viikkojen välillä. On toivottavaa ja tarpeellista, että projektiin liittyviä tehtäviä hoidetaan ennen määrättyjä aikarajoja, mikäli muut akuutit tehtävät on hoidettu. Toimittaessa näin odottamattomien ongelmien tuomat epätehokkaat työtunnit eivät pilaa kokonaisaikataulua. 6.4 Lopullinen tuote Sivusto rakennetaan asiakkaan tarjoamalle palvelimelle alusta alkaen. Tuotteen varsinainen luovutus asiakkaalle tapahtuu kuitenkin vasta projektin päättyessä. Asiakkaalle toimitetaan kaikki asiakkaan kannalta relevantit dokumentit, sekä mahdollisesti muita dokumentteja. Tuotteeseen ei
Luuppi Projektisuunnitelma 14 / 19 kuulu tuki- tai koulutuspalveluja. Projektin dokumentit löytyvät osoitteesta http://luuppi.googlecode.com 7 Seuranta, ohjaus ja tiedottaminen 7.1 Ryhmän sisäinen Projektiryhmän, pääsääntöisin maanantaisin pidettävä, viikkopalaveri on ryhmän sisäisen seurannan perusta. Palaverissa käydään läpi edellisen viikon tehdyt tehtävät ja alkavan viikon tehtävät sekä kaikki muut ajankohtaiset projektiin liittyvät asiat. Keskiviikkoisin on mahdollisuus järjestää johonkin tiettyyn asiaan liittyviä workshoppeja. Ryhmällä on käytössä myös postituslista (luuppi@googlegroups.com) ja IRC-kanava (#luuppiprojekti @ IRCnet) joita käytetään ryhmän sisäisessä tiedottamisessa ja viestinnässä. 7.2 Ulkopuolinen 7.2.1 Asiakas Asiakkaan kanssa järjestetään yksi palaveri joka sprintin aikana, eli noin kolmen viikon välein. Palaverin tarkoitus on esitellä asiakkaalle mahdollisia prototyyppejä ja saada asiakkaalta palautetta. Palaveri järjestetään mahdollisuuksien mukaan viikkopalaverin yhteydessä. Asiakkaalle toimitetaan myös kaikki projektiryhmän dokumentit kommentoitaviksi. Asiakas osallistuu myös projektin dokumenttien katselmointeihin. Asiakkaalle lähetetään viikoittain raportti projektin etenemisestä. 7.2.2 Kurssi Projektipäälliköt toimittavat projektin viikkoraportin kurssin vastuuhenkilölle joka viikon maanantaina. Viikkoraportti sisältää esimerkiksi tiedot siitä kuinka paljon projektiin on käytetty aikaa, missä vaiheessa projekti on, mahdollisista ongelmista ja siitä mitä projektissa on tarkoitus seuraavalla viikolla tehdä. Kurssin vastuuhenkilö osallistuu projektin katselmointeihin. 8 Standardit, direktiivit ja määräykset 8.1 Standardit ja suositukset W3C XHTML 1.0 Strict W3C CSS 2.1 PHP 5.2.x MySQL 5.x.x JavaScript jquery 1.5
Luuppi Projektisuunnitelma 15 / 19 Ajax 8.2 Toimituspaketti ja takuu Projektin jälkeen toimeksiantaja arvioi tuotetun verkkosovelluksen kelpoisuuden tuotantokäyttöön ja päättää sen käyttöönotosta. Projektiryhmän jäsenet eivät ole enää vastuullisia mikäli verkkosovellus päätetään ottaa käyttöön projektin jälkeen. Jokaisen sprintin loputtua pyritään toimittamaan valmistunut moduuli asiakkaalle mahdollista testausta varten. 8.3 Luottamuksellisuus Projektissa voidaan mahdollisesti käsitellä joitain luottamuksellisia tietoja. Opiskelijoiden tietoja tai muuta, joiden täytyy pysyä ulkopuolisten saavuttamattomissa. 8.4 Tekijänoikeudet, käyttöoikeudet ja lisenssit Kaikki oikeudet projektissa tuotettuun verkkosovellukseen, sen lähdekoodiin ja verkkosovelluksen sisältämään muuhun dataan siirtyvät toimeksiantajalle. Projektissa ei käytetä GPL-, LGPL- tai muuta avointa lisenssiä. 10 Riskienhallintasuunnitelma 10.1 Selite merkinnöistä 10.1.1 Todennäköisyysaste Asteikko määritelty välille 1 5, jolloin 1 tarkoittaa erittäin epätodennäköistä ja 5 erittäin todennäköistä. 10.1.2 Vakavuusaste Asteikko määritelty välille 1 5, jolloin 1 tarkoittaa erittäin vähäistä vaikutusta ja 5 erittäin suurta vaikutusta. 10.2 Riskiluettelo Kategoria Riski Todennäköisyys Vakavuus Asiakkaan vähäinen motivaatio projektia kohtaan Asiakas Projektiryhmän tasainen työpanos projektia kohtaan sekä asiakkaan säännöllinen informoiminen projektista on tärkeää asiakkaan motivaation kannalta. Toipuminen: Jos asiakas ei ole perillä jostakin syystä projektin kulusta, pyritään tilanne selvittämään palaverilla, jossa asiakkaan kanssa keskustellaan projektin tilanteesta ja tulevista vaiheista. 3 5
Luuppi Projektisuunnitelma 16 / 19 Annettujen vaatimusten väärintulkitseminen Asiakas Asiakas Asiakas Projektiryhmä Projektiryhmä Pyritään tuottamaan mahdollisimman selkeitä vaatimusmäärittelyjä ja korjaamaan niitä tarkennusvaatimusten perusteella. Toipuminen: Palavereissa on tarkoituksena käydä läpi menneitä, nykyisiä ja tulevia asioita joka viikko. Jos ilmenee epäselvyyksiä tai huomataan toteutuksessa poikkeavia ratkaisuja, niin asiat pyritään oikaisemaan. Valittujen vaatimusten liiallinen määrä sprintissä Vaatimusten toteutusta tullaan seuraamaan aktiivisesti ja asioita priorisoidaan vaatimusten mukaisesti. Asiakkaan kanssa tullaan neuvottelemaan mahdollisten ongelmatilanteiden sattuessa. Toipuminen: Vaatimusten liiallisuudesta tullaan pitämään palaveri asiakkaan kanssa ja vaatimuksia tullaan todennäköisesti karsimaan. Asiakas ei osallistu palavereihin Palaverit sovitaan asiakkaan kanssa tarpeeksi ajoissa, jotta ajankohta on myös asiakkaalle sopiva. Toipuminen: Jos asiakas ei pääse paikalle, niin tilalle sovitaan uusi palaveri, joka käydään pelkästään esimerkiksi projektipäälliköiden ja asiakkaan kesken. Toinen mahdollisuus on hoitaa palaveriasia sähköpostitse. Uusiin teknologioihin perehtyminen vie liikaa aikaa Työryhmän pitää motivoida toisiaan jatkuvasti tekemällä asioita yhdessä. Ongelmien esiintyessä on kysyttävä apua esimerkiksi projektipäälliköiltä. Toipuminen: Jos ongelmia ilmenee liiaksi, tullaan järjestämään workshoppeja, joissa käydään läpi projektin teknologioita ja perehdytään eri osa-alueisiin yhteisvoimin. Vähäinen motivaatio projektia kohtaan Ryhmän motivaatiota pyritään pitämään yllä vapailla työajankohdilla viikkoa kohti, sekä johtamalla projektia avoimesti ja tasapuolisesti. Toipuminen: Henkilön laiminlyödessä työtehtäviään, asiasta tullaan neuvottelemaan ja myöhemmin määritellään uudelleen työtehtävien aikataulutus hänen osaltaan. Motivaatiota tulisi ylläpitää itse ryhmän kesken kommunikoimalla ja 3 3 3 3 2 3 4 4 4 4
Luuppi Projektisuunnitelma 17 / 19 Projektiryhmä toteuttamalla asioita yhdessä. Aikataulujen yhteensopivuus on huono ryhmän kesken Aikatauluja laatiessa tarkastetaan ryhmäläisten omat aikataulut, etteivät ajankohdat mene päällekkäin. Toipuminen: Aikataulutus tehdään parhaalla mahdollisella sopivuusasteella ryhmän kesken. Jos ongelmia ilmenee usealla henkilöllä ajankohdan suhteen, tullaan ajankohtaa siirtämään. 3 4 Projektiryhmä Joku keskeyttää kurssin 2 5 Projektiryhmä Projektiryhmä Henkilökohtaiset ongelmat tms. vähentävät työpanosta Vähäinen kokemus työskentelytavoista ja teknologioista Käytettävien työkalujen ja teknologioiden toimimattomuus 3 4 3 3 Työkalut Työkalut Organisointi Käytettäviin työkaluihin ja teknologioihin tulee perehtyä hyvin, jolloin ongelmatilanteita voidaan ratkoa suhteellisen tehokkaasti. Toipuminen: Ongelmatilanteissa pyritään ratkomaan ongelmat yhteistyössä tai hankkimalla apua ulkoiselta taholta. Työkalujen käyttöönoton ja niihin perehtymisen viivästyminen Kommunikaatio ryhmän sisällä ei toimi Ryhmän kesken pidetään aktiivisesti kommunikaatiota yllä eri kommunikointitapojen avulla. 2 4 3 4 3 5 Toipuminen: Jos kommunikointi ei toimi, niin palavereita tullaan järjestämään useammin. Organisointi Arvioidut työmäärät ja resurssit epäonnistuvat 3 4 Projektipäälliköiden tehottomuus tai kokemuksen puute Organisointi Organisointi Projektipäälliköt pyrkivät perehtymään tuleviin asioihin yhdessä ja motivoimaan toisiaan tehokkaampaan työskentelyyn. Kokemuksen puute tullaan korvaamaan itseopiskelulla ja perehdytyksellä. Aikataulutus ja muut projektin edistymiselle tärkeät asiat eivät toimi halutulla tavalla 2 3 3 4 Projektiryhmän jäsenillä ei ole ennestään sen suurempaa kokemusta PHP ohjelmointikielestä tai verkkototeutuksesta. Kokemus perustuu lähinnä opistolla käytyihin alkeiskursseihin. Vähäinen
Luuppi Projektisuunnitelma 18 / 19 kokemus yhdistettynä projektiin sisältyvään laajaan vaatimuslistaan voi tuloksena olla pahastikin keskeneräinen sovellus. Tammikuun loppupuolella, kun projekti on lopussa, kaksi ryhmän jäsentä lähtee ulkomaille, joka aiheuttaa tiukkaa aikataulutusta projektin alkupuoliskolle toteutuksen suhteen. Riskinä on siis työresurssien vaje verrattuna jäljellä olevien kehitystehtävien vaatimaan aikaan. Projektin paisuminen asiakkaan toimesta on myös yksi riskeistä, joka tulee projektia hallittaessa pitää hallinnassa oikeilla toimenpiteillä. Asiat tulee siis aikatauluttaa harkiten sekä ongelmia ja vaatimuksia puida palavereissa sekä katselmoinneissa. 10.3 Riskien seuranta Riskien tilannetta seurataan koko projektin ajan ja viikkopalavereissa käydään läpi meneillään olevaan sprinttiin oleellisesti liittyvät riskit. Muut projektiin liittyvät ongelmat ja niiden liittyminen ja mahdollinen vaikutus jo tunnistettuihin riskeihin arvioidaan myös viikoittaisissa tapaamisissa. Riskilistaa päivitetään uusien tunnistettujen riskien ilmaantuessa ja jo tunnistettujen riskien realisoituessa. Palavereissa on myös tarkoituksena keskustella mahdollisista riskeistä ja niiden todennäköisyyden vähentämisestä. 11 Koulutussuunnitelma 11.1 Projektiryhmän sisäinen koulutus Varsinainen koulutus jätetään ryhmän jäsenen vastuulle, eli hänen tulee perehtyä hänelle annettuun tehtävään itsenäisesti. Ryhmän toimiva sisäinen kommunikaatio mahdollistaa tarvittaessa vertaistuen. Ongelmatilanteissa voidaan aina kysyä ratkaisuehdotuksia muilta ryhmän jäseniltä. 11.2 Asiakkaalle tarjottava koulutus Asiakkaalle tarjottava koulutus järjestetään kertaluontoisena opetustilaisuutena. Asiakas tulee perehdyttää sivuston rakenteeseen ja hallintaan, jotta tämä voi projektin jälkeen itse tuottaa ja muokata sivuston sisältöä. Projektin loputtua ylläpitopalveluita ei ole saatavilla. 12 Asennussuunnitelma Sivuston asentaa käyttöön projektiryhmä, joka pyrkii testaamaan sivustoa ennen sen käyttöönottoa, jotta sen toimintavarmuus taataan. Myös tietokantaa testataan mahdollisimman aikaisessa vaiheessa ennen asennusta. Vanha sivusto ja tietokanta otetaan talteen, jolloin sitä voidaan käyttää väliaikaisesti esim. mahdollisissa ongelmatilanteissa.
Luuppi Projektisuunnitelma 19 / 19 13 Käyttöönottosuunnitelma Sivusto otetaan käyttöön asiakkaan toimesta, heidän vaatimustensa mukaan. Uusi tietokanta luodaan uuden sivuston tarpeisiin, joten tietokannan käyttöönotto ennen uuden sivuston valmistumista ei ole tarpeen. 14 Projektin kustannukset Projektiin on arvioitu käytettävän 1700 työtuntia. Palkan ollessa noin 30 euroa per tunti, niin projektin budjetiksi saadaan 51 000 euroa. Arvioidut matkapuhelinkustannukset tulevat olemaan noin 100 euroa. Projektin paikallisen luonteen vuoksi matkakuluja ei arvioitu aiheutuvan laisinkaan. Projektin kokonaishinnaksi saadaan 64 000 euroa kun voittomarginaali on 25 %. Työprojektissa pitäisi ottaa myös huomioon myös muut kiinteät kustannukset kuten tilavuokrat, laitteistokustannukset ja ohjelmistolisenssit, sekä arvioida kilpailija-analyysin perusteella onko hinta-arvio realistinen ja kilpailukykyinen. Pitää myös huomioida, että mikäli projektityötä toteuttaisi kokenut ryhmä, jolla on aikaisempaa kokemusta vastaavista projekteista, selkeä työn kuva ja valmis osaaminen tekniikoista ja käytettävistä ohjelmista, voitaisiin projekti toteuttaa merkittävästi vähäisemmällä työmäärällä ja näin ollen myös halvemmalla. Todellisuudessa projekti on asiakkaalle miltei ilmainen, sillä projekti toteutetaan opiskelijatyönä ilman korvauksia. Ainoat merkittävät kustannukset asiakkaalle syntyvät Luottokunnalta ostetusta digitaalisen maksun palvelusta joka mahdollistaa jäsenmaksun ja haalareiden maksamisen Internetissä. Tämän palvelun hinta on vain joitakin satoja euroja ja koska Luuppi Ry:llä on palvelu ollut käytössään jo aiemmin, voidaan katsoa, että uusia kustannuksia ei käytännössä synny. 15 Hylätyt ratkaisuvaihdoehdot ja jatkokehitysajatuksia 15.1 Hylätyt ratkaisuvaihtoehdot Alustaksi suunniteltiin projektin alussa Joomlaa, jolle järjestelmän olisi voinut toteuttaa. Suunnitelma kuitenkin hylättiin, koska haluttiin käyttää ohjelmistokehystä, joka ei aseta ns. suuria rajoitteita sovelluksen toteuttamiselle. 15.2 Jatkokehitysajatuksia Sovellusta tullaan jatkokehittämään Luuppi ry:n toimesta, joten jatkokehitysajatukset jäävät asiakkaan suunnitelmien varaan. Sovellukseen voidaan suhteellisen helposti toteuttaa erilaisia moduuleita tarpeiden mukaan. Projektin päämääränä oli toteuttaa teknisesti mallikelpoinen alusta, jolle on tehokasta toteuttaa jatkoa.