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

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

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

Agile-metoder, XP och ACSD

Användarcentrerad systemdesign

Användarcentrerad systemdesign

Agile Enterprise Architecture

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

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

Linköpings universitet 1

Fungerar Agila principer i alla typer av projekt?

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

Agil programutveckling

Användarcentrerad Systemutveckling

Mönster. Ulf Cederling Växjö University Slide 1

RUP - Rational Unified Process

Inspel till dagens diskussioner

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

Design för användbarhet

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

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

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

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

Användbarhet i sitt sammanhang

12 principer of agile practice (rörlig)

Agile i ett större sammanhang. Thomas Nilsson CTO, Agile Developer, Coach & Mentor

Övning / handledning Användningsfall

Design för användbarhet Användarcentrerad utvecklingsprocess

Sara Skärhem Martin Jansson Dalarna Science Park

Chaos om datorprojekt..

Inspirerande (och inspirerade) testledare får mer gjort. Mobile:

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

RUP Rational Unified Process. 17 november 2004

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

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

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

Användbarhet vs. utveckling. Ett utvecklarperspektiv. Tidsrelaterade problem. Konflikter. Formella hinder. Upphandling

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

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

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

BESKRIVNING AV PROCESSMETODEN SCRUM

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

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

SCRUM och agil utveckling

On the Establishment of UCSD i n in Organisations Åsa Cajander Uppsala Universitet Universitet

Chaos om IT-projekt..

Workplan Food. Spring term 2016 Year 7. Name:

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

Att fastställa krav. Annakarin Nyberg

Kanban är inte din process. (låt mig berätta varför) #DevLin Mars 2012

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

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

CHANGE WITH THE BRAIN IN MIND. Frukostseminarium 11 oktober 2018

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

employee engagement concept (Eec) - a respectful work life designed around people -

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

Symptom på problemen vid programvaruutveckling

Faster time to action and more accurate pre-studies using Agile tooling

Användarcentrerad systemdesign

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

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

Enterprise App Store. Sammi Khayer. Igor Stevstedt. Konsultchef mobila lösningar. Teknisk Lead mobila lösningar

Scaled Agile Framework

Välkommen in på min hemsida. Som företagsnamnet antyder så sysslar jag med teknisk design och konstruktion i 3D cad.

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

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Scrum + XP samt konsekvensanalys

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

Användarcentrerad systemdesign

Föreläsning 4: Designprocessen

Agile project management

Testdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski

extreme Programming refactored - recension och analys av Kent Becks senaste definition av XP

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

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

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

Agil mjukvaruutveckling. 1DV404, Jesper Andersson

Surfaces for sports areas Determination of vertical deformation. Golvmaterial Sportbeläggningar Bestämning av vertikal deformation

Projektmodell med kunskapshantering anpassad för Svenska Mässan Koncernen

XP-projekt: En fördjupning

Isolda Purchase - EDI

Självkörande bilar. Alvin Karlsson TE14A 9/3-2015

Stad + Data = Makt. Kart/GIS-dag SamGIS Skåne 6 december 2017


Ett hållbart boende A sustainable living. Mikael Hassel. Handledare/ Supervisor. Examiner. Katarina Lundeberg/Fredric Benesch

Agenda. Plats och magkänsla. Presentation. - en pedagogisk fråga?

Användarcentrerad systemdesign

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

Configuration Management

The Algerian Law of Association. Hotel Rivoli Casablanca October 22-23, 2009

Software Engineering. Agneta Nilsson, PhD MPA Software Engineering Master s Programme

Affärsmodellernas förändring inom handeln

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

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

Projektarbete. Grunder

Testning som beslutsstöd

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Designdiscipliner. Tjänstedesigner, vad gör man

Att stödja starka elever genom kreativ matte.

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

Adding active and blended learning to an introductory mechanics course

Transkript:

Erik Borälv Main Entry: ag ile Pronunciation: 'a-j&l, -"ji(-&)l Function: adjective Etymology: Middle French, from Latin agilis, from agere to drive, act 1:marked by ready ability to move with quick easy grace <an agile dancer> 2:having a quick resourceful and adaptable character <an agile mind> - ag ile ly /-j&(l)-le, -"ji(l)-le/ adverb Informationsteknologi Uppsala universitet 2007-11-29 #2 Business modeling Usability Design Requirements Analysis & design Implementation Verksamhet Teknik Mål med verksamhet Förbättra verksamhet med hjälp av IT Leverera funktion till efterfrågad kvalitet inom budget och på tid Affärs-/ processutveckling Förstudie verksamhetsstödjande IT Kravsammanställning Analys & Design Konstruktion Test Införande Drift & Förvaltning Test Deployment Configuration & Change Management: Overview Project Management Environment»Att ge verksamheten ITverktyg så att målen kan uppnås. Se möjligheter till effektiviseringar och andra positiva effekter kvalitet i användningatt leverera ett IT-verktyg som uppfyller kraven«återkoppla 2007-11-29 #3 2007-11-29 #4 Frågor Egenskaper Vad menar vi med användarcentrering, i termer av kod och utveckling? Finns det? I så fall, hur kan vi nå det målet? Träffar utvecklare också användare? Metod Kan vi producera kod enligt en annan metod som bättre passar utvecklare? Hur ska man få utveckling och kodning till att bli visionärt, flexibelt och innovativt? Attityd Vad är bra system? Vad gör att system vi bygger är bra? Lyckade/misslyckade IT-projekt 1994 1996 1998 2000 16 27 26 28 31 28 23 40 0% 20% 40% 60% 80% 100% Lyckade Nedlagda Delvis misslyckade 53 46 49 33 2007-11-29 #5 2007-11-29 #6 1

Fel i systemutvecklingsprojekt? Orsaker? Låg användbarhet Man klarar inte uppgiften Levereras aldrig eller för sent Man vill inte Saknar funktioner eller har onödiga funktioner Man vet inte vad man ska göra Kvalité För vem utvecklar vi? A Kvalité B Funktionalitet Funktionalitet 2007-11-29 #7 2007-11-29 #8 Upphandling KUNDEN LEVERANTÖREN Krav Analys: behov Analys: tid & pengar Offert Andra problem i systemutveckling Trög process och brist på återkoppling För mycket fokus på processen För stora system/projekt försöker göra allt på en gång. Funktionsrika system för många / fel funktioner utan prioritet. 2007-11-29 #9 2007-11-29 #10 Vad är Agila processer? Ramverk med värden och principer FDD Modeling (Ambler) Adaptive Software Development (Highsmith) Crystal (Cockburn) Scrum extreme Programming (Beck) DSDM (Stapledon) Manifesto Principles, 1 Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 2007-11-29 #11 2007-11-29 #12 2

Manifesto Principles, 2 Är detta en utvecklingsprocess? Working software is the primary measure of progress. processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity-the art of maximizing the amount of work not done-is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 2007-11-29 #13 2007-11-29 #14, nyckelprinciper Fungerande system före fullständig dokumentation Kundsamarbete före kontraktsförhandlingar Reagera på förändringar hellre än att följa planer Individer och kommunikation före processer och verktyg Kostnad Kostnad för förändringar Förr Nu www.agilemanifesto.org Tid i projektet 2007-11-29 #15 2007-11-29 #16 Communication Effectiveness Effektivast ansikte-till-ansikte Paper 2 people on email Videotape 2 people at whiteboard 2 people on phone Verktyg, välj rätt byggnad "Make sure there are whiteboards and coffee corners all over the building. (IBM) Richness of communication channel 2007-11-29 #17 2007-11-29 #18 3

Scrum XP bakgrund Ken Schwaber till Financial Times: Scrum is different, he says, as it "takes people out of cubicles and puts them in a room with whiteboards. http://www.controlchaos.com/module/ft.php Bygger på praxis och väletablerade tekniker. Kent Beck (2000) A heavyweight methodology has many rules, practices, and documents. It requires discipline and time to follow correctly. A lightweight methodology has only a few rules and practices or ones which are easy to follow. 2007-11-29 #19 2007-11-29 #20 Vad är extremt? extreme Programming (XP) 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. Förändringarna har förändrats Verksamhet förändras hela tiden, alltså bör även systemen göra det Ett nytt sätt att utveckla system Kontinuerliga förändringar! Testdriven process 2 x personer = 1 dator Inga dokument sparas Gemensamma ståmöten Långsiktig planering är osäker, alltså låter man bli sånt 2007-11-29 #21 2007-11-29 #22 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. Utgår från användarberättelser (user stories) Användarberättelser (user stories) Något som kunden vill att systemet ska göra. Berättelser ska vara testbara (Beck 2000). Kommunikationssätt utvecklare användare 2007-11-29 #23 2007-11-29 #24 4

Beräkna arbetsinsats & prioritera användarberättelser + Få artefakter + Begriplig process + Enkelhet både hos system och utvecklingsmodell + Människor i projektet är viktigare än processen + Ingen övertid XP, del 1 Enbart för systemutvecklare Okänd metod 2007-11-29 #25 2007-11-29 #26 XP, del 2 Att tänka efter ger bättre kvalité än att göra nu Fel: kvalité har med riktig användning att göra, inte planerad användning. T.ex. snabbast ta första tunnelbaneuppgången än den rätta Att göra rätt sak från början är billigare än att rätta i efterhand Fel: troligtvis behövs saken inte alls, om den sedan behövs gör man det då. Dokumentation är viktig att spara Fel: den är så dålig att den inte är värd något XP, del 3 Planera noga för viktiga saker Fel: om framtiden är oklar, och du kan fixa saker i efterhand, varför införa något som man misstänker kan vara bra? Välj bästa lösningen Fel: välj enklaste lösningen, för den är ändå bra nog (och enklare att ändra) Se framåt Fel: gör endast vad du vet, inget mer 2007-11-29 #27 2007-11-29 #28 XP, del 4 Koda, testa sedan att det blev rätt Fel: gör test först, koda sedan Många rader kod/dag, och många funna fel i ett test är bra Fel: få rader går snabbare att skriva, noll antal fel vore bättre Vad är rätt uppgång, enligt XP? 2007-11-29 #29 2007-11-29 #30 5

Vad jag tror på Viktigast av allt är att hantera förändring Med rätt verktyg så går det Det är viktigare att göra rätt än allt Var aldrig nöjd, bevaka inte dina grejer Allt hänger på de inblandade personerna Var duktig på det du gör! Det spelar ingen roll hur man gör så längre det blir bra Det är inte du som avgör när det är bra Fungerande kod är grunden till användbarhet Förenkla i överkant, till en början i alla fall Varför metoder överhuvudtaget? Varför har vi utvecklingsmetoder? 2007-11-29 #31 2007-11-29 #32 Metod kvalité? Är det metoder som ger bra system? säger nej - det är personerna i projektet som ger bra resultat. Alltså bör metoder göra andra saker än fokusera på resultatet! Om ej metod! Vad då istället? Är kreativitet svaret? Skapande av nånting nytt (okänt för en själv) Nytt sätt att göra nånting Återanvändning av produkt/metod inom nytt område Åstadkomma förändrat synsätt Avsiktligt eller av en slump Alla är kreativa! 2007-11-29 #33 2007-11-29 #34 Teorin kring kreativitet Ett antal stadier man går igenom Förberedelse - problemformulering Inkubation lägga problemet åt sidan Insikt - inspiration Verifiering och genomförande Förutsättningar Måste förstå problemet Behärska teknik bortse från tekniska detaljer Gör detta under inkubation! Motivation, uthållighet Koncentration Självdisciplin Men hårt arbete är inte en säker väg till rätt resultat Fysiska aktiviteter som t.ex. att promenera inspirerar fria tankar Att göra något helt annat för en stund kan häva låsningar 2007-11-29 #35 2007-11-29 #36 6

Bodystorm http://ideo.com/about/methods/ 2007-11-29 #37 2007-11-29 #38 Var är användaren? 2007-11-29 #39 2007-11-29 #40 2007-11-29 #41 2007-11-29 #42 7

Att bli bra på testning 2007-11-29 #43 2007-11-29 #44 Är användarcentrerat? Nej? Nackdelar: Fokus på kodning, teknik och att leverera program, men saknar explicit fokus på användbarhet Involverar kunder, inte nödvändigtvis representativa användare Svårt för användarna att formulera sina behov Små inkrement - ingen helhetssyn på design av interaktionen 2007-11-29 #45 2007-11-29 #46 Är användarcentrerat? Ja, kanske? Fördelar: 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 Fokus på människor, inte processer Lästips Modeling and extreme Programming http://www.agilemodeling.com/essays/agilemodelingxp.ht m Is Design Dead? Martin Fowler http://martinfowler.com/articles/designdead.html William Hudson: Adopting UCD within an agile process http://www.syntagm.co.uk/design/articles/ucd-xp03.pdf Larry Constantine: Process Agility and Software Usability http://www.foruse.com/articles/agiledesign.pdf 2007-11-29 #47 2007-11-29 #48 8