KMD AS DIAS 1 Hvordan opmrksomheden p indholdet

  • Slides: 15
Download presentation
© KMD A/S DIAS 1 Hvordan opmærksomheden på indholdet i krav skærpes, så fejl

© KMD A/S DIAS 1 Hvordan opmærksomheden på indholdet i krav skærpes, så fejl og misforståelser undgås Otto Vinter – Software Engineering Mentor vinter@ottovinter. dk, http: //ottovinter. dk & Kaj Henriksen – Projektleder KMD Projekt- og Konsulentforretningen KJH@kmd. dk

Præsentationens indhold _ Indledning/præsentation _ Baggrunden for vores case (valg af et workshop format)

Præsentationens indhold _ Indledning/præsentation _ Baggrunden for vores case (valg af et workshop format) _ Workshoppens indhold _De grundlæggende begreber i kravspecificering _Dokumenter til kravspecifikation og -vedligeholdelse _Øvelser baseret på eksempler fra praksis _ Eksempler fra praksis _ Resultater fra afholdelsen af workshops _ Afslutning/spørgsmål © KMD A/S DIAS 2

KMD – Projekt- og Konsulentforretningen _ Udvikle og vedligeholde kunde-specifikke løsninger _ Eksempler på

KMD – Projekt- og Konsulentforretningen _ Udvikle og vedligeholde kunde-specifikke løsninger _ Eksempler på kunder _ _ _ Skat Nemkonto Q 8 E-boks Falck Kriminalforsorgen _ CMMI certificeret på niveau 2 © KMD A/S DIAS 3

Baggrunden for at højne opmærksomheden på krav _ Baggrunden var _At etablere et bedre

Baggrunden for at højne opmærksomheden på krav _ Baggrunden var _At etablere et bedre grundlag mellem Q 8 og KMD for mindre opgaver, ved at forbedre den ”daglige” gensidige kravspecificeringsdialog _At sikre forståelse hos udviklere og brugere for problemer med kravspecifikationer _At sikre overholdelse af de CMMI certificerede kravhåndteringsprocesser hos KMD/PKF © KMD A/S DIAS 4

Kravspecificering ved videreudvikling af systemer © KMD A/S _ Nyudvikling udgør <20% af totalomkostningerne

Kravspecificering ved videreudvikling af systemer © KMD A/S _ Nyudvikling udgør <20% af totalomkostningerne for et IT system _Kontrol med videreudvikling af systemer er derfor essentiel _ Kravspecificering ved videreudvikling _Er en løbende ”daglig” proces _Karakteriseres ofte blot som ”småopgaver” _Foregår i samarbejde mellem udviklere og brugere _Usikkert kendskab til korrekt kravspecificering/kravhåndtering _Usikkert system- og domænekendskab _Stor mulighed for fejl og misforståelser _Men også stor mulighed for at udnytte forhistorien til læring _ En workshop til læring kan være mere effektivt end kurser DIAS 5

Problemet opstår allerede med kravspecifikationen © KMD A/S DIAS 6 Analyser af fejlrapporter hos

Problemet opstår allerede med kravspecifikationen © KMD A/S DIAS 6 Analyser af fejlrapporter hos Brüel & Kjær har vist, at • 51% af de rapporterede fejl kan henføres til problemer med kravspecifikationen • 64% af de kravrelaterede fejl var Usability problemer • 28% skyldtes samspillet med software fra eksterne leverandører • Kun 22% af problemerne var egentlige funktionalitetsproblemer Med støtte fra EU. Mere information på: http: //ottovinter. dk

Kravworkshoppens indhold © KMD A/S DIAS 7 Workshop agenda _ Teori _Introduktion og baggrund

Kravworkshoppens indhold © KMD A/S DIAS 7 Workshop agenda _ Teori _Introduktion og baggrund (20 min) _Kravspecificering – nogle grundlæggende begreber (30 min) _Hvilke krav stiller QP til kravspecifikation og -vedligeholdelse (30 min) _Pause (10 min) _ Øvelser _Introduktion (10 min) _Individuel analyse af kraveksempler (30 min) _Gennemgang i plenum af de fundne problemer (40 min) _Afslutning (10 min)

Kravbeskrivelser © KMD A/S DIAS 8 En enkelt eller nogle få sætninger i almindeligt

Kravbeskrivelser © KMD A/S DIAS 8 En enkelt eller nogle få sætninger i almindeligt men klart sprog: _ Start med en navneord efterfulgt af et udsagnsord _Afregningsformen for kørsel skal ændres så … _ Undgå synonymer – anvend aftalte/sædvanlige begreber _ Undgå subjektive ord (lille, høj, let) - brug præcise størrelser _mindre end 1%, mindst 20. 000 kr, skal kunne udføres efter en ½ times instruktion _ Undgå generaliseringer som ”feks. ”, ”osv. ” _ Pas på brugen af ”og” og ”eller” _matematisk logik og almindelig sprogbrug passer ikke altid sammen _ Brug med forsigtighed ord som: kan, bør, helst, muligvis

De enkelte krav og samlinger af krav skal være _ Opnåelige - mulige at

De enkelte krav og samlinger af krav skal være _ Opnåelige - mulige at opfylde _ Komplette - både individuelt og samlet _ Konsistente - ingen indbyrdes modsætninger _ Modificerbare - ændringer og tilføjelser mulige _ Nødvendige - udtryk for et reelt behov _ Verificerbare - muligt at afgøre om de er opfyldt _ Utvetydige - kun en mulig fortolkning © KMD A/S DIAS 9

Vigtige elementer til at udtrykke og forstå krav _ Beskrivelse Korte, præcise sætninger med

Vigtige elementer til at udtrykke og forstå krav _ Beskrivelse Korte, præcise sætninger med bestemmende udsagnsord _ Rationale Beskrivelse af kravstillers behov og forventninger _begrundelser for kravet _hvorfor er det opstået, _hvad er kravets berettigelse i relation til forretningen _ Acceptkriterium Beskriv hvordan det kan afgøres, om kravet er opfyldt (godkendt) _ Prioritet Beskriv vigtigheden i relation til øvrige krav © KMD A/S DIAS 10

Kravliste (Excel regneark) _ Kravidentifikation: _Kravnummer * et entydigt nummer for hvert krav af

Kravliste (Excel regneark) _ Kravidentifikation: _Kravnummer * et entydigt nummer for hvert krav af hensyn til sporbarhed _Versionsnummer * for hvert krav af hensyn til sporbarhed _ Kravdato * for oprettelse/ændring af krav _ Status * kravets status (ikke udfyldt eller 'Godkendt') _ Kilde * reference til kravstiller (interessent fra interessentskema) _ Kravniveau * kundekrav eller et løsningskrav © KMD A/S DIAS 11 * = obligatorisk _ Beskrivelse * en kort og præcis sætning med et bestemmende udsagnsord _ Rationale * kravstillers behov, forventninger og begrundelser for kravet (hvorfor er det opstået, hvad er kravets berettigelse i relation til forretningen) _ Acceptkriterium * hvordan det kan afgøres, om kravet er opfyldt (godkendelseskriterium) _ Vægt * på baggrund af en vurdering af vigtighed i relation til øvrige krav (skala 10 -50, 50 er højest) _ _ Initialer * på den der sidst har ændret kravet Kravtype funktionelt eller ikke-funktionelt krav Yderligere dokumentation henvisning til evt. yderlig dokumentation af kravet Andre kommentarer eventuelle uddybende kommentarer og bemærkninger til kravet _ Ændringsanmodning * reference til ændringsanmodning Skabelon Kravliste. xls

24. februar 2021 Eksempel fra praksis: Firmabilopgørelse © KMD A/S _ For alle Q

24. februar 2021 Eksempel fra praksis: Firmabilopgørelse © KMD A/S _ For alle Q 8 -kort, som tilhører en firmabil hos Q 8 ønskes nuværende print erstattet af csv-fil, som fremsendes via mail til specificerede mailadresser (skal kunne redigeres) _ csv-filen skal indeholde følgende felter: - leders login - kortholders navn - Kortnr - Transaktions-dato - Transaktionstidspunkt - Station - Produkt - Antal Liter - Km-stand - Forrige KM-stand - KM kørt - KM/liter - Bemærkning _ For hvert kort inkluderes 2 total-records. Een for måneden og een for År-til-dato. Man kunne f. eks. bruge Stationsfelt til at angive at der er tale om Måneds-total og År-til-dato Total. For totalerne skal de 2 KM-stand indeholde Km ved periodens start og slut. DIAS 12

Resultaterne af workshops © KMD A/S _ Udviklerne stiller flere spørgsmål til brugerne, før

Resultaterne af workshops © KMD A/S _ Udviklerne stiller flere spørgsmål til brugerne, før estimat udarbejdes _ Brugerne begynder at stille spørgsmål til, hvordan de skal udarbejde en kravspecifikation _ Færre kravændringer i opgaverne efter afholdelse af kravworkshop _ Deltagerne sætter pris på, at der bruges eksempler fra dagligdagen _ De bliver mere opmærksomme på vigtigheden af en god kravspecifikation, både brugere og udviklere _ Større forståelse for, hvorfor det giver god mening af udarbejde rationale og acceptkriterier _ Det er dog nødvendig at forsætte med initiativer for at fastholde fokus på en god kravspecifikation

© KMD A/S DIAS 14 ? Otto Vinter Software Engineering Mentor & Kaj Henriksen

© KMD A/S DIAS 14 ? Otto Vinter Software Engineering Mentor & Kaj Henriksen Projektleder KMD-PKF

Eksempel fra praksis: ”Fakturabank” © KMD A/S _ Der laves en ”Fakturabank” på intranettet,

Eksempel fra praksis: ”Fakturabank” © KMD A/S _ Der laves en ”Fakturabank” på intranettet, hvor servicestationerne selv kan hente brændstofafregninger, fakturaer og kreditnotaer. _ Fakturabanken deles op i forskellige konti, hvor de særskilte fakturagrupper får deres egen konto. F. eks. Brændstofafregning i en konto og BPA i en anden konto. _ Løsningen skal sikre, at hver enkelt station kun kan se den specifikke stations fakturaer. _ Ansatte på hovedkontoret skal have adgang til bilagene for support ved spørgsmål fra servicestationerne _ Alle bilag skrives ud i PDF-Format. _ Alle bilag lagres løbende min. 12 måneder i banken.