Användarcentrerad systemdesign

Relevanta dokument
Agile-metoder, XP och ACSD

Användarcentrerad systemdesign

Kravsammanställning. Förstudie verksamhetsstödjande. Drift & Förvaltning. Affärs-/ processutveckling. Analys & Design. Konstruktion Test Införande

Agile. Frågor. Lyckade/misslyckade IT-projekt

Agile. Frågor. Lyckade/misslyckade IT-projekt

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

Automation Region. Affärsdriven systemutveckling genom agila metoder. Stefan Paulsson Thomas Öberg

Övning / handledning Användningsfall

Användarcentrerad systemdesign

Användarcentrerad Systemutveckling

Fungerar Agila principer i alla typer av projekt?

Agil programutveckling

Linköpings universitet 1

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

SCRUM. Vattenfallsmodellen. Analys. Design. Kod. Test. Rational Unified Process Agile. Kallas också linjär sekventiell modell.

F2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH

Människa-datorinteraktion 1MD016, hösten 2011 Användarcentrerad systemdesign september 2011

XP-projekt: En fördjupning

Användarcentrerad systemdesign

F2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH

RUP - Rational Unified Process

Chaos om IT-projekt..

Modern utvecklingsmetodik. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag

Användningscentrering i agila utvecklingsprojekt. johanna.sarna@valtech.com Valtech

Projektmetodik. Översikt. Lektion 1: Metodiker. Metodiker.

Chaos om datorprojekt..

12 principer of agile practice (rörlig)

Användarcentrerad systemdesign introduktion till begrepp, processer och arbetssätt

Design för användbarhet

Användarcentrerad systemdesign

Projektarbete. Grunder

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

Agil projektmetodik Varför och vad är det?

Användbarhet och användarcentrerad systemdesign. Innehåll

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

SCRUM och mycket mer

Användarcentrerad systemdesign

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

Föreläsning 1. Kursinformation. Utvecklingsprocessen. Kravspecifikation. Gruppindelning.

Användbarhet i sitt sammanhang

SCRUM och agil utveckling

RUP Rational Unified Process. 17 november 2004

Note to programmers. Embrace Change! Extreme Programming? Fyra basaktiviteter. 12 Practices / sedvanor. Vad är Extreme Programming

BESKRIVNING AV PROCESSMETODEN SCRUM

Du fulländar mig! Om synergierna mellan agila metoder och UX. Joakim Holm Adaptiv AB. Erik Hammarström Antrop AB

Agila metoder. Idag skall vi vända på steken... Agil Ledning av IT-projekt

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

Föreläsning 4: Designprocessen

Användbarhet och användarcentrerad systemdesign. Innehåll

Användarcentrerad systemdesign

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

SCRUM vs. XP en jämförelse mellan två lättviktsmetodiker

Översikt. Fö: Projekt: Interaktivt system. Projekt. Mål. Coachning. Praktiker att använda

TDP023 Projekt: Agil systemutveckling

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

E-val. Användningscentrerad systemdesign enligt Constantine & Lockwood. UPPSALA UNIVERSITET Uppsala

AGILA METODER. (för oss som inte kodar) Nina Berlin

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet

Symptom på problemen vid programvaruutveckling

TDDD26 Individuell projektrapport

Agil utveckling ställer nya krav på upphandling. Roland Bäcklin, Jaybis Konsult AB

Allmänna frågor om kursen: 1. Vad är ditt allmänna omdöme om kursen? Antal svar: 14 Medelvärde: Har kursen känts relevant för din utbildning?

Agil användbarhetsutveckling. handhållna enheter* TNM082. Martin Karlsson * Dagens kortaste kursnamn

Innehåll. Användbarhet och användarcentrerad systemdesign. Användbarhet - ACSD. Användbarhet? Vad är det? ISO 9241 Part 11. Andra definitioner

Agile Software Development - Vad betyder det i verkligheten?

Inspel till dagens diskussioner

CREATING VALUE BY SHARING KNOWLEDGE

Allmänna frågor om kursen: 1. Vilket är ditt allmänna omdöme om kursen? Antal svar: 25 Medelvärde: 4.3

Agil mjukvaruutveckling. 1DV404, Jesper Andersson

Design för användbarhet Användarcentrerad utvecklingsprocess

OOA Objektorienterad Analys. Exempel på informell kravspecifikation. DD2385 Programutvecklingsteknik Några bilder till föreläsning 11 13/5 2013

Informationshantering vid systemutveckling styrd av CM

Hur hanterar vi risk? Vad är TKO? Skillnad på agil och trad? Agil/Lean: Defer Commitment, Build knowledge, Fail fast

Therese Hansson & Magnus Jonsson. Motivationsfaktorer - Test inom Agila utvecklingsprojekt

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

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

Jämförelse mellan Extreme. Programming och andra. lättviktsprocessser. Av : Fredrik Scheja (d98fsc) Måns Holmstedt Jönsson (d99mhj)

Projektuppgift i Användarcentrerad Systemdesign, ht 04

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

Scrum + XP samt konsekvensanalys

IT och funk0onshinder

TDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 1. Kursinformation Vad är Software Engineering? Hur går ett projekt till?

TDDI02. Programmeringsprojekt, Föreläsning 1. Filip Strömbäck. Med utgångspunkt i tidigare slides av Jonas Lindgren

Agil testning i SCRUM

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

Praktikum i programvaruproduktion

Agila metoder en kartläggning av teori och praktik

TDP023 Projekt: Agil systemutveckling

FÖRELÄSNING 8 DSV2PVT

Den agila utvecklingen

Design av användargränssnitt. Processen snarare än produkten

Kursen handlar om. Var används datorer och andra IT-stöd? T ex: Människa-datorinteraktion (MDI) Inst. för informationsteknologi

Agilt arbetssätt i komplexa organisationer. Välkomna! Anna Picetti, IT-HUSET

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

En snabbare väg till framgång Ett agilt angreppssätt för BI Johan Petersson

Effektivt Nyttigt Självförklarande Kräver ingen manual Intuitivt Läcker design Vem som helst kan använda det. Ändamålsenligt. Farmor kan använda den!

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

SYSTEMUTVECKLING METODER & MODELLER. Suzana Ramadani

Användbarhet och användarcentrerad systemdesign. Vilka är era användare? Vad innebär det att något är användbart? Enkelt.

Transkript:

Användarcentrerad systemdesign Föreläsning 9: Agile-metoder, XP och ACSD Stefan Blomkvist MDI / IT, Uppsala Universitet, stefan.blomkvist@it.uu.se XP www.it.uu.se/edu/course /homepage/acsd/s04 Dagens föreläsning Agile, XP & ACSD Agile översikt Problem som agile försöker lösa. Vad innebär det? XP en agile-process i detalj ACSD och Agile. Är Agile och XP användarcentrerade? Info om projektuppgiften 1

Vad går fel i systemutvecklingsprojekt? Dålig användbarhet CHAOS 83% av projekten misslyckas Levereras aldrig eller försent Dyrare än beräknat Låg kvalitet Saknar funktioner eller har onödiga funktioner Vad beror det på? Förändring. Allting förändras Verksamhet Önskemål / Krav Teknik Kostnaden för ändringar 2

Andra problem i systemutveckling Mjukvara är komplex och ogripbar (intangible) Trög process och brist på återkoppling För mycket fokus på processen Hur möter man problemen Olika angreppssätt genom tiderna Mode i metoder och processsor Koda & fixa Ingenjörsmässiga & formella metoder Vattenfall, strukturerad programmering OO, RUP Agila metoder 3

Vad är Agila processer? Ramverk med värden och principer för SU FDD som delas av olika metoder Crystal (Cockburn) Adaptive Software Development (Highsmith) Scrum extreme Programming DSDM (Stapledon) (Beck) Agile nyckelprinciper Fungerande system före fullständig dokumentation Kundsamarbete före kontraktsförhandlingar Reagera på förändringar före att följa planer Individer och kommunikation före processer och verktyg The Agile Manifesto, 2000, agilemanifesto.org 4

Communication Effectiveness Kommunikation är effektivast interaktivt, ansikte-till-ansikte Paper 2 people on email Videotape 2 people at whiteboard 2 people on phone Richness of communication channel Andra definitioner av Agile (Lindvall 2002) Iterative delivers a full system at the very beginning and then changes the functionality of each subsystem with each new release. Incremental the system as specified in the requirements is partitioned into small subsystems by functionality. New functionality is added with each new release. Self-organizing the team has the autonomy to organize itself to best complete the work items. Emergent technology and requirements are allowed to emerge through the product development cycle. 5

XP Vad ingår i en process? 6

Vad är extremeprogrammering? Rå hacking utan metod. Mer eller mindre kaotiskt. Strukturerad hacking med fokus på programmering och att leverera buggfria program. En avsiktlig och disciplinerad process för att utveckla fungerande system efter kundens önskemål. XP bakgrund Bygger på praxis och väletablerade metoder. Kent Beck (2000) Senaste trenden i software engineering Användbarhet och ACSD är ett frågetecken 7

Mål med XP-processen Utveckla system som kunden vill ha, fungerar tekniskt och levereras när det behövs. Kan ändras efter nya och ändrade kundkrav även sent i projektet Dvs vi reducerar riskerna med en process som är Enkel & lätt, Snabbrörlig & anpassningsbar och rolig för projektgruppen Vad är extremt? Välkända arbetssätt praktiseras till det extrema Test är bra testa hela tiden, testa före kodning. Låt användarna testa (enhetstest, testa-först, funktionell test) Kodgranskning är bra granska kod hela tiden (parprogrammering) Iterativ utveckling är bra arbeta i korta iterationer Enkelhet är bra enklast möjliga lösningar, enkla artefakter, enkla metoder Prata med användare är bra låt användare och utvecklare dela rum. 8

Fyra Värden Gemensam värdegrund med andra Agile-metoder. 1. Kommunikation 2. Enkelhet 3. Återkoppling 4. Mod Grundläggande aktiviteter i processen Kodning Kod är den enda nödvändiga artefakten. Testning Det som inte kan bevisas fungera i tester fungerar inte heller. Lyssna programmerare vet inget om verksamheten. Design (teknisk) arkitektur och kod växer fram, och genom Refaktorering intern omstrukturering av kod utan att yttre beteende förändras 9

XP-processen i praktiken Ett system utvecklas iterativt inkrementellt, dvs fungerande system levereras stegvis med mer och mer funktionalitet. Varje sådan fas i utvecklingen kallas en leveranscykel (release cycle) och pågår 3-4 månader. Användarberättelser (user stories) Något som kunden vill att systemet ska göra. Berättelser ska vara testbara (Beck 2000). 10

Användarberättelser - exempel Brygg kaffe När man startar bryggning, koka vattnet tills klart Håll kaffet varmt #1 #2 När kannan innehåller kaffe, sätt på värme. När kannan är tom, stäng av värmen. När kannan tas bort, stäng av värmen Avbryt bryggning om kannan #3 tas bort, stoppa vattnet, stäng av värmen. Om kannan sätts tillbaka, fortsätt bryggning Planeringsspelet (the planning game) Story card 11

Beräkna arbetsinsast & prioritera användarberättelser Övning: användarberättelser Tvättmaskin Användare: Skriv några user stories för de viktigaste funktionerna Programmerare: Uppskatta tid (ideal programmeringstid) Användare: Prioritera Båda: Åtagande, vilket system får man efter varje 2-veckors iteration Fundera över Hur kan berättelserna användas? Kan de användas? Vad säger de om användarns behov Skillnader jämfört med use cases & krav 12

Iteration Kontinuerlig integration och nästa iteration 13

Är Agile / XP en användarcentrerad process? For me, UCD is an iterative process whose goal is the development of usable systems, achieved through involvement of potential users of a system in system design. Karat, J. (1996) Var är användaren? 14

Är Agile användarcentrerat? Nej? Nackdelar: Fokus på kodning, teknik och att leverera program, men saknar tydligt fokus på användbarhet och ACSD. Involverar kunder, inte nödvändigtvis representativa användare Svårt för användarna att formulera krav Användarna i en gisslansituation Små inkrement - ingen helhetssyn på design av interaktionen Är Agile användarcentrerat? Ja, kanske? Fördelar: Krav i användarberättelser, skrivs och testas av användare Direkt kommunikation med användare Prototyper & enkla designrepresentationer Iterativt & inkrementell utveckling Kontinuerlig test & utvärdering av riktiga system av utvecklare och riktiga användare Förändring är möjligt & naturligt Anpassningsbar process Fokus på människor, inte processer 15

Läs mer om ACSD Agile William Hudson: Adopting UCD within an agile process www.syntagm.co.uk/design/articles/ucdxp03.pdf Larry Constantine: Process Agility and Software Usability www.foruse.com/articles/agiledesign.pdf Armitage: Are Agile Methods Good for Design? se kursens länksida. 16