Projektisuunnitelma. CoSCA-simulaattorin jatkokehitysprojekti. TeamDC

Samankaltaiset tiedostot
Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Projektisuunnitelma. CoSCA-simulaattorin jatkokehitysprojekti. TeamDC

Projektisuunnitelma. CoSCA-simulaattorin jatkokehitysprojekti. TeamDC

I1 Iteraatiosuunnitelma. CoSCA-simulaattorin jatkokehitysprojekti. TeamDC

I2 -Iteraatiosuunnitelma. CoSCA-simulaattorin jatkokehitysprojekti. TeamDC

T Iteraatio Demo TeamDC I1 - Iteraatio

T Projektisuunnitelma

Lego Mindstorms anturit

T Ohjelmistokehitysprojekti I - Iteraatiosuunnitelma (I2)

T Loppukatselmus

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

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

T Projektikatselmus

Siimasta toteutettu keinolihas

T SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B

Työkalut ohjelmistokehityksen tukena

T Käyttäjäkeskeisen tuotekehityksen harjoitustyö kevät 2005

T Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi

A4.1 Projektityö, 5 ov.

Projektin suunnittelu

Projektiryhmä Tete Työajanseurantajärjestelmä. Riskienhallintasuunnitelma

Tietotekniikan Sovellusprojektit

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

S11-09 Control System for an. Autonomous Household Robot Platform

UCOT-Sovellusprojekti. Testausraportti

PROJEKTISUUNNITELMA

Menetelmäraportti - Konfiguraationhallinta

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

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

Projektityö

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Loppuraportti. CoSCA-simulaattorin jatkokehitysprojekti. TeamDC

Harjoitustyö Case - HelpDesk

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

IIZT4020 Projektitoiminta

Kurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset

Ryhmä (11) Numeropankki

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

EDISTYMISRAPORTTI - PS Virtuaaliyhteisöjen muodostaminen Versio 1.0

Projektin suunnittelu. Pienryhmäopetus - 71A00300

Data Sailors - COTOOL dokumentaatio Riskiloki

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

Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen

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

Matematiikan oppifoorumi Projektisuunnitelma

pikaperusteet 3.3. versio

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

COTOOL dokumentaatio Riskiloki

Toteutusvaihe T3 Digi-tv: Edistymisraportti

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

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

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

Convergence of messaging

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Valtioneuvoston kanslia VAIN VIRKAKÄYTTÖÖN Hallinto- ja palveluosasto/hallintoyksikkö Terja Ketola PTJ2008-työsuunnitelma 1 (5)

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

TIETOJENKÄSITTELYTIETEIDEN LAITOS

Oheisessa liitteessä on määritelty lyhyesti, millaiset kehittämistoimet hankerekisteriin laitetaan, ja mitä rekisterikenttiin on tarkoitus kirjata.

Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

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

KanTa. ereseptin käyttöönoton valtakunnallinen

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Ohjelmistojen mallintaminen. Luento 11, 7.12.

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant

File [Otsikko] Projektisuunnitelma. SPT2014 Selvitysprojekti projektihallinnan työkaluista

ENG-A1002 ARTS-ENG-Projekti. B-kori

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 2: Tarkistuslistoja

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

LAATURAPORTTI Iteraatio 1

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

SEPA diary. Dokumentti: SEPA_diary_PK_RI.doc Päiväys: Projekti : AgileElephant Versio: V0.2

SOVELLUSALUEEN KUVAUS

Kieliaineistojen käyttöoikeuksien hallinnan tietojärjestelmä

T Testiraportti - järjestelmätestaus

Projektin suunnittelu A71A00300

Projektisuunnitelma. Projektin tavoitteet

Määrittely- ja suunnittelumenetelmät

Projektin suunnittelu A71A00300

AS Automaatio- ja systeemitekniikan projektityöt - Projektisuunnitelma

Heuristisen arvioinnin muistilista - lyhyt versio

CS-C2130 / CS-C2140 / CS-E4910 Software Project 1 / 2 / 3 ja Accenture Luento

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

Projektiryhmä Tete Työajanseurantajärjestelmä. Versionhallintasuunnitelma

PROJEKTIN DOKUMENTOINTI JOUNI HUOTARI

ehops Henkilökohtainen opintosuunnitelma

Laatukäsikirja - mikä se on ja miten sellainen laaditaan?

Internet-pohjaisen oppimisympäristön laadinta

TIEA4 Projektityö, 5-10 op.,

Projektiryhmä Tete Work-time Attendance Software. Henkilökohtainen SE harjoitus: loppuraportti

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Ohjelmistotekniikka - Luento 2

Kurssin sisältö. Kurssilla vähemmän. Johdatus ohjelmistotekniikkaan. Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan?

Transkriptio:

Projektisuunnitelma CoSCA-simulaattorin jatkokehitysprojekti

Muutoshistoria Versio Pvm Tekijä Kuvaus 0.1 27.9.2005 Elina Kontro Ensimmäinen mallipohjaan täytetty versio, englanninkielinen 0.2 5.10.2005 Elina Kontro 0.3 6.10.2005 Laura Lehtola Dokumentointi kielen vaihto, rakenteen muuttamista, sisältöä budjetti, termejä Asiakkaan tavoitteet, riskienhallintasuunnitelma ja riskiloki. Kirjoitusvirheiden korjausta. 0.4 8.10.2005 Kari Ylihärsilä Ohjelmointikäytännöt ja työkalut, ideoiden lisäystä. 0.5 8.10.2005 Elina Kontro 0.6 9.10.2005 Laura Lehtola 0.7 9.10.2005 Elina Kontro 0.8 12.10.2005 Kari Ylihärsilä 0.9 12.10.2005 Elina Kontro Templaten vaihto, sisällön päivitystä, PP-iteraatio suunnitelman tietojen siirtäminen tähän dokumenttiin ja päivittäminen Terminologiaa, vaatimustenhallinta, alustava budjetti, katselmointikäytännöt. Aikatauluja, termejä, korjauksia Tarkka kuvaus työkaluista, versionumerot ja linkit työkaluihin. Yleisiä parannuksia. Merkitsin avoimia kohtia TODO merkinnöillä. Työmääräarvioita, palaverikäytäntöjen & budjetin päivitys, kehittäjä -> suunnittelija 0.95 14.10.2005 Kari Ylihärsilä Parannuksia, lisätty rakennekaavio, tekstin selvennystä. 0.96 14.10.2005 Elina Kontro 0.97 15.10.2005 Elina Kontro SEPA päivitystä 0.98 16.10.2005 Elina Kontro 1.00 16.10.2005 Laura Lehtola Oppimistavoitteita, SEPA aiheet, kokouskäytäntöjen päivitys, virheiden korjausta SEPA päivitystä, oppimistavoitteiden päivitystä, työmääräarvio PP iteraatioon päivitetty, johdanto, tuntiraportointia tarkennettu, pienryhmät lisätty, korjauksia Käyttäjä- ja asiakasnäkökulman varmistaminen, vaatimusten hallinnan uusi versio, kirjoitusvirheiden korjausta ja muotoilua. 1

Sisällysluettelo 1 Johdanto 1 1.1 Projektin tarkoitus ja laajuus 1 1.2 Terminologia ja määritykset 2 1.3 Järjestelmä ja ympäristö 3 2 Osapuolet ja henkilöstö 4 2.1 Projektiryhmä 4 2.2 Muut osapuolet 5 3 Tavoitteet ja lopetuskriteerit 6 3.1 Asiakkaan tavoitteet 6 3.2 Projektiryhmän tavoitteet 7 3.3 Henkilökohtaiset oppimistavoitteet 8 3.4 Projektin keskeytyskriteerit 9 3.5 Projektin lopetuskriteerit 9 4 Resurssit ja budjetti 10 4.1 Henkilöt 10 4.2 Materiaalihankinnat 10 4.3 Budjetti 10 5 Työkäytännöt ja työkalut 11 5.1 Käytännöt 11 5.1.1 Iteratiivinen kehitys 11 5.1.2 Iteraation suunnittelu 11 5.1.3 Dokumentointi 12 5.1.4 Riskienhallinta 13 5.1.5 Tuntiraportointi 13 5.1.6 Ohjelmakoodin koon raportointi 14 5.1.7 Kommunikointi ja palaverikäytännöt 14 5.1.8 Pienryhmät 15 5.1.9 Katselmointikäytännöt 16 5.1.10 Iteraatiodemot 16 5.1.11 Vikojen seuranta 17 5.1.12 Versionhallinta 17 5.1.13 Koodauskäytäntö 17 5.1.14 Vertaistestaus 18 5.1.15 Vaatimusten määrittely ja hallinta 18 5.2 Laadunvarmistussuunnitelma 20 5.2.1 Projektitason asiat 20 5.2.2 Iteraatiotason asiat 20 5.3 Työkalut 20 5.3.1 Kehityslaitteisto 20 5.3.2 Ohjelmistot 20 5.3.3 Kehitystyökalut 21 1

5.4 Standardit 22 5.5 SEPA -työt 22 5.5.1 Coding Camp 23 5.5.2 Käytettävyystestit 23 5.5.3 Staattiset menetelmät 24 6 Vaiheistus 25 6.1 Projektin suunnittelu (PP) 26 6.2 Toteutusiteraatio 1 (I1) 29 6.3 Toteutusiteraatio 2 (I2) 31 7 Riskiloki 32 8 Lähdeluettelo 35 2

1 Johdanto Tämä dokumentti on -projektiryhmän projektisuunnitelma Teknillisen Korkeakoulun kurssilla T-76.4115 Ohjelmistoprojekti I. Dokumenttia päivitetään koko projektin ajan. 1.1 Projektin tarkoitus ja laajuus Tehdastuotannon päivittäisenä haasteena on tehdä nopeasti päätöksiä tilausten aikataulutuksesta. Tällaisia päätöksiä ovat esimerkiksi koska toimitetaan, kenelle ja milloin tuotantoresurssit ovat käytettävissä. Päätösprosessi on yritykselle tärkeä, kuitenkin vain harvat yritykset käyttävät hyväkseen oman toimitusketjun hallitaan alan tutkijoiden kehittämiä satoja eri sääntöjä, jotka auttavat parempaan tilausten hallitsemiseen ja aikataulutukseen. Helsingin Kauppakorkeakoulussa (HKKK) kehitetyn CoSCA (Coordination of Supply Chain Activities) simulaattorin avulla on ollut tarkoitus mallintaa tilaus-toimitusketjun päätöksiä ja hajautettua tuotannonohjausta. Tällä hetkellä simulaattorilla on ollut yksi käyttäjä eikä siihen näin ollen ole kehitetty graafista käyttöliittymää. Asiakkaan keskeisenä tavoitteena on päästä hyödyntämään simulaattoria tuotannon suunnittelun ja ohjauksen sekä toimitusketjun hallinnan opetuksessa. Lisäksi asiakas haluaisi tarjota yritysmaailmassa työskenteleville käytännönihmisille mahdollisuuden ymmärtää kokeilun kautta, miten erilaisten päätössääntöjen käyttäminen vaikuttaa tilaus-toimitusprosessin ennustettavuuteen ja tehokkuuteen. Tässä ohjelmistokehitysprojektissa on tarkoitus toteuttaa olemassa olevaan CoSCA -simulaattoriin helposti opittava ja miellyttävä käyttöliittymä, jonka avulla oppijat pystyvät kokeilemaan, miten erityyppisten päätössääntöjen käyttäminen erilaisissa tilanteissa vaikuttaa töiden läpimenoon liittyviin tunnuslukuihin. Projektin alussa tullaan kartoittamaan myös muiden lisätoiminnallisuuksien tarvetta ja toteutusmahdollisuuksia tässä projektissa. Tämän ohjelmistokehitysprojektin toteuttaa - projektiryhmä T-76.4115 Ohjelmistoprojekti I-kurssin harjoitustyönä. Projektiryhmässä on 7 henkilöä, joista kaikilla on kiinteä 150 tunnin työmäärä käytettävissä projektiin. Osa ryhmän jäsenistä suorittaa projektin ohessa parityönä työmäärältään 20h/henkilö olevan T- 76.5633 Ohjelmistotuotannon erikoiskurssin projektia tukevasta aiheesta ja panostavat projektiin 20h/henkilö lisää. Projektin aikataulu on kiinteä alkaen 27.9.2005 ja loppuen 2.3.2006, sisältäen joululoman 8.12.2005-9.1.2006. 1

1.2 Terminologia ja määritykset Seuraavassa taulukossa 1 on kuvattu tässä dokumentissa ja projektissa käytettäviä termejä ja lyhenteitä. Taulukko 1. Projektissa käytettäviä lyhenteitä ja terminologiaa Termi tai lyhyenne Kuvaus CoSCA Coordination of Supply Chain Activities CoSCA järjestelmä Tässä projektissa kehitettävä järjestelmä, joka käsittää sekä jo kehitetyn simulaattorin, että siihen kehitettävän käyttöliittymän. CosCA simulaattori HKKK:ssa kehitetty CoSCA simulaattori, jossa ei toistaiseksi ole varsinaista käyttöliittymää. HKKK Helsingin Kauppakorkeakoulu I1 1. Toteutusiteraatio (Implementation 1) I2 2. Toteutusiteraatio (Implementation 2) LOC Lines of Code Koodirivien määrä Management ryhmä Projektin johtoryhmä, johon kuuluvat projektipäällikkö (Elina), vaatimusmäärittelijä (Laura) sekä pääsuunnittelija(kari). NCLOC Lines of code without comments and blank lines Koodirivien määrä, poislukien kommenttirivit ja tyhjät rivit PP Projektisuunnittelu iteraatio Projektiryhmä Projektin toteuttava ryhmä (management ryhmä + suunnittelijat), jossa on seitsemän jäsentä. SEPA Software Engineering Practice Assignment, erillinen projektin ohessa pääasiassa parityönä toteutettava työ Suunnittelijat Projektin 4 jäsentä (Santeri, Samuel, Aleksi ja Vesa), joiden päävastuulla on järjestelmän tekninen suunnittelu, ohjelmointi ja testaus. TKK Teknillinen korkeakoulu XML Extensible Markup Language, tiedosto formaatti 2

1.3 Järjestelmä ja ympäristö Tämän projektin keskeisin tavoite on toteuttaa olemassa olevaan CoSCA-simulaattoriin graafinen käyttöliittymä. Olemassa oleva CoSCA -simulaattori on toteutettu Javalla, käyttäen open source työkaluja. Järjestelmää kehitetään ja testataan Windows-ympäristössä. Järjestelmän simulaatioajo kestää tyypillisesti (opetuskäytössä) muutaman sekunnin, haastavassa tapauksessa (tutkimuskäytössä) noin tunnin. Simulaattoria varten ei tarvita erillistä erikoisalustaa. Kuva 1. Simulaattorin rakennekaavio. Tällä hetkellä simulaattori lukee asetuksensa XML -tiedostosta ja palauttaa tuloksensa tekstimuodossa, joka voidaan jatkokäsitellä esim. Excel-taulukossa. Tarkempaa tietoa CoSCA-Tekninen Määrittely dokumentissa. Järjestelmä toimii seuraavanlaisessa esimerkkikokoonpanossa: Pentium 4 (2,6 Ghz), 512Mb muistia. 3

2 Osapuolet ja henkilöstö Kuvassa 2 on esitetty projektin osapuolet. Asiakas Katariina Kemppainen Tekninen ohjaaja Lauri Svan Käyttäjät Projektiryhmä Projektipäällikkö Elina Kontro Vaatimustenhallinta Pääsuunnittelija Laura Lehtola Kari Ylihärsilä Suunnittelijat Aleksi Airola Vesa Haukkavaara Samuel Korpi Santeri Saarinen Mentor Kari Suhonen Kuva 2. Projektin osapuolet 2.1 Projektiryhmä Projektiryhmän vastuulla on selvittää asiakkaan vaatimukset ja toteuttaa niiden mukainen käyttöliittymä ja toiminnallisuus CoSCA-simulaattoriin. Taulukossa 2 on esitetty projektiryhmän jäsenten roolit yleisellä tasolla sekä heidän yhteystietonsa. Taulukko 2. -projektiryhmä ja yhteystiedot Rooli Nimi Puhelinnumero Sähköpostiosoite Projektipäällikkö Elina Kontro 040 569 8496 elina.kontro(at)pp.inet.fi Mentoryhteyshenkilö Vaatimustenhallinta, Laura Lehtola 050 591 0358 laura.lehtola(at)hut.fi Asiakasyhteyshenkilö Pääsuunnittelija Kari Ylihärsilä 050 574 1463 kylihars(at)cc.hut.fi Tekninenyhteyshenkilö Suunnittelija Aleksi Airola 0400 511 144 aleksi.airola(at)tkk.fi Suunnittelija Vesa Haukkavaara 040 731 1467 vthaukka(at)cc.hut.fi Suunnittelija Samuel Korpi 040 821 954 sjkorpi(at)cc.hut.fi Suunnittelija Santeri Saarinen 050 585 7981 santeri.saarinen(at)hut.fi 4

2.2 Muut osapuolet Projektin muut osapuolet ovat asiakas ja T-76.4115 Ohjelmistoprojekti 1 -kurssin henkilökunta. Asiakas-osapuoli voidaan jaotella itse asiakkaaseen, tekniseen ohjaajaan sekä ohjelmiston tuleviin käyttäjiin. Projektin asiakas ja yhteyshenkilö on Katariina Kemppainen Helsingin Kauppakorkeakoulusta. Asiakkaan vastuulla on esittää tavoitteet ja vaatimukset projektille prioriteettijärjestyksessä sekä hyväksyä toteutettu järjestelmä. Tekninen ohjaaja Lauri Svan on toteuttanut CoSCA simulaatorin nykyisen version ja hän on käytettävissä olemassa olevan toteutuksen teknisten ratkaisujen opastamisessa, sekä tulevan toiminnallisuuden suunnittelussa tekniseltä kannalta. Ohjelmiston käyttäjää projektissa edustaa joukko Helsingin Kauppakorkeakoulun opiskelijoita. Asiakaan vastuulla on auttaa etsimään vähintään kolme opiskelijaa, jotka tulevat olemaan käytettävissä projektin aikana (max. 5h/hlö). Käyttäjiltä pyritään kartoittamaan simulaattorin käyttöön liittyviä tarpeita ja lisäksi käyttäjät osallistuvat projektin puitteissa järjestettäviin käytettävyystesteihin. Mentor Kari Suhonen edustaa kurssin henkilökuntaan, auttaa projektiryhmää projektissa erityisesti kurssin suorittamiseen liittyvissä kysymyksissä sekä arvostelee palautukset. Taulukko 3. Muiden osapuolien yhteystietoja Rooli Nimi Puhelinnumero Sähköpostiosoite Asiakas Katariina Kemppainen 050-514 9749 katariina.kemppainen(at)hkkk.fi Tekninen ohjaaja Lauri Svan lauri.svan(at)hut.fi Käyttäjä N.N. Käyttäjä N.N. Käyttäjä N.N. Mentor Kari Suhonen kari.suhonen(at)hut.fi 5

3 Tavoitteet ja lopetuskriteerit Seuraavissa kappaleissa kuvataan projektiryhmän ja asiakkaan asettamia tavoitteita projektille sekä projektin keskeytys ja lopetuskriteerit 3.1 Asiakkaan tavoitteet Taulukko 3 listaa asiakkaan tärkeimmät tavoitteet ja niiden hyväksyntäkriteerit prioriteettijärjestyksessä. Taulukko 4: Asiakkaan tärkeimmät tavoitteet Tavoite 1. Kyetä käyttämään järjestelmää opetuksen apuvälineenä HKKK:n tilaus-toimitus kurssilla sekä yritysyhteistyössä 1.1 Havainnollistaa tilaus-toimitus -aihealueen pääkäsitteitä ja niiden välisiä suhteita 1.2 Havainnollistaa graafisesti päätössääntöjen ominaisuuksia ja kyvykkyyttä erilaisissa tilanteissa 1.3 Tarjota opiskelijoille mahdollisuus pelata toisiaan vastaan tilaus-toimitus päätösvalintojen tekemisessä 1.4 Tarjota opiskelijoille mahdollisuus itse kokeilla käytettyjen päätössääntöjen vaikutusta läpimenoaikoihin erilaisilla koeasetelmilla 1.5 Tarjota opiskelijalle mahdollisuus tarkastella simulaatioajon vaiheita graafisesti 2. Käyttää olemassa olevan CoSCA simulaattorin tärkeimpiä toiminnallisuuksia graafisen käyttöliittymän avulla 3. Järjestelmän jatkokehitettävyys 4. Erilaiset käyttäjäryhmät kykenevät helposti saamaan ja asentamaan ohjelman itselleen 5. Lisätä asiakkaan omaa ymmärrystä siitä, miten tilaus-toimitus -aihealueen asioita pitäisi opettaa Hyväksyntäkriteeri Kohtien 1.1-1.5 toteutuminen Järjestelmällä kykenee helposti luomaan erilaisia testitilanteita (= systeemeitä) Käyttöliittymän avulla kykenee ajamaan läpi erilaisia testitilanteita, joiden tulokset järjestelmä esittää opiskelijan ymmärtämässä muodossa. Käyttöliittymä ilmoittaa tilanteen valittujen muuttujien suhteen valittuna ajanhetkenä. Järjestelmä on niin helppokäyttöinen ja intuitiivinen, että käyttäjän ei tarvitse olla aihealueen asiantuntija. Käyttöliittymässä on mahdollisuus tarkastella ajon tilannetta tärkeimpien muuttujien suhteen tietyissä ajonaikaisissa pisteissä. Tutkija voi itse käyttää itselleen tärkeimmiksi nimeämiään simulaattorin ominaisuuksia nykyistä toimintatapaa helpommin. Koodi on modulaarista ja kommentoitu projektissa päätetyn käytännön mukaisesti. Järjestelmä on paketoitu ja siinä on käyttö- ja asennusohjeet. Järjestelmän voi kätevästi asentaa Windows XP käyttöjärjestelmään. Asiakas pystyy nimeämään vähintään kaksi oivallustaan siitä, miten aihealueen vaikeimmat asiat selitetään aihealuetta tuntemattomille yliopistoopiskelijoille. 6

3.2 Projektiryhmän tavoitteet Projektiryhmän tavoitteet ja kriteerit, joilla nämä tavoitteet todetaan saavutetuiksi on listattuna taulukossa 5. Taulukko 5: Projektiryhmän yhteiset tavoitteet Tavoite Hyväksyntäkriteeri 1. Kurssin läpäiseminen Ryhmä saa kurssista hyväksytyn arvosanan 2. Saada aikaan asiakkaan tarpeita vastaava tuote 3. Saada käytännön kokemusta ohjelmistotuotteen toteuttamisesta iteratiivisesti ja inkrementaalisesti 4. Henkilökohtaiset oppimistavoitteet saavutetaan Asiakas on tyytyväinen toteutettuun ja toimitettuun ohjelmistoon, ja kokee sen täyttävän sille asetetut vaatimukset. Projektin jälkeen jokainen ryhmän jäsen kokee tietävänsä enemmän ko. ohjelmistokehitysmenetelmästä kuin ennen projektin alkua ja pystyy mainitsemaan jonkin menetelmästä käytännön kautta oppimansa asian. Jokainen ryhmän jäsen kokee saavuttaneensa itselleen asettamansa oppimistavoitteet (luku 3.3) 5. Kurssista saadaan arvosana 5 Ryhmän lopullinen arvosana kurssista on 5 6. Saada onnistuneesta projektista maininta ansioluetteloihin 7. Oppia uusia ohjelmistotuotannon tekniikoita 8. Sujuva kommunikaatio asiakkaan kanssa 9. Projektiryhmän toimiva kommunikointi ja ryhmätyöskentely Projektiryhmä saa työstään positiivisen arvion sekä asiakkaalta että järjestävältä kurssilta ja voi tätä tunnustusta hyödyntää tulevissa työnhakutilanteissaan. Kukin projektiryhmän jäsen pystyy listaamaan 3 ohjelmistotuotannon tekniikkaa tai työkalua, joista kokee tietävänsä enemmän kuin ennen projektin alkua. Asiakas kokee saaneensa riittävästi tietoa projektin etenemisestä koko projektin ajan ja voineensa vaikuttaa siihen, mitä ominaisuuksia järjestelmään toteutetaan. Sovitut tehtävät hoidetaan sovittuihin päivämääriin mennessä ja työmäärä jakaantuu tasaisesti ryhmän kesken. Ryhmänjäsenet kokevat pysyvänsä riittävällä tarkkuudella ajan tasalla muiden ryhmäläisten tekemisistä. 10. Tavoitteet on asetettu oikein suhteessa käytettäviin resursseihin Projektin tavoitteet saavutetaan ylittämättä kurssin asettamaa työpanosta (150 h tai 190h/ henkilö). 7

3.3 Henkilökohtaiset oppimistavoitteet Taulukossa 6 on lueteltu jokaisen ryhmän jäsenen henkilökohtaiset oppimistavoitteet. Taulukko 6: Henkilökohtaiset oppimistavoitteet Ryhmän jäsen Rooli Henkilökohtainen oppimistavoite Santeri Saarinen Samuel Korpi Vesa Haukkavaara Aleksi Airola Kari Ylihärsilä Laura Lehtola Elina Kontro Suunnittelija Saada käytännön kokemusta tämän suuruusluokan (7 henkeä, 6kk) ohjelmistoprojektista. Projektissa haluaisin erityisesti saada kokemusta projektin laadunhallinnasta, dokumentoinnista, sekä projektin etenemisen seuraamisesta sille asetettujen vaatimusten näkökulmasta. Suunnittelija Suunnittelija Suunnittelija Pääsuunnittelija Vaatimusmäärittelijä Projektipäällikkö Oppia paremmin hyödyntämään tarjolla olevia ohjelmistokehitystyökaluja (erityisesti Eclipse) erilaisissa ohjelmistokehitysprojekteissa. Kehittää olemassa olevia ryhmätyöskentelytaitojaan. Tärkein tavoitteeni on oppia käyttöliittymä- ja käytettävyyssuunnittelun perusteet sekä käytettävyystestauksen asioita. Toinen tavoitteeni on syventää osaamistani oliopohjaisen järjestelmän suunnittelutavoissa. Lisäksi toivon projektin suorittamisen välillisesti tukevan tuotantotalouden opintojani. Odotan pääseväni soveltamaan opittuja asioita siinä laajuudessa, että se valmistaa työelämää varten. Olen perehtynyt jonkin verran käytettävyyteen ja on aika päästä kokeilemaan omia siipiään. Konkreettisina oppimistavoitteina on tutustuminen tarkemmin vaatimustenmäärittelyyn ja - hallintaan sekä Eclipse kehitysympäristön ja sen plug-inien kokonaisvaltaisempi hallitseminen. Opettelen, miten 7-henkisen projektiryhmän toimintaa pyöritetään niin, että projekti kantaa hedelmää. Opin tuntemaan ohjelmistoprojekteja niin, että voisin muun koulutuksen avulla madollisesti konsultoida alalla. Opin ihmisten johtamisesta ja ohjelmistoarkkitehtuurin suunnittelusta niin, että selvästi koen olevani valmis näihin myös työtehtävissä. Saada käytännön kokemusta käyttäjälähtöisestä vaatimusmäärittelytyöstä tiiviissä yhteistyössä asiakkaan kanssa, sekä oppia lisää asiakkaan odotuksien hallitsemisesta ja asettamisesta oikealle tasolle. Oppia lisää menestyksellisestä toimimisesta asiaorientoituneen asiakkaan ja teknisesti orientoituneiden kehittäjien välillä. Saada kokemusta ohjelmistokehitysprojektin vetämisestä Käytettävyys-näkökulman soveltaminen käytännön projektissa 8

3.4 Projektin keskeytyskriteerit Projekti keskeytetään projektiryhmän yhteisellä päätöksellä, mikäli kaksi tai useampi projektiryhmän jäsen jättää projektin kesken tai mikäli asiakas lopettaa yhteistyön projektiryhmän kanssa. 3.5 Projektin lopetuskriteerit Projekti loppuu, kun jokin seuraavista kriteereistä täyttyy: Kurssi päättyy aikataulunsa mukaisesti Asetettuja tavoitteita vastaava tuote on toimitettu asiakkaalle, ja asiakas on sen hyväksynyt Asiakas hyväksyy projektin päättyneeksi muista syistä 9

4 Resurssit ja budjetti Seuraavassa kuvataan projektin suunnitellut resurssit ja budjetti. 4.1 Henkilöt Projektin työmääräarviot vaiheittain kullekin henkilölle on esitetty taulukossa 7. Työmääräarvioita päivitetään, kun todelliset työmäärät selviävät ja myöhempien vaiheiden suunnittelu tarkentuu. Koko projektissa yksittäisen henkilö työmäärä kokonaisuudessaan on joko 150h tai 190h. Laajempi työmäärä pitää sisällään SEPA-työn. Taulukko 7: Projektin työmääräarviot vaiheittain Elina Laura Kari Aleksi Vesa Samuel Santeri Kontro Lehtola Ylihärsilä Airola Haukkavaara Korpi Saarinen Yhteensä PP 88 80 78 23 22 23 23 337 I1 52 40 55 65 80 80 80 452 I2 50 30 57 62 88 87 87 461 Yhteensä 190 150 190 150 190 190 190 1250 4.2 Materiaalihankinnat Työn tekeminen ei edellytä erityisiä ohjelmisto- tai laitteistohankintoja. Projektissa tullaan käyttämään omia sekä SoberIT -laboratorion laitteistoja, sekä ohjelmistoja jotka ovat joko open source tuotteita tai käytettävissä SoberIT -laboratorion tai TKK:n ATK-keskuksen puolesta. 4.3 Budjetti Taulukossa 8 on esitetty projektin teoreettinen budjetti, jonka tarkoituksena on havinnollistaa mitä tämän kokoinen projektin todellisuudessa voisi maksaa. Projektiryhmän työstä ei todellisuudessa laskuteta, joten se ei aiheuta kuluja asiakkaalle. 10

Taulukko 8: Projektin arvioitu budjetti Kustannuserä Työmääräarvio Palkkio/h Kustannukset Asiakkaan SoberIT:lle maksama summa 3 000 Asiakkaan projektiin käyttämä aika 100 h 50 5 000 Projektiryhmän työ 1 250 h 50 62 500 Kustannukset yhteensä 70 500 5 Työkäytännöt ja työkalut Tässä kappaleessa kuvataan projektissa käytettävät työkäytännöt sekä työkalut. Osa käytännöistä on pakollisia kurssin puolesta ja osa on erikseen valittu helpottamaan projektin kulkua. 5.1 Käytännöt Seuraavissa kappaleissa on kuvattu projektissa noudatettavat käytännöt. Lisäksi luvussa 5.2 on listattu SEPA - käytännöt, joita projektissa käytetään. 5.1.1 Iteratiivinen kehitys Projektissa tuotettava ohjelmisto toteutetaan käyttäen iteratiivista ja inkrementaalista kehitysmallia. Projekti koostuu kolmesta iteraatiosta, joita ovat projektin suunnittelu (PP), toteutusiteraatio 1 (I1) sekä toteutusiteraatio 2 (I2). Vaiheiden tavoitteet, tehtävät ja aikataulut on kuvattu tarkemmin kappaleessa 6 Vaiheistus. I1-iteraatiossa pyritään toteuttamaan asiakkaan vaatimusten mukaiset keskeisimmät ominaisuudet siten, että iteraation lopussa pidettävässä iteraatiodemossa esitetään testattu ja toimiva sovellus. I2-iteraatiossa sovellukseen lisätään toiminnallisuutta iteraation alussa tehtävän suunnitelman mukaisesti. Toteutusiteraatiot voidaan vielä sisäisesti jakaa seuraaviin päävaiheisiin: suunnittelu, toteutus, testaus ja iteraatio demo. Tarkemmin iteraatioiden sisäinen vaiheistus aikatauluineen on kuvattu kappaleissa 6.2 Toteutusiteraatio 1 ja 6.3 Toteutusiteraatio 2. 5.1.2 Iteraation suunnittelu Iteraation tarkempi suunnittelu tehdään ko. iteraation alussa. I1 ja I2 iteraatioiden suunnittelu tehdään yhdessä asiakkaan kanssa edellisen vaiheen iteraatiodemon jälkeen. Iteraation suunnittelupalaverissa projektiryhmä esittää alustavan ehdotuksen tulevalle iteraatiolla työmääräarvioineen. Asiakas voi esittää muutoksia ja asiakas 11

on vastuussa iteraatioon valittujen vaatimusten asettamisesta toteutusjärjestykseen. Asiakaspalaverin jälkeen, iteraation ensimmäisen viikon aikana suunnitelmaa ja työmääräarvioita tarkennetaan. Suunnittelijat osallistuvat suunnitelman tekemiseen ja työmäärien arviointiin I1 ja I2-iteraatioiden osalta. Iteraation suunnitelmat päivitetään tämän dokumentin lukuun 6. Vaiheistus. Ennen virallista aikataulun mukaista palautusta lähetetään suunnitelma asiakkaalle katselmoitavaksi. 5.1.3 Dokumentointi Projektissa tuotettava dokumentaatio palautetaan viimeistään sille määriteltynä palautuspäivänä sekä asiakkaalle että mentorille. Dokumentit lähetetään asianosaisille sähköpostitse PDF-formaatissa. Lisäksi dokumentit julkaistaan projektiryhmän kotisivulla. Projektissa käytettävä dokumentointikieli on suomi, paitsi teknisen spesifikaation, käyttäjän käsikirjan sekä koodin kommentoinnin osalta, jotka tulee tehdä englannin kielellä. Projektissa tuotettava dokumentaatio, vastuuhenkilöt ja dokumenttien palautuspäivämäärät on koostettu taulukkoon 9. Mikäli dokumentti katselmoidaan, on katselmoinnit myös merkitty. Taulukkoa päivitetään projektin edetessä kunkin vaiheen osalta. Taulukko 9. Dokumentit ja niiden vastuuhenkilöt Päävastuu Katselmointi pvm Katselmointi ryhmä Palautus pvm PP Projektisuunnitteluvaiheen Elina Kontro 3.10. suunnitelma Projektisuunnitelma Elina Kontro 14.10.2005 Asiakas, 17.10. Projektiryhmä Vaatimusmäärittely Laura Lehtola 15.10.2005 Asiakas, Projektiryhmä 17.10. Tilannekatsausraportti Elina Kontro 18.10.2005 Managementtiimi 19.10 Kehitystyöohjeistus Kari Ylihärsilä 17.10 SEPA: Käyttäjätestit Elina Kontro 17.10 SEPA: Coding Camp Kari Ylihärsilä 17.10 I1 Projektisuunnitelma Laatusuunnitelma Tekninen määrittely Testaus Vaatimusmäärittely Tilannekatsausraportti SEPA päiväkirjat I2 Projektisuunnitelma Elina Kontro Kari Ylihärsilä Laura Lehtola Elina Kontro Elina Kontro 12

Laatusuunnitelma Tekninen määrittely Testaus Vaatimusmäärittely Vertaisryhmän testiraportti Vertaisryhmän Käyttäjän käsikirja Loppuraportti Tilannekatsausraportti SEPA päiväkirjat Kari Ylihärsilä Laura Lehtola Elina Kontro Elina Kontro 5.1.4 Riskienhallinta Projektin riskienhallintaan käytetään kevennettyä ja modifioitua versiota Jyrki Kontion kehittämästä Riskit menetelmästä. Projektiin liittyvät keskeisimmät riskit pyritään tunnistamaan heti projektin alussa ja lisäksi yksittäisiin iteraatioihin liittyvät riskit tunnistetaan jokaisen iteraation aloituspalaverissa. Yleisimpien riskien osalta niiden tilaa monitoroidaan kerran kunkin iteraation aikana sen puolivälissä olevassa viikkopalaverissa. Mikäli jonkin riskin realisoitumisesta havaitaan merkkejä, analysoidaan sitä tarkemmin ja se otetaan erityistarkkailun alle. Riskilokia päivitetään kunkin seurantapalaverin yhteydessä. Projektin riskienhallintakäytäntö koostuu seuraavista askeleista: Uhkien tunnistaminen Uhkien syiden tunnistaminen Uhkien todennäköisyyden arviointi Uhkien vaikutusten arviointi Riskejä vähentävien toimien käyttäminen Riskitilanteen seuranta Tunnistetut uhat kootaan riskilokiin (Luku 7). Lokiin merkitään erikseen myös se, mikäli riski liittyy johonkin tiettyyn projektin vaiheeseen. 5.1.5 Tuntiraportointi Työtuntien raportointiin käytetään Excelillä tehtyä taulukkoa. Kullakin ryhmän jäsennellä on oma Excel - tiedosto, johon tunnit raportoidaan ja johon jokainen huolehtii omien tuntiensa raportoinnista. Tiedostossa on oma sivunsa jokaiselle iteraatiolle. Tiedostoja säilytetään ryhmän TikiWiki sivuilla. 13

Tunnit tulee raportoida päivittäin, mieluiten heti suoritetun tehtävän jälkeen. Jokaisen viikon maanantaina klo 12:00 tulee edellisen viikon tuntien olla ajan tasalla. Tämän jälkeen projektipäällikkö koostaa yhteenvedon raportoiduista tunneista ja kooste julkaistaan tiistaina projektiryhmän www-sivuilla. Tuntiraportointikoosteen perusteella tarkistetaan, onko tarvetta tehdä muutoksia esim. iteraation työmääräarvoihin, työtehtävien jakamiseen tai suunniteltuun toteutustoiminnallisuuteen. 5.1.6 Ohjelmakoodin koon raportointi Ohjelmakoodin koosta pidetään kirjaa koodirivien määrän perusteella (LOC ja NCLOC), sekä ohjelman arkkitehtuurikaavion avulla. Arkkitehtuurikaavio auttaa ymmärtämään ohjelman kompleksisuutta koodirivien määrää paremmin, ja antaa kokonaiskuvan ohjelman rakenteesta. Koodirivien määrä sen sijaan on kaaviota paremmin mitattavissa oleva, muihin projekteihin suhteuttamiskelpoinen elementti. 5.1.7 Kommunikointi ja palaverikäytännöt Kaikkiin ennalta sovittuihin palavereihin tulee olla agenda, joka toimitetaan osallistujille etukäteen. Palaverin alussa agenda käydään läpi ja tehdään tarvittaessa muutoksia. Viikkopalavereiden yhteydessä erillistä agendaa ei tarvitse lähettää, sillä palaverin agenda sovitaan aina edellisessä palaverissa. Kaikista palavereista tehdään pöytäkirjat, joihin kirjataan tärkeimmät päätökset. Pöytäkirjat tallennetaan TikiWikiin ryhmän kotisivuilla niille varattuun paikaan. Projektiryhmän sisäinen kommunikointi Projektinsuunnitteluiteraation aikana management -ryhmä kokoontuu viikkopalavereihin, jossa käydään läpi suunnittelua, tarkistetaan kunkin tehtävien eteneminen ja sovitaan seuraavat toimenpiteet. Tämän vaiheen aikana suunnittelijat pidetään ajan tasalla tärkeimmistä päätöksistä ja tapahtumista lähettämällä vähintään kerran viikossa tiedotuksia sähköpostitse. Suunnittelijoille järjestetään myös projektin käynnistyspalaveri PPiteraation aikana. I1- ja I2 iteraatioissa noudatetaan myös viikkopalaverikäytäntöä, jokaisena tiistaina seuraavanlaisella aikataululla: 9-10 Management-ryhmän palaveri 10-11 Koko projektiryhmä 11 12 Suunnittelijat Poikkeukset aikatauluun sovitaan aina erikseen. Viikkopalavereiden lisäksi voidaan järjestää erityisestä tarpeesta myös muita palavereita (kts. Esim. luku 5.1.8 Pienryhmät). 14

Palaverien lisäksi ryhmän sisäiseen kommunikointiin käytetään sähköpostia ja kiireellisiä asioita sovitaan myös puhelimitse. Dokumentaation tallentamiseen ja jakamiseen ryhmän sisällä käytetään TikiWikiä. Lisäksi tutkitaan mahdollisuutta käyttää TikiWikiä keskustelufoorumina. Kommunkointi projektiryhmän ulkopuolelle Asiakkaan, teknisen ohjaajan ja mentorin kanssa kommunikoidaan sähköpostitse sekä tarvittaessa järjestetään yhteisiä palavereita. Mentorin kanssa palavereita järjestetään vähintään yksi jokaisessa iteraatiossa. Asiakkaalle, tekniselle ohjaalle ja mentorille tarjotaan pääsy projektissa tuotettavaan materiaalin, kuten esim. vaatimusmäärittely, projektisuunnitelma ja yhteisten palaverien pöytäkirjat. Ko. dokumentit jaetaan joko TikiWikin tai erillisten www-sivujen kautta. Projektin vastuuhenkilö asiakkaan suuntaan on Laura Lehtola. Hänen tehtävänsä on sopia asiakkaan kanssa tarvittavista tapaamisista ja toimista, sekä monitoroida asiakkaan tyytyväisyyttä ja pitää huolta siitä, että projekti on asiakkaan näkökulmasta menossa oikeaan suuntaan. Projektin vastuuhenkilö mentorin suuntaan on Elina Kontro. 5.1.8 Pienryhmät PP-iteraation loppupuolella projektiryhmä jaetaan kolmeen ns. pienryhmään. Pienryhmätoiminnan tarkoituksena ottaa suunnittelijat mukaan suunnittelutehtäviin PP-iteraation aikana ja tämän avulla myös tehostetaan I1- iteraation käynnistymistä. Nyt sovitut pienryhmät ovat toiminnassa vähintään I1-iteraation alussa, mutta tarvittaessa vastuualueestaan riippuen myös I2-iteraation aikana. Ryhmät raportoivat edistymisestään viikkopalavereissa. Taulukkossa 10 on lueteltu sovitut pienryhmät ja niiden kokoonpanot. Ryhmien tuotosten aikataulut noudattavat projektin aikatauluja. Taulukko 10. Pienryhmät Pienryhmän vastuualue Tuotos Vaiheet Ryhmän jäsenet Arkkitehtuurin suunnittelu Käyttöliittymäprototyyppi Laadunvarmistussuunnittelu Arkkitehtuurisuunnitelma Ns. Paperiprototyyppi järjestelmän käyttöliittymästä Laatusuunnitelma (Testaussuunnitelma) I1 I1 I1,I2 Kari Ylihärsilä Samuel Korpi Vesa Haukkavaara Laura Lehtola Aleksi Airola Elina Kontro Santeri Saarinen Kari Ylihärsilä Elina Kontro Myöhemmin ryhmien kokoonpanoja voidaan muuttaa ja tarvittaessa voidaan sopia kokoaan uusia pienryhmiä. 15

5.1.9 Katselmointikäytännöt Projektin sisäinen katselmointiprosessi on viisivaiheinen ja se on esitetty seuraavassa numeroidussa listassa. 1) Jokaiselle projektissa tuotettavalle dokumentille määritellään vastuuhenkilö ja katselmointiryhmä. (Termillä dokumentti tarkoitetaan myös iteratiivisesti kehitettävän dokumentin uutta toimitettavaa versiota.) 2) Dokumentille määritellään palautuspäivämäärä sekä katselmointiajankohta. 3) Tuotettavan dokumentin vastuuhenkilö on velvollinen toimittamaan dokumentin katselmoitavaksi katselmointiryhmän jäsenille vuorokautta ennen katselmointiajankohtaa. 4) Katselmointiryhmän tehtävänä on katselmoida dokumentti seuraavista näkökulmista: Pienet puutteet, suuret puutteet, virheet, heränneet kysymykset. 5) Dokumentin vastuuhenkilö määrittää katselmointitilaisuudessa, miten ongelmat korjataan siten, että saadaan palautettua hyvä versio dokumentista. Osa dokumenteista katselmoidaan asiakkaan kanssa. Riippuen dokumentista katselmointi on joko kevyt tai perusteellinen. Kevyessä katselmoinnissa asiakkaan kanssa sovitaan päivä, jolloin hän saa sähköpostitse dokumentin itselleen Word-muodossa ja päivä, jolloin hän palauttaa sen kommentoituna takaisin sähköpostitse. Perusteellisessa katselmoinnissa asiakkaan kanssa sovitaan päivä, jolloin hän saa sähköpostitse dokumentin itselleen ja päivä, jolloin kokoonnutaan fyysisesti samaan paikkaan (asian kannalta olennaisimmat edustajat projektiryhmästä + asiakas) kuulemaan asiakkaan kommentit ja sopimaan asioista, jotka asiakkaan mielestä ovat dokumentissa epätarkasti tai vaatii muuten korjaamista. 5.1.10 Iteraatiodemot Iteraatiodemo toteutetaan kurssin ohjeistuksen mukaisesti. Projektipäällikkö valmistelee kalvoesitysmuotoon tilannekatsausraportin ennen iteraatiodemoa niin, että se voidaan katselmoida demoa edeltävässä viikkopalaverissa. Ohjelmiston toiminnallisuuden demonstroinnista I1 ja I2 iteraatiodemoissa vastaa pääsuunnittelija. Iteraatio demossa esitettävän sovelluksen version tulee olla, esitysmateriaalin tavoin, läpikäytävissä demoa edeltävässä viikkopalaverissa. Iteraatiodemon päivämäärät on asetettu kurssin puolesta ja iteraatiodemot pidetään Innopoli2:ssa SoberITtiloissa. Tarkemmat kellonajat ehdotetaan myös kurssin puolesta ja ovat nähtävissä kurssin kotisivuilla. Asiakasyhteyshenkilö varmistaa ajan sopimisen asiakkaalle ja tekniselle ohjaajalle. 16

PP iteraation demo pidetään 19.10 klo 13 ja I1-demo 7.12. Projektipäällikön vastuulla on, että katselmointitilaisuudessa pysytään aikataulussa ja kaikki olennaiset asiat saadaan esitettyä. 5.1.11 Vikojen seuranta Vikojen seurantaan käytetään julkisesti saatavilla olevaa Bugzilla-työkalua (www.bugzilla.org). Yksityiskohtainen ohje Bugzillan käytöstä tehdään I1 iteraation alussa tehtävään erilliseen työkaluohje-dokumenttiin. 5.1.12 Versionhallinta Projektin versionhallintatyökaluna käytetään CVS-versionhallintajärjestelmää. Repositorio sijaitsee ryhmän yhteisen työhakemiston alle ATK-keskuksella ja järjestelmään kytkeydytään suoraan Eclipsen kautta. Ennen omien tuotosten laittamista ajetaan aina cvs update. Vain kääntyvää ja toimivaa ohjelmakoodia saa päivittää repositorioon. Lisäksi koodin tulee olla kommentoitua ennen laittamista repositorioon. Versionhallinnan käyttämisestä tehdään tarkempi kuvaus I1 iteraation alussa kirjoitettavassa erilliseen työkaluohjeessa. 5.1.13 Koodauskäytäntö Ohjelmointi tehdään Javalla. Javan koodauskäytäntöinä käytetään Sunin määrittelemää Javakoodauskonventiota (http://java.sun.com/docs/codeconv), josta tehdään lyhyt yhteenveto-ohje työkaluohjeisiin. Monen suunnittelijan projektissa koodin selvä kommentointi (kriteerinä: ymmärtävätkö muut?) nousee tärkeään asemaan, tämä on myös vaatimus jatkokehtitettävyyden helpottamiseksi. Tästä syystä koodin tulee olla kommentoitua ennen CVS:n laittamista. Ei-itsestäänselvien metodien ja kenttien lisäksi kommentoidaan ratkaisun vieressä myös ongelmissa käytettyjä ratkaisutapoja. Lisäksi ohjelmakoodin kommentteihin upotetaan viestejä, ehdotuksia ja kysymyksiä toisillemme TODO-ja FIXME tagien tapaan. Tähän käytetään KYS: -tageja paikallistamaan kysymykseen relevanttia koodia. KYS: -tagin perään voidaan kirjoittaa henkilön nimi, kenelle kysymys on osoitettu ja kysymyksen perään oma nimi, jotta kysymyksen saaja voi halutessaan vastata suoraan kysyjälle. Tagin ja kysymyksen vastaanottajan nimen väliin laitetaan kaksoispiste, mutta ei välilyöntiä. Tämä sen takia, että kehittäjien on helppo etsiä vakiomuotoisella tavalla koodista itselleen osoitettuja kysymyksiä. Esimerkkejä: o o //KYS:Samuel Miten luokkien tyyppihierarkia tarkistetaan? Kari //TODO:Kari Koko puurakenteen läpikäynti. -Kari 17

5.1.14 Vertaistestaus Vertaistestaus tehdään kurssin ohjeiden mukaisesti I2 iteraatiossa ja siitä laaditaan tarkempi suunnitelma ko. iteraation alussa. 5.1.15 Vaatimusten määrittely ja hallinta Vaatimusmäärittely on silta asiakkaan ja projektiryhmän välissä. Siksi vaatimusten määrittelyyn ja hallintaan kiinnitetään erityistä huomiota projektin aikana ja sitä pyritetään tekemään mahdollisimman paljon yhteistyössä asiakkaan kanssa. 5.1.15.1 Hankinta Projektin asiakas- ja käyttäjätarpeet hankitaan iteratiivisesti. Tarpeiden kartoitus aloitetaan asiakkaan korkeantason tavoitteiden ja projektin tärkeimpien käyttäjäryhmien selvittämisestä ja priorisoinnista. Näiden perusteella tehdään käyttäjätutkimus simulaattorin toistaiseksi ainoalla käyttäjällä, joka on myös tämän projektin asiakas. Käyttäjätutkimuksessa seurataan simulaattorin käyttöä sen todellisessa käyttöympäristössä, sekä pyydetään käyttäjää mm. kuvailemaan tekemiään toimia ja toiminnan vaiheita sanallisesti käyttäjän termistön selvittämiseksi. Edellisten aktiviteettien tulosten pohjalta tehdään vaatimusmäärittelyn ensimmäinen versio sekä käyttöliittymäprototyyppi, josta haetaan palautetta asiakkaalta ja jota testataan tärkeimmällä käyttäjäryhmällä, opiskelijakäyttäjillä. 5.1.15.2 Analysointi ja priorisointi Hankittuja vaatimuksia analysoidaan kolmesta näkökulmasta, joiden perusteella niille annetaan toteutusprioriteetti (= vaihe). Näkökulmia ovat: tärkeys asiakkaalle, kiireys arkkitehtuurin kannalta toteutuskustannukset Tärkeyttä asiakkaalle arvioidaan neliportaisella asteikolla (1-4), joista kaikista ylimpään luokkaan asiakas saa asettaa korkeintaan 20% vaatimuksista. Kiireyttä arkkitehtuurin kannalta ja toteutuskustannuksia arvioidaan kolmiportaisella asteikolla. Nämä arviot tekee projektiryhmä. Toteutuskustannusten arvioinnissa otetaan huomioon kaikki vaatimuksen eteen tehtävä työn määrittelystä testaukseen ja käyttöohjeiden kirjoittamiseen. Jokaisen iteraation alussa valitaan arvioitujen näkökulmien perusteella yhdessä asiakkaan kanssa vaatimukset, jotka iteraation aikana tullaan toteuttamaan. Asiakkaan on asetettava vaatimukset asetetaan kolmeen prioriteettiluokkaan siten, että korkeimpaan prioriteettiluokkaan asiakas saa asettaa ainoastaan 20% vaatimuksista, ja toisiksi korkeimpaan 50%. Alimman luokan prioriteetteja suhteessa toisiinsa tarkennetaan iteraation aikana asiakaspalaverissa mikäli tarpeellista. 18

5.1.15.3 Toteutusiteraatioiden aikainen vaatimustenhallinta Iteraation alussa toteutettaviksi valittuja käyttötapauksia tarkennetaan yksityiskohtaisiksi käyttötapauksiksi. Kaikentyyppisten vaatimusten tilaa monitoroidaan koko projektin ajan. Mahdolliset tilat vaatimukselle on esitetty taulukossa 11. Taulukko 11: Tila Ehdotettu Hyväksytty iteraation x Toteutettu Testattu Toimitettu Hylätty Kuvaus Vaatimus on esitetty ja jossakin määrin analysoitu ohjelmiston kannalta olennaiseksi, mutta ei vielä hyväksytty mihinkään toteutusiteraatioon. Vaatimus on sovittu toteutettavaksi iteraatiossa x. Vaatimus on toteutettu, mutta sitä ei vielä ole testattu. Vaatimus on testattu ja projektiryhmän näkökulmasta valmis. Vaatimus on toteutettu asiakkaalle, joka sen on hyväksynyt. Vaatimus on hylätty. 5.1.16 Asiakas- ja käyttäjänäkökulman varmistaminen projektin aikana Asiakkaan ja käyttäjän äänen kuulumiseksi ja säilymiseksi koko projektin ajan kiinnitetään erityistä huomiota. Keskeistä tämän asian varmistamiseen on tiivis yhteistyö asiakkaan kanssa koko projektin kanssa. Lisäksi tämä varmistetaan iteraatiokohtaisilla toimenpiteillä, joista keskeisimmät on lyhyesti lueteltu seuraavassa. Project planning iteraatio Kevyt käyttäjätutkimus, jossa selvitettiin simulaattorin toistaiseksi ainoan käyttäjän kanssa aidossa käyttötilanteessa, mitkä ovat käytön perussekvenssit ja kuinka paljon erilaisia toimintoja käytetään Tiivis yhteistyö asiakkaan kanssa tärkeimpien käyttäjäryhmien ja heidän keskeisten tarpeidensa selvittämiseksi Asiakkaan osallistuminen vaatimusmäärittelyyn iteratiivisesti (raakaversioiden komentointi + puhelinkeskustelut) Toteutusiteraatio 1 Käyttöliittymäprototyypin kehittäminen palautteen saamiseksi. Prototyyppi tehdään quick and dirty tyylisesti Eclipsen käyttöliittymätyökalulla siten, että se ei ole kiinni nykyisen simulaattorin koodissa. Käyttöliittymäprototyypin testaus. Testihenkilöinä 2 opiskelijakäyttäjää ja asiakas. 19

Pyritään siihen, että lähes jokainen suunnittelija osallistuu vähintään yhteen käyttäjätestiin, jotta he näkevät oikean käyttäjän ja saavat tuntumaa siitä, mikä on hyvää ja mikä ei. Iteraation lopussa käyttäjätestit simulaattorin senhetkisellä versiolla (3 opiskelijakäyttäjää). Toteutusiteraatio 2 On-line helpin rakentaminen Käyttöohjeen kirjoittaminen 5.2 Laadunvarmistussuunnitelma Päivitetään I1-iteraation alussa! 5.2.1 Projektitason asiat 5.2.2 Iteraatiotason asiat 5.3 Työkalut Projektissa käytetään seuraavia työkaluja. 5.3.1 Kehityslaitteisto Projektissa tuotettavan ohjelmiston kehittämiseen ei tarvita mitään erikoislaitteistoa. Tavallinen kotitietokone (teholuokkaa P4 2,6 Ghz, 512Mb muistia) riittää hyvin. Ohjelman kehitys tapahtuu sekä ryhmän jäsenten omilla tietokoneilla, että SoberIT:n tietokoneilla. Kaikki käytettävät työkalut ovat joko open source -tuotteita tai ne on saatavilla TKK ATK-keskuksen tai SoberITlaboratorin puolelta. Borlandin Together Architectia, tarjotaan käyttöön projektin ajaksi kurssin puolesta. 5.3.2 Ohjelmistot Eclipse 3.1 Kehitysympäristö: Tulee Together Architectin mukana. Lisätietoa: http://www.eclipse.org Borland Together Architect: Ladataan kurssin kotisivuilta Työkalut -osiosta. http://www.soberit.hut.fi/t-76.115/ Sun Java Java 2 Platform Standard Edition 5.0 Development Kit (JDK) http://java.sun.com/j2se/1.5.0/download.jsp (JDK 5.0 Update 5 Paketti) 20

CVS Versionhallintatyökalu: Sisältyy Eclipseen Apukirjastot: Nämä tulevat ohjelmakoodin mukana. o Groovy-skriptauskieli: Groovy 1.0 JSR-03 tai uudempi (esim. groovy-1.0-jsr-03.zip osoitteesta http://dist.codehaus.org/groovy/distributions/) o COLT-matematiikkakirjasto: Colt 1.2.0 (esim. colt-1.2.0.zip osoitteesta http://dsd.lbl.gov/~hoschek/colt-download/releases/) o Commons Beanutils-apukirjasto: Beanutils 1.7.0 (esim. commons-beanutils-1.7.0.zip osoitteesta http://jakarta.apache.org/site/downloads/downloads_commons-beanutils.cgi) o Commons Logging-apukirjasto: Logging 1.0.4 (esim. commons-logging-1.0.4.zip osoitteesta http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi) o Commons Digester-apukirjasto: Digester 1.7.0 (esim. commons-digester-1.7.zip osoitteesta http://jakarta.apache.org/site/downloads/downloads_commons-digester.cgi) Bugzilla 2.20: http://www.bugzilla.org/download/ Ohjelmaprojektin toteuttamiseen käytetään Javaa, kehitysympäristönä Eclipse 3.1. Borlandin Together Architectia käytetään ohjelmistoarkkitehtuurin suunnittelussa. Lisäksi käytetään, joitakin seuraavista Eclipsen lisäpalikkana saatavista graafisista käyttöliittymäeditoreista käyttöliittymän toteuttamisessa: Eclipse Visual Editor Project 1.1.0.1 http://www.eclipse.org/vep/ SWT Designer v4.1.0 http://www.swt-designer.com/ Jigloo SWT/Swing GUI Builder for Eclipse and WebSphere 3.5.2 http://www.cloudgarden.com/jigloo/ 5.3.3 Kehitystyökalut Versionhallinta Versionhallintaan ja ohjelmakoodin säilyttämiseen käytämme CVS-versionhallintajärjestelmää. Repositorio asennetaan TKK:lle ryhmän yhteiseen kansioon. Tähän kansioon on kaikilla ryhmäläisillä luku-, suoritus- ja kirjoitusoikeudet. Tiedostot haetaan ja tallennetaan Eclipsen kautta repositorioon. Uusia tiedostoja luotaessa ryhmäläisten on muistettava erikseen jakaa oikeudet koko ryhmälle näihin tiedostoihin. Vain toimivaa ohjelmakoodia saa laittaa repositorioon. CVS:stä ja sen käytöstä tehdään yksityiskohtainen ohjeet I1-iteraation alussa kirjoitettavassa erillisessä työkaluohjeessa. Projektiryhmää varten on luotu ATK-keskuksen UNIX-järjestelmään a-teamdc niminen ryhmä, johon kuuluvat kaikki projektiryhmän jäsenet. Ohjelmointi Java-kehitysympäristönä käytetään Eclipse 3.1:htä, Javasta versiota 5.0. Lisäksi käytetään jotakin yllämainituista Eclipsen lisäpalikoista käyttöliittymän toteuttamisessa. Luokkakaaviot 21

Borlandin Together Architect-työkalua käytetään luokkakaavioiden piirtämisessä ja ohjelmistoarkkitehtuurin suunnittelussa. Käännös Ohjelma käännetän suoraan Eclipsestä. Jos myöhemmin on tarkoituksenmukaista, otetaan myös ant - käännöstyökaluksi monimutkaisempiin asioita, kuten ohjelman paketointia varten. Vikaraportointi Vikaraportointiin käytetään Bugzilla-työkalua. Kommunikointi Ryhmän sisäiseen kommunikointiin käytetään Wiki-ympäristöä. Wikiin laitetaan asioita kuten dokumenttien uusia versioita muutoslogeineen, henkilökohtaiset aikataulut (matkat, tentit, menot) yms. Nopeaan yleiseen asioista tiedottamiseen käytetään sähköpostia. Asiakkaalle ja mentorille suunnattu tieto kootaan omiin osioihin Wikissä. Sähköpostin otsikoissa käytetään [] tagia tunnistamaan projektin sisäiset viestit. Projektiryhmällä on yhteistä palaveriaikaa tiistaisin klo 9-12. Tämä jakautuu ensin tunnin manageripalaveriin, sitten kaikkien yhteiseen osioon ja lopuksi kehittäjien omaan osioon. Tuntiseuranta Tuntiseurantaan käytetään Excelillä tehtyä taulukkoa. Tarkemmat ohjeet tuntiseurannasta on kuvattu kohdassa 5.1.5 tuntiraportointi. 5.4 Standardit Projektissa käytetään Sunin Java-ohjelmointikonventioita, joka on lyhyesti määritelty ryhmän työkalu-ohjeessa. Linkki koko dokumenttiin löytyy täältä: http://java.sun.com/docs/codeconv/html/codeconvtoc.doc.html Käyttöliittymäsuunnittelussa pyritään noudattamaan Nielsenin kymmentä käytettävyysheuristiikkaa, jotka ovat: Simple and natural dialogue, Speak user s language, Minimize user memory load, Consistency, Feedback, Clearly marked exits, Shortcuts, Good error messages, Prevent errors ja Help and documentation. 5.5 SEPA -työt Osa projektiryhmän jäsenistä suorittaa projektin ohessa T-76.5633 Ohjelmistotuotannin erikoiskurssia, jossa perehdytään johonkin ohjelmistonkehityskäytäntöön ja sovelletaan sitä tähän ohjelmistoprojektiin. Aiheen voi 22

valita joko kurssin ehdottamista vaihtoehdoista tai omasta aiheesta, joka on kuitenkin hyväksytettävä mentorilla. Työ toteutetaan tekemällä ns. SEPA päiväkirja, jonka työmäärä on noin 20h/henkilö sekä tekemällä 20h/henkilö lisätyötä ohjelmistokehitysprojektiin. Projektiryhmän SEPA-työt tehdään työpareina ja oheisessa taulukossa 12 on listattu ryhmän SEPA aiheet. Aiheista ensimmäinen on ns. oma aihe, muut kaksi kurssin puolesta ehdotettuja aiheita. Aiheet on valittu niin, että niiden on katsottu olevan hyödyllisiä projektin kannalta. Seuraavissa luvuissa on lyhyt kuvaus valituista aiheista. Tarkemmat kuvaukset ja valintaperusteet kuvataan kunkin aiheen erillisessä dokumentissa, SEPA päiväkirjassa. Taulukko 12: SEPAt Käytäntö Vastuuhenkilö Vaiheet Coding Camp Käyttettävyystestit Kari Ylihärsilä Samuel Korpi Elina Kontro Vesa Haukkavaara I1 ja I2 I1 ja I2 Staatiset menetemät Santeri Saarinen I1 ja I2 5.5.1 Coding Camp Kyseessä on käytäntö, jossa vähintään kerran kussakin iteraatiossa järjestetään kokonainen etukäteen suunniteltu työpäivä, jolloin kaikki ryhmämme jäsenet tekevät töitä projektin eteen yhdessä, samassa paikassa ja samaan aikaan. Tutkimme eri näkökulmista keskitetyn työskentelytavan tuottavuutta verrattuna hajautettuun työhön, jossa useimmat ryhmän jäsenet tekevät asioita eri paikoissa eri aikaan. Hajautetun työn etuja ovat keskittyminen tehtävään sekä ajan tehokas käyttäminen siltä osin, kun tekijälle on oma tehtävä täysin selvä. Keskitetyn työn etuja taas ovat tehokas tiedon siirtyminen kokemusten kautta sekä parempi ongelmanratkaisu, kun kaikkien taitoja saadaan hyödynnettyä samaan aikaan. Tutkimme "Coding Camp" käytännön tuottavuutta ainakin seuraavista näkökulmista: Ryhmän tuottavuus työtunteihin nähden, tuotetun koodin / tuotosten laatu (virheettömyys), tiedon siirtyminen ryhmän sisällä sekä työskentelytapojen nautittavuus. 5.5.2 Käytettävyystestit Käytettävyystestien tavoitteena on testata ja parantaa kehitteillä olevan tuotteen käytettävyyttä. Tuotetta kehitettäesssä pyritään kiinnittämään erityistä huomiota tuotteen tulevien käyttäjien näkökulmaan. Koska tässä ohjelmistokehitysprojektissa tavoitteena on toteutetaan olemassa olevaan CoSCA-simulaattoriin helppokäyttöinen ja opittava käyttöliittymä, joka mahdollistaa simulaattorin hyödyntämisen mm. HKKK:ssa 23

opetuksen apuvälineenä, on luontevaa ottaa käytettävyystestit yhdeksi projektissa käytettäväksi menetelmäksi, jolla pyritään varmistamaan tämän tavoitteen saavuttaminen. Käyttäjäryhmä, johon testauksessa keskitytään ovat HKKK:n opiskeljat, joita käytettävyystestauksen osallistuu vähintään kolme henkilöä. 5.5.3 Staattiset menetelmät Staattisella analysoinnilla tarkoitetaan sellaista esim. lähdekoodin analysointia, jossa koodia ei ajeta. Koodikatselmointi on yksi staattinen ohjelmistonanalysointi menetelmä. Menetelmän avulla voidaan mitata, analysoida ja parantaa ohjelmiston suunnittelua sekä löytää virheitä. Työssä tullaan käyttämään jotakin staattista analysointimenetelmää mittaamaan ja parantamaan ohjelmiston laatua sekä vähentämään ohjelmistossa olevien virheiden määrää. 24

6 Vaiheistus Projekti on jaettu kolmeen iteraatioon. Seuraavissa kappaleissa kuvataan iteraatioiden päätavoitteet, tuotokset, tehtävät ja työmääräarviot. Lisäksi esitettään aikataulut ja tärkeimmät päivämäärät. Iteraatiot ja niiden aloitussekä lopetuspäivämäärät on asetettu kurssin puolesta. Kuvassa x. On kuvattu projektin vaiheet ja aikataulu ylätasolla. Tähdellä merkityt kuvastavat keskeisimpiä niistä tapahtumista, joissa asiakkaan osallistuminen on välttämätöntä. Kunkin vaiheen tarkempi aikataulutus kerrotaan ko. vaiheen kohdalla. 2005 2006 9 10 11 12 1 2 3 9.1 2.3 27.9 PP 21.10 I1 8.12 Joululoma 7.-8.12 I2 1.-3.2 1.-2.3 19.-20.10 Iteraatio demo Välidemo Kuva 3. Projektin vaiheet ja aikataulutus 25

6.1 Projektin suunnittelu (PP) Projektisuunnitteluiteraation tavoitteena on saattaa projektisuunnitelma riittävän kattavaksi, jotta siinä määriteltävät asiat edistävät seuraavan vaiheen käynnistymistä. Keskeisenä tavoitteena on ymmärtää asiakkaan tavoitteet sekä niiden prioriteetit tälle projektille ja siinä tuotettavalle sovellukselle. Tässä iteraatiossa tulee huolehtia siitä, että asiakas ymmärtää käytettävissämme olevan resurssien määrän sekä tämän merkityksen tavoitteisensa toteuttamismahdollisuuksiin. Käytännöntoimenpiteinä tässä iteraatiossa valitaan projektissa käytettävät menetelmät ja työkalut sekä tehdään tarvittavat käyttöönotto toimenpiteet. Vaikka kehittäjien pääasiallinen työ alkaa, kurssin ohjeiden mukaisesti, ensimmäisessä toteutusiteraatiossa, pyritään kehittäjiä valmentamaan, yhdessä management tiimin kanssa, projektiin jo tässä vaiheessa. PP-iteraation tuotokset ovat: Projektisuunnitelma Vaatimusmäärittelydokumentti Projektiryhmässä käytettävien työkalujen käyttö-ohje (ryhmän sisäiseen käyttöön) Ensimmäiset versiot SEPA päiväkirjoista Tarkemmin ko. dokumenttien vastuut ja aikataulutus on kohdassa 5.1.3 Dokumentointi. PP-iteraatiossa tavoitteet pyritään saavuttamaan taulukossa 13 listatuilla tehtävillä. Samassa taulukossa on myös työmääräarviot kustakin tehtävästä. Työmäärä arvioita päivitetään tarvittaessa. Projektinsuunnittelu iteraation aikataulutus on taulukossa 14. 26

Taulukko 13. PP-iteraation tehtävät, vastuut ja työmääräarviot Elina Laura Kari Aleksi Santeri Vesa Samuel Yhteensä 88,0 80,0 78,0 23,0 23,0 22,0 23,0 337,0 Projektinhallinta 49,0 28,0 30,0 5,0 5,0 5,0 5,0 127,0 Rekrytointi 2,0 1,0 1,0 4,0 Projektin status raportointi 5,0 5,0 Iteraatiodemo 1,0 1,0 1,0 3,0 Projektisuunnittelua 15,0 5,0 5,0 25,0 Projektisuunnitelman kirjoittaminen 10,0 7,0 5,0 22,0 Kick off palaverit 9,0 9,0 9,0 3,0 3,0 3,0 3,0 39,0 Viikkopalaverit 2,0 2,0 2,0 2,0 8,0 Asiakaspalaverit 2,0 2,0 2,0 6,0 Mentorpalaverit 3,0 3,0 3,0 9,0 Projektiryhmän kommunikointi 2,0 4,0 6,0 Ohjelmistonsuunnittelu 11,0 34,0 9,0 4,0 0,0 3,0 3,0 64,0 Käyttäjätutkimus 2,0 2,0 Vaatimustenselvittäminen 1,0 12,0 0,0 13,0 Vaatimusmäärittelydokumentti 12,0 1,0 13,0 Käyttöliittymä proto 10,0 8,0 4,0 22,0 Arkkitehtuurisuunnittelu 8,0 3,0 3,0 14,0 Laadunvarmistus 10,0 1,0 6,0 0,0 3,0 0,0 0,0 20,0 Laatusuunnitelma 6,0 1,0 3,0 10,0 Laatusuunniteman dokumentointi 2,0 1,0 3,0 Testassuunnitelma 2,0 2,0 Dokumenttikatselmoinnit 2,0 1,0 2,0 5,0 Työkalujen käyttöönotto ja ohjeistu 4,0 4,0 15,0 1,0 2,0 1,0 2,0 29,0 Projektihallinnan työkalut 2,0 1,0 3,0 Kehitystyökalujen valinta 3,0 3,0 Työkalujen käyttöönotto 1,0 4,0 5,0 1,0 2,0 1,0 2,0 16,0 Ohjeistus 1,0 6,0 7,0 Opiskelu 12,0 13,0 16,0 13,0 13,0 13,0 13,0 93,0 Luennot 6,0 6,0 9,0 9,0 9,0 9,0 9,0 57,0 Aihealueeseen perehtyminen 4,0 5,0 5,0 2,0 2,0 2,0 2,0 22,0 Simulaattoriin perehtyminen 2,0 2,0 2,0 2,0 2,0 2,0 2,0 14,0 Muu dokumenointi 2,0 0,0 2,0 0,0 0,0 0,0 0,0 4,0 SEPA päiväkirjat 2,0 2,0 4,0 Taulukko 14. PP-iteraation aikataulutus PP Iteraatio 20.9. 20.10.2005 Vko 38 20.9. Kehittäjien rekrytointi alkaa Vko 39 27.9. Management ryhmän kick-off palaveri 27.9. Projektiryhmä kasassa, rekrytointi päättyy, ryhmän ilmoittautuminen 30.9. Projektin käynnistyspalaveri asiakkaan kanssa Vko 40 3.10. PP-iteraatiosuunnitelman palautus 5.10. Vaatimustenmäärittel alkaa 27