Ohjelmistotuotanto, laadunvalvonta Syksy Laadunvalvonta. Mitä laatu on? Laadun komponentit. Laatuvaatimukset.

Samankaltaiset tiedostot
8. Laadunvalvonta. Mitä laatu on?

8. Laadunvalvonta. Mitä laatu on? Eräs laadun määritelmä. Laadun hallinta. Laatuvaatimukset. Prosessin ja tuotteen laatu

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Projektinhallinta: kustannusarvio

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

Ohjelmistotuotanto, syksy laatu Ohjelmiston laatu

Mitä prosessissa kehitetään. Prosessin kehittäminen. Kehittämisen tavoitteita. Perusasioita kehittämisessä. Pohjana esim. CMM

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

ITK130 Ohjelmistojen luonne

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

Ohjelmistotuotanto, s /27/2003

Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään?

CMM Capability Maturity Model. Software Engineering Institute (SEI) Perustettu vuonna 1984 Carnegie Mellon University

CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto Software Engineering Institute (SEI)

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

CMMI CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

Kokonaisvaltainen mittaaminen ohjelmistokehityksen tukena

Johdantoluento. Ohjelmien ylläpito

Mittaamisen maailmasta muutamia asioita. Heli Valkeinen, erikoistutkija, TtT TOIMIA-verkoston koordinaattori

Yhteenveto. Menettelytavat

Laadunvarmistuksesta. Luennon tavoitteista. Motivointia. Sommerville, Software Engineering (6th ed.)

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU

Laadukkaiden ja luotettavien ohjelmistojen vaatimukset ja miten ne täytetään?

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

Standardi IEC Ohjelmisto

Ohjelmistojen suunnittelu

Koulutuksen suhdannevaihtelut. Zeppeliinistä suihkukoneaikaan

Sytyke ry:n laivaseminaari Software Technology Transfer Pekka Forselius

SataSPIN. Prosessien parantaminen verkostoitumalla. Porin korkeakouluyksikkö, TTKK

HITSAUKSEN TUOTTAVUUSRATKAISUT

LAATURAPORTTI Iteraatio 1

Aluksi. Riskien hallinta. Riskityyppejä. Riskillä on kaksi ominaisuutta. Reaktiivinen strategia. Proaktiivinen strategia

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

Toimilohkojen turvallisuus tulevaisuudessa

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

Menetelmäraportti Ohjelmakoodin tarkastaminen

Projektin suunnittelu

Uudelleenkäytön jako kahteen

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

Tietojärjestelmän osat

Ohjelmiston testaus ja laatu. Testaus käytettävyys

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Onnistunut SAP-projekti laadunvarmistuksen keinoin

7. Product-line architectures

Market. Need Market Research New Needs. Technical Research. Current Technological Level

Missä mennään BI? Mikko Kontio

SYSTEEMITYÖ. Tärkeitä sanoja

ISO Päivi Kähönen-Anttila

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

A4.1 Projektityö, 5 ov.

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

MIKKO-projekti ja mittausten automatisointi

Ohjelmistotuotanto, prosessit Syksy Ohjelmistotuotantoprosessi. Prosessimalli. Prosessimallien perustehtävät. Prosessimallin vaihejako

Ohjelmistotuotteen hallinnasta

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY

LAATUMITTARIT LÄÄKETEOLLISUUDESSA

Toiminnan laadunvarmistus SYSTEEMITYÖ. Laatu

Laadunvarmistussuunnitelma Ryhmä Jämät

Ohjelmistotekniikka - Luento 2

Laatu tietojärjestelmähankkeissa. Tietohallinnon kokemuksia Juha-Pekka Leskinen Atk-päällikkö Eduskunnan kanslia

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Katselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988)

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

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

SoberIT Software Business and Engineering institute

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

Ohjelmistojen testaus

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

58160 Ohjelmoinnin harjoitustyö

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Määrittelyvaihe. Projektinhallinta

Prosessien hallinta ammatillisen koulutuksen laadunhallintasuosituksessa ja eurooppalaisessa viitekehyksessä

Refecor Oy. Jyrki Portin. Sensoriverkot Massamarkkinoille Suunnittelun ja valmistuksen haasteita

NESTE ENGINEERING SOLUTIONS

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely

Projektinhallinta SFS-ISO mukaan

Suomi.fi - Tietoturvallisuus sovelluskehityksessä. VAHTI sähköisen asioinnin tietoturvaseminaari

Hieman lisää malleista ja niiden hyödyntämisestä

Vaatimusmäärittely- ja hallinta

Vaatimusmäärittely- ja hallinta. Peruskäsitteet. Syyt aikataulun ja budjetin ylitykseen. TJTA330 Ohjelmistotuotanto

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

1. Johdanto. Ohjelmistotuotannon ongelmia

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

OS AUTOMATION OY. 7DYRLWH

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

Projektinhallintapäivä , Tampere Poimintoja koulutusnäkökulmasta

Käytettävyyslaatumallin rakentaminen verkkosivustolle

SFS-ISO/IEC Tietoturvallisuuden hallintajärjestelmät. Ohjeistusta. Riku Nykänen

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

Katselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std

Arviointi ja mittaaminen

Ohjelmistojen virheistä

Tuotantotalouden 25 op sivuaine

Tietohallinnon nykytilan analyysi. Analyysimenetelmä (sovitettu Tietohallintomallista)

Transkriptio:

8. Laadunvalvonta hyvä laatu ei ole itsestäänselvyys: monimutkainen tuote = paljon kohtia jotka voivat mennä vinoon monta osallistujaa = erilainen osaamistaso, erilaiset näkemykset laadusta muutokset = säilyykö hyvä laatu? työprosessiin kuuluu huolehtiminen laadun syntymisestä laadun säilymisestä Mitä laatu on? paljon erilaisia määritelmiä, esim. tuotteessa ei ole virheitä tuote vastaa määrittelyjään tuote vastaa asiakkaan odotuksia tuote sopii tarkoitukseensa tuotteen hinta ja ominaisuudet ovat oikeassa suhteessa toisiinsa miten erilaiset tarpeet priorisoidaan? Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 1 Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 2 käyttöturvallisuus tietoturvallisuus luotettavuus tehokkuus käytettävyys opittavuus joustavuus Laadun komponentit virheettömyys monimutkaisuus modulaarisuus testattavuus siirrettävyys ylläpidettävyys uuskäyttöisyys Kunkin projektin yhteydessä on ratkaistava, mitkä komponentit tässä projektissa on otettava huomioon. Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 3 Laatuvaatimukset ei-toiminnalliset vaatimukset vrt. vaatimusmäärittely liittyvät usein koko järjestelmään: esim. modulaarisuus, käytettävyys voivat liittyä myös johonkin yksittäiseen toimintoon: esim. tietyn toiminnon vasteaika kerättävä kuten muutkin vaatimukset muuten ei voi todentaa, täyttyvätkö ne Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 4 Tuotteen vai prosessin laatu? Prosessin laatu Oletus: Laadukas prosessi tuottaa laadukkaita tuotteita. Define Develop product Improve Assess product quality Quality OK Standardize Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 5 No Yes millainen on laadukas prosessi? tehokas ei turhaa työtä kustannukset ovat järkevässä suhteessa tulokseen ennustettava tiedetään mitä on tulossa hyvin määritelty antaa toimintaohjeet eteen tuleviin tilanteisiin Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 6 Taina, Verkamo 1

8.1 Laadun hallinta laadun varmistus: määritellään joukko menettelytapoja ja standardeja, joiden avulla päästään hyvään laatuun laadun suunnittelu: valitaan tietyssä projektissa käytettävät laatuun tähtäävät menettelytavat laadun seuranta: valvotaan, että laatuun tähtäävät toiminnot toteutuvat Kuka huolehtii laadusta? laadun hallinta on syytä erottaa projektin hallinnasta näiden välillä voi olla eturistiriita: tehdäänkö nopeasti vai laadukasta? koko yrityksen yhteinen laaturyhmä: johdonmukaiset menettelytavat vertailukelpoiset havainnot riippumattomuus yksittäisten projektien aikataulu- ja kustannuspaineista Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 7 Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 8 Standardit standardit ovat sopimuksia, joiden avulla pyritään tasalaatuisuuteen tuotetta koskevat standardit tuotteen osien rakenne ja esitystapa esim. vaatimusdokumentin rakenne, koodausohjeet prosessia koskevat standardit työvaiheet ja niissä käytettävät työtavat esim. katselmointimenettely, tarkastuslistat Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 9 ISO 9000 kansainvälinen laatustandardien sarja kohteena yrityksen laatujärjestelmä millä tavoin tuotantoa tulee hallinnoida mitä menettelytapoja ja ohjeistusta tarvitaan tarkoitettu monien eri alojen yrityksille soveltaminen ohjelmistoyrityksiin ISO 9000 sertifiointi kuvastaa yrityksen suhtautumista laatuun Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 10 laatukäsikirja Project 1 quality plan ISO 9000 ISO 9000 quality models instantiated as Organization quality manual is used to develop Project 2 quality plan Supports documents Project 3 quality plan yrityksen laadun hallinta Organization quality instantiated as Project quality management soveltaminen projekteissa Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 11 Laatusuunnitelma projektikohtainen suunnitelma mitä laatu tarkoittaa tässä projektissa tuotteen laatukomponentit ja niille asetettavat vaatimukset laatuun liittyvät riskit ja niiden hallinta lähtökohtana yrityksen standardit = laatukäsikirja sovelletaan projektin tarpeisiin tarvittaessa täydennetään standardeja Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 12 Taina, Verkamo 2

Laatukatselmointi keskeinen laadun seurannan väline verrataan toteutunutta (laatua) suunniteltuun tuotokset, menetelmät itse asiassa kaikki katselmointi pyrkii laadun seurantaan ja parantamiseen: määrittelyjen, suunnitelmien ja koodin tarkastukset projektin etenemisen seuranta 8.2 Mittaaminen etenemisen ja laadun seuranta antaa täsmällistä tietoa vertailu suunnitelman ja toteutuman välillä mittaaminen projektin lopussa kerätään historiatietoa tulevia projekteja varten mittaaminen projektin aikana ohjataan käynnissä olevaa projektia Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 13 Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 14 Ennustaminen ja mittaaminen Kiinnostavat ja mitattavat suureet Software Control measurements Management decisions Software product Predictor measurements prosessin mitat prosessin seuranta tuotteen mitat mm. laadun ennustaminen miten mitattavat suureet kuvaavat haluttuja laadun komponentteja? halutaan tietää Maintainability Reliability Portability Usability voidaan mitata Number of procedure parameters Cyclomatic complexity Program size in lines of code Number of error messages Length of user manual Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 15 Yhteys suureiden välillä ei ole selvä. Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 16 Mittausprosessi Mitä mitataan? Etsitään osia, joiden laatu poikkeaa muiden osien laadusta. 1. Valitse mitattavat suureet. 2. Valitse tutkittavat komponentit. 3. Mittaa komponentit. 4. Tunnista poikkeavat havainnot. 5. Analysoi poikkeavat komponentit. staattiset mitat kerätään mittaamalla projektin tuotoksia suunnitelmia koodia dokumentteja kerättävissä projektin alusta alkaen dynaamiset mitat kerätään mittaamalla toimivaa ohjelmaa mitan arvo riippuu myös siitä, miten ohjelmaa käytetään: eri toimintojen käyttö syötteet kerättävissä vasta kun on jotakin joka toimii Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 17 Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 18 Taina, Verkamo 3

Mitä mitat kuvaavat? Esimerkkejä tuotteen mitoista staattiset mitat liittyvät tuotteen rakenteellisiin ominaisuuksiin voi olla välillinen yhteys joihinkin laatuominaisuuksiin esim. monimutkainen rakenne => vaikea ymmärtää dynaamiset mitat liittyvät tuotteen käyttäytymiseen usein suora yhteys laatuominaisuuksiin esim. suoritusaika, havaittujen häiriöiden määrä edustavuus: mitan arvo kuvaa vain sitä tilannetta, jossa ohjelmaa on käytetty staattisia mittoja kutsuttujen metodien (tai funktioiden) lkm periytymishierarkian syvyys luokkien lkm käyttötapausten lkm dynaamisia mittoja suoritusaika tietokantahakujen lkm kutsuttujen metodien lkm tulostetun raportin rivien lkm Useat mitat ovat kuvaavampia skaalattuna jollakin (tuotteen tai tehtävän) kokoa kuvaavalla suureella. Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 19 Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 20 Prosessin mitat aikamitat esim. tiettyyn vaiheeseen kulunut aika resurssimitat esim. henkilötyöpäivien määrä, koneaika tapahtumamitat esim. testauksessa löytyneiden vikojen lkm, muutospyyntöjen lkm Käytetään prosessin seurantaan ja parantamiseen. Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 21 Mittatulosten analysointi mitattavaan suureeseen vaikuttaa yleensä monta samanaikaista tekijää tulosten tulkintaan liittyy epävarmuutta esim. jos testauksessa löytyi vain pieni määrä vikoja, johtuuko se hyvästä koodauksesta leväperäisestä testauksesta taitavasta suunnittelusta huolellisesta katselmoinnista runsaasta uudelleenkäytöstä Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 22? 8.3 Prosessin parantaminen Prosessin parantamisprosessi prosessia voi olla tarpeen muuttaa: työ- tai sovellusympäristö muuttuu työn tavoitteet muuttuvat tarjolla olevat menetelmät kehittyvät käytetty prosessi on rämettynyt tarkoituksellisen muutoksen tavoitteita: tuotteen laadun parantaminen kustannusten vähentäminen työskentelyn tehostaminen Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 23 Analyse Process model Process change plan Identify improvements Training plan Introduce change Train engineers Feedback on improvements Tune changes Revised model jatkuva, iteratiivinen prosessi lähtökohtana prosessissa havaitut ongelmat Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 24 Taina, Verkamo 4

Prosessin analysointi Esimerkki prosessimallista prosessin parantamisen lähtökohtana on malli = kuvaus nykyprosessista yrityksen formaali prosessimalli mallin analysointi: todellisen (käytössä olevan) prosessin tunnistaminen kytkennät toimintojen, tuotoksien, henkilöiden, rajoitteiden yms. välillä voidaan kuvata kaavioina Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 25 Pre-condition Module compiles without syntax errors Input Module specification ennakkoehto (po. vinoneliö) Responsible for Process Rôle poistumisehto (po. vinoneliö) Post-condition Test engineer Test module prosessi koostuu aktiviteeteista All defined tests run on module Outputs Signed-off test record Module test data Moduulitestausprosessin malli Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 26 Muutosten todentaminen muutosten todentaminen: mittaukset mitataan tilannetta kuvaavia suureita ennen muutosta mitataan samat suureet muutoksen jälkeen mitattavien suureiden valinta lähtökohtana usein havaittu ongelma esim. tehoton testaus: mitataan löytyneiden vikojen määrää, testatun koodin määrää, käytettyä aikaa Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 27 Prosessin kypsyys (maturity) prosessien vertailussa käytettävä käsite prosessien vertailuun tarkoitetut mallit luokittelevat prosesseja kypsyydeltään erilaisille tasoille kuvaa prosessin kyvykkyyttä: tasaisesti laadukas tuotantolinja hyvin hallittu prosessi suunnitelmien ja aikataulun pitävyys sopeutuminen tarvittaviin muutoksiin Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 28 SEI CMM tunnetuin kypsyystasomalli kehitetty alkuaan Yhdysvaltain puolustusministeriön tarpeisiin tarkoitettu esim. alihankkijoiden tason arviointiin vaikuttanut useisiin muihin prosessien arviointimalleihin: esim. SPICE, Bootstrap Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 29 Eteneminen alhaalta ylös Level 1 Initial CMM: kypsyystasot Level 2 Repeatable 1. Perusprosessi 5. Optimoiva prosessi 4. Hallittu prosessi Level 4 Managed Level 3 Defined 2. Toistettava prosessi 3. Määritelty prosessi Level 5 Optimizing Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 30 Taina, Verkamo 5

CMM:n tasot 1. Perusprosessi 3. Määritelty prosessi ad hoc -toiminta oman organisaation 2. Toistettava prosessi tarpeisiin määritelty standardoitu prosessi projektinhallinta 4. Hallittu prosessi laadunvarmistus tuotteenhallinta prosessia ja tuotetta mitataan voidaan toteuttaa vastaavia projekteja 5. Optimoiva prosessi kuin ennenkin jatkuva prosessin ei omaa määriteltyä parantaminen prosessimallia CMM:n painopistealueet kuhunkin tasoon liittyy joukko keskeisiä parannuskohtia (key areas) prosessin parantaminen ei voi tapahtua missä järjestyksessä hyvänsä tietyt asiat täytyy saada kuntoon ennen kuin voi/kannattaa edetä kovin pitkälle muilla osa-alueilla konreettiset parannustoimenpiteet (key practices) Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 31 Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 32 Kypsyystason arviointi tavoitteena yrityksen (organisaation) kypsyyden arviointi yksittäiset projektit voivat olla tasoltaan paljon korkeammalla kuin yrityksen yleinen taso arvioinnin tekee ulkopuolinen ryhmä kyselylomakkeet käynti: kyselyjä täydentäviä haastatteluja arviointi + loppuraportti Kypsyystasomallin käyttö kypsyystason arvioinnin tavoite puolueeton kuva yrityksen kokonaistasosta tärkeimmät korjattavat kohdat yritystä ei voi kuvata yhdellä numerolla osa-alueisiin liittyvä tieto on olennaista prosessin parantamista ajatellen soveltuu parhaiten suuriin organisaatioihin pitkiin projekteihin Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 33 Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 34 Prosessien luokittelu Esimerkkejä prosesseista toinen tapa luonnehtia prosesseja: informaalit prosessit ei ennalta määriteltyä prosessimallia prosessi hallitut prosessit voi kuulua määritelty prosessimalli useaan metodiperusteiset prosessit luokkaan perustuvat tiettyyn ohjelmistonkehitysmalliin parantuvat prosessit keskeisenä tavoitteena prosessin parantaminen Informal Managed Methodical Prototypes Short-lifetime products 4GL business systems Large systems Long-lifetime products Well-understood application domains Re-engineered systems Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 35 Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 36 Taina, Verkamo 6

Yhteenveto Ohjelmistotuotanto on laaja kokonaisuus. prosessin elinkaaren eri vaiheet kuhunkin vaiheeseen liittyvät tekniikat laatuajattelu läpi koko elinkaaren kokonaisuuden hallinta työskentelyn osa-alueiden parantaminen Asioiden omaksuminen vaatii harjoittelua. projektityö 4-6 hengen ryhmässä Syksy 2004 Ohjelmistotuotanto / Taina, Verkamo 37 Taina, Verkamo 7