Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

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

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

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)

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

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

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

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

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

Vaatimusmäärittely- ja hallinta

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

Prosessikuvaukset ja elinkaarimallit

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto

Mitä on ohjelmistotuotanto?

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

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

ITK130 Ohjelmistojen luonne

Sytyke ry:n laivaseminaari Software Technology Transfer Pekka Forselius

Mitä on ohjelmistotuotanto? Johdanto. Tämän kurssin näkökulma. Kurssin suhde muuhun opetukseen

Laatu ohjelmistotyössä

Peruskäsitteet. Vaatimusmäärittely- ja hallinta. Vaatimusmuutosten hinta. Syyt aikataulun ja budjetin ylitykseen

Katselmoinnit. Katselmoinnin määritelmä

ISO/IEC sarja (SQUARE)

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

Ohjelmistojen testaus

Projektin suunnittelu

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurien arviointi

9. Ohjelmistoarkkitehtuurien arviointi

Kontrollipolkujen määrä

Kevät Ohjelmistoarkkitehtuurit 2014

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

Ohjelmistotuotanto Laatu & laatujärjestelmät

Tarkastuskäytänteiden kehittäminen ohjelmistoja tuottavissa organisaatioissa

Projektin suunnittelu. CMMI-käytänteet. Projektin suunnittelu CMMI-käytänteet

Tietohallinnon liiketoimintalähtöinen toiminnanohjaus IT-ERP

Ohjelmistotuotanto, s /27/2003

JTC1 SC7 kuulumiset: Keskeiset työkohteet ja tulokset. SFS:n IT-seminaari Risto Nevalainen, Senior Advisor FiSMA

JYVÄSKYLÄ LICENTIATE THESES IN COMPUTING 4. Sami Kollanus. Ohjelmistojen tarkastuskäytänteiden puutteet ja ongelmat teoriassa ja käytännössä

SOA SIG SOA Tuotetoimittajan näkökulma

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Kevät 2016 Arkkitehtuurin arviointi, ATAM. Ohjelmistoarkkitehtuurit 2016

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Prosessien kehittäminen osa 2. Prosessien kehittämisen haasteita. SEI:n mukan kolme odotettavissa olevaa ongelmaa

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

SCM Tuloskortti. Toimitusketjun hallinnan itsearviointi. Pekka Aaltonen Logistiikan Koulutuskeskus ECL Oy Ab alkaen LOGY Competence Oy

Projektin suunnittelu

Prosessien kehittäminen osa 2

Prosessien kehittäminen osa 2

Software engineering

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Takki. Lisää ot sik k o osoit t am alla. Nyt se sopii, tai sitten ei. Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi

SC7 Interim, Hoboken, USA WG 7 ja 10 kokoukset, marraskuu Keskeiset työkohteet ja tulokset. Timo Varkoi, Senior Advisor FiSMA

Yrittäjien ja selvittäjien näkemykset yritysten suorituskyvystä

Onnistunut SAP-projekti laadunvarmistuksen keinoin

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

Virtuaalinen tarkastus. Katselmoinnit osa 3. Paritarkastus. N-kertainen tarkastus (n-fold inspection)

8. Laadunvalvonta. Mitä laatu on?

Collaborative & Co-Creative Design in the Semogen -projects

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

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

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Projektityö

Elinar Oy Ltd IBM Arkistointiratkaisut

Ubicom tulosseminaari

Tutkittua tietoa. Tutkittua tietoa 1

Luento 12. Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila

Yleiskuvaus - LVpalvelukerroksen. laadulliset vaatimukset Jari Kokko & Vesa Mettovaara LUVAT JA VALVONTA -KÄRKIHANKE

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

NESTE ENGINEERING SOLUTIONS

58160 Ohjelmoinnin harjoitustyö

KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA

Menetelmäraportti Ohjelmakoodin tarkastaminen

Standardin IEC testaustekniikoista. V-malli vai ketterämpi prosessi?

Standardi IEC Ohjelmisto

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

Six Sigma ohjelmistokehityksessä. Harri Pirttinen

Mobiilialueen tutkimus EU:n 6. puiteohjelmassa: Wireless World Initiative (WWI)

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

Laadunvarmistus, tarkastukset ja testaus

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

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

Making diversity manageable. Miradore. Käytännön kokemuksia rahoituksen hakemisesta. Tiistai Technopolis Vapaudenaukio / Lappeenranta

Bachelor level exams by date in Otaniemi

Hankkeen toiminnot työsuunnitelman laatiminen

Bachelor level exams by subject in Otaniemi

Innovaatiivinen hallinta Saimaan ja Atlantin rannalla. Case: I-SSHP & Walter Reed Army Medical Center

ECSEL - Electronic Components and Systems for European Leadership

Työmäärän arviointi. Vaihtoehtoja. Sami Kollanus TJTA330 Ohjelmistotuotanto

Työmäärän arviointi. Vaihtoehtoja. Arviointiprosessi. Sami Kollanus TJTA330 Ohjelmistotuotanto

Millaisia mahdollisuuksia kyberturva tarjoaa ja kenelle? Ja mitä on saatu aikaan?

Ohjelmistotekniikka - Luento 9

Risto Kauppi, CEO. Rugged Tooling Subject to change

AKKREDITOITU SERTIFIOINTIELIN ACCREDITED CERTIFICATION BODY INSPECTA TARKASTUS OY

Transkriptio:

Laadun hallinta Sami Kollanus TJTA330 Ohjelmistotuotanto 5.4. Laatukustannukset US National Institute of Standards and Technology: Riittämättömän testauksen kustannusten arvioitiin olevan 59 Mrd dollaria (USA). voitaisiin säästää 22 mrd $, jos lisenssiohjelmistoissa olisi 50 % vähemmän virheitä. NIST, The Economic Impacts of Inadequate Infrastructure for Software Testing, Washington, D.C., 2002; 2 1

Laadun kustannuksista 40-1000X Virheen korjaamisen suhteellinen kustannus 1 3-6X 10X 15-40X 30-70X (82X IBM keskiarvo) Vaatimusmäärittely Suunnittelu Koodaus Kehitys- Testaus Hyväksymis- Testaus Käyttöönotto, Ylläpito Boehm 1981. Software Engineering Economics. 3 Laatukustannuksia DeFeo Joseph A., 2001. The Tip of the Iceberg. Quality Progress, May 2001 4 2

Eritellään: Tuotelaatu Virhekustannukset Asiakastyytyväisyys Yms. Prosessilaatu Laadukkaita tuotteita tehokkaasti 5 ISO 9126: ohjelmiston laatu Functionality - suitability, accuracy, interoperability, security, compliance Reliability - maturity, fault tolerance, recoverability compliance Usability - understandability, learnability, operability, attractiveness, compliance Efficiency - time behavior, resource utilization, compliance Maintainability - analyzability, changeability, stability, testability, compliance Portability - adaptability, installability, co-existence, replaceability, compliance 6 3

Laadun tekijöitä Prosessit Kehitysmenetelmät -> esim. Oliopohjaisen tai aspect oriented paradigman vaikutus Henkilöstön osaaminen Laadunvarmistus 7 Eri prosessimalleja Organisaatio Tuotekehitys Järjestelmä Laitteisto TQM ISO 9000 ITIL Ohjelmisto Palvelu Myynti HAllinto Myynti CMMI SPICE SW-CMM K2 Quality partners () koulutusmateriaalista sovellettu. 8 4

Laadunvarmistus ja CMMI Level5 Level4 Organizational Innovation and Deployment Causal Analysis and Resolution Organizational Process Performance Quantitative Project Management Level3 Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management Risk Management Integrated Teaming Integrated Supplier Management Decision Analysis and Resolution Organizational Environment for Integration Level2 Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Level1 SEI 2002. CMMI v. 1.1. 9 Prosesien ja tuotteen laadunvarmistus CMMI taso 2 Arvioidaan prosesseja Arvioidaan tuotoksia Kommunikoidaan ja ratkaistaan ongelmat Dokumentoidaan tarpeelliset tiedot SEI 2002. CMMI v. 1.1. 10 5

Verifiointi CMMI taso 3 Valitaan verifioitavat tuotokset Jokaisessa projektissa tarpeen mukaan, osa projektisuunnitelmaa Määritellään menetelmät Luodaan tarvittava ympäristö Työkalut, tukimateriaali yms. Luodaan proseduurit ja kriteerit SEI 2002. CMMI v. 1.1. 11 Verifiointi CMMI taso 3 Toteutetaan vertaiskatselmointeja Analysoidaan katselmoinneista kerättyä tietoa Verifioidaan valitut tuotokset Analysoidaan tulokset ja toteutetaan korjaavat toimenpiteet 12 6

Validointi CMMI taso 3 Valitaan validoitavat tuotokset Luodaan tarvittava ympäristö Laaditaan kriteerit ja proseduurit Validoidaan tuotokset Analysoidaan tulokset 13 Katselmointi/katselmus Voidaan puhua eri tarkoituksessa Projektin statuksen seuranta Virheiden etsiminen Jne. Useita eri menetelmiä 14 7

Tarkastus Vaatimus tarkastuksen järjestämisestä Aloitus Suunnittelu Käynnistyskokous Itsenäinen tarkastus Kirjauspalaveri Korjaus ja seuranta Lopetus Gilb & Graham 1993. Software inspection. 15 Tarkastuksen merkitys Fagan (1976) totesi tuotannon tehokkuuden kasvaneen kymmeniä prosentteja. Doolan (1992) laski, että jokainen tarkastus maksaa itsensä takaisin 30-kertaisesti. Grady ja Van Slack (1994) arvioivat HP:n säästäneen tarkastusten ansiosta 21,5 miljoonaa dollaria vuonna 1993. Russellin (1991) tutkimuksessa jokainen tarkastuksiin käytetty tunti säästi 33 tuntia ylläpitokustannuksia. Basili ja Selby (1987) totesivat koodin lukemisen olevan tehokkaampi tapa löytää jopa samoja virheitä kuin testaus. 16 8

Puutteita tarkastuskäytänteissä Tieto/motivaatio -> asiakkaan vaikutus Koulutus Koodin tarkastus Katselmointitietojen hyödyntäminen Seuranta ja valvonta Kollanus 2005. 17 Tarkastusten keskeisiä (käytännön) ongelmia Valmistautuminen (!!!!) Palaverissa ajaudutaan epäoleellisiin asioihin Asenne Liian paljon materiaalia Palaverin järjestäminen voi viivästyttää aikataulua Väärät ihmiset osallistuvat Ei ole varattu resursseja (kiireiset gurut!) Kollanus 2005. 18 9

Yleistä testauksesta Testaus on ohjelman suoritusta, jonka tarkoituksena on löytää virheitä (Myers 1979) Testaus on suunnitelmallista virheiden etsimistä Kriittisissä projekteissa hyvin suuri osa kustannuksista voi kulua testaukseen Hyvät menetelmät, kuten katselmoinnit pienentävät testauksen tarvetta Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta 19 Yleistä testauksesta Pelkkä testaus ei riitä Ei löydä puutteita Ei toteuta ohjelman validointia Ei kykene arvioimaan arkkitehtuurin toimivuutta, ylläpidettävyyttä, dokumentaatiota yms. Virheet voivat kumota toisensa -> ei näy testauksessa Testaus pystyy todistamaan ainoastaan ohjelman virheellisyyden, ei virheettömyyttä 20 10

Testausasenteen tasot Taso 0: Testauksella ja perkauksella (debugging) ei ole mitään eroa -> Testaus ei ole järjestelmällistä ja suunniteltua Taso 1: Testauksen on tarkoitus osoittaa, että ohjelmisto toimii (oikein) -> Ei voida koskaan täysin todistaa testaamalla Taso 2: Testauksen tarkoitus on osoittaa, että ohjelmisto ei toimi (oikein) -> Ei tiedetä, milloin testaaminen tulisi lopettaa Beizer, 1990. Software testing techniques 21 Testausasenteen tasot Taso 3: Testauksen ei ole tarkoitus todistaa mitään, vaan lisätä luottamusta siihen, että ohjelmiston laatu on riittävä ennen kuin se julkistetaan (riskin pienentäminen). -> Tilastollinen laadunvarmistus Taso 4: Testaus ei ole (vain) tietty toiminto vaan ajattelutapa, joka tuottaa vähäriskistä ohjelmistoa kohtuullisin testauskustannuksin. -> Testattavuuden huomioon ottaminen kaikissa vaiheissa tuottaa jo sinänsä parempaa ohjelmistoa Beizer, 1990. Software testing techniques 22 11

Gilb. T. 2005. Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage. 23 12