Tietotekniikan
opiskelijaprojektien kehitys

Projektiopetuspäivä,
perjantai 18.4.2008, AgAud2

Jukka-Pekka Santanen
Jyväskylän yliopisto
Tietotekniikan laitos


Sisältö

Opiskelijaprojektien kehitysvaiheet

aiheiden ja tilaajien,
aiheiden ja opiskelijoiden valinnan,
projektiorganisaation ja resurssien,
suunnittelun ja läpiviennin,
oppimistavoitteiden ja käytänteiden,
tulosten ja toiminnan arvioinnin sekä
projektihallinnan, ryhmätyön ja jäsenten johtamisen
näkökulmasta.

Tilastoa ja käytänteitä

Tilastoa

Vuosina 1988-1994 yli 42 projektia,
keväästä 1995 lähtien 157 projektia.
Kaksi keskeyttänyttä opiskelijaa,
pahimmillaan projektit viivästyneet yli
puoli vuotta suunnitellusta.
Projekteista noin puolet yrityksille,
joka kymmenes valtiolle ja kunnille,
viidesosa tietotekniikan laitokselle ja
neljäsosa muille yliopiston laitoksille.
Aiemmin Tietotekniikan cl-työprojekti,
nykyisin Sovellusprojekti.

Pysyviä käytänteitä

Yhden lukukauden ohjelmointityö,
ryhmässä 3 - 4 opiskelijaa,
joista kukin käyttää projektiin vähintään 200 työtuntia (5 - 8 ov, 10 - 15 op),
2 - 8 ryhmää samaan aikaan.
Osalle pääaineopiskelijoista pakollinen,
korvattavissa tietotekniikan työkokemuksella.
Aktiivinen ohjaus ja seuranta.

1988-1989 ohjelmistoja tutkimukseen ja kursseille

Aiheet ja tilaajat

Tieteellisen laskennan ohjelmistoja
tavoitteet osin tutkimuksessa ja jatko-opiskelijoiden rekrytoinnissa sekä
kursseihin liittyviä tekniikoita ja ohjelmia.
Ohjelmistot ja kielet pääosin tuttuja laitoksen henkilökunnalle.
Ei välttämättä tilaajaa, ei loppukäyttäjiä,
eikä monestikaan todellisia tarpeita tai ongelmia taustalla.

Aiheiden ja opiskelijoiden valinta

Aiheita tietotekniikan henkilökunnalta,
ei tietoista ja vertailevaa valintaa.
Opiskelijoilta vaaditaan tietyt kurssit tai
vähimmäismäärä opintoja.
Ryhmät pääosin kaveritoiveiden mukaan.
Valinnan suoritti pääosin tentaattori.

Projektiorganisaatio ja resurssit

Ryhmässä 1-4 opiskelijaa ja
vähintään yksi ohjaaja.
Professori hyväksyi kaikki suoritukset,
ohjaajat vaihtuivat jopa puolivuosittain.
Ei omaa huonetta tai tietokoneita ryhmän käytössä.
Ei laskutettu tilaajia,
ei siten omaa rahoitusta tai hankintoja projekteilla.

Suunnittelu ja läpivienti

Ei prosessimallin valintaa,
eikä käytänteiden määrittelyä.
Projektin läpivientiä ei suunniteltu.
Ei ryhmässä projektipäällikköä, mutta
ajanseuranta vaadittiin heti alusta lähtien.
Pahimmillaan vain pari projektipalaveria.
Sovelluksen pinnallista suunnittelua,
suurin tehtäväkokonaisuus ohjelmointia.

Oppimistavoitteet ja ohjaus

Tavoite ohjelmointitaitojen kehittyminen,
ryhmätyön kokemukset,
ei projektimuotoinen toiminta.
Tulosten tavoitteet sovellukseen liittyen.
Säännöllinen tapaaminen ohjaajan kanssa
keskittyen kehitettävään sovellukseen.
Ei tietoista projektin läpiviennin ohjausta,
ei työtä tukevia luentoja ja
vähän kehitysvälineiden perehdystä.

Tulokset ja niiden arviointi

Huomattavaa osaa kehitetyistä sovelluksista ei hyödynnetty ja/tai jatkokehitetty.
Ohjelma kera kommentoidun lähdekoodin,
käsikirja kuvaten ohjelman rakennetta ja käyttöä,
Projektin läpivientiä, kohdattuja ongelmia ja vaihtoehtoja sekä tehtyjä ratkaisuja ei juurikaan dokumentoitu.
Toteutumaa ei verrattu suunnitelmaan,
eikä arvioitu mahdollisia erojen syitä.

1990-1994 työkaluja JY:lle

Aiheet ja tilaajat

Aiheet tietotekniikalta, liikuntatieteistä ja kirjastolta sekä
yksittäisiä aiheita yliopiston ulkopuolelta.
Aiheiden hankinta ei edelleenkään ollut aktiivista ja järjestelmällistä.
Tilaajalla pääosin vain aihealueen tuntemusta,
tilaaja ei aina ollut tietoinen tarpeistaan tai kyennut määrittelemään niitä.
Henkilökunnan ja opiskelijoiden työtä tukevia ohjelmistoja,
uusia tekniikoita, ohjelmistoja, aliohjelmakirjastoja ja sovelluskohteita,
Kaikkiin projekteihin ei liittynyt ohjelmointia, mm. ohjelmistojen käyttöön tutustumista, käyttöohjeita ja oppimateriaaleja.

Aiheiden ja opiskelijoiden valinta

Ohjelmia tilaajan todelliseen tarpeeseen.
Aiheissa enemmän henkilökunnalle uusia kehitysvälineitä ja tekniikoita johtaen
erillisen teknisen ohjaajan käyttöön.
Opiskelijoiden valinta ohjaajien toimesta
ilmoittautumislomakkeen pohjalta.
Pieniä parannuksia aiempaan toimintaan.

Projektiorganisaatio ja resurssit

Tilaajan sitouttaminen osassa projekteista hankalaa,
tulosten hyödyntäminen sekä oikeudet ja velvollisuudet sopimatta.
Useimmilla ryhmillä tila ja pari mikroa.
Tietokoneiden lisääntyminen toi atk-tuen,
teknisinä ohjaajina monissa projekteissa.
Tentaattoriksi yliassistentti ja
hiljalleen projektien ohjaajista joku.
Ohjaajat edelleen toimivat muun opetuksen tai tutkimuksen ohella,
opintojakson kokonaishallinta oli vaikeaa ohjaajien vaihtuessa usein.
Ei edelleenkään laskutettu tilaajia,
laite-, ohjelmisto- ja ohjausresursseista
sopiminen laitoksen johdon kanssa.

Suunnittelu ja läpivienti

Sovellukselta vaadittiin esisuunnitelma.
Käytänteet kehittyivät aiempien projektien ongelmien kautta.
Projektin läpiviennin suunnittelu hiljalleen mukaan, kun
hallinnassa ja ryhmätyössä ohjelmointia
enemmän ongelmia,
aikataulun viivästyminen tai ryhmän
jäsenten erilaiset roolit ja vastuunkanto.

Oppimistavoitteet ja ohjaus

Ohjauksessa huomiota sovelluksen
toteutuksen ohella myös
ryhmän toimintaan yhdessä ja
osittain projektin läpivientiin.
Muilta osin pitkälti vanhoin eväin.

Tulokset ja niiden arviointi

Ohjelmiston ja käsikirjan ohella monesti
erillinen käyttöohje ja ohjelmiston aliohjelmien kuvaus.
Osa ryhmistä arvioi projektin päättyessä
ohjelmiston laatua ja projektin läpivientiä.
Projekti ja sovellus raportoitiin pääosin yhdessä dokumentissa.
Ohjaaja laati parin virkkeen lausunnon.

1995-2000 suunnitelmallisuus ja aktiivinen aihehankinta

Aiheet ja tilaajat

Aiheiden hankintaan, ryhmien ohjaukseen ja opintojakson hallintaan yksi henkilö
useammaksi vuodeksi (ensin määräaikainen)
tuoden pitkäjänteisyyttä toimintaan ja
kehittämiseen sekä
jatkuvuutta yritysaiheiden hankintaan.
Aiheista pieni osa tietotekniikasta,
kolmasosa muualta yliopistolta ja
puolet yrityksiltä, valtiolta ja kunnilta.
Pääosin työtä tukevia ohjelmistoja,
ei liiketoiminnan kannalta olennaisia
ohjelmistoja.
Yritykset sitoutettiin projektimaksun ja
-sopimuksen avulla,
mutta yliopiston tilaajien kanssa ei edes sopimusta tulosten hyödyntämisestä.

Aiheiden ja opiskelijoiden valinta

Aiheiden määrittely ylimalkaista,
osittain otettiin tietoisia riskejä aihealueitten ja kehitysvälineiden osalta.
Ohjelmia vain tarpeeseen ja
tilaajan tulee olla tietoinen tarpeistaan.
Uusia tekniikoita, ohjelmistoja, ohjelmointiympäristöjä ja sovelluskohteita,
ohjelmointia kaikissa projekteissa,
kaikkiin projekteihin tekninen ohjaaja.
Aiheiden ja opiskelijoiden valinta yhdessä tilaisuudessa,
valitsijoina tusina opettajaa ja atk-tukea.

Projektiorganisaatio ja resurssit

Ryhmä 2-3 opiskelijaa, myöhemmin 3-4.
Tilaajan edustaja(t), vastaava ohjaaja ja tekninen ohjaaja erillisiä henkilöitä,
henkilöllä ei useaa roolia.
Osalla tilaajista runsaasti tietotekniikan alan kokemusta,
osalla vain aihealueen kokemusta,
uusia linjoja tietotekniikkaan,
osallistujien heterogeenisyys lisääntyi.
Kaikilla ryhmillä oma huone tai nurkkaus ja useimmille jäsenille mikro,
joitakin ryhmiä myös tilaajan tiloissa.
Tilaajalta ohjelmistoja ryhmän käyttöön.
Ryhmiä ohjasi sama vastaava ohjaaja,
tekniselle ohjaajalle tuntipalkkio tuloista,
ryhmää neuvoivat tarvittaessa ohjelmointikursseja pitävät oman työnsä ohessa.

Suunnittelu ja läpivienti

Tavoitteet ja hyödyt tilaajalle mainittiin suunnitelmassa.
Projektiorganisaation heterogeenisyys johti tarkempaan termistön ja tavoitteiden määrittelyyn,
vaatimusten määrittely osassa projekteja,
sovelluksen suunnittelu vähintään yleisen rakenteen osalta.
Prosessimallien käsitteet tutuiksi ja hyöty tiedostettiin,
vesiputousmalli ja protoilu,
vaiheiden jako tehtäviin, tehtäväjako ja aikataulutus,
ei projektipäällikköä kaikissa ryhmissä.
Viikottaiset palaverit ja pöytäkirjat,
mukana jäsenten ja ohjaajien ohella myös tilaaja.

Oppimistavoitteet ja ohjaus

Oppimistavoitteet projektiohjeissa.
Tilaajan edustaja(t) ohjasi aihealuetta ja osittain tavoitteita,
vastaava ohjaaja projektin suunnittelua ja läpivientiä,
tekninen ohjaaja sovelluksen toteuttamista sekä
laitoksen atk-tuki vastasi mikroista ja ohjelmistoista.
Ohjelmistoprojekteja, prosessimalleja ja
projektihallintaa kuvaava luento (4 t).
Perehdytyksiä tekniikoihin ja työkaluihin,
pääosin tilaaja ja tekninen ohjaaja.

Tulokset ja niiden arviointi

Ohjelmiston ohella vähintään suunnitelma ja raportti
sisältäen sekä sovelluksen että projektin osuudet,
monesti myös käyttöohje, asennusohje tai asennusohjelma.
Vastaavan ohjaajan tiivistetty parin sivun lausunto,
tilaajalta lausunto tuloksista ja läpiviennistä.

2000-2005 prosessit ja vastuunjako

Aiheet ja tilaajat

Lamavuodet karsivat yritysten aiheita ja
lisäsivät projekteja yliopistolle,
tilanne korjaantui reilu vuosi laman jälkeen.
Korppi-opintotietojärjestelmää kehitettiin yli kymmenen projektin ja palkattujen
ohjelmoijien voimin.
Yliopiston ulkopuolisia tilaajia tusina,
pyrittiin laajentamaan asiakaskuntaa
vaatien paljon työtä aiheita hankkivalta.
Opiskelijoiden sisäänotto kasvoi alussa ja
hakijamäärät alkoivat vähetä lopussa.
Suoritusten vähimmäismäärää nostettiin,
enemmän opiskelleet osaavampia ja
kypsempiä ohjelmoinnin ohella myös
ryhmätyön ja projektihallinnan osalta.
Osasta yliopiston aiheista projektimaksu, joiden osalta myös projektisopimus.

Aiheiden ja opiskelijoiden valinta

Aiheiden hankinta ja opintojakson hallinta yhdellä henkilöllä,
2-4 vastaavaa ohjaajaa lukukaudessa.
Aiheista neuvotteluun panostettiin,
vältettiin heikosti määriteltyjä aiheita,
ei valittu kilpailua vääristäviä ehdotuksia,
osittain myös yritysten tuotekehitystä.
Asiakas-palvelinjärjestelmät sekä
tietokannat mukaan,
useamman käyttäjän järjestelmät,
laajempia ja monimutkaisempia aiheita,
kriittisempiä järjestelmiä,
WWW-sovelluksia ja mobiilisovelluksia.
Vastaavat ohjaajat valitsivat opiskelijat,
valitsijat valitsivat aiheet ja muodostivat ryhmät.

Ohjaajien vuorovaikutus

Kukin vastaava ohjaaja perehdytettiin
kokeneemman ohjaajan toimiessa hänen tukenaan projektissa.
Mahdollisti keskustelut ja erilaiset mielipiteet.
mahdollisti valintojen arvioinnin,
toi esiin uusia ratkaisuvaihtoehtoja sekä
johti opintojakson käytänteiden huomattavaan kehittymiseen.
Vastaavien ohjaajien kesken palavereja projektien ongelmiin ja ratkaisuihin liittyen,
kehittivät ennestään projektien käytänteitä,
koottiin ohjauksen tehtävädokumentiksi.

Projektiorganisaatio ja resurssit

Ryhmillä oma huone laitoksen tiloissa ja
kullakin jäsenellä oma mikro.
Useampi vastaava ohjaaja toi työtaakan lähemmäs laillista,
kullakin ohjattavana 1-5 ryhmää.
Visualisteja ja käytettävyyskonsultteja
joissakin ryhmissä.

Suunnittelu ja läpivienti

Sovellukseen ja projektiin liittyvä suunnittelu ja raportointi eri dokumenteiksi,
projektin tilan ajantasaista seurantaa
tarkennettiin.
Vaadittiin projektipäällikkö ja varapäällikkö.
Päällikkyyden kierrätyksestä luovuttiin,
koska projektihallinta kärsi neljän kuukauden projektissa (2 vk vaihtamiseen).
Vaatimusmäärittely kaikissa projekteissa,
''mitä tehdään'' ennen kuin ''miten tehdään''.
Käyttötapauksista luovuttiin kokeilun jälkeen,
tilalle käyttöliittymäkartta ja -hahmotelmat,
kohdealueen tuettavia tai ohjelmiston
prosesseja kuvaavia kaavioita.
Järjestelmän yleisrakenteen, luokkarakenteen ja tietokantarakenteen kuvauksia.
Käytänteiden määrittely ja riskien hallinta vaadittiin.

Oppimistavoitteet ja ohjaus

Oppimistavoitteet ryhmän määriteltävä.
Tekijänoikeusluento, käytettävyyspäivä ja versiohallintaluento osaksi projektia,
luennot sekä väliesittelyt ja kirjoitusasukorjaukset kirjattiin omalle kurssilleen.
Dokumenttipohjat projektisuunnitelmalle ja vaatimusmäärittelylle,
Excelilla ajankäytön kirjaus sekä raportit tehtävittäin ja viikottain graafeina.
Tarvittaessa ryhmälle projektin ulkopuolinen perehdyttäjä.
Katselmoinnit vähintään lähdekoodille,
tulokset hyväksyttiin tilaajan ja ohjaajien toimesta sekä
oleellisimmat dokumentit allekirjoitettiin.

Tulokset ja niiden arviointi

Ohjelmisto, projektisuunnitelma ja -raportti,
vaatimusmäärittely,
sovellussuunnitelma ja -raportti sekä
monesti käyttö- ja asennusohje.
Toteutuman ja suunnitelman erot,
mahdollisten syiden arviointi ja ''jälkiviisaus''.
Vastaavan ohjaajan 4-6 sivun lausunto,
laatimisen tukena arviointilomake.

2006- ajantasainen toiminta

Tavoitteena taitoja ja kokemusta

projektimuotoisesta työtavasta,
ryhmätyöstä ja johtamisesta,
projektihallinnasta ja laadusta,
määrittelystä ja suunnittelusta
ohjelmoinnista ja testauksesta,
kirjallisesta ja suullisesta viestinnästä sekä
tarvittavien dokumenttien laatimisesta.

Viimeisiä muutoksia

Projektien nopeampi käyntiinlähtö sekä
nopea ja säännöllinen palaute
etenkin käyttöliittymän demojen ja
väliversioitten kautta.
Inkrementaaliseen, iteratiiviseen ja ketterään malliin siirtyminen.
Projektin ja sovelluksen tila näkyväksi,
tilannekatsaus kussakin palaverissa.
Tavoitteista neuvottelu projektin aikana.
Vapaan lähdekoodin projekteissa jäsenet sopimuksella sitoutuvat sijoittamaan
tulokset valitun lisenssin alle.

Tulevia haasteita

Työmäärän tarkempi arviointi jo aiheesta neuvoteltaessa,
vaatimuksia määriteltäessä sekä sovellusta suunniteltaessa ja ohjelmoitaessa
huomioiden tilaajan, jäsenten ja ohjaajien erilaiset taidot ja kokemukset
aihealueesta, kehitysvälineistä, projekti- ja ryhmätyöstä.
Aiheeseen ja sovellukseen liittyvien riskien tarkempi kartoittaminen.
Heterogeenisen ryhmän muodostaminen huomioiden tarvittavat erilaiset taidot,
etenkin projektipäällikkyyteen ja hallintaan liittyen.
Yleensä sovelluksen toteutus ei ongelma,
suurimmat puutteet ja virheet tapahtuvat projektin ja sen tulosten hallinnassa.
Ohjaajien kiireiden vähentäminen syys- ja kevätlukukausien projektien vaihtuessa.

Projektimaksu ja -sopimus

Maksu, julkisuus ja oikeudet

Projektimaksu salauksen tason mukaan,
julkinen 1000 euroa/opiskelija ja
salainen projekti 2000 euroa/opiskelija,
eli 4000 - 8000 euroa (+ALV).
Julkisessa opiskelijoiden tulokset julkisia,
salaisessa lähdekoodit, ohjelmat ja niihin liittyvät dokumentit salaisia,
aina vähintään projektin läpivientiin
liittyvät dokumentit julkisia.
Julkistettavat tulokset tarkastaa tilaaja.
Oikeuksien siirto tilaajalle.
Maksun lisäksi tilaaja toimittaa tarvittaessa ohjelmistokehitystyökalut,
vaatii tilaajan edustajan sitoutumista.
Projektisopimusmalli http://www.mit.jyu.fi/
palvelut/sovellusprojektit/sopimus.html.
Yleensä myös vaitiolosopimus.
Ei voi luvata takuuta tai ylläpitoa.

Projektimaksun käyttö

Lyhentämättöminä projektien kuluihin.
Teknisten ohjaajien tuntipalkkiot,
mikrojen ja ohjelmien hankinta,
kirjojen ja muun materiaalin hankinta,
matkakulut sekä
projekteihin liittyvät kestitykset.



Lyhyet kuvaukset toteutetuista projekteista
http://www.mit.jyu.fi/palvelut/sovellusprojektit/.