TIEA4 Projektityö, 5-10 op., 2013-14 Luennot Kurssin esitietovaatimukset ja tavoitteet Kurssin sisällöstä Suoritustavoista ja -vaatimuksista, arvostelu Yleisiä ohjeita Kurssin luennoitsija ja projektien ohjaaja: Timo Poranen (email: timo.t.poranen@uta.fi, työhuone: B1023) Kurssin kotisivut: https://projectwiki.sis.uta.fi Projektien ohjaaja: Pekka Mäkiaho (pekka.makiaho@uta.fi) 1
Luennot pe 6.9 ls. B3116, klo 12-14: Yleisiä asioita. Luennolla kerrotaan, kuinka tämän kurssin projektien täytyy pääpiirteissään edetä. Esitutkimus. pe 13.9 ls. B3116, klo 12-14: Yleisiä asioita, projektisuunnitelma, kehitysmallit. Vaatimusten määrittely. pe 20.9 ls. B3116, klo 12-14: Ohjelmistotyökalut (wiki, svn,...). pe 27.9 ls. B3116, klo 12-14: Vaatimusten määrittely. Toteuksen suunnittelu. Testaus, projektin lopetus. pe 4.10 ls. B3116 klo 12-14: Vierailuluento? Projektien esitykset marras-joulukuussa ja helmi-maaliskuussa. Paljon ryhmätyötä ja ryhmien ohjausta. 2
Esitietovaatimukset Vähintään 50 op tietojenkäsittelytieteitä, tulee sisältää perusopinnot. Ajankohtasuositus: 3. vuosi. TIEA2 Olio-ohjelmoinnin perusteet ja TIETA8 Ohjelmistotuotanto. Suositellaan: TIETA12 WWW-ohjelmointi TIEVA30 Käytettävyystyön menetelmät TIETA11 Ohjelmoinnin tekniikka Huomaa myös, että: Molempien pääaineiden pääaineopiskelijoilla pakollinen kurssi. SIS-kurssi: Innovaatioprojekti (voi korvata Projektyön mikäli maisteriopinnoissa ei vaadita: TIETS19 SPM). 3
Kurssin sisällöstä Mikä on projekti (Risto Pelin: Projektinhallinnan käsikirja): Projekti on työkokonaisuus, joka tehdään määritellyn kertaluonteisen tuloksen aikaansaamiseksi. Opinto-oppaasta: Projektityön luonne. Projektin suunnittelu, dokumentointi ja seuranta. Todellisen projektin toteuttaminen. Käytettävyys ohjelmistoprojektissa. Kansainvälisyys Projektityön voi tietyin edellytyksin sisällyttää kansainvälistymisopintoihin. 4
Osaamistavoitteet tuntee projektimuotoisen työskentelyn perusteet ja pystyy toimimaan ryhmän jäsenenä ohjelmistoprojektissa, tuntee yleisimmät ohjelmistojen kehitysmallit, niiden vaiheet ja vaihetuotteet, osaa esittää suullisesti oman projektinsa tuotoksia sekä laatia projektiin liittyvää dokumentaatiota, osaa ottaa huomioon projektityöskentelyyn liittyviä eettisiä vaatimuksia, tuntee keskeisimmät projektityöskentelyyn liittyvät ohjelmistotyökalut ja osaa käyttää niitä myös käytännössä, tuntee ohjelmistokehitykseen ja laatuun liittyvät peruskäsitteet ja osaa huomioida ne omassa projektityöskentelyssä. 5
Kurssin sisältö käytännössä Asiakas on ehdottanut projektia kurssille. Työskentelet 5 hengen projektiryhmässä (lisäksi 2(?) projektipäällikköä) jonka tavoitteena on saada toteutettua asiakkaan toimeksianto. Projektit alkavat syyskuussa 2013 ja loppuvat maaliskuussa 2014. Toteutuksen on hyvä olla valmiina helmikuun puolessavälissä ja projektin loppunut 7.3.2014! Projektit saavat valita kohtuullisen vapaasti: käyttämänsä kehitysmallin: Inkrementaalinen, iteratiiviset menetelmät, ketterät menetelmät (XP, Scrum,...) työkalut ja työskentelytavat. 6
Tietoa aiemmista projekteista yms. https: //projectwiki.sis.uta.fi/wiki/statistics_2012-2013 Software Projects 2012-13: julkaisematta. Software Projects 2011-12: http://www.uta.fi/sis/reports/index/r9_2012.pdf Software Projects 2010-11: http://www.uta.fi/sis/reports/index/r2_2011.pdf 7
Lukuvuoden 2012-2013 projektit 13 projektia, 54 projektikurssilaista, 40 projektipäällikköä (!). Esimerkki: Shakkilinna, Alkeismatematiikka. Kaikki projektit menivät hyvin oppimisen kannalta. Kaikista projekteista valmistui ohjelmistotuote. Muutama projekti myöhästyi hallitusti. Tärkeimmät onnistumistekijät olivat hyvä ryhmä, hyvä ryhmähenki, taidokkaat projektikurssilaiset ja osaavat projektipäälliköt. Yleisimmät ongelmatekijät olivat huono motivaatio ja johtaminen (aikataulutusongelmat, kokousten järjestäminen, tiedottaminen, kommunikointiongelmat), kurssin kesken lopettavat opiskelijat sekä puutteelliset työkalujen käyttötaidot ja ohjelmointitaidot. 8
Mitä hyötyä koko kurssista? Yhdistää eri kursseilta saadut tiedot ja taidot kokonaisuudeksi. Kasvattaa työelämän valmiuksia. Kynnys hypätä mukaan jonkin yrityksen projektiin pienenee, kun tuntee edes osan käytettävistä käsitteistä. Parhaimmillaan tästä voi saada työnäytteen tulevia työnhakuja varten. Projektien loppukertomukset julkaistaan yksikön raporttisarjassa. 5-10 op. pakollisia aineopintoja. Antaa kokonaiskuvan hallitusti toteutetusta ohjelmistoprojektista. 9
Arvostelusta ja opintopisteistä I/II Kuinka monta opintopistettä? https: //projectwiki.sis.uta.fi/wiki/working_hours_and_ects 10
Arvostelusta ja opintopisteistä II/II Arvosana? Lopputuotteen ja kehitysprosessin laatu. Henkilökohtainen osallistuminen projektiin. Ohjelmakoodin laatu. Tuotetut dokumentit ja tarkastukset/katselmoinnit. Raportointi, henkilökohtaiset raportit. Esitykset, WWW-sivu, projektin oman aikataulun seuraaminen. Arvosana voi vaihdella ryhmän sisällä. 11
Tehtävistä ja tehtävien jaosta Projektipäällikkö vastaa kokonaisuudesta (eri osa-alueiden eteneminen, kokoontumiset ja muu koordinointi). Projektipäällikkö toimii linkkinä ryhmän ja toimeksiantajan välillä sekä ryhmän ja luennoitsijan välillä. Projektipäällikkö vastaa tehtävien oikeudenmukaisesta jakamisesta projektiryhmän jäsenille sekä tarkastaa, että työt tulee tehtyä. Pohdittavaksi: itseohjautuvan Scrum-ryhmän johtaminen / scrum-masterin rooli? Useimmilla ryhmillä on kaksi(?) projektipäällikköä. Jokaiselle ryhmän jäsenelle tulee omia vastuualueita. Tehtävä, joka ei ole kenenkään vastuulla, jää yleensä tekemättä! 12
Projektien aikataulu Tarkempi aikataulu löytyy kurssin kotisivulta. Ajantasalla oleva projektikohtainen aikataulu löytyy projektisuunnitelmasta! https://projectwiki.sis.uta.fi/wiki/meetings_with_ the_course_staff https://projectwiki.sis.uta.fi/wiki/course_schedule 13
Pakolliset dokumentit Projektin dokumentit voivat olla (tulostuskelpoisia) wikidokumentteja. https://projectwiki.sis.uta.fi/wiki/list_of_course_ documents 14
Projektin aiheesta riippuvat dokumentit Käyttöliittymäsuunnitelma, käytettävyystestauksen suunnitelma, käytettävyystestauksen raportti, käyttöliittymän läpikäynti, käyttöliittymän heuristinen arviointi. Käyttöohje (tulostettava tai on-line). Asennusohje. Ylläpitosuunnitelma. Myös muut dokumentit ovat mahdollisia. 15
Pakolliset raportit Viikkoraportit (projektipäällikön vastuulla). Kolme henkilökohtaista raporttia. Deadlinet: 7.11.2013, 15.1.2014, viimeinen projektin jälkeen. Kokouspöytäkirjat ja muut muistiot palavereista ja tarkastuksista/katselmoinneista. 16
Moodle On erittäin hyödyllistä jakaa omia kokemuksia ja kysyä projekteihin liityviä asioita muilta opiskelijoilta (ja luennoitsijalta). Kurssilla käytetään Moodlea kurssitiedotusten jakamiseen, keskusteluihin ja henkilökohtaisten raporttien palauttamiseen. Kurssialue: https://learning2.uta.fi/course/view.php?id=547, kurssi [TIEA4 and TIETS19] Project Work and Software Project Management. Kirjautumistunnus annetaan ensi viikolla. 17
Kokoushuoneet https://projectwiki.sis.uta.fi/wiki/meeting_rooms 18
Jatkosta Projektipäällikkö kutsuu ryhmän aloituskokoukseen. Tutustutte toisiinne, sovitte alustavasti vastuualueista, sovitte ryhmänne yhteiset pelisäännöt, kommunikointitavat, selvitätte henkilökohtaiset tavoitteet, ryhmän tavoitteet,... Tutustutte asiakkaaseen ja hänen toimeksiantoonsa. Kirjoitatte esitutkimuksen ja esittelette sen ryhmän ja luennoitsijan alkutapaamisessa. Allekirjoitatte tarvittaessa sopimukset yritysprojekteissa. Aloitatte projektisuunnitelman kirjoittamisen ja vaatimusten keräämisen. Aloitatte tutustumisen kehitysympäristöön ja työkaluihin. 19
Yleisiä asioita: tuntikirjanpito Jokainen pitää omaa tuntikirjanpitoa: (https:// projectwiki.sis.uta.fi/wiki/working_hour_reporting). Projekteissa tuntikirjanpito jakautuu aktiviteetteihin: Projektin suunnittelu ja johtaminen, Vaatimusten määrittely, (toteutuksen) Suunnittelu, Ohjelmointi, Integrointi ja testaus, Katselmoinnit, Korjaus, Opiskelu, Muut. Viikkotunnit raportoidaan viikoittain projektipäällikölle. Projektipäällikkö liittää tiedot viikkoraporttiin, joka toimitetaan projektien ohjaajille, asiakkaalle ja ryhmälle. 20
Yleisiä asioita: kotisivu https://projectwiki.sis.uta.fi/wiki/project_homepage 21
Sopimukset ja oikeudet kurssilla Lähtökohtana aina: projektiryhmälle kuuluu kaikki oikeudet siihen mitä he ovat tehneet kurssin aikana. Usein käytännössä: Tekijät julkaisevat tuotokset GPL-lisenssin (tai vastaavan) alaisuudessa. Tekijät luovuttavat oikeudet yritykselle, joka sitten voi tehdä tuotoksilla mitä haluaa. Tätä käytetään, jotta saataisiin myös yrityksiltä projektityöaiheita. Osa opiskelijoista haluaa perinteisesti yritysprojekteihin (ja osa ei). Tekijät luovuttavat kullekin projektin osapuolelle vapaat oikeudet soveltaa tuotoksia vapaasti. 22
Esitutkimus Esitutkimuksessa tutkitaan, onko projektin aloittaminen kannattavaa. https: //projectwiki.sis.uta.fi/wiki/preliminary_analysis Deadline 27.9. Dokumentti palautetaan 24 tuntia ennen tapaamista projektin ohjaajalle. Varaa 30 minuutin aika. Ryhmä varaa myös tapaamispaikan. Luennoitsijan vapaat ajat: https://projectwiki.sis.uta. fi/wiki/available_meeting_times 23