TTY/OHJ: OHJ-3500 Ohjelmistotuotannon projektityö Jokaisessa yliopistossa ja AMK:ssa on projektityö-kurssi, mutta niillä kullakin on oma muotonsa, sisältönsä ja tavoitteensa. OHJ-3500 (laajuus 6-10 opintopistettä): 3..4..N vuoden opiskelijoille tarkoitus on opettaa isompien ohjelmistojen tekeminen isommalla projektiryhmällä (5..6..7..8 opiskelijaa) 20-25 projektiryhmää vuodessa henkilökuntaa 3 ryhmäohjaajaa +1+3+3 assistenttia (tark.) hieman yli puolet projektien työaiheista tulee teollisuudesta, OHJ-laitoksen aiheita on 1..3 vuodessa noin 5 kk kalenteriaika (perusopiskelijoille ei saa olla 3 periodia pidempiä opintojaksoja) projektien koko on 800..2000 tuntia, oletus 100..150 h/opisk (hulluimmat tekevät 350 h ja saavat 10 opintopistettä). 14.08.2009 1
OHJ-3500 Ohjelmistotuotannon projektityö Tensu: jollei hyviä projektikäytäntöjä opi tai ehdi oppia kurssin aikana, niin kurssi täyttää silti tehtävänsä mikäli kurssin loputtua opiskelija ymmärtää hyvät ohjelmistotuotanto- ja projektikäytännöt (kun ehtii hieman tuumailla asioita). Valaistuminen saattaa tapahtua vasta loppuesityksissä tai loppupalaverissa, mutta hyvä niinkin. Palaute 2008-09: Pain in the ass, but valuable learning experience. 14.08.2009 2
TTY, OHJ-3500 parhaita käytäntöjä dokumenttirunkopankki www-sivuilla tarkastukset (muodollinen, inspection) viikkoraportointi (kuukauden välein projektin koon uudelleenarviointi; paljonko tunteja tehty, paljonko jäljellä, miltä näyttää) erikoisluentoja mm. dokumentoinnista, sopimuksista, työkaluista, testauksesta, käyttöohjeesta, tuotteistamisesta (ei pakollisia) vierailuluentoja (2/3 tai ¾ pakollisia) väliesitys ( jotakin liikkuvaa ) ja loppuesitys loppuraportti ja sen julkinen lyhennelmä loppupalaveri vetää kaiken tehdyn yhteen (2 h). 14.08.2009 3
Tarkastukset OHJ-PROJ kurssilla muodollinen tarkastus (siis inspection, ei review) 5 kpl dokumenteille (ps, mä, su, tesu, ko) ja 1 kpl koodille (1 hlö kurssihenkilökunnasta mukana) ryhmä voi itse pitää keskenään lisää tarkastuksia tai katselmointeja (epämuodollinen) samoista tai muista aiheista (usein pitääkin) kesto enintään kaksi tuntia pöytäkirja on kaikkien nähtävillä (nykyään useimmiten taulukkolaskentaohjelman lomakkeella) pj ja sihteeri ovat ryhmäläisiä joskus voi olla ulkopuolisia mukana (asiakkaan edustaja tilaajafirmasta). 14.08.2009 4
PAL TARK ES 14.08.2009 5
14.08.2009 6
Miksi dokumenttitarkastuksia? Paljon hyvää palautetta loppuraporteissa. Tarkastuksilla on monia tarkoituksia, mm. kurssihenkilökunta näkee ryhmän työtason (laatu ja ajankäyttö), myös ryhmädynamiikan opiskelijaryhmä ohjataan oikeille raiteille, kun dokumentti on vielä keskeneräinen yksi kurssin tavoite onkin opettaa kurssilaisille hyvä tarkastuskäytäntö, jota he voivat levittää teollisuuteen (esim. osaavat vaatia). Opiskelijat ovat joskus olleet aluksi epäileviä ( me on tää luettu ryhmässä ), mutta lopulta tyytyväisiä. 14.08.2009 7
Case 3 - Document inspections at TUT number of pages (average) (1/11) 120 100 80 60 40 SRS DD TP 20 0 1997-98 1998-99 1999-00 2000-01 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 2007-08 2008-09 SRS SRS = määrittely määrittely DD DD = suunnittely suunnittely TP TP = testaussuunnitel testaussuunnitel 14.08.2009 8 ma ma
Case 3 - Document inspections at TUT findings / hour (average) (4/11) 45 40 35 30 25 20 15 10 SRS Design doc. Test Plan 5 0 1997-98 1998-99 1999-00 2000-01 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 2007-08 2008-09 Think about that... 14.08.2009 9
Case 3 - Document inspections at TUT findings / page (average) (5/11) 1,4 1,2 1 0,8 0,6 0,4 SRS DD TP 0,2 0 1997-98 1998-99 1999-00 2000-01 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 2007-08 2008-09 14.08.2009 10
Case 3 - Document inspections at TUT findings / page (average) (6/11) 1,8 1,6 1,4 1,2 1 0,8 0,6 ProjPlan UserMan. 0,4 0,2 0 1997-98 1998-99 1999-00 2000-01 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 2007-08 2008-09 14.08.2009 11
Case 3 - Code inspections at TUT findings (average) (7/11) 30 25 20 15 10 avg stddev 5 0 2000-01 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 2007-08 2008-09 14.08.2009 12
Case 3 - Document inspections at TUT, % of project time spent to inspections (11/11) 20 18 16 14 12 10 8 6 4 min avg max 2 0 1997-98 1998-99 1999-00 2000-01 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 2007-08 2008-09 14.08.2009 13
OHJ-3500 aikataulusta Projekti päättyy viikolla N, eli työ (koodi ja dokumentaatio) on luovutusvalmis asiakkaalle/tilaajalle. Sen jälkeen on enää tavanomaisia projektin alasajotoimenpiteitä, joita ei voi laskuttaa asiakkaalta. Viikolla N+1 on tuote-esittely eli demo kurssihenkilökunnalle (mitä ryhmä sai aikaan), nyt 1 h mutta on paineita pidentää aikaa. Ryhmän ylläpito-ohjetta kommentoidaan, ja jos testausraportissa on kysyttävää niin sitä puidaan. viikolla N+2 on projektin loppuraportin ja sen julkisen lyhennelmän palautus viikolla N+3 on loppuesityspäivä ( Gaala ) tämän jälkeen pidetään ryhmän kanssa loppupalaveri, 2 h aikalokero. Tämä jaksotus on osoittautunut hyväksi. 14.08.2009 14
Loppuraportti ja loppuraportin lyhennelmä jokainen projekti tekee loppuraportin (jää kurssivastaavalle) sekä loppuraportin lyhennelmän (julkinen, jaossa loppuesityksissä) kummallekin on oma dokumenttirunkonsa (lyhennelmälle kokorajoitus on neljä sivua, sivut saavat olla pienennöstulosteita) loppuraportti on nimensä mukaisesti mikä meni pieleen, mikä meni hyvin, mitä opittiin loppuraportin tärkeimmät luvut käydään läpi loppupalaverissa ryhmän kanssa Teollisuudessa harmillisen harvoin tehdään loppuraportti (edes yksi A4), aih ja voih! 14.08.2009 15
Poimintoja loppuraporteista 2008-09 Oli mukava, että kerrankin painopiste oli tekemisessä ja käytännössä, ei teoriassa. Hyödyllisin ohjelmistotuotannon kurssi. Opetti hyvin tarkastuskäytännön. Opettaa työelämän toimintamalleja. Kurssi auttaa kiteyttämään aiemmin opitut ohjelmistotuotannon salat yhdeksi järkeväksi paketiksi, eikä projektien elinkaaren vaiheista jää niin irrallista kuvaa. Kurssihenkilökunnan huumori oli kurssin aihepiiriin sopivan pessimististä ja sosiaaliseen itsemurhaan kannustavaa. Kurssi kokonaisuutena oli todella mielenkiintoinen ja hyödyllinen kokemus. Kurssi kannatti ehdottomasti suorittaa, vaikkei se ollutkaan pakollinen tutkinnon kannalta. Siperia opettaa ja projektityökin. Projektin päätyttyä ryhmästä paistoi aito ja rehellinen tyytyväisyys ja ylpeyskin tehtyä työtä ja ohjelmaa kohtaan. 14.08.2009 16
Loppuesityspäivä (pe klo 08/09-21/23) kaikkien ryhmien loppuesitykset samana päivänä Tieteen, taiteen ja kansanperinteen päivä ja yö pitkä päivä, mutta raskas kurssi vaatii arvoisensa päätöksen 3-4 ryhmää esittää (30 min), sitten tauko kahvivankkurit salin takaosassa klo 15/16 jälkeen loppuesitysten jälkeen suoraan Teekkarisaunalle jälkipeliin (jatkoaika auringonnousuun asti) yksi sponsori (1500 e) ruoalle ja saunajuomille. Tensu: Olisi opiskelijoiden aliarvioimista ja väheksymistä, jolleivat he saisi esitellä viiden kuukauden kovan työnsä tuloksia. 14.08.2009 17
14.08.2009 18
TTY/OHJ: OHJ-PROJ ONGELMIA Miten kannustaa projektiryhmiä aloittamaan toteutus ajoissa (lokakuussa = 2. työkuukausi)?? Hyvä järjestelmätestaus vs. projektin valmistuminen ajoissa; eli miten varmistaa että testaus tosiaan tehdään kunnolla?? Vastauksia voi lähettää: tensu@cs.tut.fi 14.08.2009 19
14.08.2009 20