Esitutkimus Luuppi, versio 1.0. Petri Ikävalko Panu Tunttunen http://luuppi.googlecode.com Versionhallinta ei ole vielä käytössä, koska projekti on vielä varhaisessa vaiheessa
Luuppi Esitutkimus 2 / 10 Sisällysluettelo 1 Tuoteidea... 3 2 Projektin organisointi ja resurssit... 4 2.1 Organisointi... 4 2.2 Resurssit... 4 3 Nykyinen järjestelmä... 5 4 Tavoitteet ja vaatimukset... 5 4.1 Jäsenrekisteri... 5 4.2 Maksujärjestelmä... 5 4.3 Tapahtumien hallinta... 5 4.4 Kokouksien hallinta... 5 4.5 Muita vaatimuksia... 5 5 Hyödyt... 6 6 Tunnetut ongelmat ja riskit... 7 7 Aikataulu... 8 8 Toteutusvälineet ja menetelmät... 9 8.1 Projektin työkalut... 9 8.2 Projektin muut työkalut... 9 9 Projektin kannattavuus... 9 10 Ryhmän pelisäännöt... 10 10.1 Yleisiä sääntöjä... 10 10.2 Suosituksia... 10
Luuppi Esitutkimus 3 / 10 1 Tuoteidea Projektin ideana on uudistaa informaatiotieteiden opiskelijoiden ainejärjestön eli Luuppi ry:n kotisivut. Yhdistys on todennut sivujensa olevansa vanhentuneet niin toteutuksessa käytetyltä tekniikaltaan kuin käytettävyydeltään, eivätkä ne vastaa enää nykyajan vaatimuksia. Sivusto tullaan toteuttamaan kokonaan uudelleen tietylle verkkosovelluskehykselle, joka valitaan myöhemmin. Vaatimuksena on uudistaa mm. graafinen ilme, jäsenrekisteri, tapahtumien hallinta, kalenteri ja ottaa käyttöön verkkomaksujärjestelmä jäsenmaksun sekä haalarien maksamiseen. Toimeksiantajana projektille toimii Luuppi ry ja heidän yhteyshenkilönään Tuomas Tauriala.
Luuppi Esitutkimus 4 / 10 2 Projektin organisointi ja resurssit 2.1 Organisointi Asiakas: Luuppi ry o Tuomas Tauriala Projektipäälliköt: Petri Ikävalko Panu Tunttunen Sovelluskehittäjät: Eero Jaakonaho Mikko Kuivanen Johannes Lampela Kari Jussila Julius Torkkeli Käytettävyysasiantuntija: Saila Oldén Asiakkaan kanssa on alustavasti sovittu, että tapaaminen yhteyshenkilön kanssa on joka toinen viikko projektipalaverin yhteydessä. Tarpeen vaatiessa kommunikoidaan myös sähköpostin välityksellä, jos tapaamisen järjestäminen ei ole mahdollista. 2.2 Resurssit 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
Luuppi Esitutkimus 5 / 10 3 Nykyinen järjestelmä Asiakkaalla on käytössään sivusto, joka pohjautuu CMS-järjestelmään (engl. content management system). Sivustolle on lisätty toiminnallisuutta erilaisten lisä-moduulien avulla, joiden integroinnissa ja/tai kehittämisessä ei ole käytetty teknisesti kannattavaa ohjelmistokoodia. Sivuston eri toiminnot ovat räätälöity toimimaan vain ja ainoastaan palvelemaan tiettyä tarkoitusta, jonka tuloksena koodin uudelleenkäytettävyys ja jälleenkehitys ovat olemattomia. Sivuston palvelin ja tietokanta järjestetään asiakkaan toimesta. Projektin graafiseen suunnitteluun on myös mahdollista saada toteuttaja asiakkaan puolelta. 4 Tavoitteet ja vaatimukset 4.1 Jäsenrekisteri Käyttäjätunnusten hallinta Käytetään ilmoittautuessa tapahtumiin jne. Mahdollisuus liittyä jäseneksi suoraan sivustolta Liittymisen yhteydessä mahdollisuus maksaa liittymismaksu Käyttäjät voivat suorittaa myös hakuja jäsenrekisteristä Rekisterin jäsenistä nähtävissä myös tilastotietoa 4.2 Maksujärjestelmä Luottokunnan tarjoama järjestelmä 4.3 Tapahtumien hallinta Mahdollisuus viedä kalenteri ical-muodossa vaikkapa omaan kalenteriin Kalenterissa olevat monipäiväiset tapahtumat esille loogisesti jollain tapaa Toteutuksen yhteydessä pyydettiin käyttämään esim. AJAX 4.4 Kokouksien hallinta Toiveita toiminnasta o Luodaan kokous, jolle tehdään esityslista o Samaa objektia käyttäen kokoukseen lisätään myöhemmin pöytäkirja esim. pdf tai txt dokumentti, tai plain text 4.5 Muita vaatimuksia Kuvapankki Tenttiarkisto RSS-syöte uutisista Staattisia sivuja
Luuppi Esitutkimus 6 / 10 5 Hyödyt Projektin suurin hyöty on sivuston uudistamisen myötä kehittyvä käytettävyys ja kattavammat ominaisuudet toimintoineen. Sivuston ulkonäkö on myös tärkeä osa käyttökokemusta käytettävyyden rinnalla, joten tarkoituksena on saada suhteellisen minimalistinen graafinen ilme, joka myös toimisi vaivatta myös mobiililaitteistoissa. Minimalistisuudella haettaisiin selkeyttä ja keveyttä sivuston käyttökokemukseen. Tärkeä osa hyödyistä on myös maksujärjestelmän luominen, jolloin yhdistyksen rahavirtaan ei tarvitse jäsenten osalta kajota manuaalisesti, vaan asiat hoituisivat automaattisesti sivuston teknisten ominaisuuksien ansiosta. Tarkoitus on myös vähentää ylimääräistä työpanosta yhdistyksen työntekijöiltä.
Luuppi Esitutkimus 7 / 10 6 Tunnetut ongelmat ja riskit Kategoria Riski Todennäköisyys Vakavuus Asiakas Asiakkaan vähäinen motivaatio projektia kohtaan 1 5 Asiakas Annettujen vaatimusten väärin tulkitseminen 2 2 Asiakas Vaatimusten liiallinen määrä 4 3 Asiakas Asiakas ei osallistu palavereihin 2 3 Projektiryhmä Uusiin teknologioihin perehtyminen vie liikaa aikaa 4 4 Projektiryhmä Vähäinen motivaatio projektia kohtaan 3 4 Projektiryhmä Aikataulujen yhteensopivuus on huono ryhmän kesken 2 4 Projektiryhmä Joku keskeyttää kurssin 2 5 Projektiryhmä Henkilökohtaiset ongelmat tms. vähentävät työpanosta 3 4 Projektiryhmä Työkalut Työkalut Vähäinen kokemus työskentelytavoista ja teknologioista Käytettävien työkalujen ja teknologioiden toimimattomuus Työkalujen käyttöönoton ja niihin perehtymisen viivästyminen 3 3 3 4 3 4 Organisointi Kommunikaatio ryhmän sisällä ei toimi 2 5 Organisointi Arvioidut työmäärät ja resurssit epäonnistuvat 3 4 Organisointi Projektipäälliköiden tehottomuus tai kokemuksen puute 2 3 Organisointi Aikataulutus ja muut projektin edistymiselle tärkeät asiat eivät toimi halutulla tavalla 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 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.
Luuppi Esitutkimus 8 / 10 7 Aikataulu 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 39 Käytettävyyskartoitus, käyttöliittymän ja arkkitehtuurin suunnittelu aloitetaan, teknologioihin perehtyminen 40 Projektisuunnitelman palauttaminen ja esittely, rautalankamalli valmis 41 Ulkoasun prototyypin toteutus, arkkitehtuuri valmis 42 Prototyyppi valmis, jäsenrekisterin suunnittelu ja toteutus alkaa 43 Käyttöliittymätestausta 44 Henkilökohtainen raportti, ulkoasun suunnittelua / valmis 45 Tapahtumienhallinnan ja kalenterin suunnittelu ja toteutus alkaa 46 Jäsenrekisteri valmis 47 48 Projektin esittely ja 1-sivuinen tiivistelmä 49 Palaveri vetäjän kanssa, tapahtumien hallinta ja kalenteri valmis, kokoushallinnan ja haalariverkkokaupan suunnittelu ja toteutus alkaa 50, 51 Loma 1 2. henkilökohtainen raportti 2 Kokoushallinta valmis, uutisten hallinnan ja kuvagallerian suunnittelu ja toteutus 3 4 Uutisten hallinta ja kuvagalleria valmis 5, 6, 7 Testaus ja korjaus 8 Projektin esittely, kertomus ja loppuraportti
Luuppi Esitutkimus 9 / 10 8 Toteutusvälineet ja menetelmät Projektissa käytetään SCRUM-ohjelmistokehitysmallia. Tarkoituksena on pitää noin kahden viikon mittaisia sprinttejä. Sprinttiin siis sisältyisi kaksi palaveria (sekä tarvittaessa ylimääräinen workshop) ja yksi asiakastapaaminen, joka mahdollisesti tullaan käymään samassa ajankohdassa projektiryhmän palaverin kanssa. 8.1 Projektin työkalut PHP (http://www.php.net) MySQL (http://www.mysql.com) NetBeans (http://www.netbeans.org) Eclipse (http://www.eclipse.org) Tortoise SVN (http://tortoisesvn.tigris.org) 8.2 Projektin muut työkalut Google Code-sivusto (projektin kotisivut sekä SVN-versionhallinta) Google Groups (projektiryhmän postituslista) Google Docs (projektiryhmän tuntilista) Microsoft Word 2010 (dokumenttien laadinta) Microsoft PowerPoint 2010 (esitysten laadinta) Microsoft Project 2010 (luultavasti kehitysvaiheen sprinttien jne. hallintaan) 9 Projektin kannattavuus 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 tilavuokrat, ohjelmistolisenssit ja erilliset kustannukset sekä arvioida kilpailija-analyysin perusteella, että onko hinta-arvio realistinen ja kilpailukykyinen.
Luuppi Esitutkimus 10 / 10 10 Ryhmän pelisäännöt 10.1 Yleisiä sääntöjä Viikkotunnit on merkittävä viimeistään sunnuntaina päivällä Palavereista pois jäämisestä on ilmoitettava ajoissa Ei sooloilua, pyritään toteuttamaan asioita yhdessä Aktiivinen (arkipäivät) sähköpostin ja projektin sivuston seuraaminen Projektipäällikölle sähköpostia lähettäessä on laitettava kopio myös toiselle projektipäällikölle, vaikka asia ei hänelle olisikaan osoitettu o Molempien projektipäälliköiden pitää tietää asiasta ilman erillistä selvittelyä 10.2 Suosituksia Jokaiseen palaveriin olisi syytä tulla paikalle Jos työt loppuvat viikon aikana, niin se ei tarkoita sitä, että ei tarvitse tehdä enempää o Aina on tehtävää! Jos työt loppuvat kesken niin siitä tulee ilmoittaa muille, jolloin voi siirtyä seuraavaan tehtävään tai avustaa muita toteutuksessa. Jokaisen tulisi perehtyä käytettäviin tekniikoihin, kuten PHP, MySQL ja ohjelmistokehys o Ainakin yksi tai kaksi asiaa näistä olisi hyvä tuntea jonkinlaisesti Toteutusvaiheessa on erittäin suositeltavaa käyttää projektin IRC-kanavaa aktiivisesti