Laatukäsikirja Kuopio



Samankaltaiset tiedostot
Laatukäsikirja Kuopio

PS-vaiheen edistymisraportti Kuopio

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Kuopio Testausraportti Kalenterimoduulin integraatio

Soft QA. Vaatimusten muutostenhallinta. Ongelma

EDISTYMISRAPORTTI - PS Virtuaaliyhteisöjen muodostaminen Versio 1.0

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

Projektin suunnittelu

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

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

Laatukäsikirja Kuopio

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

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

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Data Sailors - COTOOL dokumentaatio Riskiloki

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

Lego Mindstorms anturit

Ohjelmistotuotteen hallinnasta

T Loppukatselmus

Projektityö

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

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

Projektiryhmä Tete Työajanseurantajärjestelmä. Riskienhallintasuunnitelma

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Toteutusvaihe T3 Digi-tv: Edistymisraportti

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

Menetelmäraportti - Konfiguraationhallinta

A4.1 Projektityö, 5 ov.

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Projektisuunnitelma Viulu

T Testiraportti - järjestelmätestaus

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

Tik Ohjelmistotuoteliiketoiminta

Convergence of messaging

Siimasta toteutettu keinolihas

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

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

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

MS Project 2016 perusteet projektiarkkitehdeille ja -insinööreille ver Hannu Hirsi 2018

Ohjelmistojen suunnittelu

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

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

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

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Ohjelmistotekniikka - Luento 2

Määrittely- ja suunnittelumenetelmät

UCOT-Sovellusprojekti. Testausraportti

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

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

Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

TIETOJENKÄSITTELYTIETEIDEN LAITOS

Projektisuunnitelma. Projektin tavoitteet

T Projektikatselmus

T Testiraportti - integraatiotestaus

TYÖOHJEET VR-HYVINKÄÄ

Tik Ohjelmistoprojektien Hallinta

Testaussuunnitelma Labra

Määrittelyvaihe. Projektinhallinta

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

Toteutusvaihe T2 Edistymisraportti

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

FENG OFFICE -PROJEKTINHALLINTATYÖKALU

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

SEPA päiväkirja. Dokumentti: SEPA_diary_EM_PV.doc Päiväys: Projekti : AgileElephant Versio: V0.9

T Edistymisraportti. ExtraTerrestriaLs PP iteraatio

Projektisuunnitelma Nero-ryhmä

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

T Tietojenkäsittelyopin ohjelmatyö

COTOOL dokumentaatio Riskiloki

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ

T harjoitustyö, kevät 2012

SÄHKÖTEKNIIKAN KOULUTUSOHJELMAN KANDIDAATINTYÖOHJE

Kandidaatintyöprosessi Sähköenergiatekniikan laitoksella

Projektisuunnitelma Kuopio

TARKASTUSVALIOKUNTA Minna Ainasvuori JHTT, Liiketoimintajohtaja BDO-konserni

JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi

PROJEKTIN EDISTYMISRAPORTTI Seurantajakso <jaksonumero, alkupäivä - päättymispäivä>

Tik Harjoitustyö

Aikuisopiskelijan viikko - Viitekehys alueellisten verkostojen yhteistyöhön

2. päivä. Etätehtävien purku Poikkeamat. Poikkeamat Auditoinnin raportointi Hyvän auditoijan ominaisuudet Harjoituksia

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

T Ohjelmistokehitysprojekti I - Iteraatiosuunnitelma (I2)

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

PROJEKTITOIMINTA Tietoa käytännöistä

Hybridivalvomon tilatiedon hallinnan kehittäminen

JHS Esiselvitys tietojärjestelmähankintaa varten

Ohjelmistojen mallintaminen. Luento 11, 7.12.

GroupDesk Toiminnallinen määrittely

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

Transkriptio:

Laatukäsikirja Kuopio

Kuopio, laatukäsikirja, 11.12.2001 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 28.10.2001 Ossi Jokinen Valmis katselmoitavaksi 0.2 29.10.2001 Ossi Jokinen Sisäisen katselmoinnin korjaukset tehty. 1.0 30.10.2001 Ossi Jokinen Asiakaskatselmoinnin korjaukset tehty. 1.1 14.11.2001 Ossi Jokinen Lisätty projektin lopputuotteen tuotannon ohjeet ja käytännöt. Menetelmistä löytyy CVS version ja muutoksen hallinta sekä koodikatselmoinnit. 1.2 15.11.2001 Ossi Jokinen Kappale 5.1.2 tuntiraportointia muutettu. Kappale 5.1.5 koodin katselmointikäytäntöä muutettu. 1.3 1.12.2001 Ossi Jokinen Lisätty kappaleeseen 5.3 viitteet koodausohjeeseen. 2.0 10.12.2001 Ossi Jokinen Lopullinen versio T1-vaiheen palautukseen. Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 2

SISÄLLYSLUETTELO 1. JOHDANTO...5 2. TERMIT...5 3. LAATU...7 4. LAADUN MITTARIT...8 5. PROJEKTIN TOIMINTATAVAT...11 5.1 PROJEKTIN HALLINNOLLISET TOIMINTATAVAT JA -OHJEET...11 5.1.1 Projektin yhteydenpito...11 5.1.2 Projektin työmäärän ja ajankäytön seuranta...12 5.1.3 Asiakasraportointi ja -kommunikaatio...14 5.1.4 Kokous- ja palaverikäytännöt...14 5.1.5 Katselmointikäytäntö...15 5.1.6 Dokumenttien julkaisukäytännöt...16 5.2 PROJEKTIN TUOTTEEN HALLINTA...17 5.2.1 Asiakkaan vaatimusten hallinta...17 5.2.2 Versionhallinta...17 5.2.3 Muutoksen hallinta...18 5.3 PROJEKTIN LOPPUTUOTTEEN TUOTANNON OHJEET JA KÄYTÄNNÖT...19 5.3.1 Käytettävät kehitystyökalut...19 5.3.2 Koodin kommentointi- ja muoto-ohje...19 5.3.3 Koodin muuttujien nimeämisohje...19 5.3.4 Versionhallinnan ja konfiguraation hallinnan ohje...19 5.3.5 Koodin katselmointi/tarkastus käytäntö...20 6. PROJEKTIN RISKIENHALLINTAPROSESSI...21 6.1 RISKIEN TUNNISTAMINEN...22 6.2 RISKIEN MONITOROINTI...22 6.3 RISKIEN VASTATOIMET...23 6.4 RISKIEN UUDELLEENARVIOINTI...23 LÄHTEET...24 LIITTEET...24 Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 3

TAULUKOT JA KUVAT I. Dokumentissa esiintyvät termit... 6 II. Laadun mittarit... 8 III. Tuntiraportoinnin työlajit... 12 IV. Projektin riskienhallintaprosessi... 22 Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 4

1. JOHDANTO 2. TERMIT Tässä dokumentissa määritetään projektissa käytettävä lähestymistapa laadukkaan lopputuloksen takaamiseksi. Tähän määrittämiseen on ryhdytty kahdesta syystä: 1. Laatu ei synny projektiin itsestään, joten strukturoidun prosessin käyttäminen on järkevää. 2. Laatuprosessin soveltaminen (joka viime kädessä takaa onnistuneen lopputuloksen) ei ole mahdollista, ellei prosessia ole määritetty heti projektin alkaessa ja sovellettu läpi projektin. Laatu lähtee käytettävistä menetelmistä. Ilman suunnittelua ja oikeita menettelytapoja laadukkaaseen lopputulokseen pääseminen ei ole kovinkaan todennäköistä. Laadun määritelmä tässä projektissa lähtee asiakkaan kokemasta laadusta: asiakastyytyväisyys on koko laatujärjestelmän tärkein tavoite. Tässä dokumentissa määritetään mitä laatu tarkoittaa tässä projektissa sekä lopputuotteen että prosessin osalta. Lisäksi esitetään laadun kriteerit ja niiden mittarit sekä lukuisia toimintaohjeita ja -tapoja, joilla pyritään varmistamaan projektin laatu. Laatuprosessi ei vaikuta pelkästään syntyvään lopputuotteeseen vaan myös aikatauluun, jonka puitteissa tuote on mahdollista toteuttaa. Kuopio-projektiryhmässä uskotaan, että huolellisella suunnittelulla ja laadukkailla prosesseilla voidaan myös säästää aikaa, sillä asian tekeminen kerralla oikein vie yleensä vähemmän aikaa kuin virheiden jatkuva korjaaminen. Lisäksi virheiden jatkuva korjaaminen synnyttää todennäköisesti uusia virheitä, joten tehdyt virheet saattavat kumuloitua lopulta hallitsemattomiksi. Tätä laatukäsikirjaa tehdessä on pyritty ottamaan huomioon projektin luonne ja varottu synnyttämästä ylimääräistä työtä, joka ei ole panostuksen arvoista. Projektin koko, aikataulu ja resurssit ovat tiedossa tätä dokumenttia laadittaessa. Niiden pohjalta syntyy arvio oikeasta panostusten suhteesta laadun tuottamiseen. Pelkkiä dokumenttejahan projektissa ei voida lähteä tekemään vaan toiminnan on tähdättävä lopputuotteen mahdollisimman tehokkaaseen ja laadukkaaseen tuottamiseen. Tehokkaaseen toimintaan on siis pyrittävä, jotta kaikki se mitä tässä projektissa on tarkoitus toteuttaa pystytään toteuttamaan. Projektiryhmän jäsenet tiedostavat, että asioiden uudelleen keksiminen on ylimääräistä työtä. Niinpä laadun luomisen perusprosesseihin kuuluu benchmarking. Laatujärjestelmän toteuttamisvastuu on ensisijaisesti kaikilla Kuopio-projektin osapuolilla ja kokonaisuus on jaettu siten, että Ossi Jokinen vastaa projektin prosessin laadusta ja Rami Laiho projektin lopputuotteen laadusta teknisessä mielessä. Laatukäsikirjaan on myös dokumentoitu projektin riskienhallintaprosessi, joka on oma osansa projektin laadun varmistamista. Seuraavassa taulukossa on esitetty dokumentissa esiintyvä terminologia. Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 5

I. Dokumentissa esiintyvät termit Asiakaskatselmoin ti Benchmarking Prosessi, jossa asiakas tarkastelee palautuksia ja esittää mahdolliset parannusehdotukset ryhmälle. Benchmarking on käytäntö, jossa organisaatio tai yksilö pyrkii parantamaan omaa toimintaansa oppimalla muiden organisaatioiden tai yksilöiden toiminnasta. Benchmarking voi kohdistua mihin tahansa toimintaan, mutta yleensä sitä käytetään jonkin prosessin parantamiseen. Vertailun kohteena oleva organisaatio ei välttämättä toimi samalla alalla kuin vertaajan oma organisaatio. Benchmarking ei ole suoraa toisten hyvien ideoiden kopioimista. Se on kuitenkin toisten keksimien ideoiden hyödyntämistä ja sen tosiasian tunnustamista, että koulutyönä tehtävässä projektissa tuskin keksimme prosessien puolelta mitään uutta ja ihmeellistä, joten olemassa oleviin asioihin vertaaminen on vähintäänkin järkevää. Client/server, serveri CVS Kehitysympäristö Mentor Milestone Projekti Prosessi Asiakas-palvelin. Sovellus tai järjestelmä, jossa asiakas käyttää paikalliselta koneelta asiakasohjelmaa ottaakseen yhteyden palvelinkoneeseen. Versionhallintaan käytettävä ilmainen ohjelmisto. Palvelinkoneympäristö, jossa varsinainen koodaus tapahtuu. Kurssin puolesta projektille määrätty henkilö, joka valvoo projektin kulkua ja neuvoo matkalla tulevissa ongelmissa. Virstanpylväs, etappi. Projektin etenemisen virstanpylväs, jossa arvioidaan tarkemmin projektin tilaa ja jossa projektilla on selkeä tavoitetila. Ainutlaatuinen toisiinsa kytkeytyvien toimintojen ja tapahtumien joukko, joilla on selkeä tavoite ja tarkoitus sekä määrätty käytettävissä oleva aika ja budjetti. Toimintojen sarja, jolla päästään jostain lähtötilasta johonkin tavoitetilaan. Sisäinen aikaraja Projektiryhmän sisäinen aikaraja esim. dokumenttien kirjoittamiselle, joka on noin viikkoa aikaisempi kuin kurssin asettama aikaraja. Palautukset lähetetään asiakkaalle heti tämän aikarajan jälkeen. Sisäinen katselmointi Projektiryhmän sisäinen katselmointi, joka tapahtuu ennen sisäistä aikarajaa (eli dokumenttien lähettämistä asiakkaalle). Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 6

Tirana Kurssilla ja tässä projektissa käytettävä tuntiraportointijärjestelmä. USDP Unified Software Development Process, iteratiivinen ja inkrementaalinen ohjelmistokehityksen menetelmä, joka pohjautuu käyttötapauksiin. ViCa Word2000 Kuopio Projektiryhmä Lopputuote Asiakas Ohjaaja Mentor Innofactor Oy Visualization Client Application. Kurssin ja tämän projektin työkalu projektin etenemisen visualisoinnissa. Microsoftin Office tuoteperheen tekstinkäsittelyohjelman uusin versio. Toteutettavan ohjelmistoprojektin nimi. Tarkoittaa projektin toteuttavaa ryhmää opiskelijoita. Tarkoittaa projektin lopputulosta, tuotetta, jonka projektiryhmä tekee projektin aikana. Se henkilö tai taho, jolle projektiryhmä projektin loppuessa luovuttaa projektin lopputuotteen. Asiakkaalla voidaan viitata joko henkilöön (Tik-76.115 kurssin rooli "asiakas") tai yleisesti asiakkaana toimivan yrityksen edustajaan. Asiakkaan puolesta järjestetty henkilö, joka ohjaa projektia asiakkaan haluamaan suuntaan ja tuo asiakkaan toiveita ja tietotaitoa mukaan projektiin. Tässä projektissa sama henkilö kuin asiakas. Kurssin puolesta projektille määrätty henkilö, joka valvoo projektin kulkua ja neuvoo matkalla tulevissa ongelmissa. Asiakkaan työllistävä yritys, jolle projekti tehdään. 3. LAATU Johdannossa todettiin asiakastyytyväisyyden olevan tärkein laadun mittari. Asiakastyytyväisyys = Laatu japanilaisen laatugurun, Ishikawan määritelmän mukaan. Tätä määritelmään on kuitenkin syytä hieman tarkentaa. Wesselius on todennut laadun koostuvan kolmesta komponentista, Laatu = objektiivisesti- + subjektiivisesti- + arvioimattomissa oleva komponentti [1]. Objektiivinen laadun komponentti: täyttääkö tuote kaikki vaatimusmäärittelyssä kuvatut vaatimukset? Vaatimuksia ovat esimerkiksi toiminnalliset vaatimukset, aikatauluvaatimukset, budjettivaatimukset, jne. Tämän komponentin täyttymistä voidaan helpoiten mitata vertaamalla lopputuotetta ja projektin kulkua projektin alussa määritettyihin vaatimuksiin. Subjektiivinen laadun komponentti: kuinka hyvin tuote kykenee täyttämään asiakkaan odotukset? Vaatimusmäärittely ei ole koskaan täydellinen. Tässä laadun komponentissa arvioidaan miltä tuote "tuntuu" asiakkaan mielestä. Tämän komponentin täyttymisessä Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 7

nähdään kuinka hyvin odotukset oli saatu kirjattua määrittelyiksi. Asiakkaan "tunne" tuotteesta ja projektista on hyvin subjektiivista. Tähän tuntoon vaikuttaa nähtävissä olevien seikkojen lisäksi aina psykologiset aspektit, sillä asiakas on vain ihminen. Esimerkiksi hyvä asiakaspalvelu ja henkilökemia asiakkaan kanssa aiheuttaa reaktion, jossa asiakas on altis vähättelemään syntyneitä puutteita ja korostamaan hyviä puolia. Tämä pätee vastaavasti myös toisin päin. Komponenttia voidaan mitata projektin lopuksi tiedustelemalla asiakkaan tuntoja. Arvioimaton laadun komponentti: kuinka hyvin tuotetta kyetään muuttamaan asiakkaan tulevien, tuntemattomien tarpeiden mukaisiksi? Asiakas ei edes tiedä kaikkia tarpeitaan, ja uusia tarpeita syntyy varmasti tulevaisuudessa. Tämän laadun komponentin täyttymistä ei tiedetä heti projektin päätyttyä. Tulevaisuus näyttää miten laadukas projekti oli tässä mielessä. Projektin tavoitteena on olla laadukas kaikkiin sidosryhmiinsä nähden. Tämän vuoksi asiakastyytyväisyyden lisäksi on huomioitava myös projektiryhmän tavoitteiden täyttyminen. Projektin tavoitteet on esitelty projektin projektisuunnitelmassa. Projektin tavoitteet on yhdistetty asiakkaan ja projektiryhmän tavoitteista. Näiden tavoitteiden täyttyminen edellä kuvattujen kaikkien laadun komponenttien kannalta tuottaa tämän projektin lopullisen laadun. 4. LAADUN MITTARIT II. Seuraavassa taulukossa on esitetty projektin laadun mittareita: Laadun mittarit Mittari Syy Toteutus Projektinhallintaan ja muihin hallinnollisiin toimenpiteisiin käytettyjen tuntien määrän suhde tuotantoon käytettyihin tunteihin. Hallinnolliset toimet kuuluvat osana projektiin ja niitä tulee olla tietty määrä projektista. Jos hallinnollisia toimia on vähän, niin projektinhallinta on tulkittava liian kevyeksi ja jos toimia on paljon, niin projektinhallinta on liian raskasta ja tehokkuus kärsii. Etsitään sopivia lähtökohtia vertailuarvoiksi yhdessä asiakkaan kanssa. Seurataan tunteja kurssin tarjoamalla Tiranajärjestelmällä. Kerätään havaintoja ensimmäisestä toteutusvaiheesta ja muodostetaan hypoteesi suhteesta oman kokemustiedon ja kirjallisuustiedon perusteella toista toteutusvaihetta varten. Kurssille palautettavien dokumenttien sisäisissä katselmoinneissa ilmi tulleiden virheiden ja puutteiden lukumäärä. Katselmointien tulisi prosessin toimiessa olla lähinnä muodollisia tilanteita, joissa varmistuksena tarkastetaan viimeisen kerran palautettavat dokumentit. Jos virheitä tai erimielisyyksiä syntyy, tämä Katselmustilanteessa lasketaan kuinka monta ongelmaa ja korjausta vaativaa tilannetta havaittiin. Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 8

Mittari Syy Toteutus voi johtua esim. tulevista aikatauluongelmista, motivaatio-ongelmista, sisäisistä erimielisyyksistä, jne. Projektiin budjetoitujen työtuntien toteutuminen. Mikäli työtunteja kuluu liikaa, ei projektiryhmän jäsenet ole tyytyväisiä. Budjetointi on tehty kurssin vaatimusten pohjalta, ja projektiryhmän jäsenet eivät niitä halua ylittää. Tämä kertoo myös siitä miten hyvin vaatimusten priorisointi ja mahdollinen karsinta on onnistunut. Seurataan eri vaiheille kertyneiden tuntien määrää verrattuna vaiheelle budjetoituihin työtunteihin. Arvioidaan järjestelmän tilaa ja työtarvetta ja tehdään tarvittaessa karsintaa vaatimusten prioriteettien mukaan. Tuntien seuranta tapahtuu Tiranan kautta. Projektin edistymisastetta ja tarvittavia työtunteja arvioidaan projektiryhmän toimesta. Kurssin vaiheiden arvosanat ja koko kurssin arvosana. Projektiryhmän jäsenille on tärkeää kurssin vaatimusten täyttäminen ja hyvä arvosana kurssista. Arvosteluperusteet ovat kurssin henkilökunnan näkemys projektin laadukkuudesta. Verrataan saatuja arvosteluja tavoitearvoihin, jotka määrittyvät tavoiteltavan kokonaisarvosanan 5 perusteella. Aikatauluun perustuva edistymisen mittaaminen vs. arvioitu valmiusaste vs. suunniteltu valmiusaste projektin eri vaiheissa. Projektilla on kurssin asettamien vaatimusten mukaan useita milestone-kohtia aikataulussa. Jokaista vaihetta varten laaditaan ohjeen mukainen suunnitelma ko. vaiheen tavoitteista ja arvio valmiusasteesta. Jokaisen vaiheen lopussa tarkastellaan, saavutettiinko asetetut tavoitteet ja onko projektin valmiusaste todella suunnitelman mukainen. Lisäksi verrataan tehtyä työmäärää valmiusasteeseen. Kirjataan tehdyt tunnit Tirana - järjestelmään. Laaditaan tavoite joka vaiheelle. Tarkastellaan yhteistyössä asiakkaan kanssa, että saavutettiinko vaiheen tavoite. Arvioidaan koko projektin valmiusastetta joka vaiheen lopussa mahdollisimman puhtaalta pohjalta, ts. pyritään arvioivia henkilöitä vaihtamalla saamaan mahdollisimman realistinen arvio. Mitataan 'earned value' ja 'budgeted value' mittareilla projektin edistymistä suhteessa tehtyyn työhön ViCa - Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 9

Mittari Syy Toteutus järjestelmän avulla. Projektin tavoitteen tai lopputuotteen muutosvaatimusten lukumäärä. Projektin onnistumiselle on tärkeää, että projektin määrittely on onnistunut hyvin ja kaikki sidosryhmät ovat yksimielisiä projektin tavoitteesta. Jos muutoksia tulee paljon, on projektin määrittelyvaihe epäonnistunut. Etsitään referenssejä, kuinka paljon vaatimukset ja tavoitteet yleensä muuttuvat. Pyritään löytämään yhteistyössä asiakkaan kanssa jokin järkevä mittausarvo. Kirjataan ylös kaikki muutosvaatimukset ja verrataan mittausarvoon. Poikkeamat laatukäsikirjan mukaisista toimintatavoista. Ohjelmistosta löydettyjen virheiden määrä. Ohjelmistossa olevien virheiden korjaamiseen kuluva aika. Uudelleen avattujen virheraporttien määrä. Laatukäsikirja määrittelee lukuisia toimintatapoja, joiden tarkoitus on varmistaa, että projekti toteutetaan oikeaoppisesti. Jos poikkeuksia tulee paljon, voi määritelty toimintapa olla väärä tai huono ja sitä on korjattava. Kaikki löydetyt virheet raportoidaan. Mikäli virheitä on paljon suhteessa ohjelmiston kokoon on syytä huolestua. Tavoitteena on tehdä mahdollisimman vähän virheitä ja löytää tehdyt virheet mahdollisimman aikaisin, sillä se johtaa kustannustehokkuuteen ja mahdollisimman laadukkaaseen ohjelmistoon, sillä virheiden korjaaminen "rapauttaa" ohjelmiston koodia. Saadaan selville, kuinka tehokkaasti virheet korjataan ja toisaalta myös se, kuinka yksiselitteisesti testaus on ne raportoinut. Saadaan selville, kuinka paljon aikaa käytetään virheiden turhaan korjaamiseen ja Kokousmuistioissa pidetään kirjaa tapahtuneista poikkeamista ja esiin tulleista ongelmista. Prosessin laadusta vastaava tarkkailee lukumäärän kehitystä. Jos poikkeamisia tulee paljon, asiasta neuvotellaan ja tehdään tarvittavat muutokset. Etsitään sopivia lähtökohtia vertailuarvoiksi yhdessä asiakkaan kanssa. Verrataan löydettyjen virheiden määrää huomioiden ohjelmiston koko vertailuarvoihin. Mikäli luku näyttää liian korkealta mietitään mistä moinen huolimattomuus johtuu ja miten siitä päästään eroon. Mitataan aika, joka kuluu virheen avaamisesta sen sulkemiseen. Mitataan, kuinka suuri osuus virheraporteista voidaan sulkea, kun ne on kerran merkitty Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 10

Mittari Syy Toteutus tarkentamiseen. Lisäksi voidaan korjatuiksi. seurata testauksen luomien virheraporttien laatua. Koodin kommentointi Testauksen kattavuus suhteessa tuotteen kokoon koodiriveinä. Saadaan selville, kuinka havainnollista ohjelmiston lähdekoodi on ulkopuolisille. Tämä määrää käytännössä ohjelmiston jatkokehittämisen helppouden. Saadaan selville, kuinka suuren osan ohjelmiston eri toiminnoista testaus kattaa. Kommenttirivien osuus kaikista lähdekoodiriveistä. Käytetään testauksen yhteydessä automaattista kattavuuden mittaamiseen tarkoitettua työkalua. 5. PROJEKTIN TOIMINTATAVAT Tässä kappaleessa esitellään projektin toimintatapoja projektin eri osa-alueille. Projektinhallinnalliset käytännöt sekä tuotteen hallintaan liittyvät käytännöt on laadittu kirjallisuuden, Innofactorin laatujärjestelmän ja edellisten vuosien menestyksekkäitten ohjelmatyöprojektien dokumentaation pohjalta Kuopio-projektiin soveltaen. Projektin lopputuotteen tuotannon ohjeet laaditaan ensikokemusten ja kirjallisuuden perusteella ensimmäisen toteutusvaiheen aikana. 5.1 Projektin hallinnolliset toimintatavat ja -ohjeet Tässä kappaleessa esitetään projektin hallintaan liittyvät käytännöt. 5.1.1 Projektin yhteydenpito Ilman eri sopimusta jokaisen työviikon maanantaina järjestetään Innopolissa Innofactor Oy:n tiloissa klo 13.00 projektin viikkopalaveri, johon osallistuu koko projektiryhmä ja pyydettäessä/halutessaan asiakkaan edustaja. Jos osallistuja on estynyt tai myöhästyy, siitä tulee ilmoittaa siten, että se kenelle ilmoitetaan estymisestä tai myöhästymisestä osallistuu viikkopalaveriin. Viikkopalaveria voidaan tarpeen vaatiessa siirtää tai niitä voidaan järjestää useampia. Viikkopalaverissa käsitellään seuraavan viikon tehtäviä ja keskustellaan projektin tilanteesta. Projektilla on sähköpostilista kuopio@innofactor.com, jonka kautta kommunikoidaan sähköpostitse kaikki projektia ja projektiryhmän jäseniä koskevat asiat. Projektipäällikkö lähettää projektin mentorille säännöllisesti raportin projektin edistymisestä. Käytännössä tämä edistymisraportti on projektin viikkokokouksesta tehty pöytäkirja. Myös asiakkaalle lähetetään projektin viikkokokouksen pöytäkirja mikäli hän ei ole ollut paikalla projektin viikkokokouksessa. Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 11

5.1.2 Projektin työmäärän ja ajankäytön seuranta Tuntiraportointi ja sen oikeellisuus on mittareidemme perusta. Tunnit on merkittävä Tiranaan, josta niiden yhteenvetoja voi tarkastella ViCA-visualisointityökalun avulla. Siksi jokainen projektiryhmän jäsen on velvollinen seuraamaan omaa ajankäyttöään projektissa Tiranassa olevien tehtävien tarkkuudella. Tunteja syötetään Tiranaan seuraavien periaatteiden mukaan. Tunnit syötetään Tiranaan päivittäin. (Mikäli tämä ei jostain syystä onnistu täytyy tunnit syöttää viimeistään seuraavana päivänä). Koko ryhmää koskevat, yleensä varsin pitkään kestävät tehtävät kuten luennot ja asiakastapaamiset merkitään siten, että Tiranasta selvitetään alunperin tehtävälle arvioitu tuntimäärä sekä yhteensä tehtävään käytetty aika. Näiden lukujen erotusta voidaan pitää karkeasti ottaen tehtävän edelleen vaatimana aikana. Jos esimerkiksi luentoihin on arvioitu kuluvan 105 tuntia ja Tiranan mukaan luennoilla on käyty 80 tunnin edestä, jäljellä olevaksi aika-arvioksi asetetaan 25 tuntia. Tätä arviota voidaan luonnollisesti tarkentaa tehtävän lähestyessä loppuaan. Lyhyempien tehtävien, joihin liittyy kuitenkin enemmän kuin yksi ryhmäläinen, edelleen vaatima aika merkitään yksinkertaisesti arvioimalla. Arviot vaihtelevat luonnollisesti varsin paljon henkilöstä riippuen, mutta edellisen tehtävää suorittaneen henkilön antama arvio on useimmissa tapauksissa riittävän pätevä mittari ellei uudella arvioijalla ole asiasta parempaa tietämystä. Pelkästään yhden henkilön vastuulla olevien tehtävien jäljellä olevan keston arvioiminen on luonnollisesti tapauksena triviaali koska tehtävän suorittaja pystyy tällaisessa tilanteessa parhaiten arvioimaan tehtävän suoritukseen vielä kuluvaa aikaa. Nämä periaatteet varmistavat, että projektipäälliköllä on käytettävissä juuri päivitetty informaatio projektin tilasta. Jos Tiranaan tarvitaan uusia tehtäviä, niin tästä tulee tehdä ilmoitus Ossille. Projektin viikkopalaverissa käydään läpi jokaisen henkilön vastuulla olevien tehtävien valmiusaste ja Ossi seuraa tehtävien valmistumista. III. Tuntiraportoinnin työlajit ja niiden sisällöt on määritetty Ohjelmatyö-kurssin kotisivuilla http://mordor.soberit.hut.fi/t-76.115/ seuraavalla tavalla: "Luokittelun avulla voidaan työtunnit jakaa lajeihin ja seurata ajankäyttöä yksittäisiä tehtäviä korkeammalla tasolla. Jotta seuranta olisi luotettavaa, on ryhmän sisällä ja eri ryhmien kesken noudatettava samaa luokittelua ja tulkittava sitä samalla tavalla. Seuraavaan taulukkoon on koottu mahdollisimman kattava lista tehtävistä, mitä kukin kurssilla käytettävä työlaji sisältää. Tuntiraportoinnin työlajit Koodi Työlaji Selite A ATK-ylläpito Kaikenlainen laitteiden ja ohjelmistojen asennus ja viritys omaa projektia varten. WWW-sivuston ylläpito. Varmuuskopiointi. Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 12

Koodi Työlaji Selite D Dokumentointi Ohjelmistoa koskevien raporttien kirjoittaminen, tarkastaminen, katselmointi, revisiointi, muunnokset ja palautukset. Käyttöohjeet ja muu koulutusmateriaali, myös on-line muotoinen. K Kokoukset Kurssin aikatauluun kuuluvat katselmukset ja demot. Ryhmän omat ja asiakaskokoukset, jos ne eivät selkeästi kuulu muuhun luokkaan (esim. ryhmätyönä tehtävä suunnittelu). Kokouksille kannattaa siis etukäteen sopia tarkoitus. L Luennot Ohjelmatyökurssin kaikille yhteiset luennot. O Ohjelmointi Ohjelmien kirjoittaminen, kääntäminen, linkkaaminen jne., sekä ohjelmoijan osalta suoritettava moduulitestaus. Ohjelmankehitysympäristöstä riippuen voi sisältää myös esimerkiksi valmiiden komponenttien uudelleenkäyttöä sekä käyttöliittymäkomponenttien sijoittelua, konfigurointia, koodin generointia jne. Tähän työlajiin kuuluvat myös ohjelmoinnin tukitehtävät, kuten työtä helpottavien skriptien kirjoittaminen sekä ohjelmiston konfiguraationhallinta. P Projektin hallinta Lähinnä projektipäällikön tehtävät: projektin suunnittelu, prosessin määrittely, projektin ohjaus, tuntiraportointi. Hallinnollisten dokumenttien kirjoittaminen ja revisointi: projektisuunnitelma, edistymisraportti, loppuraportti, omien projektikokousten pöytäkirjat. S Suunnittelu Määrittelydokumenttien (vaatimusmäärittely, toiminnallinen määrittely, tekninen määrittely) sisältöön liittyvät asiat. CASEtyökaluilla tehtävät kaaviot, käyttöliittymän määrittelyt ja rajapintakuvaukset. Arkkitehtuurimäärittelyt, moduulirajapinnat, moduulien kuvaukset. T Testaus Testauksen suunnittelu ja tekeminen (integraatio- ja järjestelmätestaus). Virheiden raportointi. U Opiskelu Projektiin liittyvien uusien asioiden (esim. työkalut, algoritmit, työn aihepiiri yleensä) opiskelu yksilöllisesti tai ryhmätyönä. Asiakkaan järjestämä, projektiin liittyvä koulutus. On selvää, että eri lajien kesken voi tulla rajanveto-ongelmia. Esimerkiksi suunnittelupalaverissa voidaan tehdä sekä suunnittelua, dokumentointia, että kokoustelua. Oleellista on, että kaikki tärkeä tulee raportoitua, samoja tunteja ei raportoida useaan kertaan, ja raportointi on johdonmukaista." Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 13

5.1.3 Asiakasraportointi ja -kommunikaatio Asiakastyytyväisyyden kannalta on erityisen tärkeää, että asiakas tietää missä projektissa mennään. Kurssin puolesta annetut aikarajat ovat kohtuullisen harvakseltaan ja projektin tilan tunteminen on asiakkaalle tärkeää. Asiakasraportoinnissa ja -kommunikoinnissa otetaan huomioon seuraavat asiat: Jokaisen projektin päävaiheen alussa asiakkaalle toimitetaan kirjallisena kuvaus ko. vaiheen tavoitteesta. Kuvauksesta tulee ilmetä mielekkäällä tarkkuudella mitä tässä projektin vaiheessa aiotaan tehdä. Kuvaus kirjataan projektisuunnitelman edellisen vaiheen palautettavaan versioon (tämä on syytä tehdä myös kurssin vaatimusten takia). Pääasiallisina kommunikointikanavina asiakkaan suuntaan toimivat Ossi ja Mikko, mutta kommunikointia ei ole suljettu. Ryhmän asiakaskontaktien tulee mennä mielellään Ossin kautta, mutta vähintäänkin jokaisesta asiakkaalle menevästä sähköpostista tulisi laittaa Ossille kopio kokonaisuuden hallitsemiseksi. Mikäli asiakkaan kanssa on kommunikoitu jollain muulla tavalla ja sovittu jotain merkittävää, täytyy tästä tiedottaa Ossia sähköpostitse. Asiakkaalle tulee välittömästi ilmoittaa projektia uhkaavista ongelmista. Erillistä viikkoraporttia asiakkaalle ei tarvita, sillä viikon tapahtumat käsitellään viikkopalaverissa. Mikäli asiakas ei osallistu viikkopalaveriin, lähetetään asiakkaalle kokouksen pöytäkirja, joka toimii viikkoraporttina (vastaavasti kuin mentorille), sähköpostitse. 5.1.4 Kokous- ja palaverikäytännöt Kokouksilla on tapana, myös tässä projektissa, venyä pitkiksi ja osin niissä käsitellään asiaa, joka ei koske kaikkia paikallaolijoita. Jotta kokonaisuutena asiat saataisiin tehtyä, tietyistä käytännöistä kokouksien suhteen on sovittu. Erityisen tärkeänä kokouskäytännöissä on pöytäkirjan laatiminen, jonka avulla kokoukseen pääsemättömät sekä sisäisten palaverien suhteen asiakas, voi pysyä ajan tasalla projektin tilanteesta. Asiakaspalaverien pöytäkirjat ilmaisevat yhteisesti sovittuja asioita ja toimivat päätettyjen asioiden dokumentaationa. Jokaisesta asiakaspalaverista sekä merkittävistä ryhmäpalavereista tehdään kokouspöytäkirja käyttäen pöytäkirjapohjaa. Kaikista ryhmäpalavereista ei tarvitse tehdä kokouspöytäkirjaa, mikäli palaverit käsittelevät ainoastaan rutiiniasioita. Tällaisia kokouksia ovat esimerkiksi projektiryhmän viikkopalaverit, joiden agendassa ei ole muuta kuin rutiiniasioita. Päätös kokouspöytäkirjan tarpeesta syntyy lopullisesti kyseisessä kokouksessa. Lähtökohtana kaikille kokouksille on kuitenkin aina seuraava toimintamalli: Käytännöt ennen kokousta: Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 14

Projektipäällikkö/alueen vastuullinen kutsuu kokouksen kaksi päivää ennen kokousta ja valitsee sopivan kokouspaikan. Projektipäällikkö/vastuullinen kerää asioita agendaan, ryhmän jäsenet toimittavat tiedon käsiteltävistä asioista omalta kannaltaan projektipäällikölle/vastuulliselle sähköpostitse vähintään päivää ennen kokousta. Päivää ennen kokousta projektipäällikkö/vastuullinen lähettää kokouksen agendan ja muun mahdollisen materiaalin kokoukseen osallistuville. Agendasta tulee käydä ilmi kokouksen tarkoitus, kenen tulee osallistua ja päätökset, jotka on tehtävä. Ilmoitetaan projektipäällikölle/vastuulliselle etukäteen tiedetyistä esteistä. Käytännöt kokouksen alkaessa: Saavutaan ajoissa. Nimetään kokoukselle sihteeri joka tekee pöytäkirjan. Sovitaan käsiteltävistä asioista ja kokouksen aikataulusta. Tarkastetaan edellisen kokouksen pöytäkirja. Käytännöt kokouksessa: Käsitellään asia kerrallaan. Pysytään asiassa. Annetaan kaikille tilaisuus kommentoida. Jos kokous ei etene, huomautetaan asiasta puheenjohtajalle. Vedetään yhteen kaikki keskustelut. Kirjataan päätökset ja tehtävät asiat pöytäkirjaan; tehtävien asioiden suhteen on määriteltävä vastuullinen ja määrä-aika. Käytännöt kokouksen jälkeen: Kokouksen sihteeri laatii pöytäkirjan ja toimittaa sen kokouksen osanottajille luettavaksi sähköpostilla kolmen arkipäivän kuluessa kokouksesta. 5.1.5 Katselmointikäytäntö Kaikki projektissa tuotettava materiaali katselmoidaan. Tuotettava materiaali voidaan jakaa kahteen osaan, dokumentaatioon ja koodiin. Näille molemmille on oma katselmointiprosessinsa. Dokumentaation katselmoinnilla pyritään löytämään ja korjaamaan virheet ja epäjohdonmukaisuudet ja hakemaan sekä ryhmän että asiakkaan Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 15

sitoutumista projektin tuotokseen. Koodin katselmoinnilla pyritään löytämään koodissa olevat virheet jo ennen testausta sekä saamaan aikaan ryhmän sisäistä oppimista ja kokemuksien vaihtoa. Dokumenttien katselmointi: Kaikki projektin palautettava materiaali katselmoidaan. Katselmointi jakaantuu kahteen vaiheeseen. Ennen sisäistä aikarajaa, joka kussakin vaiheessa on noin viikkoa ennen varsinaista palautusta, ryhmä suorittaa sisäiset katselmoinnit. Sisäisen deadlinen jälkeisellä viikolla ennen varsinaista palautusta suoritetaan asiakaskatselmointi. Asiakaskatselmoinnista kirjoitetaan katselmointipöytäkirja. Projektipäällikkö nimittää asiakaskatselmoinnille pöytäkirjan kirjoittajan. Asiakaskatselmoinnin päävastaava on aina projektipäällikkö. Sisäisen katselmoinnin suorittaa kunkin dokumentin vastuullinen ja varahenkilö yhdessä projektiryhmän yhden muun jäsenen kanssa. Sisäisen katselmoinnin muistiinpanot jäävät projektiryhmän sisäiseksi materiaaliksi. Mikäli varahenkilö on estynyt katselmoimasta, hän sopii projektipäällikön kanssa itselleen sijaisen tilaisuuteen. Katselmointi toteutetaan siten, että katselmoitavan dokumentin editointi on välittömästi mahdollista (kannettava tietokone, tietokoneluokassa, jne.). Katselmoinnissa on läsnä vähintään kaksi henkilöä, katselmoitavan dokumentin vastuuhenkilö ja katselmoija. Katselmoitavan dokumentin vastuuhenkilö esittelee dokumentin ja katselmoija tarkastaa sen sekä esittää tarvittavia kysymyksiä. Jos löytyy virheitä tai puutteita, dokumentin vastuuhenkilö pyrkii korjaamaan ne välittömästi. Kun dokumentin katselmointi on valmis, katselmoija hyväksyy dokumentin. Katselmoija kirjaa ylös virheiden ja puutteiden lukumäärän. Virheiden ja puutteiden lukumäärä sekä katselmoidun dokumentin nimi toimitetaan Ossille. Koodin katselmointi: Koodin katselmointiin osallistuvat järjestelmäarkkitehti sekä ohjelmoijat. Kunkin tekemä koodi katselmoidaan ennen varsinaista moduulitestausta. Katselmointi suoritetaan yhden ryhmäläisen toimesta, katselmoija nimetään katselmointiajankohdan (eli koodin valmistumisen ja moduulitestaamisen ajankohdan) selvittyä. Vastuut: Sisäisten katselmointien vastuut on esitetty projektisuunnitelmassa. Asiakaskatselmointien päävastuu on projektipäälliköllä. 5.1.6 Dokumenttien julkaisukäytännöt Jokaisella kurssille palautettavalla dokumentilla tulee olla vastuuhenkilö, joka vastaa dokumentin valmistumisesta ajallaan, kirjoitustyön jakamisesta, dokumentin versioista ja sen julkaisemisesta. Kaikki projektin dokumentit julkaistaan PDF-muotoisina, ja ne ovat luettavissa kurssin sekä projektin kotisivujen kautta. Kaikki dokumentit suojataan salasanalla, joka on vain projektipäällikön tiedossa ja niiden osien kopiointi ja tulostus Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 16

estetään. Lisäksi dokumenttien metatietoihin liitetään asiakkaan vaatima legal notice, jossa kielletään dokumentin käyttö missään muodossa kurssin ulkopuolella. Dokumenttien säilyttäminen Innofactorin laitteistojen ulkopuolella muutoin kuin kurssin vaatimassa laajuudessa on kielletty. Kurssille palautettavat dokumentit julkaistaan palautuspäivänä ennen palautuksen takarajaa. 5.2 Projektin tuotteen hallinta Projektin tuotteeksi luetaan tuotettavan järjestelmän lisäksi tuotettava dokumentaatio. Projekti noudattaa pääpiirteissään USDP ohjelmistoprosessimallia, jonka mukaan projekti tuote syntyy muutaman iteraation kautta. Jokaisen iteraation jälkeen syntyy lopputuotos, joka toimii pohjana seuraavalle iteraatiolle. 5.2.1 Asiakkaan vaatimusten hallinta Seuraavassa asiakkaan vaatimusten hallinta on esitetty vaiheittain: 1. Asiakas luo luettelon, joka sisältää kaikki mahdolliset vaatimukset, joita he järjestelmälle asettavat. 2. Asiakas asettaa eri ominaisuudet tärkeysjärjestykseen. 3. Ohjelmatyöryhmä luo vaatimusmäärittelyn järjestelmän ominaisuuksista, jotka tähtäävät asiakkaan määrittämien vaatimuksien täyttämiseen ja priorisoi ne. 4. Asiakas hyväksyy vaatimusmäärittelyn, missä asiakkaan vaatimukset on puettu järjestelmän ominaisuuksien muotoon ja priorisoitu. Muutokset vaatimuksiin tehdään muutostestenhallintamenettelyn (kappale 5.2.3) määrittämällä tavalla. 5.2.2 Versionhallinta Versionhallinta on projektissa ensiarvoisen tärkeää, jotta vältetään turhaa työtä ja kaikilla on koko ajan sama käsitys projektin edistymisestä. Tässä dokumentissa versionhallintaa käsitellään kahdessa osassa: dokumenttien hallinta ja varsinaisen ohjelmiston osien versionhallinta. Dokumenttien versiointi: Dokumentit tehdään Word2000 muodossa. Niitä säilytetään asiakkaan serverillä hakemistossa Innoshare/Customer Process/CU145/. Kaikilla projektiryhmän jäsenillä on oikeus em. hakemistoon. Dokumentit versioidaan ja numeroidaan Innofactor Oy:n versiointi ja numerointikäytännön mukaisesti, joka on jokaiselle projektiryhmän jäsenelle tuttu. Tuotteen versionhallinta: Tuotetta tuotetaan asiakkaan kehitysympäristössä asiakkaan kehitysympäristön vaatimusten mukaan. Versionhallinnassa käytetään CVS-ohjelmistoa, joka pitää huolen Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 17

tuotteen versioinnista mahdollistaen usean ohjelmoijan yhtäaikaisen kehitystyön ja keräten tietoa tehdyistä muutoksista. 5.2.3 Muutoksen hallinta Tämä muutostenhallintaprosessi koskee kaikkia sellaisia tilanteita, joissa halutaan tehdä muutoksia joko järjestelmään, sen vaatimusmäärittelyyn tai sen käyttötapauskuvaukseen. Muutosten käsittely jaetaan kahteen luokkaan ehdottajan perusteella: asiakkaalta tuleviin muutoksiin sekä ryhmän sisältä tuleviin muutoksiin. Asiakkaan ehdottama muutos: Jos asiakkaalla on muutosehdotus järjestelmän toiminnallisuuteen, aikatauluun tai vaatimuksiin liittyen, hän toimittaa muutospyynnön projektipäällikölle. Muutospyynnön tulee sisältää perustelut sille, miksi muutosta halutaan sekä prioriteetti eli mitä muita jo kirjattuja vaatimuksia tärkeämmäksi muutos koetaan. Projektipäällikkö selvittää viikon kuluessa muutosehdotuksen vastaanottamisesta seuraavat asiat: Muutoksen toteuttamisen teknisen mahdollisuuden, eli pystytäänkö muutosta toteuttamaan. Muutoksen aikataulullisen vaikutuksen sekä vaikutukset muihin vaatimuksiin. Muutoksen vaikutuksen käyttöliittymään ja konsultoi käyttöliittymäsuunnittelijaa käytettävyysvaikutuksista. Selvitystyön jälkeen projektipäällikkö tekee päätöksen muutoksen toteuttamisesta ryhmän palautteen perusteella ja raportoi tämän asiakkaalle. Ryhmän sisällä ehdotetut muutokset: Jos muutosehdotus tulee projektiryhmän sisältä, on muutoksen ehdottaja itse vastuussa edellä mainitun selonteon tekemisestä muutoksen vaikutuksista projektiin. Jos muutoksesta epäillään aiheutuvan muutoksia asiakkaalle luvattuihin ominaisuuksiin, käyttöliittymään, aikatauluun tai työmääriin, seuraavaa prosessia tulee noudattaa. Jos muutos taas aiheuttaa muutoksia ainoastaan ryhmän sisäisiin suunnitelmiin tai resursointiin, muutoksesta voidaan neuvotella projektipäällikön kanssa suullisesti. Muutospyynnön tulee sisältää perustelut sille, miksi muutosta halutaan sekä sen mahdolliset vaikutukset järjestelmäarkkitehtuuriin ja aikatauluun. Projektipäällikkö selvittää viikon kuluessa muutosehdotuksen vastaanottamisesta seuraavat asiat: Muutoksen vaikutukset muiden työhön. Muutoksen vaikutuksen asiakasvaatimuksiin. Selvitystyön jälkeen projektipäällikkö esittää muutosehdotuksen asiakkaalle, jonka kanssa neuvotellaan ja päätetään muutoksen toteuttamisesta. Bugin ja muutoksen ero: Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 18

Muutokset ovat asioita, jotka tehdään toisin kuin on vaatimusmäärittelyssä kirjallisesti asiakkaan kanssa yhteisymmärryksessä sovittu. Mikäli asia halutaan tehdä toisin kuin on dokumentoitu, asia käsitellään muutoksena ja sen kerrannaisvaikutukset selvitetään ennen toteutusta. Mikäli kyseessä on ohjelmiston virhe eli ohjelmisto toimii vastoin kirjallisesti sovittuja määrittelyjään, virhe korjataan. 5.3 Projektin lopputuotteen tuotannon ohjeet ja käytännöt Tässä kappaleessa esitetään projektin tuotannon ohjeet ja käytännöt. Tämä kappale kirjoitetaan projektin toisessa vaiheessa järjestelmän suunnittelun yhteydessä. 5.3.1 Käytettävät kehitystyökalut Ohjelmointi suoritetaan Microsoft Visual Studio.Net kehitystyökalulla. Kanta- ja luokkarakenteiden suunnittelussa ja luonnissa käytetään Microsoft Visio 2002 ohjelmaa. Ohjelmointia voidaan suorittaa myös EditPlus-ohjelmalla. Tietokannan muokkaamisessa ja hallinnassa käytetään Microsoft SQL Server 2000 Enterprise Manager ohjelmaa. 5.3.2 Koodin kommentointi- ja muoto-ohje Katso Coding Guidelines. 5.3.3 Koodin muuttujien nimeämisohje Katso Coding Guidelines. 5.3.4 Versionhallinnan ja konfiguraation hallinnan ohje Yleistä CVS Concurrent Versioning System- on versionhallintaohjelmisto jota käytetään Kuopio projektin ohjelmistokehityksen apuvälineenä. Ohjelmisto mahdollistaa useiden ohjelmistokehittäjien yhtäaikaisen työskentelyn samojen tiedostojen parissa. Ohjelmisto mahdollistaa myös saman tiedoston useiden eri kehitysversioiden helpon hallinnan. Eri versioita voidaan vertailla keskenään ja tarvittaessa palauttaa mikä tahansa olemassa oleva versio. Tarvittavat ohjelmistot Jokainen Kuopio-projektin jäsen tarvitsee Wincvs-ohjelmiston ja käyttöoikeudet Innofactorin cvs-repositoryyn. Jos jollakin projektiryhmän jäsenistä ei ole edellä mainittuja asioita, ohjeet asennukseen löytyvät Innosharen Kuopioprojektihakemistosta. Cvs:n käyttöohjeet löytyvät samasta osoitteesta asennusohjeiden kanssa. Cvs versionhallinta Kuopio-projektissa Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 19

Kuopio-projektin repository sijaitsee osoitteessa :ext:tunnus@hinnuleus.venenum.com:/var/lib/cvs/kuopio, missä tunnus käyttäjätunnus. Jokaisella käyttäjällä on oma kehityspuunsa, jota hän muokkaa. Kehityspuu voi sijaita joko kehityspalvelimella tai käyttäjän omalla työasemalla. Vaatimuksena kyseisellä koneella on tarvittavat palvelin- ja kehitysohjelmistot. Aina kun repositoryyn siiretään jotain, on varmistettava muutosten toimivuus tai vähintään se, että koodi on käännettävissä. Repositorysta tulisi aina olla mahdollista hakea toimiva versio. Kaikkien muutosten repositoryyn viemisen yhteydessä tulee tehdä järkevä lokimerkintä tehdyistä muutoksista. Oman kehityspuun päivittäminen ennen töiden aloittamista on suositeltavaa. web.config.template on pohja, josta jokainen käyttäjä muokkaa omalle kehityspuulle sopivan version. web.config.dev on kehityspalvelimen versio ja web.config.final on julkaistavan järjestelmän konfiguraatiotiedosto. Tehtäessä merkittäviä muutoksia joihinkin osakokonaisuuksiin tulee sen hetkinen projektiversio merkitä siten, että versio on myöhemmin tunnistettavissa ja palautettavissa kokonaisuudessaan. Tämä pätee varsinkin eri testiversiohin(beta 1, Beta 2, jne.). Kehitys- ja julkaisupalvelimella olevia versioita ei päivitetä ilman Rami Laihon hyväksyntää. Toteutusvaiheessa kantaan tulevat mahdollisesti muihin toiminnallisuuksiin vaikuttavat muutokset tehdään siten, että tieto kulkee kaikille projektiryhmän jäsenille. Tämä siksi, että tietokanta ei kuulu cvs:n piiriin ja siten siihen tehdyt muutokset voivat vaikuttaa jo tehtyjen osuuksien toimintaan. Cvs-repositoryn toiminnasta vastaa Mikko Lampi. Kaikissa cvsongelmatilanteissa otetaan yhteyttä häneen. 5.3.5 Koodin katselmointi/tarkastus käytäntö Jokaisen tuotetun modulin koodi katselmoidaan modulitestauksen valmistuttua eli kun modulin testaus on päätetty lopettaa testaussuunnitelmassa esitettyjen lopetuskriteereiden mukaisesti. Jokaisen modulin katselmointiin osallistuu koodin tuottaneen ohjelmoijan lisäksi yhdestä kahteen muuta ryhmän jäsentä. Mikäli mahdollista, järjestelmäarkkitehti osallistuu kaikkiin koodikatselmuksiin. Kun modulitestaus on lopetettu, tapahtuu koodikatselmointi seuraavasti: projektiryhmän kokouksessa sovitaan katselmointiryhmä Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 20

katselmointiryhmä tutustuu koodiin etukäteen; muutoksia ei tehdä; katselmointiryhmän harkinnan mukaan koodi voidaan tulostaa paperille katselmointiryhmä sopii tapaamisen, jossa koodin tuottanut ohjelmoija esittelee tuotoksensa lyhyesti; muu ryhmä voi esittää kysymyksiä ohjelmoija kirjoittaa saamansa palautteen kirjallisesti ylös. Palautteeseen kirjataan löydetyt poikkeamat koodin kommentointi- ja muoto-ohjeesta sekä mahdolliset löydetyt piilevät virheet katselmointiryhmä päättää, pidetäänkö korjausten jälkeen uusintakatselmointi Katselmointisession jälkeen ohjelmoija korjaa koodin löydettyjen virheiden ja poikkeamien osalta. Mikäli mahdollisia virhelähteitä löytyy, tehdään koodiin toiminnallisia muutoksia. Näille muutoksille suunnitellaan ja toteutetaan kevyt testaus. Koodin katselmoinnissa kiinnitetään erityinen huomio seuraaviin ominaisuuksiin: koodi on selkeää; katselmoijien tulee saada selville kohtuullisela vaivalla koodia lukemalla ohjelman toiminta koodissa ei ole poikkeamia kommentointi- ja muoto-ohjeesta koodissa ei ole epämääräisiä teknisia ratkaisuja; nk. purkkapatentteja tai selkeitä toiminnallisia virheitä Uusintakatselmointi tulee kyseeseen lähinnä, jos koodista löytyy toiminnalisia virheitä, jotka päätetään korjata, mutta myös jos poikkeamat kommentointi- ja muoto-ohjeesta ovat huomattavat. Turhia uusintakatselmointeja pyritään välttämään jo ennestään tiukan aikataulun ja resurssipulan vuoksi. 6. PROJEKTIN RISKIENHALLINTAPROSESSI Projektissa pyritään riskienhallinnan avulla pienentämään tulevien ongelmatilanteiden vaikutusta projektiin. Tunnistamalla mahdollisimman paljon mahdollisia projektin aikana eteen tulevia ongelmia etukäteen, voidaan jo valmiiksi sopia miten erilaisia ongelmia kohdatessa toimitaan ja projektin eteneminen ei ole vaarassa. Seuraavat kappaleet esittelevät projektissa käytettävää riskienhallintaprosessia, joka on sovelluttu käyttäen lähteitä [1], [2], [3]. Projektin riskienhallintaprosessi on pääpiirteissään kuvattu seuraavassa kuvassa. Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 21

IV. Projektin riskienhallintaprosessi 6.1 Riskien tunnistaminen Ensimmäinen riskientunnistusvaihe toteutettiin osana projektin suunnittelua ja se on dokumentoitu projektisuunnitelmassa. Projektin edetessä riskien tunnistus tapahtuu jokaisen projektin päävaiheen alussa kootusti Ossi Jokisen vetämänä. Jos joku projektiryhmän jäsen tai asiakas katsoo olevan tarvetta päivittää riskienhallintasuunnitelmaa, se tapahtuu viikkopalaverissa. Uusia riskejä tunnistettaessa tulee määrittää riskille nimi, riskin toteutumisen indikaattorit, riskin hallintakeinoja joita voidaan toteuttaa riskin toteutumisen estämiseksi, riskin toteutumisen seuraukset ja vakavuus projektille asteikolla 1-5 (5 erittäin vakava, 1 ei merkittävä) sekä pitää kirjaa toteutetuista riskiä ehkäisevistä vastatoimenpiteistä, jos ne katsotaan tarpeellisiksi. Riskit ja tunnistusvaiheessa kerätty tieto kootaan projektin projektisuunnitelmassa esitettyyn riskitaulukkoon, jota päivitetään edellisen kappaleen mukaisesti. 6.2 Riskien monitorointi Riskien monitorointi eli indikaattorien seuraaminen ja toteutumismahdollisuuden arviointi on jokaisen projektiryhmän jäsenen ja asiakkaan vastuulla. Jos joku projektin osapuolista katsoo, että jokin riski saattaa toteutua hyvin suurella todennäköisyydellä, niin hänen tulee ottaa riski keskustelun aiheeksi viikkopalaverissa. Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 22

6.3 Riskien vastatoimet Jos jokin riski toteutuu, toteutetaan riskille vastatoimenpiteitä yhteistyössä asiakkaan kanssa projektin etenemisen turvaamiseksi. Vastatoimenpiteet ovat tapauskohtaisia, periaatteena kuitenkin turvata projektin jatkuminen. 6.4 Riskien uudelleenarviointi Riskien uudelleenarvioinnilla tarkoitetaan säännöllisen riskien tunnistamisvaiheen yhteydessä tapahtuvaa toimintaa, jossa aikaisemmin tunnistettuja riskejä tarkastellaan ja päätetään, kuuluvatko ne enää projektin riskitaulukkoon vai tuleeko jotain muuta tunnistamisvaiheen osa-aluetta päivittää projektin riskitaulukkoon. Uudelleenarviointi on myös jatkuvaa toimintaa, joka tapahtuu monitoroinnin rinnalla, mutta erityistä merkitys sillä on, jos jokin riski toteutuu. Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 23

LÄHTEET LIITTEET [1] Ohjelmistotuotanto (Haikala, Merijärvi, 2000) [2] Project Management Body of Knowledgeä (1996) [3] Software Project Managementia (Hughes, Cotterell, Second Edition, McGraw-Hill, 1999). Kurssin T-76.115 kotisivut http://mordor.soberit.hut.fi/t-76.115/ Projektin kotisivulta www.innofactor.com/kuopio/ löytyvät dokumentit: Projektisuunnitelma MS Project muotoinen projektisuunnitelma Laatukäsikirja Vaatimusmäärittely Kokouspöytäkirjapohja Katselmointipöytäkirjapohja Coding Guidelines Kuopio2001, vain kurssin T-76.115 arvostelun vaatimaan käyttöön Sivu 24