T-76.115 Tietojenkäsittelyopin ohjelmatyö. Projektin loppuraportti. Tietokonegrafiikka-algoritmien visualisointi. Projektin loppuraportti



Samankaltaiset tiedostot
T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe LU. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T3

T Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing

T Loppukatselmus

T Tietojenkäsittelyopin ohjelmatyö

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

PS-vaiheen edistymisraportti Kuopio

T Projektikatselmus

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

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Testiraportti - järjestelmätestaus

Project group Tete Work-time Attendance Software

Kuopio Testausraportti Kalenterimoduulin integraatio

Työkalut ohjelmistokehityksen tukena

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

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

Tämä on tietokonegrafiikka-algoritmien visualisointijärjestelmän projektisuunnitelma. Päivämäärä Projektiryhmä Keimo

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

Projektiryhmä Tete Työajanseurantajärjestelmä. Riskienhallintasuunnitelma

Toteutusvaihe T2 Edistymisraportti

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

Testaajan eettiset periaatteet

Project group Tete Work-time Attendance Software

Automaattinen yksikkötestaus

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

T Tietojenkäsittelyopin ohjelmatyö

UCOT-Sovellusprojekti. Testausraportti

T Ohjelmistoprojektien hallinta Tehtävän 3 ratkaisu. Maija Kangas, Kimmo Stålnacke ja Outi Syysjoki

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Reilun Pelin työkalupakki: Kiireen vähentäminen

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Toteutusvaihe T3 Digi-tv: Edistymisraportti

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

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

LOPPURAPORTTI Paperikonekilta Versio 1.0

Data Sailors - COTOOL dokumentaatio Riskiloki

Convergence of messaging

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Turvallisuus. Ymmärrys. Lämpö. Ylivertainen Palvelukokemus TERVEYSTALON HALUTUN PALVELUKOKEMUKSEN MÄÄRITTELY

SEPA päiväkirja. Aihe: Staattiset menetelmät Tekijät: Mikko Halttunen 58198B, Mikko Närjänen 58122B Ryhmä: Neptune T Ohjelmistoprojekti I

Tämä on tietokonegrafiikka-algoritmien visualisointijärjestelmän projektisuunnitelma. Päivämäärä Projektiryhmä Keimo

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

EDISTYMISRAPORTTI - PS Virtuaaliyhteisöjen muodostaminen Versio 1.0

TYÖOHJEET VR-HYVINKÄÄ

Internet-pohjainen ryhmätyöympäristö

A13-03 Kaksisuuntainen akkujen tasauskortti. Projektisuunnitelma. Automaatio- ja systeemitekniikan projektityöt AS-0.

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

IPT-työpaja # Kysely kehitys- ja toteutusvaiheissa oleville hankkeille

Ohjelmistotuotteen hallinnasta

Pienin askelin snadein stepein -väline oman työn kehittämiseen arjessa

A4.1 Projektityö, 5 ov.

EDISTYMISRAPORTTI - T1 Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 1)

statbeatmobile PROJECT REVIEW iteration 1

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

LAATURAPORTTI Iteraatio 1

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

T harjoitustyö, kevät 2012

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset. Riskienhallinta DTV projektissa

THINKING PORTFOLIO COPYRIGHT THINKING PORTFOLIO

Projektityö

TTY/OHJ: OHJ-3500 Ohjelmistotuotannon projektityö

OPINTOKYSELY Tämä on Inkubion vuoden 2014 opintokysely

Kokonaisvaltainen mittaaminen ohjelmistokehityksen tukena

Soft QA. Vaatimusten muutostenhallinta. Ongelma

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

Ammatti: Pelisuunnittelija

Välitehtävät ja niiden läpikäynti Rovaniemi, Skandic-hotelli

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

Kirja on jaettu kahteen osaan: varsinaiseen- ja lisätieto-osioon. Varsinainen

Figure 1: Projektipäälliköt Juha-Pekka Honkavaara ja Juha Mattila

Työpaikkaohjaajan tehtävät. momutoko. monimuotoinen työpaikkaohjaajien koulutus

Turvallisuuden kehittämishanke Hakarinteen peruskoulussa

Tutkittua tietoa. Tutkittua tietoa 1

Totuus IdM-projekteista

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

Testisarja Materiaali- ja valaistusparametrit

MILLAINEN ON HYVÄ RYHMÄ?

Tietojärjestelmän kehittäminen syksy 2003

Ajankäyttötutkimuksen satoa eli miten saan ystäviä, menestystä ja hyvän arvosanan tietojenkäsittelyteorian perusteista

T harjoitustehtävät, syksy 2011

Mittaaminen projektipäällikön ja prosessinkehittäjän työkaluna

COTOOL dokumentaatio Testausdokumentit

EDISTYMISRAPORTTI - T4 Virtuaaliyhteisöjen muodostaminen Versio 1.0

Palvelumuotoilu ja muotoiluajattelu bisneksessä

Tämän kuvan tilalle kuva hankkeesta

Miten minun tulisi toimia, jotta toimisin oikein?

T Projektikatselmus

Tietokiri on alkanut tule mukaan!

TESTIRAPORTTI - JÄRJESTELMÄ, PORTAL Virtuaaliyhteisöjen muodostaminen Versio 1.0

T Projektikatselmus

Menetelmäraportti - Konfiguraationhallinta

Orientaatio ICT-alaan. Projekti

LOPPURAPORTTI Virtuaaliyhteisöjen muodostaminen Versio 1.0

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Mielekkäät työtehtävät houkuttelevat harjoittelijoita!

Transkriptio:

T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tämä dokumentti sisältää kuvauksen projektin viimeisen, eli viidennen vaiheen etenemisestä, suoritetuista tehtävistä ja kohdatuista ongelmista. Lisäksi dokumenttiin on koottu kokemuksia projektista kokonaisuudessaan. Päivämäärä 10.4.2003 Projektiryhmä Keimo keimo-dev@list.hut.fi Kirjoittajat Johan Engström johan.engstrom@hut.fi Muutokset PVM Tekijä Versio Selitys 10.4.2003 Johan 0.1 1. versio 12.4.2003 Johan 0.2 Päivitetty sis. tarkistukseen valmis versio 13.4.2003 Johan 1.0 LU-vaiheen katselmointiin valmis versio 1

Sisällysluettelo 1 Johdanto...3 2 Projektin edistyminen... 3 3 Tulokset... 5 4 Käytetyt menetelmät ja työkalut... 5 5 Kohdatut ongelmat... 6 6 Opitut asiat...6 6.1 Johan Engström... 6 6.2 Iiro Ojala... 6 6.3 Matti Kannala... 7 6.4 Petri Kero... 7 6.5 Samuli Laine... 7 6.6 Tero Karras... 8 6.7 Yrjö Peussa... 8 7 Kurssipalaute... 8 2

1 Johdanto 2 Projektin edistyminen Projektin viimeisessä vaiheessa järjestelmää hiottiin luovutuskuntoon korjaamalla havaittuja virheitä ja puutteita sekä tekemällä lopulliset viilaukset sekä koodiin että dokumentointiin. Tunneissa kurottiin kiinni edellisten vaiheiden vaje ja päästiin varsin lähelle projektille suunniteltua kokonaistyömäärää. Kaikki asiakkaan tärkeimmät vaatimukset saatiin täytettyä ja ryhmän jäsenten itse kurssin alussa asettamat tavoitteet saavutettiin suurilta osin nekin. On siis syytä olla tyytyväinen projektin tulokseen. Projektissa käytettiin aikaa henkilöittäin seuraavasti: Projektijäsen PS T1 T2 T3 LU Yht. Iiro 37 32,75 45 42,5 43,5 200,75 Johan 65,5 36,25 30,5 44,5 44 220,75 Matti 44 41,25 36,5 44,75 43 209,5 Petri 19,5 77,75 14,5 44 41 196,75 Samuli 11,5 69,75 19,5 44 49 193,75 Tero 39 101,5 36,5 10 10,5 197,5 Yrjö 29,5 26,75 21 48 46 171,25 Yhteensä 246 386 203,5 269,75 318,5 1423,75 Suunniteltu 283,5 332 371 342 283 1400 Budjetoiduissa tunneissa pysyttiin siis keskimäärin todella hyvin, vaikka vaihekohtaisia heilahteluja oli molempiin suuntiin. Tehtäväkohtaiset suunnitellut vs. toteutuneet työmäärät olivat viimeisessä vaiheessa (LU) seuraavat: Task_ID Name Plan Done 247 DE: Writing the user's manual 8 2.00 245 DE: Group meetings 20 6.00 246 DE: Organizing the project 4 3.00 237 DE-RW: Baseline architectury, library 94 169.5 239 DE-RW-VI: Visualization 1: Local illumin 10 1.00 3

243 DE-RW-VI: Visualization 2: Basic transfo 10 6.00 242 DE-RW-VI: Visualization 3: 3D-camera par 26 24.50 241 DE-RW-VI: Visualization 4: Global illumi 32 43.00 240 DE-RW-VI: Visualization 5:Z-/A-buffer 26 41.00 106 DE: Regression testing after fixes 20 20.00 107 DE: Test reporting 10 8.00 111 DE: Revising documents 22 7.00 112 DE: Writing the final report 8 4.00 113 DE: Preparing for the final demo 12 7.00 114 DE: Final demonstration 7 7.00 Kokonaisuudessaan työmäärien arviointi meni tässäkin vaiheessa suhteellisen hyvin. Viikkopalavereissa ei käyty viimeisessä vaiheessa yhtä ahkerasti kuin ennen. Tämä johtuu lähinnä siitä, että jäljellä olevat tehtävät olivat varsin selkeitä eikä niitä tarvinnut enempää yhdessä setviä. Pääasiallisesti tästä syystä viikkopalaverien kohdalla suunnitellut ja toteutuneet luvut eroavat toisistaan. Mitään muita suurempia johtopäätöksiä ei voi tuntistatistiikasta vetää, sillä vaikka tuntikirjauksen laadun kohottamiseksi on tehty toimenpiteitä, ei tuntiraportointia saada kovin tarkaksi. Taulukoiden prosentit voivat näin ollen heittää useita kymmeniä prosentteja. Suuri osa tuntiarviointien heitoista johtuu nimenomaan tuntikirjauskäytäntöjen erilaisuudesta ja virhekirjauksista. Ohjeistuksesta huolimatta tunteja kirjattiin projektin aikana varsin kirjavin käytännöin. 4

Ohjelmiston koko on tällä hetkellä n. 24000 riviä. Eri moduulien koot ovat seuraavasti: Järjestelmäosa Koodirivejä Komenttir. Komm-% Guimo 9301 1686 18 % Keimolib 7106 2544 36 % Lighting demo 907 247 27 % Visualizer 2492 1060 43 % Xform demo 963 180 19 % 3D kamera demo 1048 264 25 % Raytracing 1219 212 17 % Z-Buffer 1021 221 22 % Yhteensä 24057 6414 27% 3 Tulokset Kolme viimeistä visualisaatiota hiottiin demokuntoon: 3D-kameran parametrit, Z-puskuri ja Globaalit valaistusmallit. Visualisoijan runkoa hiottiin vielä viimeisten visualisaatioiden tarpeiden mukaisesti sekä korjattiin löydettyjä bugeja. Lisättiin tekstuurikirjasto. Parannettiin käyttöohjetta sekä kehittäjälle suunnattua dokumentaatiota. Tehtiin lisäksi visualisaation runko, jonka pohjalta uuden visualisaation tekeminen on helpompaa (testivisualisaatio). Kirjoitettiin testisarjat uusille visualisaatioille sekä suoritettiin järjestelmätestaus kaikille komponenteille. 4 Käytetyt menetelmät ja työkalut CVS -versionhallintajärjestelmää on edelleen käytetty dokumenttien versionhallinnassa. Viikkopalavereja on totutusti järjestetty projektiseurannan ja kommunikoinnin tehostamiseksi joka viikko. Tuotetta testattiin järjestelmätestauksella. 5

Vaatimustenhallintaa suoritettiin vaatimustenhallinnan käyttöönottosuunnitelman mukaisesti. Riskienhallintaa jatketiin menetelmän mukaisesti etenkin viikkopalavereissa. Tunnistettuja riskejä seurattiin ja niihin reagoitiin. 5 Kohdatut ongelmat Sisäisessä ja ulkoisessa viestinnässä olisi ollut parantamisen varaa. Suoritimme kovan loppurutistuksen itse tuotteen kanssa ja viestinnän hoitaminen jäi tämän takia hiukan taka-alalle. Näin osittain sen takia, että myös projektipäällikkö oli mukana ohjelmoimassa. Muita projekteja ajatellen voisi jatkossa olla hyvä pitää projektipäällikkö erossa ainakin suuremmista toteutuksellisista vastuista. CVS:n kanssa on edelleen ollut ongelmia. Esimerkiksi binääritiedostot ovat menneet tekstimuotoisena eikä niitä tämän takia ole saatu sieltä ehjinä ulos. Olemme tiedostaneet ongelman syyn, mutta tässä vaiheessa siitä on hyötyä lähinnä tulevia projekteja ajatellen. Käytimme CVS-clienttinä windowsissa pyörivän unix-emulaation (www.cygwin.org) alaista versiota ja tästä johtuen CVS alkoi sekoilemaan Windowsin/Unixin rivinvaihtokäytäntöjen eroavaisuuksien takia. Tulevissa projekteissa on siis syytä käyttää puhtaasti Windowsille suunniteltua cvs-clienttiä, jolloin vastaavia ongelmia ei pitäisi syntyä. 6 Opitut asiat Tässä kappaleessa ryhmän jäsenet kertovat tärkeimmistä kurssilta saamistaan opeista. 6.1 Johan Engström Vaikka tämä ei ehkä suuryritystasolla tarkasteltuna ollut mikään kovin mittava projekti, oli se minun kokemuksieni joukossa kuitenkin suuremmasta päästä. Projektipäällikön roolissa sain ensimmäistä kertaa syvällistä näkemystä siihen, mitä tämän kokoisen projektin läpivieminen käytännössä vaatii. Projektin suunnittelu, koordinointi ja seuranta muodostavat yllättävän merkittävän osan projektin työmäärästä asia jota ei ehkä ennen ollut tullut ajatelleeksikaan. Sain tästä varmasti arvokasta kokemusta työelämää ajatellen. 6.2 Iiro Ojala Näin suuressa ryhmässä työskennellessä ryhmän organisointiin liittyvät tekijät nousivat tärkeiksi seikoiksi. Ryhmässä sisäinen kommunikaatio vei yllättävän paljon aikaa. Viikkopalaverit ja sähköpostikommunikaatio olivat välttämättömiä, mutta runsaasti aikaa vieviä tapoja pitää ryhmäläiset tietoisina toistensa tekemisistä. Kaikkiaan 6

tuottamatonta byrokratiaa syntyi pakon sanelemana huomattavasti enemmän kuin TKK:n kursseilla normaalisti käytettävissä 2-3 hengen ryhmissä. Vaatimustenhallinta osoittautui varsin haastavaksi tehtäväksi. Projektin alussa oikeastaan kukaan - asiakas mukaanlukien - ei tiennyt tarkasti millaista tuotetta olemme lähdössä tekemään. Vähitellen asia saatiin purettua pienemmiksi vaatimuksiksi ja lopulta yksittäisiksi ohjelmointitehtäviksi. Tämä oli sekä erittäin työläs että erittäin opettavainen prosessi. Toimiva projektinjohto ja kaikkien ryhmäläisten sitoutuminen yhteisiin päämääriin oli kriittisen tärkeää projektin onnistumisen kannalta. Uskon että tämä pätee ohjelmistoprojekteihin yleisemminkin. 6.3 Matti Kannala Opin kurssilta ohjelmistoprojektin läpiviennistä todella paljon. Aktiviteetit, joissa minusta oli kehitettävää ja missä kehityimme olivat kokouskäytännöt, järjestelmätestaus, vaatimustenhallinta ja versionhallinta. Mieleen jäi myös muutamia projektin haastavia aktiviteettija, joihin osaa tulevaisuudessa käyttää enemmän aikaa ja panoksia. Näitä oli mm. yhteyden pito asiakkaaseen, aikataulut ja niiden seuranta ja yksikkötestaus. Ehkä eniten opin omasta henkilökohtaisesta menetelmästä: vaatimustenhallinnasta. 6.4 Petri Kero Kurssi oli mielestäni hyvin opettavainen ja pidän sen tai vastaavan suorittamista suositeltavana oppimiskokemuksena kaikille, jotka uskovat joutuvansa työskentelemään keskikokoisissa tai suurissa softaprojekteissa uransa aikana. Kurssin tärkein anti minulle olikin opetus siitä kuinka isossa projektissa toimitaan ryhmänä, eikä vain joukkona yksilöitä. Myös erilaisiin projektiin kuuluviin prosesseihin tutustuminen oli mielestäni antoisaa ja luultavasti arvokasta työelämää silmällä pitäen. Uskon siis oppineeni kurssilta tärkeitä asioita omaa tulevaisuuttani ajatellen. 6.5 Samuli Laine Kyseessä oli itselleni ensimmäinen suurehko, usean eri pisteissä toimivan henkilön kesken hajautettu projekti. Projektin aikana havaitsi selvästi, että näinkin ison projektin koordinointi on haastavaa. Projektipäällikkömme onnistui siinä mielestäni kuitenkin kiitettävästi. Tiedonkulun merkitys koordinoinnin onnistumisen edellytyksenä korostui myös. Lisäksi tavoitteiden priorisointi osoittautui välttämättömäksi, sillä tehtäviä asioita tuntui aina olevan enemmän kuin aikaa niiden toteuttamiseen. Tältä osin toimivan vaatimustenhallinnan tärkeys tuli selväksi. Kaiken kaikkiaan katson, että sain runsaasti hyödyllistä kokemusta ison projektin läpiviemisestä, ja tulevien projektien kohdalla tästä on varmasti hyötyä. 7

6.6 Tero Karras Tärkein kurssin aikana oppimani asia on ohjelmistoprojektien aikataulutuksen ja koossapidon tärkeys. Projektin aikana havaittiin, että jäsenten työmotivaatio oli hyvinkin vaihtelevaa, ja näin ollen aikataulussa pysyminen osoittautui varsin vaikeaksi. Jonkin verran sain myös kokemusta eri ihmisten ohjelmointityyleistä ja niiden vaihtelevuudesta. Havaitsin myös, että näinkin suuressa projektissa lähdekoodiaineiston käsittely on vaikeampaa kuin ensi silmäykseltä luulisi. 6.7 Yrjö Peussa Tärkeimmät projektissa oppimani asiat ovat se, kuinka oleellista suuressa projektissa on tehdä työ alusta alkaen järjestelmällisesti, sekä se, kuinka paljon kokemus vaikuttaa työn sujuvuuteen. On tärkeää että sekä menetelmät että työkalut suunnitellaan ja testataan reilusti ennen niiden käyttöönottoa - muuten niitä ei hyödynnetä, ja niihin uppoaa myöhemmin suurempi määrä vaivaa. Useimpien projektinhallinnan lajien tarpeellisuus tuli kurssin mittaan harvinaisen selväksi. Kurssi kuitenkin vaati näitä aktiviteetteja suoritettavaksi huomattavasti monimutkaisemmin kuin mikä olisi ollut tarpeellista, ja myös tämän tekijän haitat tulivat ilmeisiksi kun käytäntö on liian monimutkainen, menetelmän henki unohtuu ja tulos on kaikin puolin huonompaa kuin mitä järkevästi mitoitettu menetelmä tuottaisi. 7 Kurssipalaute Olemme varsin tyytyväisiä kurssin järjestelyihin. Ohjeistukset ja tehtävänannot olivat selkeitä ja kattavia. Mentorin olemassaolo on ehdottomasti hyvä asia että on joku jolta voi kysyä silloin kun kysyttävää tulee. Tässä projektissa tarvitsimme itse asiassa vaivata mentoriamme suhteellisen harvoin, mutta oli kuitenkin hyvä tietää että hänen puoleensa voi tarvittaessa kääntyä. Hiukan ehkä häiritsi se, että mentor on mukana arvostelemassa projektiryhmän työtä. Näemme että mentoroinnin perusidea toteutuisi parhaiten silloin, kun mentor olisi erillinen ohjaava ja neuvova taho joka ei puuttuisi lopputuloksen arviointiin. 8