Emner i faget Kvalitetsbegrepet Planlegging for kvalitet Systemets
Emner i faget • • • Kvalitetsbegrepet Planlegging for kvalitet Systemets kvalitetsattributter Kvalitetssystemet, kvalitetsstandarder, beste praksis Gjennomgåelser Konfigurasjonsstyring Kvalitetsplanen Prosesser og prosessforbedring Prosjektstyring
Et spørsmål • Hva forbinder du med et programvaresystem som har kvalitet?
Utviklingen i kvalitetstenkningen – illustrert ved et nærstående eksempel (meg) • Dagfinn • Kvalitetssikring? Ja, selvfølgelig – hun sitter der borte • Urias og jeg – ansvar for kvalitetssystemet • BPR • KK-ledelse
Kvalitetsbegrepet - og relevansen for programvare
Læringsmål • Kjenne ISO 9000: 2000 -seriens definisjon av kvalitet og kunne ta hensyn til dette når du skal: – vurdere om et produkt har kvalitet – planlegge utvikling av et produkt som har kvalitet • Spesielt forstå og kunne ivareta rollene til produsenten, kunden og samfunnet når det gjelder krav til, og vurdering av, et produkts kvalitet • Kunne diskutere forholdet mellom kvalitet og økonomi for en utviklingsbedrift, og kunne svare på spørsmål som: – Hva koster det å satse på økt kvalitet? – Er det alltid riktig for en bedrift å investere i kvalitetsforbedring? – Hva er forholdet mellom produktegenskaper og et produkts konkurransekraft?
Hvordan defineres kvalitet?
En formell definisjon av kvalitet • ISO 9000: 2000 – Kvalitet – i hvilken grad en samling av iboende egenskaper oppfyller krav – Krav: behov eller forventninger som er angitt, vanligvis underforstått eller obligatoriske – Krav kan fremsettes av forskjellige interesseparter
Å merke seg om kvalitetsdefinisjon: • • stemmer godt med den intuitive oppfatningen kvalitet er subjektivt og tidsavhengig kvalitetskravene er ikke alltid uttalt andre enn kunden kan ha krav
Andre kvalitetsdefinisjoner • Tidligere kvalitetsdefinisjon fra ISO: – « Helhet av egenskaper og kjennetegn et produkt eller en tjeneste har, som vedrører dens evne til å tilfredsstille fastsatte krav eller behov som er antydet. » • Zen and the art of motorcycle maintenance: – Kvalitet kan ikke defineres, men du kjenner det igjen når du ser det • Fremtidens kvalitetsdefinisjon? – «Et produkt har god kvalitet når det med minimum av totale levetidskostnader bidrar maksimalt til helse og lykke for alle mennesker involvert i dets fremstilling, distribusjon, bruk, vedlikehold, destruering og gjenvinning – forutsatt minimalt forbruk av energi og andre ressurser og med generelt sett akseptable konsekvenser for samfunnet og miljøet. »
Kvalitet – som skjønnhet – er avhengig av øyet som ser
Kvalitetsstandarden må være 0 -feil 0
Hvem har ansvaret for kvaliteten • Under produksjon? • Hvis et produkt har feil og mangler og det går galt?
Er det lønnsomt å satse på kvalitet – for utviklerne?
Hva koster det å satse på kvalitet? Produktegenskaper Fravær feil og mangler Bedre kvalitet gjør det mulig for firmaet å: – Øke kundens tilfredshet – Øke salgbarheten av produktet – Øke konkurranseevnen – Øke markedsandelen – Øke fortjenesten – Øke prisen på produktet Effekt: – Hovedeffekten er på fortjeneste. – Bedre kvalitet koster MER for produsenten – Redusere kundens missnøye – Redusere feilrate, vrak, omarbeiding – Redusere kostnader til erstatninger etc. – Redusere inspeksjoner og feilkontroller – Korte ned produksjonstiden –Øke produksjonskapasiteten –Øke leveringsdyktigheten Effekt: – Hovedeffekten er på kostnader – Bedre kvalitet koster MINDRE for produsenten
Kano-modellen for kvalitet som konkurransefaktor Grad av kundetilfredsstillelse Elsker produktet Attraksjoner Tilfredsstillere Lav Selvfølgeligheter Høy Avskyr produktet Grad av oppfyllelse
Strategier for å oppnå kvalitet • - ”det er aldri tid til å gjøre jobben skikkelig, men alltid til å gjøre den om igjen”!
Hva er TKL?
Kvalitet og programvare • • • Kvalitetsbegrepet og programvare Kunden, systemutvikleren og kvaliteten Kvalitet og økonomi Begrepet systemutvikling Etikk for systemutviklere
Læringsmål • Kjenne og kunne forklare sammenhengen mellom begrepene: – prosesskvalitet og produktkvalitet – ekstern kvalitet og intern kvalitet • Kunne forklare innhold og betydning av (i forbindelse med programvare) begrep som: – ytelse, brukervennlighet, korrekthet, robusthet, pålitelighet og vedlikeholdbarhet • Forstå hvordan generelle kvalitetsattributter kommer til anvendelse for et konkret programvareprodukt – vite hva ISO 9126 er og hva den kan brukes til • Vite hva ”Code of Ethics ” for systemutviklere er, hva den inneholder og hvor den kan finnes • Kunne diskutere betydningen av kvalitet for en bedrift som tar programvaren i bruk – Begrepet TCO
Klassifisering av programvarekvalitet • Prosesskvalitet – Produktkvalitet • Intern kvalitet – Ekstern kvalitet
Intern og ekstern kvalitet - Det er den interne kvaliteten som gjør det mulig å oppfylle den eksterne
Prosesskvalitet og produktkvalitet • Prosesskvalitet – gjøre de riktige tingene • Produktkvalitet – få det riktige resultatet
Systemets kvalitetsattributter • Korrekthet • Pålitelighet • Robusthet • Ytelse • Effektivitet • Vedlikeholdbarhet • Brukervennlighet
Korrekthet, pålitelighet og robusthet
Ytelse og effektivitet
Brukervennlighet
Vedlikeholdbarhet
Generelle kvalitetskrav til programvare • ISO/IEC 9126: – – – – funksjonalitet pålitelighet brukervennlighet produktivitet vedlikeholdbarhet utvidbarhet portabilitet
Mer er bedre?
Er det lønnsomt å satse på kvalitet også for programvare?
Hvem betaler for ikke-kvalitet?
Konsekvenser av ikke-kvalitet • • Driftsstans Feil i utregninger Feil i databasen Dårlig analyseegenskaper Dårlig adgangskontroll Dårlige brukeregenskaper Passer ikke til arbeidsoppgavene
Hva er TCO? • • • (livstidskostnader på norsk) Innkjøp av maskinvare Innkjøp av programvare Utvikling av programvare Infrastruktur Hus, energi Installering Opplæring Brukerstøtte Vedlikehold Drift Nedetidskostnader
Oppgaver • En liten bedrift hevder at de ikke har råd til de ekstra kostnadene som det medfører å satse på kvalitet. Hvordan vil du argumentere i mot? Kan de ha rett? • Vi kan se på studenter som kunder og lærere som leverandører. Synes du dette er en god analogi? Hva er fordelen ved å se det slik? Er det noe i analogien som blir feil? • En generell regel når vi utvikler programvare er at databasen skal være på 3 dje normalform. Dette er en intern kvalitetsegenskap. Har den betydning for programvarens eksterne kvalitet? På hvilken måte? • Har brukervennlighet noen påvirkning på systemets pålitelighet? Hvordan og hvorfor? • Går det an å klassifisere et program generelt som brukervennlig? • Har vedlikeholdbarhet noen betydning for brukerne, eller er dette en egenskap som er mest for dem som skal videreutvikle systemet? Hvordan og hvorfor? • Kvalitet kan bety både “fravær av feil og mangler” og “egnethet for bruk”, forklar hvordan disse to betydningene av begrepet virker inn på det vi kaller TCO for et system
- Om du glemmer alt annet • Husk: – Kvalitet er å gi kunden det kunden vil ha og har behov for – Kvalitet krever ”Fiber&jern”
- Om du glemmer alt annet • Kvalitet i programvare betyr også: – Hvor lett er det å vedlikeholde programvaren? – Hvor lett er det å videreutvikle programvaren? – Hva koster det å bruke den ?
- Om du glemmer alt annet • Kostnadene for mangel på kvalitet viser seg ikke nødvendigvis på dag 1, men akkumuleres i løpet av systemets levetid
- Slides: 38