410 likes | 594 Views
010758000 Ohjelmistotekniikka - Yrityksen l aatujärjestelmät ja mittarit. Kevät 2003 Hanna-Kaisa Lammi LTY/Tite. Osa materiaalista on peräisin kurssikirjasta Haikala, Märijärvi: Ohjelmistotekniikka, 2000. Sisältö. Laatu Prosessiajattelu Mittaaminen Auditointi
E N D
010758000 Ohjelmistotekniikka- Yrityksen laatujärjestelmät ja mittarit Kevät 2003 Hanna-Kaisa Lammi LTY/Tite Osa materiaalista on peräisin kurssikirjasta Haikala, Märijärvi: Ohjelmistotekniikka, 2000.
Sisältö • Laatu • Prosessiajattelu • Mittaaminen • Auditointi • Laatujärjestelmän kehittäminen • Laatujärjestelmästandardeja
Laadun käsite • Termi on omiaan herättämään tunneperäisiä reaktioita. • Onko laatu virheettömyyttä, mitä on virheettömyys? • Onko laadukkaiden osien summa laadukas? • "Määritelmä" • Tuotteen kyky täyttää asiakkaan kohtuulliset toiveet ja odotukset. • Oikea tuote, oikea hinta, oikeaan aikaan. • Laatu on välttämättä aina jossain määrin subjektiivista, so. riippuvainen käyttäjästä • Objektiivinen laatu: tuote on siinä mielessä virheetön ja tarkoituksenmukainen, että se on määrittelynsä mukainen. • Subjektiivinen laatu: tuote täyttää käyttäjänsä (ja asiakkaan) tuotteeseen kohdistamat odotukset. Eri käyttäjillä on erilaisia odotuksia.
Laadun määritelmiä • Deming: Asiakkaalle tärkein tuote • Crosby: Täyttää vaatimukset • Ishikawa: Asiakastyytyväisyys • Wesselius: Laatu = objektiivisesti arvioitavissa oleva komponentti + subjektiivisesti arvioitavissa oleva komponentti + kokonaan arvioimattomissa oleva komponentti • PIMS-tietokanta: Laatu: hintaa lukuunottamatta kaikki muut ostopäätökseen vaikuttavat attribuutit • Oxford dictionary: Erinomaisuuden aste • ISO: Tuotteen tai palvelun kaikki piirteet ja ominaisuudet, joilla tuote tai palvelu täyttää sille asetetut tai oletettavat vaatimukset
Laadusta • Yrityksen tavoitteena on kuitenkin tuottaa voittoa tuotelaadun on oltava tarpeeksi hyvä • miksi tehdä liian hyvä kun asiakas ei siitä kuitenkaan maksa? • tehtäisiinkö kuitenkin vähän odotuksia parempi? • Kilpailutilanne muuttuu jatkuvasti myös käyttäjien käsitys kunkin tuotteen laadukkuudesta muuttuu
Laatujärjestelmä = yrityksen toimintatavat • ISO 8402 määritelmä: Laadunhallinnassa tarvittavien organisaatiorakenteiden, menettelyjen, prosessien ja resurssien muodostama järjestelmä • laadunhallinta (quality management, ”laatujohtaminen”) • laadunohjaus (quality control) • laadunvarmistus (quality assurance). • laatupolitiikka (quality policy), • laadunsuunnittelu (quality planning) • laadun parantaminen (quality improvement)... • Yksinkertaisesti: laatujärjestelmä määrittelee yrityksen toimintatavat • "Virallinen" vs. todellinen toimintatapa? • Yrityskulttuuri, arvot.
Laadun mittaaminen • Motto: mitä ei mittaa, sitä et voi ohjata mittaaminen on välttämätöntä. • Mitataan, että saadaan tietää • kuinka tavoitteet on saavutettu • kuinka prosessia on kehitettävä: ymmärtäminen, oppiminen ja kehittäminen. • Mitataan • tuotetta (missä ollaan). • prosessia (kehittäminen, ymmärtäminen, oppiminen).
Mittaamisen ongelmia • Mittaaminen aiheuttaa kustannuksia. • Käytännössä kovin luotettavia yksittäisiä mittareita ei ole. • Asenneongelmat: yleensä ihmiset vastustavat mittareiden käyttöönottoa: • "epätarkka", • "hukkatyötä", • "voi käyttää/tulkita väärin" • "mahdotonta" • ... • Ihmiset sopeuttavat toimintaansa mittareihin. Tulos ei välttämättä muutu. • Tuottavuutta mitataan koodirivien määrällä. • Virheiden vakavuusaste vaikuttaa palkkaan.
Millaisia mittareita? • Mittaamisen on oltava mahdollisimman automaattista. • Mittareita on oltava mahdollisimman vähän, mutta kuitenkin riittävästi. • Mittaustulosten hyväksikäyttötavan on oltava kaikilla selvillä. • Mittarin väärinkäyttö on vältettävissä. • Mittaa mielellään prosessia ja ryhmää, ei yksilöä. • Objektiivisuus ja luotettavuus: tulos ei saa olla riippuva mittaajasta tai mittausajankohdasta, mittaukset toistettavissa. • Trendit absoluuttisia arvoja tärkeämpiä. • Ymmärrettävyys: mistä mittarin arvon muutokset johtuvat. • Asiakkaan kannalta mielekäs. • Mittarin arvot muutettavissa euroiksi.
Esimerkkejä tuotemittareista (monet myös prosessimittareita) • Koko, mutkikkuusmitat (Halstead, McCabe) • Virheitä / KLOC (myös prosessimitta) • Saatavuus, availability (esim. prosentteina kokonaisajasta) • MTBF (mean time between faults) • MTTR (mean time to repair) • Luotettavuus, tehokkuus, ymmärrettävyys, ylläpidettävyys, siirrettävyys, ... • Asiakastyytyväisyystutkimukset
Esimerkkejä prosessimittareista • Aikataulut: arvioidut ajat, toteutuneet ajat • Katselmoinneissa/testauksessa löytyneet virheet • Virhekustannukset • Testauksessa löytyneiden virheiden aiheuttamat lisäkustannukset • Takuuaikaiset korjaukset • Laskutuskelvottomat tunnit • Tuottavuus
Liikkeellelähtö • Aluksi muutamia selkeitä mittareita: • aikataulujen toteutuminen • asiakasvirheiden määrä • takuutyön määrä • asiakastyytyväisyys. • Kokemuksen karttuessa mittareita otetaan lisää. • Mittaustuloksista tiedotetaan: trendit näkyvissä kahvihuoneen seinällä.
Auditointi (1/2) • Auditointi: tarkasteltavasta kohteesta riippumattoman henkilön tekemää laatujärjestelmän arviointia (audit, assessment, review). • Auditointi voi olla joko sisäinen tai ulkoinen: • sisäinen: yrityksen itse tekemä auditointi • ulkoinen: esimerkiksi toisen yrityksen tai kolmannen osapuolen tekemä. • Muodollinen tilaisuus, jonka aikana tarkastetaan tuotteen tai toiminnan laatu vertaamalla sitä dokumentaatioon tai standardiin. • Toiminnan auditoinnissa toiminnan vertailukohtana on esimerkiksi yrityksen oma laatujärjestelmän kuvaus tai jokin laatustandardi (esimerkiksi ISO 9001).
Auditointi (2/2) • Tehdään, usein määrävälein, suunnitelmallisesti ohjeistukseen verraten (sekä sisäisiä että ulkoisia, ISO9001-vaatimus). • Tarkastuksen kohteeksi valitaan yleensä tietty osa laatujärjestelmää. • Tulokset dokumentoidaan pöytäkirjaan. • Korjaavista toimenpiteistä päätetään esimerkiksi laaturyhmän kokouksessa. • Ulkoisen auditoinnin tavoitteita: • varmistaa, että toimittaja pystyy toimittamaan tuotteen • osoittaa, että toiminta on laatujärjestelmän mukaista (sertifiointi) • yritysten välinen benchmarking, oppiminen. • Sisäisen auditoinnin tavoitteet: • Oman toiminnan vahvuuksien ja heikkouksien tunnistaminen. • Kehityskohteiden tunnistaminen. • Koulutus. • Valmistautuminen ulkoisiin auditointeihin.
Audiointi ei ole… • Ihmisten kritisointia • Esimiesten keino alaisten arvointiin • Poliisitoimintaa, jolla saadaan “rosvot kiinni” • Mestarointia, jossa auditoija kertoo, miten asiat tulisi hoitaa • Ei myöskään suoraan pyri arvioimaan laatujärjestelmän hyvyyttä / huonoutta
Auditointi käytännössä • Perustuu laatudokumentaatioon ja valittuun standardiin. • Auditoija tutkii ensin mahdollisen laatudokumentaation (ohjeistus, dokumentointimallit jne.) ja sen riittävyyden standardeihin nähden. • Auditoijan työvälineinä laatudokumentaatio, standardi (esim. ISO 9001), kysymyslistat sekä kynä ja paperi. • Oleellista auditoinnissa on käytännön, eli todellisen toiminnan tutkiminen. • Auditointi pohjautuu havaintoihin: • haastattelut, • työvälineiden, -tapojen ja -tulosten tarkastelut. • Dokumenttien sisältöön ei yleensä puututa. • Toiminnan tarkastelun jälkeen auditoijat kirjoittavat raportin, johon havainnot kirjataan. • Raportin pohjalta voidaan laatia suunnitelma kehitystoimenpiteiksi. • Johdon tehtävänä on huolehtia korjaavista toimenpiteistä ja suunnitelmien toimeenpanosta.
Auditoitavia kohteita • Yleiset vaatimukset • laatupolitiikka, johdon seuranta • organisaatio • sisäiset auditoinnit, korjaavat toimenpiteet • koulutus ja- asiakasohjautuvuus • Projektitoiminta • projektien organisointi • projektien suunnittelu, • projektien seuranta ..., • Tuotteenhallinta: identifiointi, versionhallinta,konfiguraationhallinta ja toimintatavat. • Menetelmät, työvälineet,dokumentit, ohjelmakoodi ... • Laadunohjaus: tarkastukset, katselmukset, testaus,mittaus ... • Tuotteen toimittaminen asiakkaalle.
More formal, more controlled, more bureaucratic Requirements management Measurement Testing procedures, planning Quality control, inspections Configuration management Project management Methods Documentation Requirements specification SW design Programming language, tools, and technical skills Small programs Large systems Sometimes, for some people, it seems to be more important to “get the process done” than to “get the product done”. Laatujärjestelmän kehittäminen
Kuinka muutos tapahtuu? Process performance Improvement efforts How to manage process improvement simultaneously with ordinary project pressures? Time "institutionalizing" the change?
Kehittämisen askeleet • Kartoitetaan nykytilanne. • Tähänkin asti on eletty, ei liian suuria muutoksia kerralla. • Priorisoidaan kehitystarpeet. • Otetaan ensimmäinen askel... • Yksinkertainen malli toimintaprosessista (mitä vaiheita projektiin kuuluu) • Usein lähdetään liikkeelle dokumentointimalleista • Määrittely- ja suunnitteludokumentit • Projektinhallintaan liittyvä dokumentaatio (projektisuunnitelma, seuranta)
Ongelmia • Monet hankkeet hiipuvat innostuneen alun jälkeen • Johdon tuki ja sitoutuminen puuttuu • Koulutukseen ei panostetaan tarpeeksi • Usko kaikkivoipiin työkaluihin • Liian suuret odotukset • Rima liian korkealla • Liian suuri muutos kerralla • Muutosvastarinta • Ajankäyttö • Cowboy-mentaliteetti • Ei toimintamallia - ei käsitystä ongelmista • Prosessia ei voi “ostaa”
Laatujärjestelmästandardeja • ISO9001 • Tällä hetkellä käytännössä tärkein (ei silti kovin tärkeä?) • ISO900-standardi määrittelee tietyt puitteet laatujärjestelmän kehittämiseksi • CMMI • SEI (Software Engineering Institute) CMMI-malli (Capability Maturity Model) määrittelee viisi kypsyystasoa • Kypsyystasomalli määrittelee asiat, joita kullakin tasolla on kehitettävä seuraavalle tasolle pääsemiseksi. • Muita standardeja • Bootstrap • SPICE (tulevaisuudessa tärkeä?) • Trillium • Laatupalkintokriteerit (www.sly.fi).
ISO 9000 -standardisarja • geneerinen, tarkoitettu kaikille teollisuusaloille, käytetään myös ohjelmistoalalla • esim. Nokia Networks, ICL Personal Systems, Valmet Automation • ISO 9001 tuotekehitykseen ja tuotantoon • ISO 9002 tuotantoon • ISO 9003 lopputuotteen laadun varmistaminen • ISO 9004 soveltamisohje standardien soveltamisesta
ISO 9001 dokumentaatio • Laatukäsikirja, sertifiointi tehdään tähän verraten • Työohjeet eri työvaiheisiin • Eri työvaiheessa sovellettavat käytännöt ja lomakkeet • Viitemateriaalit
ISO 9001 laatujärjestelmän minimivaatimuksia • Laatukäsikirja on olemassa. • Johto on määritellyt laatupolitiikan ja sitoutunut siihen. • Laatupäällikkö on nimetty huolehtimaan laatujärjestelmästä. • Laatujärjestelmä on todistettavasti olemassa. • Organisaation jäsenten toimenkuvat on määritelty. • Sisäisiä laatujärjestelmän arviointeja suoritetaan suunnitelmallisesti. • Alihankkijoiden toiminta on valvonnassa. • Dokumenttien hallinta on kunnossa. • Korjaavat toimenpiteet laatupoikkeamien hallintaan on määritelty.
Sertifiointi (1/2) • arviointitilaisuudessa tutkitaan yrityksen laatujärjestelmä ja arvioidaan, täyttääkö yrityksen toiminta standardin asettamat vaatimukset • esim. SFS (Suomen Standardoimisliitto), BSI (British Standards Institute) • jollain aloilla sertifiointi on käytännön pakko: ilman sertifikaattia ei pääse edes tarjouskilpailuun mukaan
Sertifiointi (2/2) • Sertifikaatin saaminen ja pitäminen vaatii paljon töitä. • Työssä lähdetään liikkeelle nykytilan kartoittamisella. • Hyöty sertifiointityöstä nähdään yleensä vasta vuosien kuluttua. • Sertifikaatin saamisen jälkeen arviointeja on säännöllisesti esim. 2 kertaa vuodessa. Sertifiointielin ilmoittaa arvioinnista vain muutaman päivän etukäteen. Tarkempi ohjelma selviää organisaatiolle vasta arviointipäivän aamuna.
CMMI kypsyystasot • Taso 1: Initial Process. Lähtötaso. • Taso 2: Repeatable process. Projektit pystytään viemään läpi suunnitelmien mukaisesti. • Taso 3: Defined Process. Prosessi on määritelty, sitä noudatetaan, ja sitä pyritään tehostamaan. • Taso 4: Managed Process. Prosessia mitataan ja mittaustuloksia käytetään sen parantamiseen. • Taso 5: Optimizing Process. Tietoa kerätään automaattisesti ja sitä käytetään prosessin optimoimiseksi. • Suomessa CMMI-malleja edistetään ns. FiSMA -verkostossa • Millähän tasolla yritykset yleensä ovat?
SPICE • Software Process Improvement and Capability dEtermination = ISO15504 • Voidaan käyttää kahdella tavalla • Kyvykkyyden mittaaminen • Prosessien kehittämiskohteiden selvittäminen nykytilan ja SPICE-malliin sisältyvien suosituskäytäntöjen ja kyvykkyysasteikon avulla • 5-asteikkoinen kypsyystasoluokitus, pääkohdat samoin kuin CMMI:ssä.
Prosessiominaisuus Tyypillisiä vaatimuksia Taso 1 Toimiva prosessi 1.1 Toimiva prosessi Halutut peruskäytännöt ovat olemassa, halutut työtulokset syntyvät ja toimitetaan Taso 2 Hallittu prosessi 2.1 Suorittamisen hallinta Työ on suunniteltua ja tilanne on tiedossa koko ajan. Tekemisen menettely tunnetaan. 2.2 Lopputulosten hallinta Lopputulosten laatuvaatimukset tunnetaan, hallitaan ja todennetaan. Vaatimukset saavutetaan. Taso 3 Vakiintunut prosessi 3.1 Prosessin määrittely ja räätälöinti Prosessi on standardoitu organisaatiotasolla ja on sovitettu käytännön tarpeisiin. Tilanne tiedetään toteutumamittarien perusteella. Standardiprosessit pysyvät ajantasalla. 3.2 Prosessin resurssit Standardiprosessin mukaiset resurssit, roolit ja vastuut tunnetaan ja saadaan käyttöön. Tarvittava tietotuki ja välineet ovat käytössä. Taso 4 Ennustettava prosessi 4.1 Prosessin mittaaminen Standardiprosessilla on liiketoiminnasta johdetut saavuttamisen tavoitteet, ne perustuvat tosiasioihin ja ovat saavutettavissa 4.2 Prosessin ohjaus ja valvonta Prosessin käyttäytyminen ja poikkeamat tunnetaan ja prosessi-instanssit ohjataan pysymään annetuissa rajoissa. Taso 5 Optimoituva (itseohjautuva) prosessi 5.1 Prosessin muuttaminen Standardiprosessin muutostarpeet tunnetaan ja on analysoitu. Prosessia kehitetään systemaattisesti olemaan ennakoiva. 5.2 Jatkuva parantaminen Standardiprosessin kehittämisvaatimukset tunnetaan sisäisten ja ulkoisten tarpeiden perusteella. Prosessia kehitetään systemaattisesti ja jatkuvasti. Spice-tasojen vaatimuksia
Spice-arvioinnista • Arvioinnin lopputulosta nimitetään kunkin prosessin kyvykkyysprofiiliksi. • Kyvykkyys voidaan halutessa ilmaista myös tasona. edellisen tason on aina oltava kokonaan kunnossa (fully achieved) ja tulokseksi tulevan kyvykkyystason on oltava vähintään laajasti kunnossa (largely achieved) molempien prosessiominaisuuksien osalta tietyn tason saavuttamiseksi.
Prosessi Järjestelmätestaus SPICE ENG.1.7 Vaatimusten hankinta, SPICE CUS.3 2 Arvioi-den lkm 4 Taso 1 0.88 1.00 0.93 Taso 2 0.89 0.78 Taso 3 0.60 2,37 2,71 Summa Projektinhallinta SPICE MAN.2 2 0.95 0.92 0.84 2,71 Esimerkki Spice-arviosta SPICE = ISO15504, pääasiallinen standardi, johon arviointi perustui CMMI = Capability Maturity Model Integrated, SEI:n kehittämä SPICE-yhteensopiva malli, josta on valittu joitakin hyviksi koettuja prosesseja täydentämään arviointia
Fully achieved. Vaatimukset kokonaan täytetty, yli 85 % Ei erityisiä kehittämiskohteita, jotakin pientä kehittämistarvetta voi olla. Largely achieved. Vaatimukset laajalti täytetty, 51-85 % Joitakin selviä kehittämiskohteita tullut esille arvioinnin aikana. Partially achieved. Vaatimukset osittain täytetty, 16-50 % Useita selkeitä kehittämiskohteita, jotkut käytännöt ovat vain osin olemassa. Not achieved. Vaatimukset eivät täyty lainkaan, 15 % tai alle. Kyseistä kyvykkyyttä ei ole havaittu, vaikka se on sinänsä mielekäs. Ei arvioitu, joko ei ole arvioitavissa tai ei tarpeellista ”Ei arvioitavissa” = kyvykkyys puuttuu ”Ei arvioitu” = rajattiin arvioinnista pois 1 = ykköstaso 1.1= Prosessin olemassaolo (ykköstaso) 2 = kakkostaso 2.1= Prosessin suunnittelu ja valvonta (kakkostaso) 2.2= Prosessin lopputulosten hallinta (kakkostaso) 3 = kolmostaso 3.1= Prosessin määrittely (kolmostaso) 3.2= Prosessin resurssointi (kolmostaso) Esimerkki, selitykset