Tik-76.115 Projektisuunnitelma

 
 

Synapsi: Automaattinen ohjelmiston etäpäivitys
NetSeal Technologies
Tietojenkäsittelyn ohjelmatyö Tik-76.115

 


<

Dokumentin muutoshistoria

Versio Editoija Päiväys Kommentti
1.0 Juho Anttila 15.10.2000

Ensimmäisen vaiheen palautettava ja korjattu dokumentti

1.1 Mika Mäntylä 01.11.2000

Vaiheen T2 tarkempi suunnitelma lisätty kohtaan 9.2

1.2 Mika Mäntylä 02.11.2000

Kohtaan 9 lisätty karkea kuvaus projektin kulusta ja iteroinneista. 
Kohtaan 4 lisätty asiakkaan motivaatio tekijöitä ja kustannusarvio. 
Korvattu viittaukset "must-ominaisuuksiin" viittauksella "välttämättömät ominaisuudet"

2.0 Juho Anttila 06.11.2000

Riskienhallintasuunnitelma tarkennettu, lopullinen vaiheessa 2 palautettava versio.

2.1 Mika Mäntylä 04.12.2000

Projektin iterointeja suunniteltu ja tarkennettu kohdissa 9.4 T3, 9.5 T4, 9.6 Luovutus. Seuraavan vaiheen suunnitelmasta puuttuu vielä MS-project tiedoston "screen shot", mistä ilmenevät tulevat työtunnit, sekä seuraavan vaiheen riskit.

2.2 Mika Mäntylä 07.12.2000

Vaihe T3(9.4) tarkennettu. Katselmointia vaille valmis palautukseen.

3.0 Juho Anttila, Mika Mäntylä 11.12.2000

Katselmoitu ja hyväksytty

3.1 

 Antti Vainio, Mika Mäntylä 

07.02.2001 

Vaihe T4(9.5) tarkennettu. Katselmointia vaille valmis palautukseen 

3.2 

Mika Mäntylä 

11.02.2001  T4 suunnitelmaan pikkumuutos. 
4.0 Juho Anttila, Mika Mäntylä 12.02.2001

Katselmoitu ja hyväksytty

4.1
Antti Vainio, Mika Mäntylä
13.3.2001

LU-vaiheen suunnittelu tarkennettu

5.0

Juho Anttila, Mika Mäntylä

19.3.2001

Katselmoitu ja hyväksytty

5.1

Mika Mäntylä

21.4.2001

Vaatimusosa päivitetty vastamaan vaatimusmäärittelyä

6.0

Juho Anttila, Mika Mäntylä

23.4.2001

Tarkistettu ja hyväksytty lopulliseksi versioksi



 

Tiivistelmä

Projektin tarkoituksena on luoda asiakkaalle NetSeal Technologiesille automaattinen ohjelmiston etäpäivitysjärjestelmä. NetSeal Technologies:n toimialana ovat tietoliikenneohjelmistot ja erityisesti vapaan ja turvallisen liikkumisen IP-verkoissa mahdollistavat tuotteet. Projekti toteutetaan Teknillisen korkeakoulun kurssin Tik-76.115 Ohjelmistoprojekti suorituksena, mikä vaikuttaa osaltaan projektin suoritustapaan ja projektin aikana syntyviin dokumentteihin.

Projektin organisaatio koostuu projektiryhmästä, asiakkaasta ja kurssista. Projektin toteuttava projektiryhmä koostuu seitsemästä TKK:n opiskelijasta. NetSeal Technologies toimii projektin asiakkaana ja kurssin henkilökunta toimii työprosessin valvojana ja arvostelijana.

Projektin tavoitteet voidaan jakaa erikseen projektiryhmän ja asiakkaan tavoitteisiin. Projektiryhmän tavoitteena on saada kurssi suoritettua kunnialla läpi välttäen ylimääräiset työtunnit ja hyötyen prosessista vielä taloudellisesti. Asiakkaan tavoitteena taas on saada mahdollisimman toimiva ohjelmistotuote ilman, että kustannukset nousevat omakustannehintaa korkeammiksi.

Toteutuksessa tullaan noudattamaan tiettyjä projektisuunnitelmassa kuvattuja menetelmiä. Näillä menetelmillä pyritään määrittelemään asianmukaiset muutoksen- ja versionhallintaproseduurit. Projektiryhmän sisäinen ja ulkoinen tiedonkulku sekä projektin aikana toimitettavat dokumentit tullaan myös määrittelemään tarkasti. Ohjelmakoodin kirjoittamisessa ja dokumentoinnissa noudatetaan tiettyjä ennalta sovittuja periaatteita, joiden avulla pyritään selkeyteen ja ymmärrettävyyteen. Projektin kulkua valvotaan tasaisin väliajoin pidetyin palaverein ja katselmuksin.

Projekti on jaettu 6 eri vaiheeseen. Nämä vaiheet ovat projektin suunnittelu, neljä toteutusvaihetta ja projektin luovuttaminen. Jokaisella vaiheella on kurssin puolelta määritelty deadline, jonka ylittäminen johtaa pistemenetyksiin kurssin arvostelussa. Projekti päättyy 24.4.2001 tai jos päättämiskriteerit täyttyvät jo ennen tätä.

Sisällysluettelo

0. Versiohistoria
1. Johdanto
2. Termit ja määritelmät
3. Asiakkaan nykyinen ratkaisu
4. Projektin toteutusperusteet
5. Projektin organisaatio
6. Projektin tavoitteet ja päättäminen
7. Projektin resurssit
8. Projektissa käytettävät menetelmät ja työkalut
9. Projektin ositus, vaiheistus ja resurssointi
10. Seuranta ja ohjaus
11. Standardit, direktiivit ja määräykset
12. Riskienhallintasuunnitelma
13. Koulutussuunnitelma
14. Asennussuunnitelma
15. Käyttöönottosuunnitelma

1. Johdanto

Tässä kappaleessa annetaan yleiskuva kurssille Tik-76.115 tehtävästä ohjelmistoprojektista, sen toteutuksesta ja tästä dokumentista.

1.1 Projektin tarkoitus ja kattavuus

Projektin tarkoituksena on luoda asiakkaalle NetSeal Technologiesille automaattinen ohjelmiston etäpäivitysjärjestelmä. Projekti tullaan toteuttamaan siinä lajuudessa, jonka kurssin aikataulu antaa myöden.

1.2 Asiakas

Asiakkaana projektissa on Netseal Technologies, jonka toimialana on tietoliikenneohjelmistot ja erityisesti vapaan ja turvallisen liikkumisen IP-verkoissa mahdollistavat tuotteet. Kyseisen yrityksen palveluksessa työskentelee tällä hetkellä 26 henkilöä. Yrityksen tukena on myös CapMan Capital Management Oy:n helmikuussa 2000 tekemä merkittävä sijoitus yritykseen.

1.3 Tuote ja ympäristö

Projektin tuote tulee perustumaan client-server -mallille. RS:n päässä tullaan määrittelemään päivitettävät ohjelmakomponentit. Nämä komponentit päivittyvät ja tulevat automaattisesti käyttöön MU-päässä. MU-ohjelmistosta tullaan tekemään toimiva versio Windows NT:lle. RS-versio tulee toimimaan JRE:n päällä.

1.4 Oikeudet työn tuloksiin

Asiakas haluaa kaikki työn oikeudet itselleen. Oikeuksista tullaan tekemään ryhmän kanssa erillinen sopimus.

1.5 Yleiskatsaus dokumenttiin

Oheisessa dokumentissa on kuvattu Synapsi-nimisen ryhmän Netseal Technologies -yritykselle tehtävän automaattisen etäpäivitysohjemiston projektisuunnitelma. Projektisuunnitelmaan on pyritty sisällyttämään kaikki projektin käytännön kannalta olennainen tieto - dokumentti ei siis tarkastele projektia tekniseltä kannalta, vaan tätä tarkoitusta varten on olemassa omat dokumenttinsa (esim. projektisuunnitelman kanssa samanaikaisesti julkaistava vaatimusmäärittely).

Mikäli katsotaan tarpeelliseksi, voidaan myös laatia muita tämän ohjelmistoprosessin kannalta tarvittavia dokumentteja (esim. ohjeistus dokumenttien ulkoasun määrittelystä). Tällaisten dokumenttien mahdollisesta laatimisesta päätetään Synapsi-ryhmän palavereissa projektin aikana. Tätä projektisuunnitelmaa tullaan käyttämään projektin osallistuvien henkilöiden ohjeistuksena käytännön toimissa välittömästi sen jälkeen, kun suunnitelma on hyväksytty projektisuunnitelmakatselmoinnissa.

2. Termit ja määritelmät

Netseal = Netseal Techonologies. Projektissa asiakkaana oleva yritys.
MU = Mobile Unit, liikkuva yksikkö. Tässä dokumentissa, mikä tahansa liikkuvayksikkö, johon on asennettu asiakkaan RoamMate Client ohjelmisto.
RS = RoamMate Server. Palvelin johon on asennettu RoamMate-palvelin ohjelmisto ja joka mahdollistaa MU:den vapaan liikkumisen.
JRE = Java Runtime Environment, Java ohjelmien tarvitsema ajonaikainen ympäristö(Virtuaali Kone)
JavaDoc = JDK:n (Java Development Kit) mukana tarjottava työkalu, jonka avulla voidaan generoida tiettyjen sääntöjen mukaan kommentoiduista kooditiedostoista määrämuotoinen dokumentaatio
Tirana = Kurssilla käytetty WWW-pohjainen tuntiraportointijärjestelmä
Burana = Kurssin suosittelema bugiraportointi- ja muutoksenhallintajärjestelmä
GUI = Graphical User Interface. Mikä tahansa graafinen käyttöliittymä. Tässä dokumentissa ohjelmatyöhön tuleva käyttöliittymä.

3. Asiakkaan nykyinen ratkaisu

Asiakkaalla ei ole tällä hetkellä automatisoitua ratkaisua vaan MU:n ohjelmiston päivitys toimii tällä hetkellä täysin manuaalisesti.

4. Projektin toteutusperusteet

Asiakasyritys lähti projektiin mukaan, koska kyseinen ohjelmisto pitäisi kuitenkin jossain vaiheessa lisätä yrityksen tuotteeseen. Projektin lopputuote mahdollistaa liikkuvien yksiköiden automaattisen etäpäivityksen. Tämä on tärkeää, koska päivitysten tekeminen manuaalisesti vaatii paljon ihmistyötä. Esimerkkinä voidaan kertoa, että Avecran ravintolavaunuissa on laskatusohjelma, jonka yhteyden keskuskoneelle asiakkaan RoamMate ohjelmisto mahdollistaa. Viime syksynä näissä junissa olevassa RoamMate ohjelmassa huomattiin bugi, joka piti poistaa päivittämällä RoamMate-ohjelman yksi moduli kaikkiin n. 40:een ravintolavaunuun. Koska ravintolavaunut kuitenkin olivat koko ajan liikkeessä, onnistui päivityksen tekeminen ainoastaan junan saapuessa asemalle. Tämä tarkoitti sitä, että yhden työntekijän oli odeteltava palvelin huoneessa junien saapumista ja tehtävä päivitys jokaiseen yksikköön junan saapuessa asemalle. Tähän kului aikaa noin viikko.

Asiakasyritys kokee myös hyödylliseksi tuoda itsensä opiskelijoiden eli potentiaalisten työntekijöiden tietoisuuteen.

Ohjelmiston oikeudet myydään asiakkaalle. Oikeuksien hinta pyritään määrittämään siten, että omalla työvoimalla tuotettuna hinta olisi sama, jonka projekti nyt kaikkine kustannuksineen tulee maksamaan. Yrityksen ei tarvitse ostaa mitään ylimääräisiä laitteita eikä ohjelmia. Testauksen aikana testikoneita ei luonnollisesti voi käyttää muuhun, joten tämä voidaan ajatella jonkinlaiseksi haitaksi, vaikka välittömiä kuluja siitä ei olekaan.

Asiakkaan henkilöstö joutuu uhraamaan projektille jonkin verran omaa aikaansa, mutta näin tapahtuisi joka tapauksessa, joten se ei tuo mitään lisäkuluja. Koska projekti tehdään lisäominaisuutena jo olemassa olevaan tuotteeseen, siihen ei millään lailla siirrytä. Saavutetut taloudelliset edut ovat vaikeita mitata, mutta kuitenkin erittäin ilmeisiä johtuen manuaalisen työn vähenemisestä.

Projektin toteuttaminen esim. alihankintana tulisi maksamaan noin 120 000 mk. Seuraava laskema on saatu arvioimalla projektin toteuttamiseen kuluva aika joltain alihankinta yritykseltä. Aikaa alihankkijalta kuluisi luultavasti noin 450 tuntia eli noin kolme kuukautta. Alihankinnan tuntihintaa ei missään varsinaisesti mainostetta, mutta valistunut arvaus voisi olla esim. 266mk/h. Tämä perustuu löyhästi siihen, että täysipäiväisen ohjelmoijan palkka on n. 100mk/h, tähän päälle lasketaan kuitenkin vielä sosiaalikuluja 33mk/h niin saadaan pelkän työnhinnaksi 133mk/h. Lisäkuluja aiheuttavat kuitenkin seuraavat tilanteet: ohjelmoijan palkka projektin ulkopuolella, alihankkijan muut kulut (tilat, laitteet, ei-koodaava henkilöstö), alihankkijan tavoittelema voitto projektista n. 20%.

5. Projektin organisaatio

Tässä kappaleessa on esitelty projektiin osallistuvat henkilöt ja heidän roolinsa projektissa sekä heidän väliset riippuvuudet.

5.1 Projektiryhmä

Alla on esitelty varsinaisen projektiryhmän kokoonpano ja jokaisen ryhmän jäsenen yhteystiedot, tehtävä projektissa sekä kiinnostuksen kohteet ja työkokemus.

Ryhmän kotisivu

http://www.hut.fi/~jmanttil/Synapsi/home/

Sähköposti

mika.mantyla@hut.fi, antti.vainio@hut.fi, mvarso@cc.hut.fi,cemo.timucin@hut.fi, Juho.Anttila@proha.fi, mrantee@cc.hut.fi, mac@cc.hut.fi

Jäsenten esittely ja yhteystiedot
Rooli(t): Projektipäälikkö
Nimi: Mika Mäntylä
Puhelin: (050) 3529949
E-mail: mika.mantyla@hut.fi
WWW-kotisivu: http://www.hut.fi/~mmantyla/
Kiinnostus- ja osaamisalueet: Ohjelmistotuotanto, Mobile IP, internet-tekniikat.
Opiskelu- ja työkokemus: Syksy 1997 Teknillinen Korkeakoulu, Tietotekniikan koulutusohjelma.
NetSeal Tech.: Software Engineer    3.1.2000 -
TietoEnator: ATK-suunnittelija:    31.5.1999 - 31.12.1999
Rooli(t): Käyttöliittymävastaava
Nimi: Antti Vainio
Puhelin: (040) 7685 127
E-mail: Antti.Vainio@hut.fi
WWW-kotisivu: http://www.hut.fi/~avainio
Kiinnostus- ja osaamisalueet: Tietoturvallisuus, internet-tekniikat, olio-ohjelmointi, käyttöliittymät, tietokonegrafiikka.
Opiskelu- ja työkokemus: Syksy 1997 Teknillinen Korkeakoulu, Tietotekniikan koulutusohjelma.
Nokia Research Center: Trainee 1.6.2000 - 
Nokia Networks: Trainee 24.5.1999 - 31.5.2000
Rooli(t): Koodipäällikkö
Nimi: Mikko Varso
Puhelin: (041) 517 4674
E-mail: mvarso@cc.hut.fi
WWW-kotisivu:
Kiinnostus- ja osaamisalueet: C/C++ -ohjelmointi, käyttöliittymät.
Opiskelu- ja työkokemus: Syksy 1995 Teknillinen Korkeakoulu, Tuotantotalouden koulutusohjelma.
NetSeal Tech.: Software Engineer 6.3.2000 -
Rooli(t): WWW- ja dokumentointivastaava
Nimi: Juho Anttila
Puhelin: (040) 7675 130
E-mail: Juho.Anttila@Proha.fi
WWW-kotisivu:
Kiinnostus- ja osaamisalueet: Tietokannat, C++ -ohjelmointi, JAVA -ohjelmointi, WWW-teknologiat.
Opiskelu- ja työkokemus: Syksy 1996 Teknillinen Korkeakoulu, Tietotekniikan koulutusohjelma.
Proha Oyj: Ohjelmistokonsultti 15.3.1999 -
Rooli(t): Systeemisuunnittelija
Nimi: Ville Rannikko
Puhelin: (050) 549 0317
E-mail: mac@cc.hut.fi
WWW-kotisivu: http://www.hut.fi/~mac
Kiinnostus- ja osaamisalueet: Visual C++, Java, käyttöliittymät.
Opiskelu- ja työkokemus: Syksy 1990 Teknillinen korkeakoulu, Tietotekniikan koulutusohjelma.
ICL Invia Oyj: Systeemisuunnittelija 3.3.1997-
Rooli(t): Menetelmävastaava
Nimi: Cemo Timucin
Puhelin: (040) 7675 122
E-mail: ctimucin@cc.hut.fi
WWW-kotisivu: http://www.hut.fi/~ctimucin
Kiinnostus- ja osaamisalueet: Projektitoiminta, olio-ohjelmointi, ohjelmistojen testaus.
Opiskelu- ja työkokemus: Syksy 1996 Teknillinen korkeakoulu, Tietotekniikan koulutusohjelma.
Proha Oyj: Ohjelmistokonsultti 28.10.1998-
Rooli(t): Asiakasvastaava
Nimi: Marko Rantee
Puhelin: (050) 569 4964
E-mail: mrantee@cc.hut.fi
WWW-kotisivu:
Kiinnostus- ja osaamisalueet: Windows-verkkorajapinta, Java, C.
Opiskelu- ja työkokemus: Syksy 1996 Teknillinen korkeakoulu, Sähkö ja tietoliikennetekniikan koulutusohjelma.
NetSeal Tech.: Software engineer 1.3.1999-
Espoon Evl. seurakuntayhtymä: Kausityöntekijä kesä 1997 ja kesä 1998

5.2 Sidosryhmät

Tässä kappaleessa on esitetty projektiryhmän ulkopuoliset projektiin liittyvät sidosryhmät.
Rooli: Asiakas & ohjaaja
Toimenkuva: Asiakkaan puolelta tapahtuva työn valvonta ja ohjaus.
Nimi: Antti Nuopponen
Puhelin: (09) 4353 1600 , 050 3533 469
E-mail: Antti.Nuopponen@netseal.com

5.3 Projektin organisaatiokaavio

Alla on esitetty projektin organisaatio riippuvuuksineen graafisessa muodossa.

Kuva 1. Organisaatio

6. Projektin tavoitteet ja päättäminen

Tässä kappaleessa esitetään projektiryhmän projektille asettamat tavoitteet, projektin asiakkaan projektille asettamat tavoitteet ja projektin yleiset tavoitteet. Tämän lisäksi esitetään myös se, minkä olosuhteiden täyttyessä projekti voidaan keskeyttää ja mitkä kriteerit kertovat projektin olevan siinä vaiheessa, että se voidaan todeta valmiiksi ja lopettaa.

6.1 Projektiryhmän tavoitteet

  1. Kurssin Tik-76.115 Software Project suoritusmerkinnän saaminen
  2. Kurssiarvosana => 3
  3. Tyytyväinen asiakas
  4. Hyvän tuotteen tekeminen
  5. Laaditun aikataulun noudattaminen
  6. Työmäärän tasainen jakautuminen
  7. Ylityötuntien välttäminen
  8. Henkilökohtaisen taloudellisen tilanteen parantaminen

6.2 Asiakkaan tavoitteet

Asiakkaan päätavoitteena on saada RoamMaten seuraavaan versioon mukaan projektiryhmän tuottama ohjelmiston laajennus. Tavoite siis menee hyvin yhteen kurssin aikataulun kanssa, koska realistisesti ajatellen projektia ei mitenkään saada valmiiksi ennen kevättä.

Välttämättömät ominaisuudet

Toivottavat ominaisuudet

Kiva olla

Asiakkaan Top 10

  1. Yrityksen pitää saada lopulta kaikki oikeudet projektiin (itse projekti)
  2. Asiakasta ei pidä alkaa päivittämään kysymättä. (softa)
  3. Ainoastaan administrator-oikeuksilla voidaan päivittää moduuleita palvelimelle (softa)
  4. Päivitettävien moduuliryhmien muodostus (softa)
  5. Päivityksen tulee olla atominen (softa)
  6. Päivitettävien asiakkaiden ryhmien muodostus (softa)
  7. Dokumentointi pitää olla sitä tasoa, että siitä on seuraavan helppo jatkaa eteenpäin. (itse projekti)
  8. Projektin pitää valmistua keväällä 2001 (itse projekti)
  9. Käyttöliittymän tulee olla nopeasti omaksuttavissa. (softa)
  10. Palvelinpää tehdään Javalla ja asiakaspää tehdään Microsoftin työkaluilla

6.3 Projektin tavoitteet

Projektin tavoitteena on toteuttaa yläpuolella mainitut välttämättömät ominaisuudet. Jos aikaa jää, niin siirrytään tekemään alemman prioriteetin ominaisuuksia. Jos projekti viivästyy, joudutaan miettimään vaihtoehtoja, koska mistään välttämättömästä ominaisuudesta ei voida tinkiä.

6.4 Projektin keskeyttämiskriteerit

Projekti voidaan keskeyttää seuraavista syistä. Projektin keskeyttäminen tapahtuu projektiryhmän enemmistöpäätöksellä.

6.5 Projektin päättämiskriteerit

Projekti päättyy 27. huhtikuuta 2001 tai ennen tätä mikäli vaatimusmäärittelyn täyttävä tuote on tätä ennen valmis.

Projekti päätetään loppupalaverilla, jossa läsnä ovat ainakin neljä projektiryhmän jäsentä sekä asiakas ja ohjaaja.

7. Projektin resurssit

Käytössä on noin 26 viikkoa ja 7 henkilöä. Koska henkilöt ovat opiskelijoita voimme arvioida heidän työpanoksekseen n. 7h/viikkossa. Eli resurseja käytössä 26 * 7 * 7 = 1274h.
 
  M M A V C T M R M V J A V R Yhteensä
PS  35 20  20  30 20 20  15 160 
T1  25 25 25 25 30  25  30 185
T2  35 35  25  40 45 30 40 250
T3  35 35 25 35  45 40  40 255
T4  35 40 30  30 30 35  35 235 
LU  20 25  25 30 15  20  15 150
Yhteensä  185 180  150 190 185 170  175  1235 

Projekti lomailee ja lukee tentteihin

8. Projektissa käytettävät menetelmät ja työkalut

8.1 Muutosten hallinta (koodi/dokumentit)

Muutosten hallinta ei tämän kokoiseissa projektissa luultavasti pääse nousemaan kovin isoon asemaan. Mikäli muutosten hallintaan kuitenkin ilmenee tarvetta tullaan siinä hyödyntämään kurssilla käytössä olevaa Burana-järjestelmää.

Tarpeen vaatiessa muutospyyntöjen käsittely toimii seuraavasti.

1) Muutostarpeen havainnointi.
Muutospyynnön tekijä syöttää muutos pyynnön järjestelmään ja raportoi seuraavat asiat: 1. Kuka löytänyt, 2. Mistä modulista/versiosta (esim. Server-0.1), 3. Ongelman kuvaus.

2) Muutospyynnön käsittely (Projektipäällikkö käsittelee ja lähettää eteenpäin )
Käsittelijä päättää, mitä toimia pyyntö aiheuttaa. Jos pyynnön perusteella ryhdytään toimiin raportoi käsittelijä seuraavat asiat: 1. Kuka löytänyt, 2. Mistä modulista/versiosta (esim. Server-0.1), 3. Ongelman kuvaus, 4. Työmääräarvio, 5. Pyynnön toteuttaja.

3) Muutospyynnön toteutus.
Kun toteuttaja on tehnyt tarpeelliset muutokset, raportoi hän seuraavat asiat: 1. Minne muutoksia tehtiin, 2. Miten muutokset vaikuttavat ohjelmaan, 3. Paljonko kului aikaa.

4) Muutospyynnön testaus
Lopuksi testaaja testaa muutoksen. Raportoidaan asiat: 1. Testauspäivämäärä, 2. Millaisia testitapauksia käytettiin testaukseen. 3. Miten muutoksia havaittiin ohjelman toiminnassa muutoksen seurauksena.
 

8.2 Tuotteenhallinta

Tuotteenhallinnassa käytettävät menetelmät tarkennetaan myöhemmässä vaiheessa.

8.3 Versionhallinta

Dokumentit hallitaan ainakin aluksi dokumentointivastaavan kautta. Jokaisella dokumentin tuottajalla on oma dokumentin osa, jota hän muokkaa. Säännöllisin väliajoin ja/tai tekijöiden ilmoituksen perusteella dokumentointivastaava koostaa niistä uuden version. Tässä uudessa versiossa on siis koottu yhteen eri tekijöiden osuudet.

Koodin hallintaa tullaan käyttämään perinteistä checkout/chekin mallia. Muut mallit (composition malli, long trasaction malli, change set malli) jäävät käyttämättä, koska ryhmällä ei ole niiden käyttöön tarvittavaa välineistöä eikä osaamista.
 

8.4 Tiedonkulku (sisäinen/ulkoinen)

Projektissa käytetään ensisijaisina sisäisinä tiedotusväylinä sähköpostia sekä WWW:tä. Yhdessä ryhmä miettii projektiin liittyviä asioita viikottain järjestettävissä palavereissa. Palavereita voidaan tarvittaessa myös järjestää useammin/harvemmin, mikäli ryhmä katsoo tarpeelliseksi (esim. usean ryhmän jäsenen ollessa lomalla ei palaveria pidetä).

Sähköpostin avulla projektiryhmän jäsenet voivat tehokkaasti saavuttaa koko ryhmän. Todella pikaisissa asioissa voidaan turvautua myös puhelimen käyttöön. Mikäli joku ryhmän jäsenistä kokee puhelimenkäytön tiettyinä aikoina hankalaksi (esim. töissä olon vuoksi), voidaan tähän liittyvistä käytännöistä sopia erikseen. WWW:n kautta julkaistaan ryhmän kotisivuilla kaikki projektiin liittyvä dokumentaatio. Dokumentointivastaava vastaa viime kädessä siitä, että dokumentit tulevat ensi tilassa WWW:hen.

Ulkoinen tiedotus ja yhteydenpito tapahtuu asiakkaan suuntaan asiakasvastaavan kautta ja projektiin liittyvän kurssin suuntaan projektipäällikön kautta. Em. henkilöt ovat vastuullisia tiedottamaan muita ryhmän jäseniä mahdollisesti saamastaan uudesta tiedosta/muutoksista. Edellisestä poikkeavista käytännöistä voidaan tarvittaessa sopia projektipalavereissa ryhmän kesken.

8.5 Dokumentointi

Projektin dokumentointi tapahtuu pääosin kurssin puitteissa eli projektin aikana luodaan ne kaikki dokumentit, joita suoritettavalla kurssilla vaaditaan. Mikäli projektin asiakas vaatii jotain lisädokumentaatiota, myös nämä dokumentit laaditaan. Dokumentoinnissa täytyy kiinnittää huomiota siihen, että luotavat dokumentit täyttävät kurssin järjestäjien (tai asiakkaan, mikäli kyse on projektin asiakkaalle tehtävästä dokumentista) asettamat kriteerit ja toisaalta ovat tarpeellisia ja asianmukaisia ryhmän jäsenien kannalta. Dokumentit laaditaan HTML-formaatissa, jotta ne voidaan julkaista WWW:ssä ja ovat näin ollen kaikkien ryhmän jäsenien nopeasti saatavilla.

Projektin aikana on tarkoituksena luoda ainakin seuraavat dokumentit (lista sisältää myös projektin vaiheen, jossa ko. dokumentti luodaan):

Kussakin projektin vaiheessa tehdään myös tarvittavat lisäykset/muutokset aiemmin luotuihin dokumentteihin niin, että dokumentit sisältävät oikeaa ja ajankohtaista tietoa.

8.6 Ohjelmakoodista

Projektin aikana syntyvässä ohjelmakoodissa pyritään noudattamaan tiettyjä ulkonäöllisiä ja rakenteellisia periaatteita, jotka on kuvattu alla.

Ohjelmoitikieli

Projektissa tehtävän tuotteen toteutukseen käytetään Java- ja C/C++ -ohjelmointikieliä. Palvelimen osuus kirjoitetaan, mikäli mahdollista kokonaan Javalla. Ohjelmiston client-puoli kirjoitetaan C/C++ -kielellä käyttäen mahdollisimman paljon ANSI-C:tä, niin että mahdollisimman moni ohjelman moduuleista on alustariippumaton.

Ohjelmakoodin kirjoitus

Tuotteen ohjelmakoodi tullaan kirjoittamaan käyttäen GNU Emacs -editoria, joka tarjoaa automaattisen sisennyksen näille ohjelmointikielille. Tätä ominaisuutta tullaan luonnollisesti hyödyntämään. GNU Emacsin oletussisennystä C/C++-koodille ei tule käyttää, vaan oikea Emacsin tyyli määritellään sueraavilla riveillä tiedostossa ~/.emacs:
(defun tik-76.115-c-mode ()







  "C mode with adjusted defaults for use with Tik-76.115 project."







  (interactive)







  (c-mode)







  (c-set-style "K&R")







  (setq c-basic-offset 8))







(defun tik-76.115-c++-mode ()







  "C++ mode with adjusted defaults for use with Tik-76.115 project."







  (interactive)







  (c++-mode)







  (c-set-style "K&R")







  (setq c-basic-offset 8))
Tyylit saa käyttöön komennoilla:
M-x tik-76.115-c-mode
M-x tik-76.115-c++-mode

Koodin ulkomuoto ja rakenne

Koodin ulkoasussa pyritään selkeyteen ja helppoon luettavuuteen, joka saavutetaan riittävällä kommentoinnilla (kts. seuraava kappale), kuvaavilla muuttujien nimillä ja modulaarisella ohjelman rakenteella. Modulaarisella rakenteella pyritään erottamaan geneerinen, alustariippuumaton osuus GUI:sta ja verkkotoiminnallisuudesta. Koodin yhdenmukaisuutta pyritään parantamaan palavereissa ja katselmoinneissa käytävillä keskusteluilla. Mikäli tarve vaatii, kirjoitetaan erillinen ohje ohjelmakoodin ulkonäkövaatimuksista ja kommentoinnista. Ohjelmakoodissa pidetään muuttujien, funktioiden tms. nimet englannin kielisinä.

Ympäristö ja kääntäjät

Koodi kirjoitetaan kääntymään ainakin seuraavissa ympäristöissä:

Koodin kommentointi

Java-ohjelmointiympäristö tarjoaa valmiin työkalun (JavaDoc), jolla tehdystä kommentoidusta koodista saadaan muokattua suoraan HTML-dokumentti joka sisältää mm. luokkien attribuuttien ja metodien kuvaukset. JavaDoc:in käyttö edellyttää työkalulle ominaisten kommenttimerkkien (/** ... */) käyttöä, jota projektissa tullaan käyttämään.

C/C++ tarjoaa vastaavan työkalun, Doc++, dokumentoinnin generointiin, joten C++ -koodissa tullaan käyttämään Doc++:n mukaista /** ... */ -merkkien sisään laitettua kommentointia kaikissa kommenteissa, joista on tarkoitus generoida dokumentit. //-merkinnän avulla toteutettua kommentointia ei tulla projektissa käyttämään.

Koodissa tulee kommentoida

Lisäksi kunkin lähdekooditiedoston alkuun tulee sisällyttää kuvaus koko tiedostosta (tiedoston nimi, tiivis kuvaus, tiedoston vastuuhenkilö, viimeisen muutoksen pvm, jne; kts. alla). Lisäksi koodin sekaan tulee lisätä kommentteja niin, että se edesauttaa tarvittavissa määrin koodin ymmärtämistä ja tekee sen helposti luettavaksi. Liiallista kommentointia tulee välttää. Koodin kommentointi tapahtuu englannin kielellä.

Pohja lähdekooditiedoston alkuun sisällytettävästä kommenttiosiosta:

C++ -tiedostot:

/*







 * tiedoston nimi







 *







 * Author: tiedoston vastuuhenkilön nimi







 * Date  : tiedoston muutospäivä formaatissa dd.mm.yy







 *







 * 







 *







 *







 * Copyright Netseal Technologies 







 */

Java-tiedostot

Java-tiedostojen alun kommenttiosiossa tullaan käyttämään JavaDoc-kommentointia niin, että vastaavat tiedot kuin C++ -tiedostoissa käyvät selkeästi ilmi.

8.7 Laadunvarmistus

Menetelmänäkökulmasta projekti lähtee liikkeelle tietenkin vaatimusten aktiivisesta keräämisestä, johon osallistuvat projektiryhmän puolelta asiakasvastaava, projektipäällikkö sekä teknisen tietämyksen omaava koodipäällikkö. Vaatimukset kerätään edellämainittujen tahojen välityksellä asiakkaaltamme. Näin saadaan heti projektin alkumetreillä projektiorganisaation kaksi ääripäätä kommunikoimaan keskenään, eli asiakkaan (jolta saamme korkean tason business-vaatimukset) sekä koodaajan (jolla on vankka näkemys teknisistä toteutusmahdollisuuksista).

Koska ryhmä on ymmärtänyt, että vaatimukset ovat projektin tärkein yksittäinen komponentti, käyttää ryhmä suuren panoksen niiden yksityiskohtaiseen määrittelyyn sekä eritoten niiden hallitsemiseen koko projektin elinkaaren ajan. Mikäli vaatimuksiin tulee muutoksia projektin edetessä on ryhmällä käytössä hyväksyntäprosessi, jossa täytyy hankkia ensin hyväksyntä muutokselle sekä projektipäälliköltä, koodipäälliköltä/kälipäälliköltä (riippuen kumman vastuualueeseen muutos liittyy) että myös asiakkaalta. Vasta hyväksyntäprosessin läpikäytyään ryhmä realisoi muutoksen ja korjaa vaatimukset oleellisilta osiltaan.

Laadunvarmistuksen kannalta oleellinen asia on myöskin ohjelmiston testaus. Ryhmä on tiedostanutt myös tämän seikan ja käyttääkin toteutuksen ja testauksen välisen suhteen kuvaavaa V-mallia. Tämä tarkoittaa sitä, että ei edetä "perinteisellä" tavalla, eli ensin kerätään vaatimukset, suunnitellaan ja lähdetään toteuttamaan järjestelmää, jonka jälkeen tehdään testisuunnitelmat moduuli-, yksikkö- sekä järjestelmätestausta varten. Uusi lähestymistapa on tehdä asioita rinnakkain. Samalla hetkellä kun ryhmä saa asiakkaalta korkean tason businessvaatimukset pystyy tekemään myös hyväksyntätestaussuunnitelman. Toiminnallista määrittelyä tehdessä ryhmä pystyy generoimaan myös järjestelmätestaussuunnitelman. Ketju jatkuu, kunnes ryhmä pääsee matalalle tasolle, jossa se suunnittelee hyvin teknisiä yksityiskohtia, jolloin ryhmä pystyy samalla suunnittelemaan myös moduulitestauksen. Suunnitelmien jälkeenhän vuorossa on toteutus, jonka jälkeen ryhmä toteaakin että kaikki testisuunnitelmat ovatkin jo valmiina eikä aikaa tarvitse kuluttaa enää suunnitteluun, vaan testaustoiminta voidaan käynnistää onnistuneen projektin lopputuloksen takaamiseksi.

8.8 Tarkastukset ja katselmointi

Projektissa järjestetään projektin tuotteiden (lähdekoodi, dokumentointi) tarkastuksia ja katselmointeja kurssin vaatimissa puitteissa. Näiden katselmointien lisäksi voidaan pitää myös muita tarkistustilaisuuksia, jos esim. asiakas niin vaatii. Ryhmän sisäisissä palavereissa ei pidetä erillisiä katselmointeja. Erillisistä katselmoinneista sovitaan asianomaisten kanssa erikseen.

Kurssi on asettanut tiettyjä ajankohtia, joihin mennessä vaiheen katselmoitavat (väli)tuotteet on oltava valmiina. Ajankohdat ovat seuraavat:

8.9 Palaverikäytännöt

Ryhmän sisäisissä palavereissa palaveria johtaa projektipäällikkö, joka jakaa puheenvuorot ja johtaa keskustelua niin, että ei harhauduta pois varsinaisesta aiheesta. Lisäksi kukin ryhmän jäsen on velvollinen kertomaan omalla osa-alueellaan tapahtuneista muutoksista ja etenemisestä. Ryhmäpalaveri on päätösvaltainen, mikäli paikalla on vähintään 4 ryhmän jäsentä. Palavereja pidetään viikottain - poikkeavasta käytännöstä voidaan tarvittaessa sopia. Palaverin ajankohta päätetään aina edellisen palaverin lopuksi. Mikäli ryhmän jäsen myöhästyy tai ei ilmesty paikalle ilmoittamatta asiasta, häneltä vaaditaan sakkomaksu ryhmän yhteiseen kassaan. Sakon suuruudesta sovitaan ryhmän sisällä erikseen.

Katselmoinneissa noudatetaan kurssin käytäntöä eikä asiaa oteta tässä erikseen esille.

8.10 Ryhmätyökäytännöt

Projektin ryhmätyö koostuu pääasiassa ryhmäpalavereista (kts. palaverikäytännöt), joissa koko ryhmä osallistuu projektiin liittyvien päätösten ja suunnitelmien tekoon. Lisäksi voidaan tarvittaessa pitää pienempiä tapaamisia, joissa esim. suunnitellaan jonkin tietyn osan toteutusta tai arkkitehtuuria. Näistä pienemistä tapaamisista sovitaan ryhmän jäsenien kesken erikseen.

8.11 Vaatimusten hallinta

Vaatimusten hallintaan käytämme Caliber RM -nimistä ohjelmistoa. Päädyimme tähän ratkaisuun, sillä haluamme hallita vaatimuksia emmekä dokumentteja, ja tämän hoitavalla työkalulla se on varsin kätevää. Käyttämällä 'oikeaa' vaatimusten hallintaympäristöä meillä on käytössä mm. vaatimusten automaattinen versionti sekä versionhallinta, pystymme yhdessä työkalussa määrittämään niin korkean tason business vaatimukset kuin hyvinkin matalan tason tekniset vaatimukset. Työkalu sisältää myös erinomaiset raportointiominaisuudet, jolloin voimme aina generoida ajankohtaiset raportit vaivatta. Työkalun joustavuuden avulla pystymme käyttämään sitä myös testauksen suunnittelemiseen ja hallitsemaan.

Työkalussa pystytään helposti mm. määrittelemään vaatimusten (ja myös testauksen) väliset riippuvuussuhteet, jolloin muutosten analysointi on vaivatonta. Näemme yhdellä silmäyksellä mihin kaikkiin asioihin meidän pitää kiinnittää huomiota, jos eteemme tulee tilanne, jossa meidän täytyy muuttaa olemassaolevia vaatimuksia. Työkalu on käytössämme kurssilaisen työnantajan puolesta, joten lisenssiasiatkin on kunnossa.

9. Projektin ositus, vaiheistus ja resurssointi

Tässä kappaleessa esitetään projektin eri vaiheet sekä niiden aikana syntyvät dokumentit. Tarkempi resurssointisuunnitelma löytyy liitteenä olevasta MS Project -tiedostosta.

Projekti jakaantuu kuuten vaiheeseen joiden aikana se on tarkoitus viedä läpi. Ensimmäinen vaihe on Projektin suunnittelu, jonka aikana on tarkoitus saada käsitys projektissa toteutettavasta työstä ja pohtia menetelmiä projektin menestyksekkääseen läpivientiin. Suunnittelua seuraa neljä toteutusvaihetta  nimeltään Toteutus 1-4. Näiden vaiheiden aikana on USDP:n hengessä tarkoitus, joka kerta suunnitella toteuttaa ja testata ohjelmisto. Jokaisen vaiheen siis pitäisi päättyä toimivaan ohjelmistoon.

Vaihe toteutus 1 on kuitenkin sen verran lyhyt, että kyseisessä vaiheessa tulemme ainoastaan keskittymään suunnitteluun. Vasta vaiheiden toteutus 2-4 aikana tulemme noudattamaan tarkemmin USDP:tä eli siis pyrimme päättämään jokaisen vaiheen hyvin suunniteltuun, toimivaan ja testattuun ohjelmistoon.

Projekti päättyy luovutus vaiheeseen, jossa asiakkaalle luovutetaan toimiva ja hyvin dokumentoitu ohjelmisto.

9.1 Projektin suunnittelu (DL 16.10.2000)

Tuotokset:

  1. Projektisuunnitelma, jossa mukana seuraavan vaiheen tarkempi suunnitelma ja MS Project -tiedosto. (Resursit kaikki)
  2. Vaatimusmäärittely (Resursit: Marko, Mika, Cemo, Mikko)
  3. Edistymisraportti (Resursit: Antti)

Muut tehtävät

  1. Työtilan ja www-sivun järjestäminen (Resursit: Juho)

9.2 Toteutus 1 (DL 7.11)

Tehtävät ja resursit

  1. Projektisuunnitelman päivittäminen. (Resurssit: Mika, Antti.)
  2. Vaatimusmäärittelyn päivittäminen.(Resurssit:  Marko, Cemo)
  3. Toiminnallinen määrittely. (Resurssit: Mikko, Marko, Ville)
  4. Tekninen määrittly. (Resurssit. Mikko, Antti, Ville)
  5. Testaussuunnitelma. (Resurssit. Mika, Antti, Cemo)
  6. Työkalujen käyttöönotto ja asennus. (Resurssit Juho, Mikko)
  7. Edistyraportin kirjoittaminen. (Resurssit: Antti)

Tuotokset

  1. Päivitetty projektisuunnitelma
  2. Päivitetty vaatimusmäärittely
  3. Toiminnallinen määrittely (karkealla tasolla mahdollisimman suuri osa järjestelmästä)
  4. Tekninen määrittely (jos ehditään niin pitkälle)
  5. Testaussuunnitelma (ei-toiminnallisten ominaisuuksien osalta ja jos tekninen määrittely on tehty myös siltä osin)
  6. Testausraportti (jos testausta on tehty)
  7. Edistymisraportti

9.3 Toteutus 2 (DL 12.12)

Tässä vaiheessa toteutetaan ensin tekninen määrittely. Teknisenmäärittelyn DL on 23.11. Tämä on siitä syystä, että saadaan tekninen määrittely varmasti kuntoon ennen orastavaa tenttikautta. Teknisenmäärittelyn jälkeen aloitetaan ohjelmointi, jossa pyritään samaan aikaiseksi clientin ja serverin välinen kommunikointi, sekä alustava ja osin toimiva version GUI:sta. Teknisenmäärittelyn perusteella päivitetään testaussuunnitelman teknistä osaa, ja pohditaan testitapauksia.

Tämän vaiheen kannalta on kriittistä, että tekninen määrittely saadaan tehtyä vaiheen alussa. Teknisenmäärittelyn aikainen valmistuminen varmistaa sen, että ohjelmointi ja testaussuunnittelu pääsevät alkamaan hyvissä ajoin ennen DL:ää.  Vaiheen lopussa pitäisi siis olla valmiina määrittelyjen ja  testaussuunnitelman lisäksi demon verran toimivaa koodia ja muutama onnistuneesti läpiviety testitapaus.

Tehtävät ja resursit

  1. Opiskellaan Javan GUI komponentien käyttöä (Antti) ja serveri-client ohjemointia (Mikko, Ville)
  2. Päivitetään ja täydennetään toiminnallista määrittelyä asiakkaan palautteen perusteella (Mika, Mikko, Marko, Antti)
  3. Tehdään tekninenmäärittely (Mikko, Antti, Ville, Mika) ( DL 23.11)
  4. Päivitetään ja täydennetään testaussuunnitelmaa teknisen määrittely pohjalta (Cemo + joku teknisempi guru)
  5. Ohjelmoidaan: GUI:ta, clientin ja serverin välistä kommunikointia(Antti, Mikko, Ville)
  6. Tehdään Burana-raportit (Juho, Marko).
Tuotokset
  1. Päivitetty projektisuunnitelma
  2. Päivitetty vaatimusmäärittely
  3. Päivitetty toiminnallinen määrittely
  4. Päivitetty tekninen määrittely
  5. Päivitetty testaussuunnitelma
  6. Päivitetty testausraportti
  7. Käyttöohje
  8. Edistymisraportti

  9.  

9.4 Toteutus 3 (DL 13.2)

9.4.1 Yleiskuvaus

Tässä vaiheessa lähdemme rakentamaan ohjelmaa kohti lopullista toiminnallisuutta. Tarkoitus on saada serveri ja clientti kaikilta osin kommunikoimaan keskenään. Verkko puolen tulisi siis vaiheen jälkeen olla niin vikasietoinen, etteivät mitkään verkon epäluotettavuudesta johtuvat virheet saisi sitä ajautumaan virhetilanteeseen.  Serverin käyttöliittymää parannetaan vaiheen T2 palautteen perusteella, minkä lisäksi siihen tullaan lisäämään suuri osa lopullisista toiminnoista. Clientin päässä tullaan implementoimaan verkkotoiminnalisuuden lisäksi käyttöliittymän ja muiden client järjestelmän osien kommunikointi.  Tässä vaiheessa myös esitellään ensimmäinen versio käyttöohjeesta. Vaiheen T3 lopussa on tarkoitus kahden viikon aikana suorittaa varsin kattava testaus, siten että varsin suuri osa suunnitelluista ominaisuuksista saadaan testattua.

9.4.2 Eteneminen

Koko vaiheen läpi suunnittelu dokumentteja päivitetään ja täydennetään suunnitelmien tarkentuessa.

Vaihe alkaa ryhmällä joululoman jälkeen 11.1. Tästä eteenpäin käytettään kolme viikkoa ohjelmointiin ja testaussuunnitelman viimeistelyyn. Kolme ohjelmointi viikkoa jakaantuvat seuraavasti. Ohjelmointiviikolla 1 tekee jokaisen moduulin vastuuhenkilö omaan moduuliinsa sieltä vielä puuttuvan toiminnallisuuden ja viimeistelee ohjelmansa käyttämät rajapinnat. Ohjelmointiviikolla 1. pyritään myös käyttöliittymästä hankimaan palautetta esim. Netsealin kautta tulevilla testihenkilöillä. Ohjelmointiviikolla 2 pyritään integroimaan moduulit yhtenäisesti toimivaksi yksiköksi. Ohjelmointiviikolla 3 haetaan moduulien välisestä kommunikaatiosta "helppoja" bugeja ja testataan alustavasti järjestelmää. Viimeisellä viikolla toteutetun alpha testauksen ansiosta pystymme paremmin viemään läpi ominaisuuksien testausta.

Kolmen viikon ohjelmoinnin jälkeen testataan ohjelmaa testaussuunnitelman mukaisesti ja raportoidaan bugeja ja epätoivottuja ominaisuuksia. Tässä vaiheessa myös kirjoitetaan järjestelmälle käyttöohje.

Vaiheen lopussa katselmoidaan palautettavat dokumentit ja valmistellaan järjestelmä Demo kuntoon.

9.4.3 Lopuksi

Vaiheen T3 jälkeen järjestelmän pitäisi siis olla siinä kunnossa, että sitä voi hyvin kokeilla, ja nähdä miten se toimii. Toki tässä vaiheessa järjestelmä sisältää vielä paljon ongelmiakin: testauksen jäljiltä on dokumentoituja bugeja, kaikkia ei niin kriittisiä ominaisuuksia ei ole vielä tehty, järjestelmän suorituskyky on lopullista heikompi, eikä mitään integrointia asiakkaan järjestelmään ole tehty.

9.4.4 Riskit

Kolmen viikon ohjelmointi jaksoon liittyy vaiheen yksi vaiheen suurimmista riskeistä. On valitettavasti hyvin luultavaa että ensimmäisen kahden ohjelmointi viikon aikana kukaan ei tee juuri mitään, ja tämän jälkeen viimeisellä viikolla pyritään tekemään kaikki mahdollinen. Koska kyseessä on kouluprojekti eikä ketään voi uhata erottamisella, lienee tehokkain keino riskin välttämiseksi mahdollisimman tarkasti määritellyt tehtävät ja niiden edistymisen valvominen jo käyttöönotetulla kaljasakkojärjestelmällä.

Vaiheen toinen riski liittyy selkeästi testaamisen suorittamiseen. Ryhmällä ei ole paljoakaan kokemusta näin tarkasti määritellyn testauksen suorittamisesta ja halukkuus testauksen läpivientiin saattaakin olla varsin matala. Varmimmat keino riskin välttämiseksi on selkeästi nimetä vastuuhenkilöt ja varmistaa, että testisuunnitelma on siten toteutettu, että sen läpivienti ei aiheuta ylimääräistä päänvaivaa. Joskaan tässäkään vaiheessa ei kannata aliarvioida kaljasakkojärjestelmän vaikutusta motivoijana.

9.4.5 Tuotokset

  1. Päivitetty projektisuunnitelma
  2. Päivitetty vaatimusmäärittely
  3. Päivitetty toiminnallinen määrittely
  4. Päivitetty tekninen määrittely
  5. Päivitetty testaussuunnitelma
  6. Päivitetty testausraportti
  7. Käyttöohje
  8. Edistymisraportti

9.4.6 Tuntiarvio

Kuva 2. Vaihe T3 arvio työmääristä ja aikataulusta.

9.5 Toteutus 4 (DL 20.3)

9.5.1 Vaiheen yleiskuvaus

Vaiheen T4 aikana ohjelmisto kehitetään niin pitkälle, että se sisältää kaiken halutun toiminnallisuuden. Vaiheeseen kuuluvat olennaisena osana vielä puuttuvien toimintojen toteutus, ohjelmiston testaus, löydettyjen bugien korjaaminen sekä projektiin liittyvän dokumentaation päivittäminen. Vaiheen loppuun mennessä on tarkoitus saada aikaan (lähes) bugiton toimiva ohjelmisto sekä ajan tasalla oleva dokumentaatio. Näin ollen Luovutus-vaiheeseen ei jää enää kuin harvojen bugien korjaus, dokumenttien hienosäätöä sekä lopullinen testaus.

Vaiheen aikana ohjelmistoon tullaan lisäämään/korjaamaan vielä seuraavia ominaisuuksia:

  • MD5-varmenteen käyttöönotto ohjelmistopakettien siirtämisessä
  • Palvelimen käyttöliittymän pienet muutokset (mm. on-line helpin ulkoasun parantaminen)
  • Ohjelmistomme integroimisen RoamMate:in vaatimat lisäykset
  • Client-osan käyttöliittymän laajentaminen
  • Löydettyjen virheiden korjaus sekä clientissä että serverissä
  • 9.5.2 Aikataulu

    T4 vaiheessa on tehokasta aikaa käytettävissä n. neljä viikkoa. Kullakin viikolla ryhmä pitää palaverin, jotta tehtävät voidaan jakaa täsmällisesti ryhmän jäsenille sekä seurata vaiheen edistymistä. Vaiheen aikataulun vaiheet on suunniteltu alkamaan aina torstaisin, jolloin palaverissa suoritetaan tehtävien jako.

    Vaihe alkaa T3-vaiheen viikolla 7 palaverin merkeissä (15.2.). Vaihe käynnistetään 15.2. korjaamalla edellisen vaiheessa auki jääneitä bugeja. Tämän jälkeen siirrytään toteuttamaan puuttuvia ominaisuuksia (kts. edellinen kappale) 22.2. alkaen ja varmistetaan testaamalla, että vanhat bugit saatiin korjattua. Tämän jälkeen (1.3.) on vuorossa n. viikon kestoinen ohjelmiston integroiminen RoamMate:iin. Loppu aika (9.2. alkaen) vaiheesta jää järjestelmän testaamiseen, dokumenttien päivittämiseen (mm. luodaan käyttöohjeesta lopullinen versio) ja seuraavan vaiheen suunnitteluun. Rinnakkain muiden aktiviteettien kanssa suoritetaan jatkuvaa bugikorjausta aina virheiden ilmetessä.

    Viimeisenä toimintana vaiheessa katselmoidaan aikaansaadut dokumentit ja valmistaudutaan katselmointiin suunnitellen samalla demo.

    9.5.3  Riskit

    Vaiheen suurin riski liittyy jälleen samaan ongelmaan: riskinä on että suunnittelut työt jäävät tekemättä. Syynä riskiin voidaan pitää sitä, että ryhmän jäsenet voivat kokea rakennetun ohjelmiston jo niin valmiiksi, että motivaatio viimeisten puristuksien tekemiseksi on vaikea löytää. Aiemmissa vaiheissa käytettyjä sekä tehokkaiksi havaittuja menetelmiä (selkeä tehtävänjako, tekemisen aktiivinen seuranta sekä kaljasakko) tullaan hyödyntämään myös tässä vaiheessa riskin välttämiseksi.

    Pienempänä riskinä voidaan nimetä ohjelmiston integroimisessa RoamMate:iin  mahdollisesti esiintyvät ongelmat. Riskiä ei koeta kovin suureksi, koska ryhmän sisällä on jonkin verran osaamista integroinnissa tarvittavasta tieto-taidosta. On kuitenkin mahdollista, että vaiheen aikana tulee ilmi jokin seikka jota ei ole aiemmin osattu ottaa huomioon. Riski pyritään välttämään perusteellisella paneutumisella ja huolellisella työskentelyllä. Myös asiakkaalta saatava opastus on olennaisessa asemassa - asiakasvastaava huolehtii, että riittävää opastusta saadaan.

    9.5.4 Tuotokset

    1. Päivitetty projektisuunnitelma
    2. Päivitetty vaatimusmäärittely
    3. Päivitetty toiminnallinen määrittely
    4. Päivitetty tekninen määrittely
    5. Päivitetty testaussuunnitelma
    6. Päivitetty testausraportti
    7. Käyttöohje
    8. Edistymisraportti

    9.5.5. Tuntiarvio

    Kuva 3. Vaiheen T4 arvio työmääristä ja aikataulusta.

    9.6 Luovutus (DL 24.4)

    9.5.1 Vaiheen yleiskuvaus

    Luovutusvaiheen tarkoituksena on saada aikaan viimeistelty lopputuote sisältäen toimivan ohjelmiston dokumentointeineen. Tämän lisäksi vaiheessa tullaan viemään lävitse opponenttiryhmän järjestelmätestaus kurssin vaatimusten mukaisesti. Käytännössä lopputuotteen viimeistely tarkoittaa jäljellä olevien bugien korjaamista ohjelmistosta, ohjelmiston toimivuuden verifiointia testaamalla sekä dokumentaation tarkistusta, tarkentamista ja korjaamista.

    9.5.2 Aikataulu

    LU-vaiheeseen on varattu aikaa n. 5 viikkoa - on syytä kuitenkin huomata, että tämä periodi pitää sisällään n. viikon kestoisen ajan (12.4. - 18.4.), jolloin projektiryhmä viettää pääsiäislomaa. Näin ollen tehokasta työskentelyaikaa jää jäljelle 4 viikkoa. Kuten edellisissäkin vaiheissa, ryhmän toiminta jaksotetaan viikon mittaisiin aikoihin niin, että kukin jakso kestää torstaista torstaihin - kunakin torstaina pidetään palaveri, jossa seurataan töiden edistymistä sekä hoidetaan tehtävien jako seuraavalle viikon jaksolle.

    Vaihe aloitetaan viikolla 12 (22.3.) palaverilla. Ensimmäinen jakso (22.3. - 28.3.) on varattu vaiheessa T4 havaittujen bugien (mikäli sellaisia vielä on) korjaamiseen sekä kommunikointiin opponenttiryhmän kanssa. Pyrkimyksenä on saada sovittua opponenttiryhmän kanssa sellainen aikataulu, että molemminpuolinen opponenttiryhmien järjestelmätestaus voidaan suorittaa seuraavan jakson aikana. Toinen jakso (29.3. - 4.4.) suoritetaan oman järjestelmän testaus ja testin tulosten tultua jatketaan havaittujen bugien korjaamista (jos sellaisia tulee ilmi). Tällä jaksolla aletaan suorittaa myös koodin ja dokumenttien siistimistä siihen muotoon, että ne ovat luovutuskunnossa. Tällä viikolla suoritetaan myös opponenttiryhmän järjestelmätestaus sekä vastavuoroisesti tarjotaan opponenttiryhmälle tarvittavat välineet (ohjelmisto, dokumentaatio, opastus) oman järjestelmämme testaukseen. Kolmannella jaksolla (5.4. - 11.4.) aloitetaan loppuraportin kirjoittaminen sekä suoritetaan lopullista järjestelmätestausta ohjelmistollemme. Mikäli edellisellä viikolla suoritetusta opponentin suorittamasta testauksesta saadaan jotakin olennaista palautetta (esim. havaittu selkeä virhe järjestelmässä), tähän pyritään reagoimaan mahdollisuuksien mukaan. Tosin tässä vaiheessa ei enää ryhdytä tekemään suuria muutoksia ohjelmistoon. Kuten aiemmin mainittiin, 12.4. - 18.4. välinen aika on varattu pääsiäislomalle. 19.4. - 24.4. välinen aika varataan lopulliseen katselmointiin (19.4.), jossa tarkistetaan/verifioidaan kunkin dokumentin tila, ohjelmiston tila sekä täydennetään ja hyväksytään projektin loppuraportti. 24.4. - 27.4. välisenä aikaa valmistellaan loppudemonstraatio ja 27.4. suoritetaan itse demonstraatio loppukatselmoinnin yhteydessä.

    9.5.3  Riskit

    LU-vaiheen suurimpana riskinä voidaan pitää jälleen ryhmän työmotivaation heikkenemistä siinä määrin, että jotkin tehtävät jäävät tekemättä. Tämä riski pyritään jälleen välttämään selkeällä tehtävien jaolla ja seurannalla.

    Toinen vaiheeseen liittyvä riski on opponenttiryhmän kanssa suoritettavassa yhteistyössä mahdollisesti ilmi tulevat ongelmat. Opponenttiryhmä on saattanut aikatauluttaa LU-vaiheen täysin eri tavalla, jolloin suunnittelemaamme testausaikataulua voidaan joutua muuttamaan. Tämän riskin välttämiseksi päätimmekin sijoittaa opponenttiryhmän kanssa kommunikoinnin ja testauksesta sopimisen heti vaiheen alkuun, joten mahdolliset ongelmat tulevat heti ilmi ja niihin voidaan tehokkaasti reagoida.

    9.5.4 Tuotokset

    LU-vaiheen tuotoksena saadaan asetetut vaatimukset täyttävä toimiva ohjelmisto, sekä siihen liittyvä dokumentointi viimeisteltynä. Tämän lisäksi vaiheen aikana tuotetaan opponenttiryhmän ohjelmiston järjestelmätestauksen yhteydessä testiraportti.

    9.5.5. Tuntiarvio

    Kuva4. Kuva4. Vaiheen LU arvio työmääristä ja aikataulusta.

    10. Seuranta ja ohjaus

    Projektin sisäistä edistymistä seurataan viikoittaisilla palavereilla. Ryhmä käyttää kurssin tarjoamaa mittariasettiä projektin seuraamisen niiltä osin, kun se on pakollista.

    Asiakaskasvastaava huolehtii tiedottamisesta asiakasrajapinnalle viikottaisessa palaverissä. Samassa palaverissä asiakasvastaava saa projektin ohjaajalta tarvittavaa ohjausta.

    Varsinaisen projektin seuraamisen mittareina käytämme tehtyjä työtunteja, ohjelmiston kokoa sekä ohjelmistosta löytyneitä virheitä. Tuntiraportoinnin hoidamme kurssin tarjoaman Tirana-palvelun kautta. Ohjelmiston koon määrittelemiseen ja raportointiin käytämme kurssin tarjoamaa Burana-raportointijärjestelmää. Ohjelmistosta löytyneet virheet raportoimme myös Burana-järjestelmän kautta.

    Kerätyn tiedon analysoinnin voimme hoitaa mm. ViCA-visualisointiohjelmistolla. Kurssi tarjoaa muutamia vakiokuvaajia, mutta suunnitelmissamme on luoda myös muutamia omia.
     

    11. Standardit, direktiivit ja määräykset

    Projektiin ei liity sellaisia standardeja, direktiivejä tai määräyksiä, jotka tulisi ottaa huomioon tässä dokumentissa.

    12. Riskien hallinta

    Riskien hallinnassa pyritään ensisijaisesti identifioimaan ja välttämään riskejä. Alla on ensin lueteltu mahdolliset projektin riskit prioriteettijärjestyksessä. Riskit on luokiteltu todennäköisyystasoilla erittäin todennäköinen, todennäköinen, epätodennäköinen, sekä vakavuustasoilla erittäin vakava, vakava ja ei vakava. Lisäksi jokaisen riskin kohdalla on määritelty, onko kyseessä tekninen riski, ihmisistä johtuva ryhmätyöriski vai näiden välimuoto. Tämän jälkeen jokaisesta riskistä on esitetty lyhyt kuvaus, seuraukset riskin toteutumisesta, toimenpiteet riskin välttämiseksi ja toimenpiteet, jos riski toteutuu.
     
     
    Riskin nimi Kriittisyys 
    (1-matala...3-korkea)
    Todennäköisyys 
    (1-matala...3-korkea)
    Tekninen/ryhmätyö 
    (1-tekninen ... 3-ryhmätyö)
    Tiedonkulun ja projektinhallinnon ongelmat 3 2 3
    Asiakkaan puolelta tuleva rajapinta ei valmistu ajoissa 3 1 1
    Ryhmän motivaatio romahtaa 3 1 3
    Epäselvät määritykset 2 2 1
    Ryhmäläisten kiireiset aikataulut 2 2 3
    Ongelmat kehitysympäristön ja välineiden kanssa 2 2 1
    Ryhmän osaamistaso ei riitä projektin toteuttamiseen 2 1 2
    Sairastumiset tai muut yllättävät poissaolot 1 2 3
    Tavoiteristiriidat kurssin, asiakkaan ja ryhmän välillä 1 1 3


    Tiedonkulun ja projektinhallinnon ongelmat

    Kriittisyys: Erittäin vakava
    Todennäköisyys: Todennäköinen
    Selitys: Projektin luonteesta johtuen projektiryhmän jäsenet pystyvät panostamaan tähän projektiin vain pienen osan käytettävissä olevasta ajastaan. Lisäksi ryhmän jäsenillä on vähän tai ei ollenkaan aikaisempaa kokemusta näin formaalisti toteutetusta ja kattavasti dokumentoidun projektin hallinnasta. Tästä johtuen aikataulutuksessa, työnjaossa ja dokumentoinnin hallinnassa saattaa esiintyä ongelmia.
    Seuraukset: Seurauksena tiedonkulun ja projektinhallinnon ongelmista voi olla tietämättömyys siitä, kenen pitää tehdä mitäkin, epätasainen työnjako ja siitä seuraava myöhästyminen aikataulusta, mikä johtaa heikkenevään työn tasoon.
    Välttäminen: Ryhmä pyrkii noudattamaan kurssilla ja esitietovaatimuksena olleilla kursseilla esitettyjä menetelmiä. Työt pyritään jakamaan tasaisesti, tämä mahdollistetaan viikottaisilla palavereilla, joiden aikana varmistetaan se, että jokainen tietää sekä tehtävänsä että niille varatun ajan. Työvaiheen deadlinen lähestyessä seurantaa tiukennetaan, aikataulutus tehdään myös niin, että loppupäässä jää tarpeeksi "löysää" aikaa viime hetken viivästysten paikkaamiseen.
    Korjaaminen: Jos projektinhallinnon ongelmia havaitaan, projektipäällikkö selvittää, missä työn vaiheessa tai osassa ongelmat ilmenivät ja mikä on ollut ongelmien syynä. Tarvittaessa pidetään ylimääräinen palaveri, jonka aikana selvitetään kaikille tehtävät ja puutteet. Jos ongelmat aiheuttavat sen, ettei aikataulussa voida pysyä, priorisoidaan tehtävät ja siirretään vähiten tärkeät tehtävät seuraavaan työvaiheeseen.


    Asiakkaan puolelta tuleva rajapinta ei valmistu ajoissa

    Kriittisyys: Erittäin vakava
    Todennäköisyys: Epätodennäköinen
    Selitys: Projektin toteutus vaatii asiakkaan puolelta rajapinnan, jonka päälle projektin tuotos rakennetaan. Tämän rajapinnan on oltava valmiina, ennen kuin varsinainen toteutus voidaan aloittaa.
    Seuraukset: Seurauksena rajapinnan myöhästymiselle on projektin toteutuksen myöhästyminen pahimmassa tapauksessa niin paljon, että sen toteuttaminen kurssin puitteissa tulee mahdottomaksi.
    Välttäminen: Ryhmän asiakasyrityksessä töissä olevat jäsenet ovat varmistaneet hyvissä ajoin, että asiakkaan puolelta tarvittavat komponentit ovat valmiina silloin, kun niitä projektin puolesta tarvitaan.
    Korjaaminen: Jos rajapinta kuitenkin myöhästyy, neuvotellaan asiakkaan kanssa vaatimusten ja projektin tavoitteiden muokkaamisesta sellaiseen suuntaan, että töitä voidaan tehdä ilmankin valmista rajapintaa tai keskeneräisen rajapinnan päälle. Tarvittaessa neuvotellaan yhdessä asiakkaan ja kurssin kanssa siitä, miten ja minkälaisessa muodossa projekti voidaan viedä läpi, jotta kurssi saataisiin suoritettua edes jossakin muodossa. Äärimmäisessä tapauksessa projekti joudutaan keskeyttämään.


    Ryhmän motivaatio romahtaa

    Kriittisyys: Erittäin vakava
    Todennäköisyys: Epätodennäköinen
    Selitys: Joidenkin ryhmän jäsenten motivaatio panostaa kurssiin ja projektiin romahtaa projektin vaikeuden, huonon toteutuksen, henkilöristiriitojen tai henkilökohtaisten syiden vuoksi..
    Seuraukset: Seurauksena on motivaation menettäneiden ryhmän jäsenten työpanoksen hiipuminen tai pahimmassa tapauksessa ryhmän jättäminen, mikä taas lisää loppujen ryhmän jäsenten työtaakkaa ja laskee puolestaan heidän motivaatiotaan. Työn taso laskee ja aikataulu saattaa pettää.
    Välttäminen: Ryhmää muodostettaessa on jo selvitetty kaikkien ryhmän jäsenten motivaatiot ja tavoitteet kurssille. Näiden perusteella on yhteisesti päätetty ja asetettu projektin tavoitteet ja jaettu tehtävät. Viikottaisten palaverien yhtenä tavoitteena on seurata myös ryhmän jäsenten työtaakan oikeudenmukaisuutta ja keskustella motivaatiotilanteesta.
    Korjaaminen: Motivaation romahtamisen sattuessa keskustellaan ensin ryhmän sisällä siitä, mistä syistä motivaation romahtaminen on johtunut. Nämä syyt analysoidaan ja niiden vakavuuden mukaan keksitään toimenpiteet, joilla tilannetta voidaan parantaa. Tarvittaessa keskustellaan yhdessä asiakkaan kanssa projektin tavoitteiden tarkistamisesta sellaiseen suuntaan, että ryhmä pystyy heikentyneellä motivaatiollakin viemään projektin kunnialla läpi.


    Epäselvät määritykset

    Kriittisyys: Vakava
    Todennäköisyys: Todennäköinen
    Selitys: Projektin määritykset eivät ole tarpeeksi tarkat, jotta ryhmä pystyisi rajaamaan projektin ja tehtävänsä tehokkaasti.
    Seuraukset: Seurauksena on turhaa työtä, monia asioita joudutaan arvaamaan ja iteroimaan useita kertoja, ennenkuin saadaan aikaiseksi sitä, mitä asiakas tahtoo. Projektin aikataulu myöhästyy, lisäksi asiakastyytyväisyys kärsii, jos ei saada aikaan sitä mitä pyydettiin.
    Välttäminen: Määrittely tehdään tiukassa yhteistyössä asiakkaan kanssa ja niin tarkalla tasolla, ettei epäselvyyttä tavoitteissa ja määrityksissä pääse syntymään. Määritykset pyritään pitämään mahdollisimman muuttumattomina, muutospyynnöt hallitaan ryhmän käyttämällä muutoksenhallintamenettelyllä, jolla pyritään välttämään sekaannusta.
    Korjaaminen: Jos määritykset havaitaan kaikesta huolimatta liian epämääräisiksi, varataan itse toteutukselta tarpeeksi aikaa määritysten korjaamiseksi tarpeeksi kattavaan muotoon. Jos seurauksena tästä on projektin myöhästyminen, otetaan se tarpeeksi aikaisessa vaiheessa huomioon projektin aikataulutuksessa. Tarvittaessa määrityksiä karsitaan tällöin niin, että projekti on mahdollista viedä läpi aikataulussa.


    Ryhmäläisten kiireiset aikataulut

    Kriittisyys: Vakava
    Todennäköisyys: Todennäköinen
    Selitys: Ryhmän jäsenten muut kiireet (työt, muut kurssit)rajaavat projektiin käytössä olevaa aikaa.
    Seuraukset: Projektin aikataulu myöhästyy, koska ryhmäläiset eivät suoriudu kaikista tehtävistään ajoissa. Myös motivaatio kärsii projektin viedessä suhteettoman paljon vapaa-aikaa.
    Välttäminen: Tehtävät pyritään jakamaan mahdollisimman tasaisesti ryhmän kesken. Aikataulutus tehdään alun perinkin pitäen mielessä ryhmäläisten omat aikataulut. Määrityksissä pyritään rajaamaan projekti sen kokoiseksi, että se on mahdollista viedä läpi suunnitellussa ajassa.
    Korjaaminen: Aikataulun pettäessä jonkun ryhmän jäsenen kohdalla projektipäällikkö jakaa hänen tehtäviään muun ryhmän kesken mahdollisimman tasaisesti niin, että kaikki tehtävät tulevat tehdyksi. Seuraavissa vaiheissa "kiireinen" ryhmän jäsen tekee tietenkin hieman enemmän töitä, jotta tasapuolisuus säilyisi. Jos aikataulut pettävät koko ryhmän laajuudella, siirretään osa tehtävistä seuraavaan vaiheeseen tai neuvotellaan asiakkaan kanssa vaatimusten karsimisesta työmäärän pienentämiseksi.


    Ongelmat kehitysympäristön ja välineiden kanssa

    Kriittisyys: Vakava
    Todennäköisyys: Todennäköinen
    Selitys: Kehitysympäristön asentaminen ja käyttö ei suju tarpeeksi jouhevasti, ylimääräistä työtä joudutaan tekemään asennusten ja "viritysten" kanssa.
    Seuraukset: Tuottavuus ja sitä kautta aikataulu kärsii ajan kuluessa kehitysympäristön kanssa painiessa ja projekti myöhästyy aikataulustaan.
    Välttäminen: Kehitysympäristöä koottaessa valitaan sellaisia välineitä, joiden käytöstä ainakin yhdellä ja mielellään monella ryhmän jäsenellä on entistä kokemusta. Asennukset tehdään ajoissa ja jokainen ryhmän jäsen käy tutustumassa kehitysympäristössä ainakin itse tarvitsemaansa osaan hyvissä ajoin ennen varsinaisen toteutuksen aloittamista.
    Korjaaminen: Ongelmien sattuessa apua haetaan ensin ryhmän sisältä, mistä pitäisi löytyä joka tapauksessa ainakin yksi sellainen henkilö, joka osaa auttaa kyseisen kehitysvälineen kanssa. Jos ongelmat ovat ratkaisemattomia, asennetaan vaihtoehtoinen kehitysväline tai kehitysvälineitä ja toteutetaan projekti niillä. Tarpeen vaatiessa kehitysympäristö voidaan siirtää asiakkaan tiloihin, jossa sen joka tapauksessa tiedetään jo toimivan.


    Ryhmän osaamistaso ei riitä projektin toteuttamiseen

    Kriittisyys: Vakava
    Todennäköisyys: Epätodennäköinen
    Selitys: Joku ryhmän jäsen tai jäsenet eivät osaamistasossaan olevien puutteiden vuoksi kykene suoriutumaan heille asetetuista tehtävistä.
    Seuraukset: Tehtävät tulevat tehdyksi joko huonosti, myöhässä tai pahimmassa tapauksessa ei ollenkaan.
    Välttäminen: Tehtäviä jaettaessa otetaan jo selvää ryhmän eri jäsenten osaamisalueista ja jaetaan tehtävät niin, että jokainen pääsee tekemään sitä, minkä osaa. Tarvittaessa tietoa haetaan jo etukäteen WWW:stä ja kirjallisuudesta.
    Korjaaminen: Tehtävän osoittautuessa liian vaikeaksi otetaan tarpeeksi ajoissa yhteyttä johonkin sellaiseen ryhmän jäseneen, joka kykenee auttamaan ja opettamaan kyseisessä tehtävässä. Jos apua ei löydy ryhmän sisältä, otetaan yhteyttä ryhmän ohjaajaan, jonka kanssa keskustellaan ongelmasta ja etsitään sille ratkaisu. Tarpeen vaatiessa voidaan yhteistyössä asiakkaan kanssa karsia vaatimuksia, jotta aikaa jäisi vaikeiden asioiden sisäistämiseen.


    Sairastumiset tai muut yllättävät poissaolot

    Kriittisyys: Ei vakava
    Todennäköisyys: Todennäköinen
    Selitys: Joku ryhmän jäsen sairastuu tai joutuu muuten olemaan poissa ryhmästä jonkin aikaa.
    Seuraukset: Poissaolevan ryhmän jäsenen tehtävät myöhästyvät tai jäävät tekemättä.
    Välttäminen: Tehtävät jaetaan alun perinkin pareille tai pienryhmille, jolloin yhdenkään tehtävän toteutuminen ei ole yhden henkilön harteilla. Aikataulu suunnitellaan niin väljäksi, että yllättävät poissaolot eivät romauta koko rakennelmaa.
    Korjaaminen: Sairastumisesta tai muusta yllättävästä poissaolosta ilmoitetaan tarpeeksi aikaisessa vaiheessa. Projektipäällikkö jakaa poissaolevan tehtävät muun ryhmän kesken ja karsii niitä tarpeen vaatiessa, jos aikataulu on hyvin tiukka.


    Tavoiteristiriidat kurssin, asiakkaan ja ryhmän välillä

    Kriittisyys: Ei vakava
    Todennäköisyys: Ei todennäköinen
    Selitys: Kurssin, ryhmän ja asiakkaan tavoitteet ja käsitykset projektin kulusta ja halutusta lopputuloksesta eivät täsmää.
    Seuraukset: Mahdolliset riidat projektin aikana, jonkun osapuolen tyytymättömyys lopputulokseen.
    Välttäminen: Tavoitteet määritellään tarpeeksi aikaisessa vaiheessa pitäen lähtökohtana kurssin asettamia raameja. Nämä tavoitteet tehdään asiakkaalle selviksi jo ennen sopimuksen allekirjoittamista.
    Korjaaminen: Kurssin tavoitteet ovat muuttumattomat, riitatilanteissa keskustellaan asiakkaan kanssa projektin tavoitteiden määrittelemisestä niin, että kurssi saadaan suoritettua. Tarpeen vaatiessa määrityksiä ja vaatimuksia muokataan yhteistyössä asiakkaan kanssa.

    13. Koulutussuunnitelma

    13.1 Projektiryhmän sisäinen koulutussuunnitelma

    Projektiryhmän kaikilla jäsenillä on jo ennestään projektiin heille määrätyissä tehtävissä tarvittava tietotaito, joten erillistä ryhmän sisäistä koulutusta ei tarvita. Mikäli lisäopiskelun ilmenee tarvetta, hoitaa sen jokainen henkilö itsenäisesti tutustumalla asiaa käsittelevään kirjallisuuteen tai www-sivuihin.

    13.2 Asiakkaalle tarjottava koulutussuunnitelma

    Projektissa toteutetaan lisäys asiakkaan olemassaolevaan järjestelmään, joka siis on asiakkaalle jo ennestään tuttu. Uudet ominaisuudet toteutetaan tiiviissä yhteistyössä asiakkaan kanssa, joten projektin tuotteen käyttö ja siihen liittyvät asiat tulevat tutuiksi ilman erillistä koulutusta.

    14. Asennussuunnitelma

    Ei tarpeellinen. Projektin tuote tulee osaksi asiakkaan ohjelmistoa.

    15. Käyttöönottosuunnitelma

    Ei tarpeellinen. Vanhaa järjestelmää ei ole ja uusi järjestelmä voidaan ottaa käyttöön MU- ja/tai RS-yksikkö kerrallaan.

    Lähdeluettelo

    [1] Ilkka Haikala and Jukka Märijärvi:
    Ohjelmistotuotanto, Espoo, Suomen ATK-kustannus Oy, 6. painos.
    [2] Sulonen Kähkönen, Tik-76.614, Ohjelmistotuotteen hallinta kurssin luentokalvot
    http://mordor.cs.hut.fi/tik-76.614/

    Liiteluettelo

    [1] MS Project- projektisuunnitelma
    [2] Vaatimusmäärittely
    [3] Edistymisraportti
    [4] Tik-76.115, Burana - Virhe- ja kokoraportointi
    http://mordor.cs.hut.fi/tik-76.115/00-01/raportointi/burana/
    [5] Tik-76.115, Tirana - Tuntiraportointi
    http://mordor.cs.hut.fi/tik-76.115/00-01/raportointi/tirana/
    [6] Sun Microsystems, Javadoc Tool Home Page
    http://java.sun.com/products/jdk/javadoc/
    [7] Tik-76.115, kurssin ehdotuksia käytettäviksi mittareiksi
    http://mordor.cs.hut.fi/tik-76.115/ohjeet/mittarit.htm
    [8] Tekninen suunnitelma
    [9] Toiminnallinen määrittely
    [10] Testaussuunnitelma