Innehåll. Kravhantering. Kravhantering TDDD06 Introduktion till kravhantering. Vad är kravhantering?



Relevanta dokument
Kravhantering IV2032. Kursintroduktion Föreläsning 1: Introduktion till kravhantering

Platina och kvalité. Rasmus Staberg, Teknisk direktör,

men borde vi inte också testa kraven? Robert Bornelind

men borde vi inte också testa kraven?

Rätt svar och poängsättning: 0,5p per rätt svar, max 2,5p A. 2 B. 5 C. 3 D. 6 E. 4

För varje par av påstående/anledning svara med ett av följande alternativ (½ p per rätt svar):

Quality-Driven Process for Requirements Elicitation: The Case of Architecture Driving Requirements

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Testbara krav. SAST Syd Ställ gärna frågor under presentationen eller efteråt Åhörarkopior distribueras efteråt

Övningstenta, Examinationsfrågor

1) Kravhantering varför? (1.5p)

Rätt ifylld bokstav ger 0.5 poäng och fel ifylld bokstav ger 0.5 poäng i avdrag. Rätt svar: Alternativ A, C, D, A, C uppifrån.

Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

Detta har hänt... Kursinformation. Agenda. Kursinformation

RUP - Rational Unified Process

Programvara i säkerhetskritiska tillämpningar

Tentafrågor Grupp C. Fråga 1

Att fatta rätt beslut vid komplexa tekniska upphandlingar

Testautomatisering. Intro

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

Detta har hänt... Föreläsning 2: Projektplanering & granskning. Pratat och provat kravhantering. Bildat projektgrupper :-) Skaffat litteratur?

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

Informationshantering vid systemutveckling styrd av CM

Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

Detta har hänt... Agenda. Kursinformation. Kursinformation

Skriftlig tentamen den 16 januari 2015 Kravhantering, ETS672, 7,5 hp

Användarcentrerad systemdesign

Agil testning i SCRUM

Inlämning 1 - Tentafrågor. Projektgrupp A

produkters egenskaper och innehåll

Alla rättigheter till materialet reserverade Easec

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER

Agil programutveckling

Kravfångst Bra kravarbete handlar om att ställa rätt frågor och att ge rätt svar i rätt form

QC i en organisation SAST

Användarcentrerad systemdesign

ENIMEOS ΣOEMINE. Krav och trender. Praktisk kravhantering och annat nyttigt från industrin. Christian Ehrenborg

IBM Software Group. Agil Acceptans Test. Annika Kortell SAST 15-års jubileum IBM Corporation

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Vad du behöver veta om riskvärdering

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Skriftlig tentamen den 25 oktober 2014 Kravhantering, ETS672, 7,5 hp

Informationssystem och databasteknik, 2I-1100

PROJEKTLEDNING. Vad är ett PROJEKT? Ett projekt:

Validering av krav. Agile utveckling. Christin Lindholm. ETS672 Requirements Engineering L6: Agile Prioritisation. Anpassa kravarbetet till projektet

PRODUCT MANAGEMENT. Klicka här för att ändra format. Klicka här för att ändra format på underrubrik i bakgrunden

Kurser och seminarier från AddQ Consulting

Fungerar Agila principer i alla typer av projekt?

Inlämning 2 - Tentamensfrågor

Fråga 1. A) Domain-requirement analysis B) Questionaires C) Focus groups D) Design workshop C) Stakeholder analysis. Svar: C, D

AGIL KRAVHANTERING. Hitta behoven bakom kraven!! Thomas Nilsson! Agile Coach & Mentor! CTO, Responsive

Varje rätt svar ger 0.5 poäng. (max 3p)

RUP Rational Unified Process. 17 november 2004

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget % misslyckades!

Design och krav. Design Definition. enkelt Det ska vara möjligt att. Henrik Artman

Kurser och seminarier från AddQ Consulting

Föreläsning 3 Användare, uppgift och omgivning. Kapitel 3-4 i Stone et al.

Anledning: Generellt så undviker QUPER att göra fullständiga förutsägelser för relationerna mellan ett systems fördelar, kostnad och kvalitet.

REGELVERK & HANDBÖCKER

Symptom på problemen vid programvaruutveckling

Kravfångst Bra kravarbete handlar om att ställa rätt frågor och att ge rätt svar i rätt form

Vad är RTCA DO-178C? och: Hur arbetar Saab med dessa krav? Lars Ljungberg, Saab AB, Avionics Systems

Kravanalytikerns roll

Frågor och svar till tentamen i Kravhantering. Del 2. Kravhantering (ETS170), LTH Grupp B

Testplan Cykelgarage

Validering av krav. Agile utveckling. Christin Lindholm. ETSF30 Requirements Engineering L6: Agile Prioritisation. Anpassa kravarbetet till projektet

Inspel till dagens diskussioner

Presentation. Fredrik Runnsjö 1996 Utvecklare 2004 Testare ~2006 Scrum/Canban

Exercise 1b: Requirements evaluation

LOGISTIKSYSTEM FÖR SNABBA HJULET AB UTVECKLINGSPROCESS BASERAD PÅ DR. DEBORAH J. MAYHEW S THE USABILITY ENGINEERING LIFECYCLE

När? Varför? För vem? Resultat? (Artefakter?)

Testning. 1DV404, HT14 Jesper Andersson Kap 21 + Testing Primer

Idag. EDAA35: Utvärdering av programvarusystem. Mål. Innehåll. Kursmoment. Lärare

Test och utvärdering - introduktion. Systemering med användarfokus Malin Pongolini

Testning på 3 föreläsningar. PV7180 Verifiering och Validering. Litteratur. Vad är testning? Varför testa och olika syn? Målet med testning

Praktikum i programvaruproduktion

Förslag till tentamensuppgifter

Problem 1-1,5p Två av följande metoder för kravspecifikation är ej lämpade att använda vid ett COTSprojekt,

Iterativ mjukvaruutveckling. 1DV404 HT14 Jesper Andersson

Lyckade projekt - finns det?

Design. Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering sammanfa0ning 13/04/14

Kravspecifikation. Stefan Johansson D08 Grupp 15

Krav. Kravhantering Christin Lindholm

Stöd för kommunikation i systemutvecklingsmetoder - ett ramverk och en jämförelse (HS-IDA-EA )

Användarcentrerad systemdesign

Rekonfigurerbar produktion

Kravhantering nyckeln till ett lyckat IT-projekt? Camilla Byman

Martin Völcker, SLL & Suit

Inlämning 2 - Tentafrågor. Projektgrupp A 1 december 2010

Detta har hänt... Sammanfattning - Krav. Agenda F2. Föreläsning 2: Projektplanering & granskning

Systemering med användarfokus

Investigation of buying in retail companies

Effekter av införande av agila metoder. Daniel Sundmark Mälardalens högskola

CREATING VALUE BY SHARING KNOWLEDGE

CM FORUM. Introduktion till. Configuration Management (CM) / Konfigurationsledning. Tobias Ljungkvist

Systemutveckling. Systemutveckling Systemutveckling (Huvudsakligen från Ruland kap 9)

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

Testplanering, test-first, testverktyg

Transkript:

Innehåll Kravhantering TDDD06 Introduktion till kravhantering Institutionen för datavetenskap (IDA) Linköpings universitet Kravhantering Omfattning Grundläggande koncept Aktörer Aktiviteter Artefakter Sida 2 Problemet och lösningen Problem world / machine solution Vad är kravhantering? World: rötterna till problemet finns i verkligheten som har fysiska, tekniska och organisatoriska delar Machine: det som ska installeras för att lösa problemet Programvara (utveckla/köpa) Hårdvara/mjukvara implementationsplattform, in/utdata-enhet (sensor, ) Kravhantering Machine :ns effekt på problemet Antaganden om world System: ett antal samverkande komponenter som strukturerar problemvärlden system-as-is, system-to-be och system-to-be-next Identifiera och analysera problem med ett befintligt system Identifiera och evaluera målet och alternativen för det nya systemet Identifiera och definiera funktionalitet och begränsningar hos det nya systemet Specificera och dokumentera för att kunna underhålla systemet Sida 3 Sida 4

Sida 5 Exempel Vad är kravhantering? Handbromssystem i bilar Lösa vissa problem med en programvara Problemförståelse Upptäck Förstå Formulera Analysera Vad ska lösas Varför ska det lösas Vem ska involveras Sida 6 Exempel: Transport mellan flygterminaler [Lamsweerde, 2009] Kravhantering i programvarulivscykeln Problem (system-as-is) Missade flyg Ökande passagerarantal Syfte, alternativ (system-to-be) Stöd för täta tågtransporter Med eller utan förare Funktionalitet, begränsningar Programvarubaserat tågkontrollsystem (fart, dörrar, ) Utdata: Kravspecifikation för system-to-be Att få rätt system Att få programvaran rätt Bild: an introduction to requirements engineering, I.K. Bray Sida 7 Sida 8

Sida 9 Varför-, vad- och vem-dimensioner Varför system-to-be behövs System-as-is Problem, domain kunskap Software-to-be Person Enheter Omgivning System-to-be Syfte Uppfylla Krav, Begränsningar, Antagandet Varför ett nytt system? Tilldelas Befintlig programvara Vad ska systemet innehålla? Vem ska göra vad? Förvärva domänkunskap Identifiera målet (system-to-be, verksamhetsmål, ) Flygplatsexempel Betjäna fler passagerare Minska transporttid mellan terminaler Svårigheter Alternativa sätt att uppfylla samma mål Olika tekniker Hantera motstridiga mål Sida 10 Vad system-to-be gör Vem gör vad Funktionalitet för att uppnå målet Realistiska antaganden Begränsningar (säkerhet, prestanda, ) Flygplatsexempel Beräkning av säker tågacceleration Meddelande till passagerare ombord Svårigheter Hitta rätt funktioner Specificera funktioner för alla intressenter Bakåtspårbarhet för systemmål Fördela ansvaret bland systemenheter Flygplatsexempel: Säker tågacceleration: förare eller vilken komponent i system-tobe? Uppskatta tågets hastighet och position: spårningssystem eller framförvarande tåg? Svårigheter Olika alternativ Rätt grad av automatisering Sida 11 Sida 12

Sida 13 Deskriptiva respektive normativa formuleringar Funktionella och icke-funktionella krav om tågets dörr är öppen, så är den inte stängd om tågets acceleration är positiv, så är tågets hastighet inte noll e.g. naturlag, fysiskt tvång Dörrar skall vara stängda när tåget rör sig System-to-be :s effekt på omgivningen Tågets styrprogram skall kontrollera accelerationen av alla tåg i systemet Tågets dörrar skall öppnas enbart när tåget har stannat helt Systemkrav respektive Programvarukrav Hur ska system-to-be uppfylla ett funktionellt krav Accelerationskommandon skall skickas till varje tåg var tredje sekund Sida 14 Kravhanteringsprocessen Kvalitet i kravhanteringsprocessen och kravdokumentet Domain understanding & elicitation Consolidated requirements Quality assurance Alternative proposals Start Documented requirements Evaluation & negotiation Agreed requirements Specification & documentation Fullständighet (completeness) Konsekvens (consistency) Ändamålsenlighet (adequecy) Tydlighet (unambiguity) Mätbarhet (measurability) Relevans (pertinence) Genomförbarhet (feasibility) Begriplighet (comprehensibility) Strukturering (structuring) Förändringsbarhet (modifiability) Spårbarhet (traceability) Sida 15 Sida 16

Sida 17 Kravhanteringsprocessen i olika projekt Varför kravhantering? Greenfield/Brownfield Helt ny programvara byggd från scratch Förbättra, utöka, befintlig programvara Customer-driven/Market-driven Att ta hänsyn till kunds behov Att hantera de potentiella behoven i ett helt marknadssegment In-house/Outsourced Samma företag genomför alla projektfaser Underleverantörer genomför olika delar Single project/product-line En produktversion utvecklas En familj av produkter utvecklas Viktigt Misslyckad programvara (kravrelaterade fel) Allvarliga konsekvenser (kostnad, fördröjning, olyckor, ) Flera effekter (legal, social, ekonomisk, teknisk)a Svårt Bredden Flera systemversioner (as-is, to-be, to-be-next) Hybridmiljö Multipla aspekter (funktionalitet, kvalitet, utvecklingsaspekter) Multipla abstraktionsnivåer Sida 18 Varför är kravhantering svårt? Bygga system utan att tänka på kravhantering? Multipla intressenter (multiple stakeholders) Bakgrund Intresse och konflikter Flera olika uppgifter under iterativ elicitering, utvärdering, specificering Konflikthantering Riskhantering Prioritering Kvalitetssäkring Förändrad förväntan Tidigare erfarenheter Projektstorlek och komplexitet Känd problemdomän Mindre kritiskt problem Sida 19 Sida 20

Sida 21 Kravproblem Kravproblem: Standish report, 1995 Survey of 350 US companies, 8000 projects Kostnad Dålig kravhantering 50 % Sida 22 Kravproblem: Standish report, 1995 Kravproblem: European survey, 1996 Täckning: 3800 EU organisationer, 17 länder Huvudsakliga programvaruproblem Kravspecifikation > 50 % Kravevolution (Requirements evolution management) 50 % [European Software Institute, 1996] www.standishgroup.com/chaos.html Sida 23 Sida 24

Sida 25 Kravproblem Kravdokumentet i utvecklingsprocessen Failure % Project estimations (size, cost, schedules) Call for tenders, proposal evaluation Project contract Project workplan Follow-up directives 100 other causes Software prototype, mockup Requirements Document Software architecture 50 requirements-related Acceptance test data Quality Assurance checklists Implementation directives User manual Software evolution directives Software documentation Impacts on 0 1994 2000 2003 [J. Maresco, IBM developerswork, 2007] Sida 26 Kravhanteringseffekter Kravhantering i agila utvecklingsprocesser Tekniska effekter Acceptanstest Arkitektur Kvalitetssäkringschecklista Handbok Evolution (programvara) Ledningsrelaterade effekter Legala effekter Manifesto for Agile Software Development Tidigt och kontinuerligt tillhandahållande av funktionalitet som är mest värd för kunden Minska kravhanteringsarbete och krav-till-kod-avståndet Sida 27 Sida 28

Sida 29 Kravhantering i agila utvecklingsprocesser Sammanfattning Viktiga funktionella tillägg direkt från användaren Specifikation = testfall på implementation Litet team på samma plats, nära användaren för omedelbar feedback, enligt strikta regler Stakeholder = slutanvändaren Litet projekt Mindre dokumentationsarbete Kravförändringar kommer inte att kräva mycket code refactoring Vad är kravhantering? Kravhantering och problem world Vad-, varför- och vem-dimensioner Deskriptiva och normativa formuleringar Funktionella och icke-funktionella krav Spiralformad process Olika betoning på kravhanteringsfaser beroende på projekt Kravhanteringseffekter på andra artefakter Varför kravhantering? Kravhantering i utvecklingsprocesser More/less agility is achievable by less/more weight in elicitation, evaluation, documentation, consolidation phases of RE cycles [Lamsweerde, 2009] Sida 30