Kottarainen-projekti

Sampsa Lintunen
Tiina Pöyhönen
Teemu Vähä-Ruka
Timo Ylönen

Projektiraportti 9.6.2003

Jyväskylän yliopisto 
Tietotekniikan laitos

Kottarainen-projektin tietoja
Tekijät: 	Sampsa Lintunen (sampsa@cc.jyu.fi)
Tiina Pöyhönen (tmpoyhon@cc.jyu.fi)
Teemu Vähä-Ruka (teemuvr@cc.jyu.fi)
Timo Ylönen (tylonen@cc.jyu.fi)

Yhteystiedot: Agora, huone C223.2, puh.nro. 014-260 49 64 projektiorganisaation sähköpostilista on kottarainen@korppi.jyu.fi. Sen keskustelua voi seurata osoitteessa http://korppi.it.jyu.fi/list-archive/kottarainen/. Kotisivu löytyy osoitteesta: http://kotka.it.jyu.fi/kottarainen/.
Työn nimi: Kottarainen-projekti, projektiraportti
Työ: Projektiraportti tietotekniikan sovellusprojektiin
Tiivistelmä: Kottarainen-projekti toteutti prototyypin WWW-pohjaisesta kyselyjen hallintasovelluksesta. Projektissa keskityttiin kyselyn laatimiseen ja siihen vastaamiseen. Kottarainen-sovellus tulee olemaan osa aiemmin toteutettua Korppi-järjestelmää. Projektiraportissa kuvataan projektin läpivientiä ja tavoitteiden toteutumista.
Avainsanat: Tiedonkeruu, kyselyt, palaute, WWW-lomakkeet, WWW-sovellus, Korppi-järjestelmä
Versionhallinta
Versio	Päiväys	Tehnyt	Muutokset	
0.1	26.4.	Timo Ylönen	Ensimmäinen versio.	
0.2	22.5.	Teemu Vähä-Ruka	Lisätty kaikkien kirjoittamat henkilökohtaiset tuntemukset ja hienosäätöä.	
0.3	23.5	Timo Ylönen	Luvut 6, 7, 8 ja 10.	
0.4	27.5.	Teemu Vähä-Ruka	Santasen ehdottamia muutoksia.	
0.41	28.5.	Teemu Vähä-Ruka	…jatkuu	
0.5	3.6.	Teemu Vähä-Ruka	Santasen muutoksia versioon 0.41	
0.6	4.6.	Teemu Vähä-Ruka	Santasen muutoksia versioon 0.5	
0.61	5.6.	Teemu Vähä-Ruka & Timo Ylönen	Ajankäyttökaaviot ja parannukset aikataulukaavioon	
1.0	9.6.	Teemu Vähä-Ruka	Loput korjaukset, hyväksytty raportti.	

Sisällysluettelo

1	Johdanto
2	Termejä
3	Projektin taustaa
3.1	Yliopiston tarpeita kyselysovellukselle
3.2	Korppi-järjestelmä
3.3	Muita järjestelmiä
4	Projektin tavoitteet ja niiden toteutuminen
4.1	Toteutettu sovellus
4.2	Oppiminen
5	Projektin resurssit ja organisaatio
5.1	Henkilöt ja yhteystiedot
5.2	Laitteet ja ohjelmistot
6	Projektin tehtävät ja niiden jakautuminen
6.1	Työnjako projektin alussa
6.2	Toteutusvaihe
6.3	Projektipäällikön tehtävät
6.4	Dokumentointi
7	Projektin aikataulu
7.1	Aikataulun toteutuminen
7.2	Aikataulumuutosten pohdintaa
8	Riskien arviointi ja hallinta
8.1	Eriävät näkemykset toteutettavasta järjestelmästä
8.2	Yhtenäisyys olemassa olevan järjestelmän kanssa
8.3	Ohjelmointi
8.4	Muut riskit
8.5	Riskien vaikutus aikatauluun ja tavoitteisiin
9	Henkilökohtaiset kokemukset projektista
9.1	Sampsa Lintunen
9.2	Tiina Pöyhönen
9.3	Teemu Vähä-Ruka
9.4	Timo Ylönen
10	Yhteenveto
Lähteet
Liitteet
Liite 1: Työmäärän jakautuminen tehtävittäin
Liite 2: Työmäärän jakautuminen viikoittain

1	Johdanto
Kottarainen-niminen tietotekniikan Sovellusprojekti toteutti prototyypin WWW-pohjaisesta kyselyjen laatimis-, hallinta- ja analysointisovelluksesta Jyväskylän yliopiston käyttöön. Projektin puitteissa toteutuneita osia ovat kyselyiden luominen WWW-ympäristöön ja kyselyyn vastaaminen. Muut osiot siirrettiin jatkokehitykseen, mutta ne on huomioitu sovelluksen ja tietokannan rakenteessa sekä kirjattu vaatimusmäärittelyyn.
Kottarainen-sovellus on yksi Korppi-nimisen opetushallintajärjestelmän moduuleista. Järjestelmään ovat aiemmin toteuttaneet sovelluksia Kotka-, Korppi-, Halko-,
Kolibri-, Koppelo- ja Kiuru-projektit. Niitä on edelleen jatkokehitetty Jyväskylän yliopiston tietotekniikan laitoksella.
Dokumentissa kuvataan Kottarainen-projektin läpivientiä. Sovelluksen rakennetta ja toteutuksessa käytettyjä ratkaisuja esitellään Sovellusraportissa. Aiemmin laadittuja dokumentteja ovat Projektisuunnitelma, Sovellussuunnitelma, Vaatimusmäärittely sekä Haastatteluraportti. 
Luvussa 2 esitellään aiheeseen liittyviä käsitteitä. Projektin taustoja sekä tavoitteita ja niiden toteutumista kuvataan luvuissa 3 ja 4. Luvussa 5 kuvataan projektin organisaatio ja resurssit. Luvussa 6 käsitellään projektin tehtäviä ja niiden jakautumista projektin jäsenten kesken. Luvussa 7 kuvataan projektin toteutunut aikataulu. Luvussa 8 arvioidaan projektiin liittyneitä riskitekijöitä. Luvussa 9 ryhmän jäsenet kertovat omista mietteistään projektin suhteen.
2	Termejä
Luvussa on selvennetty Kottarainen-projektissa käytettävää termistöä.
Kottarainen-projektin aihealueeseen ja Korppi-järjestelmään liittyviä termejä ovat seuraavat: 
Korppi	on Jyväskylän yliopistossa kehitetty opetushallintajärjestelmä.
Kotka	on Korppi-järjestelmän tietokanta ja henkilötietojen hallintaosio.
Kysely 	käsittää koko kyselyn ja voi koostua yhdestä tai useasta kysymysryhmästä.
Kysymyspankki	on kokoelma kysymyssarjoja, joista voi valita uuden kyselynsä pohjaksi kokonaisia sarjoja, kysymysryhmiä tai yksittäisiä kysymyksiä.
Kysymysryhmä	käsittää yhden tai useampia samaan aihepiiriin liittyviä kysymyksiä.
Kysymyssarja	on kysymyspankkiin saataville sijoitettu kysely.
SAS	on tilastollinen ohjelma.
SPSS	on yliopistolla laajasti käytetty tilastollinen analysointi-ohjelma.
SPSS Data Entry	on WWW-kyselyiden tekemiseen tarkoitettu ohjelma.
Survo	on käyttöympäristö tekstin ja numeerisen tiedon luovaan käsittelyyn.

Projektin toteutusympäristöön sekä  käytettäviin työkaluihin ja tekniikoihin liittyviä termejä ovat seuraavat:
Apache	on ilmainen HTTP-palvelinohjelmisto.
CSS	eli Cascading Style Sheets on WWW-sivujen ulkoasua kuvaava kieli.
CSV	eli Comma Separated Values on tiedon esitysmuoto, jossa eri arvot erotetaan toisistaan pilkulla.
CVS	(Concurrent Version System) on ohjelmistokehityksessä  käytettävä versionhallintajärjestelmä.
Eväste	(engl. cookie) on Netscapen luoma, mutta nykyään jo standardoitu menetelmä saada WWW-sivuista vuorovaikutteisempia. Palvelin lähettää pieniä tietopaketteja selaimelle, jonka perusteella käyttäjä asetuksineen tunnistetaan jatkossa.
HTML		on WWW-sivujen sisältöä kuvaava kieli.
HTTP	on WWW-arkkitehtuurin käyttämä tiedonsiirtoprotokolla.
Java	on Sunin kehittämä laitteistoriippumaton olio-ohjelmointikieli.
Java-pavut	(engl. JavaBeans) ovat Java-ohjelmointikielellä luotuja komponentteja, joita voidaan kutsua JSP-sivuilla.
JDBC	eli Java Database Connectivity on Java-teknologian käyttämä tietosilta erilaisiin tietokantoihin.
JSP	eli JavaServer Pages on ohjelmointikieli, jossa HTML-koodin sekaan on mahdollista lisätä Java-koodia.
PostgreSQL		on ilmainen tietokannanhallintajärjestelmä.
Palvelin	on WWW-sovellusten tapauksessa ohjelmisto, joka palvelee asiakkaana toimivien selainten hakupyyntöjä.
Selain	on ohjelma, joka käyttäjän koneella tulkkaa HTML-kieliset sivut kuvaruudulla esitettävään muotoon.
Servletti	on palvelimella sijaitseva sovelma (engl. applet), joka toteuttaa HTTP-palvelimen pyynnöstä tietyn toiminnon.
Skripti	on ohjelmointikieltä muistuttava ja usein hieman yksinkertaistettu tulkattava kieli.
Skriptaus	tarkoittaa WWW-sivujen tapauksessa ohjelmakoodin kirjoittamista HTML-dokumenttien sisään. Palvelinpuolen skriptauksessa koodi ajetaan palvelinkoneessa ja asiakaspään skriptauksessa selaimessa.
SQL	eli Structured Query Language on tietokantojen hallintaan kehitetty standardi kieli.
TomCat		on ilmainen servletti- ja JSP-moottori.
XML	on rakenteinen dokumenttien määrittely- ja kuvauskieli.

3	Projektin taustaa
Luvussa käsitellään projektin lähtökohtia sekä yliopiston ja sen eri alaorganisaatioiden tarpeita toteutettavalle kyselysovellukselle. Luku kuvaa myös Korppi-järjestelmän historiaa ja olemassa olevia sovelluksia.
3.1	Yliopiston tarpeita kyselysovellukselle
Sekä OPLAA!- että virtuaaliyliopisto-hankkeen tavoitteena on luoda pysyviä rakenteita. Yksi tällainen rakenne on jatkuvan arvioinnin mahdollistava järjestelmä. Järjestelmän tueksi tarvittiin WWW-selaimella toimiva kyselytiedon keruun ja hallinnan sovellus.
Yliopiston eri laitoksilla oli muitakin tarpeita laatia lomakkeita ja koota tietoa verkon kautta. Laitoksilla on tarve saada kurssipalautteen analysointia helpommaksi ja nopeammaksi. Aiemmin esimerkiksi avoimella yliopistolla kukaan ei ole ehtinyt käydä läpi yli 18 000 opiskelijan palautetta. Siirtämällä palautteen antaminen WWW-ympäristöön, saadaan perusanalyysien tekeminen automatisoitua. Samalla kerätty tieto saadaan koottua tietokantaan mahdollista myöhempää käsittelyä varten.
Projektin aikana ilmeni myös muita kyselyiden käyttökohteita, kuten esimerkiksi henkilöstön työtyytyväisyyskyselyt ja erilaisissa tutkimuksissa tarvittavat kyselyt. Esimerkiksi eri organisaatioiden toiminnan vertailuun ja yhteisten parempien menetelmien löytämiseen käytettävään benchmarkingiin voisi käyttää apuna Kottarainen-sovellusta.
3.2	Korppi-järjestelmä
Ensimmäinen Jyväskylän yliopistossa yleiseen käyttöön toteutettu WWW-pohjainen kurssikirjanpitosovellus, Kurki, toteutettiin matematiikan laitokselle tietotekniikan cum laude -työprojektina keväällä 1998. Sen tarkoituksena oli yhdenmukaistaa laitoksella käytetyt kurssikirjanpitojärjestelmät ja laajentaa niiden käytettävyys verkkoon. Kurki huomattiin ideana hyväksi ja sen käyttöä haluttiin laajentaa. Toisaalta sen kehitystyökalua ei enää tuettu ja käytettävyydessä oli puutteita, jonka vuoksi päätettiin aloittaa sen seuraajan toteuttaminen. 
Uuden Korppi-nimisen opetushallintajärjestelmän ensimmäinen kehittäjä oli syksyn 2000 Kotka-niminen cum laude -työprojekti. Kotka-projekti määritteli uuden järjestelmän ominaisuudet, suunnitteli sille tietokannan, vertaili mahdollisia ohjelmistoja ja valitsi niistä järjestelmässä käytettävät sekä toteutti henkilötieto-osuuden.
Keväällä 2001 Korppi-projekti jatkoi järjestelmän kehitystä toteuttamalla järjestelmän kurssikirjanpito-osion. Samana keväänä Halko-projekti toteutti Heinolan kansalaisopistolle prototyypin opetuksenhallintajärjestelmästä. Näiden kyseisten projektien kesken tehtiin läheistä yhteistyötä.
Kolibri-projekti toteutti syksyllä 2001 WWW-pohjaisen päivyri- ja ajanvarausosion Korppi-järjestelmään. Koppelo-projekti kehitti keväällä 2002 WWW-pohjaisen opinnäytteiden hallintasovelluksen.
Kiuru toteutti syksyllä 2002 WWW-pohjaisen salivaraussovelluksen Korppi-järjestelmään. Projektin työhön sisältyi myös rajapinnan määrittely ja toteuttaminen ulkopuoliseen salivarausjärjestelmään salivarausten synkronointia varten.
Korppi-opetuksenhallintajärjestelmässä on jo olemassa lomakkeenluonti- ja raportointiosio, joka oli kehitetty kurssiarvostelun antamiseen ja kurssipalautteen keräämiseen. Osio ei kuitenkaan vastannut tilaajien tarpeita, koska sen ominaisuudet olivat varsin rajoittuneet. Kottarainen-projektin tarkoitus oli luoda uusi, paremmin tarpeita vastaava sovellus.
Lisätietoa Korppi-järjestelmästä ja Kotka-tietokannasta ja niiden dokumentaatiosta löytyy WWW:stä osoitteesta http://kotka.it.jyu.fi/.
3.3	Muita järjestelmiä
Muiden kyselyjen laatimiseen ja vastausten analysointiin kehitettyjen järjestelmien pääasiallisia ongelmia ovat hinta, analysoinnin hankaluus ja heikko muokattavuus yliopiston tarpeisiin. Kottarainen-projekti pyrki vastaamaan tähän haasteeseen.
Yliopistolla on jo SPSS Data Entry -niminen kaupallinen työasemasovellus, jolla voidaan luoda erilaisia kyselyitä melko helposti. Tätä käytettäessä tarvitaan kuitenkin teknistä osaamista ja korkeat käyttöoikeudet valmiin kyselyn saattamiseksi verkkoon. Käytännössä kyselyt onkin hoidettu verkkoon lähettämällä ne ylläpitäjälle, joka sitten laittaa kyselyt vastaajien ulottuville. Toinen ongelma Data Entryn käytössä on se, että vastaukset pitää analysoida itse SPSS:ää käyttäen. Lomakkeiden luonti on myös sidottu vain niihin työasemiin, joille ohjelma on asennettu. Lisäksi SPSS Data Entrystä ei ole Linux-versiota, joten sen hyödyntäminen Korppi-järjestelmästä käsin olisi vaikeaa. 
Optima on Discendumin kehittämä Jyväskylän yliopiston ja monen muunkin organisaation käyttämä kaupallinen verkko-oppimisympäristö. Sen avulla pystytään toteuttamaan verkkokursseja. Optiman pääasiallinen tarkoitus ei kuitenkaan ole kyselyiden luominen ja niistä saatavan tiedon hallinta ja esittäminen. Tämän vuoksi oli olemassa tarve kehittää kyselyihin sopivampi sovellus, jota voitaisiin käyttää Optiman yhteydessä.
4	Projektin tavoitteet ja niiden toteutuminen
Luvussa kuvataan projektin tavoitteiden toteutuminen sovelluksen ja jäsenten henkilökohtaisen oppimisen suhteen. Projektin tavoitteita kuvataan tarkemmin Projektisuunnitelmassa, joten kappaleessa kuvataan vain niiden toteutuminen.
4.1	Toteutettu sovellus
Kottarainen-sovellus toteutettiin osaksi Korppi-järjestelmää, vaikka projektin alussa sen hahmoteltiin toimivan myös itsenäisenä sovelluksena. Kottaraisen tietokantaosio on pääosin erillinen, joten eriyttämisen ei pitäisi olla vaikeaa. Projektin puitteissa ei kuitenkaan ollut järkevää toteuttaa erillistä käyttäjänhallintaa, sillä palavereissa hahmottunut ensisijainen käyttötarkoitus (yliopiston käyttöön) tuki yhtenäistämistä Korppi-järjestelmän kanssa.
Kyselyn luomistyökalun ja vastaamisosion osalta vaatimukset toteutettiin projektin lopussa sovitun linjanvedon mukaisesti, mutta aluksi kaavailtuja ominaisuuksia jäi vielä paljon puuttumaan. Työkalun toteutus osoittautui ennakoitua työläämmäksi, mutta hyvin toteutetun luokkarakenteen oletetaan pienentävän jatkokehittäjien työmäärää.
Kysymyspankin sekä kyselyn luontityökalun ja vastaamisosion puuttuvien ominaisuuksien toteuttaminen jäivät jatkokehittäjien työksi. Tulosten analysointi ja niiden tarkempi esittäminen puolestaan sovittiin jätettäväksi kokonaan syksyn jatkoprojektin tehtäväksi. Jatkokehityksen tuloksena vastaukset tullaan esittämään vain yksinkertaisena luettelona.
Toteutetun sovelluksen avulla kyselyitä voi laatia dynaamisesti WWW-selaimen avulla, kuten Vaatimusmäärittelyssä määriteltiin. Tästä johtuen kyselyn laatiminen ei ole riippuvainen käyttöjärjestelmästä, ajasta eikä paikasta. Kyselylomakkeella kerätty tieto tallentuu tietokantaan myöhempää käyttöä varten. 
Sovelluksen toteutuneet ja jatkokehitykseen jääneet tehtävät kuvataan tarkemmin Sovellusraportissa.
4.2	Oppiminen
Projektiryhmän jäsenten oppimisen tavoitteina oli hankkia käsitys ja kokemusta ohjelmistoprojektin läpiviennistä sekä yleensäkin perehtyä projektimuotoiseen ryhmätyöskentelyyn. Tämä tavoite saavutettiin hyvin. Projektin jäsenet oppivat paljon asioita kokoustekniikasta, projektin vaiheista, dokumentoinnista ja ryhmätyöstä. 
Jokainen ryhmän jäsen toimi jonkin aikaa myös projektipäällikön tehtävissä saaden näin arvokasta kokemusta työelämää varten. Projektipäällikkönä toimiminen antoi myös mukavasti perspektiiviä ohjelmoijan roolissa toimimiseen, kun ongelmat näki hieman laajemmin.
Tutustuminen uusiin tekniikoihin ja ohjelmointityökaluihin sekä niillä ohjelmointiin oli yhtenä tavoitteena. Sovelluksen laajuuden ja monimutkaisuuden myötä kaikki saivat arvokasta ohjelmointikokemusta. Java-ohjelmointikieli oli entuudestaan tuttu kolmelle ryhmän jäsenistä, mutta mitään isompaa kukaan ei ollut sillä aiemmin ohjelmoinut. Myös JSP-tekniikka ja käytetty Netbeans-ohjelmointiympäristö olivat kaikille vieraita, mutta niihin tutustuttiin perinpohjaisesti projektin edistyessä.
Tietokantojen käyttö oli Sampsa Lintusta lukuun ottamatta kaikille uutta. Siitä saatiin kokemusta etenkin, kun tietokantaan jouduttiin luomaan omia tauluja ja niiden rakennetta piti miettiä monta kertaa uudelleen. Tietokantojen käyttäminen ohjelmoinnissa tuli myös erittäin tutuksi, koska Kottarainen-sovellus on kiinteässä yhteydessä Kotka-tietokannan kanssa.
5	Projektin resurssit ja organisaatio
Luvussa kuvataan projektin käytössä olleita resursseja sekä organisaatioon kuuluneet henkilöt ja heidän suhteensa projektiin.
5.1	Henkilöt ja yhteystiedot
Projektiryhmään kuuluivat tietotekniikan opiskelijat Sampsa Lintunen, Tiina Pöyhönen, Teemu Vähä-Ruka ja Timo Ylönen. Tilaajina toimivat Jyväskylän yliopistosta avoin yliopisto edustajanaan Eija Ihanainen, opetuksen laatuhanke OPLAA! edustajanaan Jari Rantamäki, virtuaaliyliopisto edustajanaan Antti Auer sekä yliopiston hallinto, jota edusti Mauno Väisänen.
Kottarainen-projektin vastaavana ohjaajana toimi Jukka-Pekka Santanen. Tietotekniikan laitokselta ryhmän ohjaukseen osallistui Vesa Lappalaisen lisäksi Jussi Mäkinen ryhmän teknisenä ohjaajana. Myös seuraavia asiantuntijoita konsultoitiin projektin edetessä:
•	Timo Aittokoskea tietojen analysoinnin osalta,
•	Jonne Itkosta ja Jussi Talaskiveä Zopeen liittyen,
•	Pauli Kujalaa JSP:n ja Kotka-tietokannan osalta,
•	Markku Virettä Kotka-tietokannan osalta sekä
•	Jukka-Pekka Kesosta SPSS:ään liittyen
Lisäksi Petri Heinonen ja Tommi Lahtonen antoivat sovelluksesta käytettävyyspalautetta. Haastatteluja kuvataan tarkemmin haastatteluraportissa.
Projektin dokumentaatio on luettavissa projektin kotisivuilla http://kotka.it.jyu.fi/kottarainen/. Projektilla oli käytössä sähköpostilista kottarainen@korppi.jyu.fi, jonka viestejä pääsee selaamaan WWW-osoitteesta http://korppi.it.jyu.fi/list-archive/kottarainen.
5.2	Laitteet ja ohjelmistot
Projektiryhmä sai käyttöönsä Agorasta huoneen C223.2, jossa oli asennettuina kaksi Linux-konetta ja kaksi Windows 2000 -konetta. Linux-koneille oli asennettu Netbeans-ohjelmointiympäristöstä versio 3.4.1 JSP-sivujen ja Java-papujen toteuttamiseen. Windows-koneille oli asennettu Borland JBuilder -ohjelmointiympäristön Enterprise-versio 7.0.154.0 vastaavaan tarkoitukseen, mutta Windows-koneillekin asennettiin myöhemmin Netbeans-ohjelmointiympäristö. CVS-versionhallinnassa käytettiin NetBeansin sisäänrakennettuja CVS-ominaisuuksia. 
Hyperion- sekä myöhemmin myös Helene-koneelle oli asennettu TomCatin ”stand-alone” versio 4 sovelluksen testausta varten. Samoin oli asennettuna Apache-HTTP-palvelin, jonka avulla saatiin käyttöön SSL-salaus. Lisäksi samoilla koneilla oli kopio Kotka-tietokannasta sekä Korppi-järjestelmän kehitysversio. 
Windows-koneilla oli MS Office 2000 -ohjelmistopaketit ja MS Visio sekä muita projektin tarvitsemia ohjelmistoja. Linux-koneilla oli vastaavasti StarOffice sekä muita ohjelmistoja. Torrance-koneella oli myös SPSS- ja SPSS Data Entry -ohjelmistojen versiot 11.0 ja 3.0.3. 
6	Projektin tehtävät ja niiden jakautuminen
Kokonaisuutena kaikki ryhmän jäsenet osallistuivat hieman eri painotuksin kaikkiin tehtäviin, eli tiedonkeruuseen, suunnitteluun, vaatimusmäärittelyyn, toteutukseen ja dokumentointiin. Näin kaikki saivat arvokasta kokemusta ohjelmistoprosessin vaiheista.
Liitteessä 1 on kuvattu ajankäytön jakautuminen tehtävittäin. Jakautuma on kuitenkin vain suuntaa-antava, sillä esimerkiksi käytännössä kaikki testaaminen merkittiin ajankäyttövihkoihin ohjelmoinnin yhteyteen. Liitteessä 2 kuvataan työmäärän jakautuminen eri viikoille projektin aikana.
6.1	Työnjako projektin alussa
Projektin alussa projektiryhmän jäsenet tutustuivat yhdessä aihealueeseen, työkaluihin sekä XML-standardeihin. Lisäksi haastateltiin useita ihmisiä ja perehdyttiin dokumentointiin.
Tästä eteenpäin ryhmän jäsenille sovittiin tarkempia perehtymisalueita. Teemu Vähä-Ruka keskittyi sovelluksen käyttöliittymän suunnitteluun ja tiedon visuaaliseen esittämiseen. Sampsa Lintunen tutustui Kotka-tietokantaan ja suunnitteli Kottarainen-sovelluksen tietokantarakenteen. Tiina Pöyhösen vastuualueena on dokumentoinnin koordinointi ja JSP-tekniikkaan tutustuminen. Timo Ylönen tutustui Java-papuihin ja JSP-tekniikkaan. 
6.2	Toteutusvaihe
Toteutusvaiheessa kaikkien jäsenten vastuualueena oli ohjelmointi. Alkuvaiheessa Tiina Pöyhönen ja Timo Ylönen keskittyivät Java-papuihin, Sampsa Lintunen tietokannan käsittelyyn ja Teemu Vähä-Ruka kyselyn luontityökalun esiversion ohjelmointiin. Myöhemmin, tietokantasuunnitelman ja käyttöliittymähahmotelman valmistuessa, myös Lintunen ja Vähä-Ruka siirtyivät ohjelmoimaan Java-papuja. 
Java-papujen ohjelmointi jakaantui melko tarkasti oliorakenteen mukaan, vaikka tässäkin tuli päällekkäisyyksiä. Lintunen vastasi Questionnaire-luokasta ja TemplateHandleristä. Pöyhönen ohjelmoi tietokannan käsittelijäluokan, Questionnaire-luokan ja rungon kaikkiin muihin kyselypuun luokkiin. Questiongroup- ja Questionasgroup-luokat olivat aluksi Vähä-Rukan vastuulla ja myöhemmin Ylönen liittyi tekemään yhteistyötä niiden ohjelmoinnissa. Questionfield- ja Questionresult-luokat ovat pääosin Ylösen käsialaa. Kaikki ryhmän jäsenet osallistuivat luokkien yhteistoiminnan hiomiseen.
6.3	Projektipäällikön tehtävät
Projektipäällikön tehtävä oli jaettu siten, että jokainen ryhmän jäsen sai toimia tehtävässä hieman yli kolme viikkoa. Päällikkyyden aikataulu on kuvattu projektisuunnitelmassa.
Projektipäällikkö oli selvillä tehtävistä, ongelmista ja projektin yleiskuvasta. Hän myös suunnitteli työnjaon ja valvoi töiden edistymistä sekä tarvittaessa teki uudelleenjärjestelyitä. Hänen vastuullaan oli myös asioista tiedottaminen koko projektiorganisaatiolle, sekä ryhmän sisäisissä asioissa ryhmän jäsenille niin, että kaikki olivat ajan tasalla.
Käytettyyn ratkaisuun päädyttiin siksi, että vaikka yhden projektipäällikön järjestely olisikin saattanut olla tulosten kannalta tehokkaampi, ryhmä piti ainutlaatuista oppimistilaisuutta tärkeämpänä. Lisäksi jo alusta alkaen oli selvää, että ryhmän asenne oli kohdallaan, joten projektipäällikön toimenkuvaksi muodostuivatkin lähinnä ohjailijan ja järjestelijän tehtävät.
6.4	Dokumentointi
Määrittely- ja suunnitteluvaiheiden dokumentointi jakautui niin, että Vaatimusmäärittely oli Lintusen, Projektisuunnitelma Ylösen, Sovellussuunnitelma Pöyhösen ja Tilakaavio Vähä-Rukan vastuulla. Lintuselle annettiin tehtäväksi päivitys Kotka-tietokantaraporttiin Kottarainen-taulujen osalta ja muut raportointivaiheen dokumentit eli Sovellusraportti ja Projektiraportti jakaantuivat melko tasaisesti muiden ryhmän jäsenten kesken.
7	Projektin aikataulu
Luvussa tarkastellaan projektin aikataulun toteutumista. Kaaviossa 1 on esitetty projektin suunniteltu ja toteutunut aikataulu janakaaviona, kun alkuperäinen suunniteltu aikataulu löytyy Projektisuunnitelmasta.
7.1	Aikataulun toteutuminen
Suunnitelman mukaan projektin oli tarkoitus kestää 15 viikkoa. Aika oli jaettu karkeasti ottaen kolmeen osaan: suunnitteluun ja vaatimusmäärittelyyn, toteutukseen sekä testaukseen. Taulukossa 1 näkyy projektin eri tarkastuspisteiden suunniteltu ja toteutunut aikataulu.
Vaihe	Tulos	Toteutunut pvm.	Suunniteltu pvm.	
Tiedonkeruu	Haastatteluraportit	27.2.	27.2.	
Suunnittelu	Projektisuunnitelma	4.4.	27.3.	
Vaatimusmäärittely	Vaatimusmäärittely	6.6.	27.3.	
Suunnittelu	Sovellussuunnitelma	Jäädytettiin 7.4.	4.4.	
Toteutus	Sovellus	13.6.	25.4.	
Testaus		Alkoi noin 15.5.,
päättyi 6.6.	28.4.	
Loppuraportointi	Projektiraportti, sovellusraportti	13.6.	16.5.	
Taulukko 1: Projektin eri tarkastuspisteiden toteutuminen.

Kaavio 1: Suunniteltu ja toteutunut aikataulu
7.2	Aikataulumuutosten pohdintaa
Suunnittelu ja vaatimusmäärittely veivät aikaa paljon enemmän kuin alunperin kyseiselle vaiheelle oli ajateltu. Tämä johtui siitä, että vaatimuksia ei saatu tarpeeksi hyvin linjattua, vaan niitä tuli joko koko ajan lisää tai ne muuttuivat matkan varrella. Tässä asiassa olisi tarvittu molemminpuolista tiukkuutta sekä tilaajilta että ryhmältä. Suurin syy aikataulun viivästymiseen oli varmasti kokemuksen puute. Aikataulusuunnitelmaa muutettiin dokumenttien viivästyessä, mutta silti vaihe jäi pari viikkoa aikataulusta.
Toteutusvaiheen aikataulu oli myös hieman liian optimistinen. Kyseisen vaiheen aikana jäätiin aikataulusta huomattavasti lisää ja sovellus valmistui vasta kesäkuun alkupuolella. Vaihe pääsi alkamaan senkin takia pahasti myöhässä, että työkalujen käyttöönotossa oli ongelmia, joiden takia niihin ei päästy edes tutustumaan. Projektin työmäärää ja sitä kautta myös viivästymistä lisäsi se, että päätettiin toteuttaa omat, uudet taulut Kotka-tietokantaan. 
Työkalun valinnan (JSP vai Zope) venyminen oli pienempi murhe, mutta myös osaltaan aiheuttamassa tätä viivästymistä, koska ohjelmien asennustakaan ei päästy tarpeeksi ajoissa aloittamaan. Kun vielä JSP oli suhteellisen varma toteutustekniikka, oli melko turhaa yleensäkään pohtia käytettävää työkalua. Ylläpidon ja ryhmän välisessä kanssakäymisessä olisi varmasti ollut parantamisen varaa.
Ensimmäisten palaverien olisi ehkä ollut hyvä olla asiantuntijapalavereja, joissa mukana olisivat olleet Pauli Kujala Korppi-järjestelmän ja JSP:n sekä esimerkiksi Jonne Itkonen Zopen asiantuntijana. Tätä kautta työkalupäätös oltaisiin voitu tehdä jo aiemmin. Edellä kuvatut ongelmat olivat toivottavasti oppina projektiorganisaatiolle ja sitä kautta vastaavat ongelmat pystytään tulevissa projekteissa välttämään.
Aiempien vaiheiden viivästymisen vuoksi testausvaihe jäi lähes kokonaisuudessaan jatkokehitykselle. Ainoastaan luokkia ja niiden yhteistoimintaa ehdittiin hieman paremmin testata, kun taas käyttöliittymän testaus jäi lähinnä ohjaajien ja tilaajien kommenttien varaan.
8	Riskien arviointi ja hallinta
Luvussa kuvataan projektin toteutukseen liittyneet riskit sekä niiden toteutumista, välttämistä ja hallintaa.
8.1	Eriävät näkemykset toteutettavasta järjestelmästä
Eri tahoilla oli hieman erilaisia näkemyksiä siitä, millaisia ominaisuuksia toteutettavassa sovelluksessa tulisi olla. Lisäksi toiveet olivat alkuvaiheessa melko yleisluontoisia ja niiden tarkentaminen tuntui välillä työläältä. 
Onneksi tilaajat osallistuivat varsinkin alkuvaiheessa aktiivisesti palavereihin, joissa asiat saatiin puitua selviksi. Eri termeistä ja asioista käytiin osin kiivaitakin keskusteluita. Niissä ryhmän jäsenille kävi ilmi monta asiaa, joita he eivät olleet tulleet ajatelleeksikaan. 
Aikataulun tiukkuudesta ja työmäärän rajallisuudesta sekä WWW-ympäristön aiheuttamista ohjelmointiongelmista johtuen kaikkia ideoita ja vaatimuksia ei pystytty toteuttamaan tämän projektin puitteissa. Myös aihepiirin laajuus kaikkine tutustumisineen ja perehtymisineen yllätti niin ryhmän jäsenet kuin ohjaajatkin. Sovellus saatiin kuitenkin suunniteltua siten, että jatkokehitys ja ominaisuuksien lisääminen myöhemmin on mahdollista.
8.2	Yhtenäisyys olemassa olevan järjestelmän kanssa
Aluksi näytti siltä, ettei yhtenäisyys Korppi-järjestelmän kanssa tuo tullessaan muuta kuin etuja. Kuitenkin yhtenäisyys vaikeutti tietokannan suunnittelua melko paljon, kunnes ryhmä päätyi laatimaan kokonaan oman taulukokonaisuutensa. Näin Korppi-järjestelmän tauluihin ei tarvittu muutoksia ja Kottarainen-sovelluksen tietokantaosio on helppo liittää osaksi Korppi-järjestelmän Kotka-tietokantaa. 
Toisena ongelmana viime metreillä kävi ilmi, että koko sovelluksen liikaa sessio-tekniikkaan perustuva toimintaperiaate on Korppi-järjestelmässä vallitsevan käytännön vastainen. Tämä aiheutti ylimääräistä työtä, kun jo tehtyjä asioita jouduttiin muuttamaan eri tavalla toimivaksi. Asia tuli esille turhan myöhään ja olisi vaatinut joko ryhmältä tarkempaa perehtymistä Korppi-järjestelmän koodausohjeeseen tai mahdollisesti ylimääräisen perehdytyksen asiaan, jossa olisi Jussi Mäkisen lisäksi asioista kertomassa voinut olla Pauli Kujala.
Tosin ainakin kyselyjen luomistyökalun osalta sessio-tekniikan korvaaminen esimerkiksi piilokentillä olisi ollut lähes mahdotonta, koska siinä vaiheessa oliorakenne sisältää todella paljon tietoa. Vastaamisosio saatiin projektin loppuun mennessä irrotettua sessiosta ja suoraan URL:illa kyselyyn siirtyminen on mahdollista.
Heti ohjelmointia aloitettaessa lähdettiin valitettavasti väärään suuntaan ja nyt asiaa mietittäessä tuntuu, ettei tienviittoja edes kummemmin ollut tarjolla. Jälkiviisaasti ajateltuna perehdytyksen pitäminen olisi ollut välttämätöntä ja sitä olisi tullut ryhmälle tarjota tai ryhmän olisi pitänyt itse ymmärtää pyytää sellaista.
8.3	Ohjelmointi
Ohjelmoinnin aloittamisessa oli suuria vaikeuksia, koska työkaluja ei saatu aluksi millään toimimaan. Työkalut olivat ryhmälle täysin outoja, joten vioista kertominen ylläpidolle oli vaikeaa ja tämä puolestaan teki vikojen korjaamisen vaikeaksi ylläpidolle.
Pari viikkoa kestäneeltä hässäkältä työkalujen kanssa olisi luultavasti vältytty, jos yhtenä päivänä olisi ylläpidon kanssa ”istuttu saman pöydän ääreen” ja laitettu ohjelmat toimimaan. Ongelmista ei tietenkään voi ketään sormella osoittaa, mutta edellä mainittu toimintatapa tuntuisi ainakin jälkeen päin ajateltuna järkevältä.
Kun ohjelmointi saatiin aloitettua, se sujui lähes ongelmitta koko toteutusvaiheen ajan. Pieniä hidasteita olivat ryhmän valitsema tapa pitää ohjelmakoodi, SQL-lauseet ja HTML-koodi erillään sekä oliopohjaisen rakenteen aiheuttama hitaus toiminnassa. Muutoin Java oli melko helppo kieli oppia. Sisäistämisessä auttoivat perehdytykset sekä teknisen ohjaajan Jussi Mäkisen hyvät vinkit.
Ohjelmakoodin, SQL-lauseiden ja HTML-koodin eriyttämisen olisi mahdollisesti voinut jättää hienosäätövaiheeseen, sillä projektin aikataulu oli niin tiukka, että se söi turhaa aikaa. Ideana tämä oli kuitenkin työtä helpottava ja selkeyttävä, joten toimintatavan käyttäminen oli järkevää ja olisi suositeltavissa yleisempäänkin käyttöön.
8.4	Muut riskit
Muita uhkia projektille olivat jäsenten sairastuminen, ryhmän sisäiset suhteet, ryhmän suhteet tilaajiin ja ohjaajiin sekä muut menot. 
Jäsenille ei kuitenkaan tullut äkillisiä sairastumisia ja sisäiset suhteetkin olivat hyvät koko projektin ajan. Myös suhteet tilaajiin ja ohjaajiin säilyivät asiallisina koko kevään, vaikka vaatimuksista jouduttiinkin tinkimään. 
Ylösellä oli huhtikuun loppupuolella hieman kiire, koska hän toimi kaksi viikkoa maatalouslomittajana projektin ja muiden opiskelukiireiden ohessa. Hänen projektipanoksensa ei kuitenkaan tuonakaan aikana merkittävästi heikentynyt.
Myös Lintusella oli huhtikuussa melko paljon menoja, mutta hän onnistui niistä huolimatta löytämään projektille riittävästi aikaa. Lintunen aloitti kesätyöt Jämsässä 19.5., joka aiheuttaa hieman ongelmia. Aikataulu nimittäin on viivästynyt ja projekti edelleen kesken. Ongelma pyrittiin poistamaan antamalla Lintuselle enemmän dokumentointivastuuta projektin loppupuolella. Näin ollen hänen läsnäolonsa yliopistolla ei ollut välttämätöntä.
8.5	Riskien vaikutus aikatauluun ja tavoitteisiin
Sovelluksen valmistuminen viivästyi suunnitellusta. Tämä johtui siitä, että vaatimusmäärittelyvaihe venähti liian pitkäksi, eikä asioita saatu lyötyä lukkoon ajoissa. Aihe oli huomattavasti ensivaikutelmaa laajempi ja ryhmän jäsenet tajusivatkin projektin edetessä, että jo pelkkä kyselyiden luomistyökalun toteutus WWW-ympäristöön olisi ollut sangen haastava tehtävä projektiksi. Aikataulun pettämiseen vaikuttivat kaikki toteutuneet riskit yhdessä.
Aikatauluongelmia pyrittiin ratkomaan neuvottelemalla toteutettavista ominaisuuksista tilaajien ja ohjaajien kanssa. Näin saatiin rajattua sovellus tämän projektin osalta järkeviin raameihin. 
Siihen mitä olisi voitu tehdä toisin, ettei projekti olisi viivästynyt, on vaikea keksiä keinoja. Suurimpaan osaan ongelmista oli syynä kokemattomuus.
9	Henkilökohtaiset kokemukset projektista
Luvussa projektin jäsenet kuvailevat henkilökohtaisia kokemuksiaan kevään 2003 sovellusprojektiin käytetystä ajasta.
9.1	 Sampsa Lintunen
WWW-pohjainen kyselysovellus on aiheena varsin mielenkiintoinen. On mukavaa tehdä jotain uutta ja uraauurtavaa. Aiheen laajuus osoittautui kuitenkin ylitsepääsemättömäksi esteeksi.
Olisi mielestäni ollut mielekästä rajata jo alkuvaiheessa toteutus esimerkiksi kyselyn luonti- ja vastausosioon. Nyt analysointi- ja tulosten esittämisosioiden suunnitteluun ja dokumenttien vääntämiseen meni paljon aikaa. Osa on ajan saatossa osoittautunut hyödyttömäksi. Kyselyn tuloksille olisi voinut määritellä aikaisemmin selkeän rajapinnan, johon asti projektimme sovellusta toteuttaa.
Olen erittäin tyytyväinen ryhmämme työmoraaliin ja sisäisiin suhteisiin. Kaikki tekivät hommansa tunnollisesti. Tekninen ohjaaja Jussi Mäkinen oli erittäin suureksi avuksi projektin edetessä.
Projektinhallinta on asia, mikä oli projektissamme ehkä eniten retuperällä. Eväitä hallittuun projektin ohjaamiseen ei juuri opiskelussa anneta, joten vastaavien ohjaajien tulisi tähdentää projektipäällikön tehtävien tärkeyttä. Tälle uhraisin ainakin yhden koulutuksen projektin alussa. Projektipäällikön valtaa ja vastuuta tulisi korostaa.
Opin projektin aikana paljon ja olen taas yhtä kokemusta arvokkaampi. Työn tekemisestä eri ihmisten kanssa saa korvaamattoman arvokasta kokemusta tuleviin tehtäviin. Minua harmittaa eniten se, että työmäärä on aikaan ja opintoviikkoihin nähden aivan kohtuuton. Tämä on ongelma, joka kalvoi koko projektin ajan.
Projektin tarkoitus lienee opettaa projektityöskentelyyn sekä tuoda ilmi sen ongelmat ja haasteet. Tämä tavoite tuli mielestäni täytettyä. Toinen tärkeä tavoite, eli valmis tuote aikataulussa, taas ei toteutunut. Nythän ei tietysti kukaan kuole tai keneltäkään ei mene työpaikka, mutta mielestäni tulisi tarkoin miettiä, miten olisi menetelty oikeassa ohjelmistoprojektissa ongelmien huomaamisen jälkeen.
9.2	 Tiina Pöyhönen
Ennen projektia tunsin silkkaa kauhua tulevaa kevättä ajatellessani. Kuinka selviäisin gurujen joukossa? Millaisia toiset ryhmän jäsenet olisivat? Uskaltaisivatko kaikki sanoa eriävän mielipiteensä asioista? Osaisimmeko käyttää työkaluja? Tulisiko yhtään mitään sovelluksesta, jonka tekeminen meille annettaisiin?
Saman kauhun vallassa menivät ensimmäiset viikot itse projektistakin. Opimme hirveästi uusia asioita dokumentointi-, palaveri- ja haastattelukäytännöistä. Kaikki oli täysin uutta ja kummallista. Samaan aikaan ryhmä tutustui toisiinsa sekä muihin projektiin liittyneisiin ihmisiin ja yhteistyö alkoi pelata. Oli kiehtova tutustua kolmeen täysin erilaiseen ihmiseen ja alkaa työskennellä heidän kanssaan.
Kun ryhmätyö alkoi sujua, hälvenivät epäluulot ja kauhuskenaariotkin. Jos joku ei ymmärtänyt jotain asiaa, toiset selittivät sitä niin pitkään, että asia tuli selväksi. Ajan mittaan huomasimme, että kaikilla neljällä ryhmäläisellä saattoi olla jostain luotavaan sovellukseen liittyvästä ongelmasta aivan erilainen ajatus ja oli kiinnostavaa olla mukana muokkaamassa niistä kaikkia tyydyttävä kompromissi. Yleensä tilaajilla ja ohjaajilla oli vielä kuitenkin viides, kuudes ja seitsemäskin näkemys samaiseen asiaan ja sen ujuttaminen meidän kompromissiimme olikin sitten ihan eri juttu. 
Ryhmä toimi mainiosti. Kiistat luotavasta sovelluksesta ratkaistiin yleensä kaikkia tyydyttävästi ja kaikki ymmärsivät niiden olevan sovellukseen liittyviä, eivätkä henkilökohtaisia ristiriitoja. Projektihuoneessa oli hauskaa ja sinne oli mukava tulla.
Dokumentteja hiottiin pitkään ja hartaasti, jotta ne saataisiin kaikkia tyydyttäviksi. Hermoja raastavasta työstämisestä oli kuitenkin varmasti hyötyä tulevaisuuden työelämää varten, sillä asiakirjoissa täytynee olla pilkut ja isot kirjaimet kohdallaan sekä sisällön vastata tuotettavaa ohjelmaa.
Sovelluksen toteuttaminen alkoi epäilemättä liian myöhään ja sen valmistuminen venyi kovasti. Tämä johtui pitkälti työkalujen käyttöönotossa ilmentyneistä ongelmista, jotka aiheuttivat melkoisen verenpainetta nostattavaakin sähköpostinvaihtoa ylläpidon kanssa. Työkaluongelmista seurasi tietenkin se, ettei uuteen ohjelmointitekniikkaan tutustumista päästy aloittamaan tarpeeksi ajoissa. Toisaalta sitten, kun päästiin, kaikki omaksuivat tekniikan melko nopeasti ja sovelluksen luominen lähti hyvin vauhtiin.
Opin kevään aikana valtavasti erilaisten ihmisten kanssa toimimisesta, sovelluksen luomisesta alusta alkaen, dokumentoinnista, palaveeraamisesta ja miljoonasta muusta asiasta, joihin projektin aikana väistämättä törmäsi. Kiitän projektikavereita mielenkiintoisesta ja hauskasta keväästä pikkuisessa, mutta kotoisassa projektihuoneessa!
9.3	 Teemu Vähä-Ruka
Ennen projektien alkamista piti jännittää, mahtuuko niihin edes mukaan laiskan miehen opintoviikkomäärällä. Kun vielä syksy oli mennyt erityisen laiskasti, oli melkoinen helpotus, kun mukaan valittiin. Tällöin tiesin, että keväältä on mahdollisuus saada ainakin 5 opintoviikkoa.
Aloitusluento löi aika lailla välittömästi jalat alta ja projektin työmäärä alkoi pelottaa. Ohjaajien ”lohduttavat” vakuuttelut siitä, että yhtä lukuun ottamatta kaikki ovat projekteista selvinneet, eivät hirmuista helpotusta tuoneet.
Toinen asia jännityksellä odottamani asia oli se, millaiseen ryhmään on laitettu ja millainen aihe osuu kohdalle. Ryhmä vaikutti kuitenkin heti hyvältä ja sattuipa siihen yksi ennalta tuttu kaverikin. Aihekin oli sikäli mieluinen, että se oli yliopistolle toteutettava projekti.
Projektin alkuajat menivät tietenkin uusien asioiden opettelussa ja ryhmään tutustumisessa, mutta siitähän ne asiat lähtivät rullaamaan. Vaatimusten määrittelyyn ja suunnitteluun käytetty aika oli ehkä vähän liiankin pitkä, toisaalta hyvin suunniteltu on (kai) puoliksi tehty. Joka tapauksessa vaatimukset rönsyilivät ja paisuivat välillä liikaa. Tässä olisi sekä ryhmän että tilaajan puolelta tarvittu tiukempaa linjanvetoa.
Toteutuksen aloittaminen oli etenkin työkaluongelmien takia todella tuskaista. Vaikka paljon ehkä jäi vielä tekemättä, niin paljon saimme mielestäni myös aikaan. Jokaisella ryhmän jäsenellä oli työmoraali kohdillaan. Välillä tuntui, että vapaa-aikaa sohvalla löhöämiseen ei jäänyt yhtään, kun kaikki menot projektin viemän ajan lisäksi koetti kalenteriin sovittaa.
Projektin aikana oppi paljon uusia asioita, mutta kireä aikataulu alkoi välillä puuduttaa. Ryhmä oli loistava, erimielisyydet projektiin liittyvistä asioista saatiin (välillä pitkienkin) keskustelujen avulla muodostettua yhteisiksi mielipiteiksi ja projektihuoneella oli aina hauskaa. Kiitokset kaikille projektin jäsenille työntäyteisestä, mutta viihtyisästä keväästä!
9.4	 Timo Ylönen
Odotin Sovellusprojektin alkua innokkaana, koska arvelin sen pitävän sisällään hyvin konkreettista työtä. Tammikuun viimeinen päivä päästiin sitten alkuun hommassa. Ensi alkuun projekti vaikutti toteutettavissa olevalta ja mielenkiintoiselta. Alkuvaihe oli kuitenkin aikamoista hässäkkää sisältäen dokumentoinnin opettelua alkeista lähtien, perehdytyksiä, haastatteluita, palavereja ja lukuisia linkkejä laajoille WWW-sivustoille perehdyttäväksi. Too much information! 
Halutun sovelluksen vaatimukset olivat alkuvaiheessa varsin auki ja pientenkin asioiden sopimiseen tuntui tuhraantuvan paljon aikaa. Kokemuksen puutteen vuoksi ryhmällämme ei ollut ehkä riittävästi pontevuutta rajata vaatimuksia. Toisaalta eri vaatimusten työläyttä oli vaikea arvioida ilman kokemusta WWW-ohjelmoinnista. 
Teknisen toteutuksen puolella ryhmällä oli jossain vaiheessa hieman ongelmia ohjelmistojen kanssa. Suurelta osin tämä johtui puutteista tiedonkulussa. Meidän olisi pitänyt rohkeammin mennä kyselemään ylläpidolta vastauksia. Toisaalta ylläpitokin olisi voinut paremmin kommunikoida sähköpostin välityksellä, kun sen käyttöä kerran projektin alkuvaiheessa painotettiin ensisijaisena kommunikoinnin välineenä. 
Ryhmämme toimi koko projektin ajan hyvin. Projektikopista tulikin koko kevään ajaksi eräänlainen tukikohta, jonne tuli mentyä aina ensimmäisenä aamulla ja josta sitten illalla lähdettiin käymään kotona. Henki oli sellainen, että kenelle tahansa oli helppo sanoa eriäväkin mielipiteensä ja toisaalta tarpeen vaatiessa kyseltiin neuvoa ihan reilusti. Lisäksi huonoillekin vitseille naurettiin.
Kaiken kaikkiaan projekti oli työläs, mutta erittäin antoisa kokemus. On toisaalta harmi, että niin lyhyeen ajanjaksoon tulee niin paljon uutta opeteltavaa. Toisaalta ahkeruus palkitaan tässäkin asiassa ja tuntuisi siltä, että hullusta työmäärästä huolimatta projekti on mahdollista viedä kunnialla läpi. 

10	Yhteenveto
Projekti toteutti prototyypin WWW-pohjaisesta kyselyjen laatimis-, hallinta- ja analysointisovelluksesta Jyväskylän yliopiston käyttöön. Sovelluksen osia tulevat olemaan kyselyiden luominen WWW-ympäristöön, vastausten hallinta sekä tulosten muodostaminen ja esittäminen.
Projektin kuluessa aiheen huomattiin olevan oletettua selvästi laajempi, joten sovelluksesta ehdittiin toteuttaa vain kyselyiden luominen ja niihin vastaaminen. Näihinkin osioihin jäi vielä puutteita, joita kesän jatkokehityksellä täydennetään. Kerätyn aineiston muodostaminen tilastoiksi ja tulosten esittäminen siirrettiin kokonaan syksyllä seuraavan opiskelijaprojektin projektin tehtäväksi.
Projektin läpivienti oli vaativaa työtä, mutta projektiryhmä teki parhaansa ja pääsi omasta mielestään vaikeuksista huolimatta hyvään lopputulokseen. Aluksi suunnitellusta aikataulusta ja ominaisuuksista jäätiin huomattavasti jälkeen, mutta kuten sanottua, aihe oli paljon laajempi, kuin sen oli ajateltu olevan.
Suurimpina murheina projektissa olivat aikataulun epäonnistuminen ja pitkään kestäneet ongelmat työkalujen kanssa. Omat vaikeutensa aiheuttivat tietenkin täysin uudet asiat, joita projektissa tuli vastaan. Kokonaisuutena projekti oli tarkoituksensa mukainen, sillä aluksi kaikille oudot projektin työtavat ja uudet ohjelmointityökalut tulivat ryhmän jäsenille tutuiksi.
Projektin täydelliseksi läpiviemiseksi olisi vaadittu paljon enemmän kokemusta kaikilta osapuolilta ja ehkä hieman enemmän oma-aloitteellisuutta ryhmän jäseniltä. Joiltain osin kuitenkin juuri oma-aloitteellisuus saattoi ajaa toteutusta väärään suuntaan. 
Lähteet
Antti Auerin, Eija Ihanaisen ja Jari Rantamäen toimittamat esimerkit heidän tarpeistaan kyselyn osalta.
Hillebrand Minna, Silván Markus, Vanhanen Antti ja Ylitalo Marko, ”Koppelo-projektin projektikansio”, Jyväskylän yliopisto, tietotekniikan laitos, 2002.
Hilpinen Toni, Koivuniemi Marko, Mäkinen Jussi, Nurminen Miika, ”Kiuru-projektin projektikansio”, Jyväskylän yliopisto, tietotekniikan laitos 2002.
Horppu Ismo, Mielityinen Markku ja Vire Markku, ”Kotka-projektin projektikansio”, Jyväskylän yliopisto, tietotekniikan laitos, 2000.
Jaakkola Mia, Juutinen Sanna, Lupari Matti ja Nieminen Mikko, ”Kolibri-projektin projektikansio”, Jyväskylän yliopisto, tietotekniikan laitos, 2001.
Kujala Pauli, Lahtonen Tommi, Lappalainen Vesa ja Nurminen Miika, ”Korpin koodausohje”
Kyppö Jorma ja Vesterholm Mika, ”Java-ohjelmointi”, Talentum Media Oy, 2001
Lesonen Minna, Pekkanen Hannu, Tawast Tuukka ja Uuksulainen Heikki, ”Korppi-projektin projektikansio”, Jyväskylän yliopisto, tietotekniikan laitos, 2001.
Lintunen Sampsa, Pöyhönen Tiina, Vähä-Ruka Teemu, Ylönen Timo, ”Kottarainen- projektin Vaatimusmäärittely” Jyväskylän yliopisto, tietotekniikan laitos, 2003.
Lintunen Sampsa, Pöyhönen Tiina, Vähä-Ruka Teemu, Ylönen Timo, ”Kottarainen- projektin Projektisuunnitelma” Jyväskylän yliopisto, tietotekniikan laitos, 2003.
Lintunen Sampsa, Pöyhönen Tiina, Vähä-Ruka Teemu, Ylönen Timo, ”Kottarainen- projektin Sovellussuunnitelma” Jyväskylän yliopisto, tietotekniikan laitos, 2003.
Lintunen Sampsa, Pöyhönen Tiina, Vähä-Ruka Teemu, Ylönen Timo, ”Kottarainen- projektin Haastatteluraportti” Jyväskylän yliopisto, tietotekniikan laitos, 2003.
Momjian Bruce, “PostgreSQL: Introduction and Concepts”, http://www.postgresql.org/docs/aw_pgsql_book/, 8.1.2002
Santanen Jukka-Pekka, ”Opinnäytteiden kirjoittaminen, lyhyt oppimäärä”, Jyväskylän yliopisto, tietotekniikan laitos, 2000.
Santanen Jukka-Pekka, ”Tietotekniikan Sovellusprojektien ohje”, Jyväskylän yliopisto, tietotekniikan laitos, 2002.
Sun Microsystems, “JavaTM 2 Platform, Standard Edition, v 1.4.1 API Specification”, http://java.sun.com/j2se/1.4.1/docs/api/,  16.9.2002.
Liitteet
Liite 1: Työmäärän jakautuminen tehtävittäin
Liitteessä on esitetty projektin työmäärän jakautuminen tehtävittäin. Määrissä on pientä epätarkkuutta, sillä ajat on otettu jäsenten aikakirjoista, joihin muun muassa pääosa testauksesta on merkitty ohjelmoinnin yhteyteen.

Liite 2: Työmäärän jakautuminen viikoittain
Liitteessä on esitetty aikakirjoihin merkittyjen työtuntien jakautuminen eri viikoille. Työmäärän lasku projektin lopussa johtuu Sampsa Lintusen kesätöiden alkamisesta.