AGILA METODER (för oss som inte kodar) Nina Berlin
Agila värderingar 1. Individer och interaktioner framför processer och verktyg 2. Fungerande programvara framför omfattande dokumentation 3. Kundsamarbete framför kontraktsförhandling 4. Anpassning till förändring framför att följa en plan
IT PROJEKT Utvecklare Kravare Testare PL Styrgrupp BESTÄLLARE Användare LINJE VERKSAMHET
IT TEAM Scrum Master Utvecklare Product Owner Användare LINJE VERKSAMHET
En problematisk roll TEAM Tidsplanering Test PRODUCT OWNER Product backlog Acceptanstest SCRUM MASTER Metod Kravare/Testare/Verksamhetsmodellör/ Projektledare/Metodare
Gatufestappen 2012
En liten utvikning Spirited Away En kanban är en polett. Poletterna används för att skapa en sluten ekonomi i produktionssystemet.
KanBan 3 regler 1. Visualisera arbetsflödet 2. Begränsa pågående arbete (WIP limit) 3. Mät ledtiden
Agilt arbetssätt Parprogrammering Morgonmöte Product backlog Refactoring Gemensamt ägarskap
Product backlog Aktivitet Ansvarig WIP limit Sprint backlog
Varför valde vi Kanban? Det verkade enkelt Teamet var utspritt Sprintar var opraktiskt
Krav? Few words have done more harm to our industry than this single word requirement. - Kent Beck (XP, TDD)
Egenskaper Nyheter Artister Program Hitta på området Kan köras utan täckning Syns bra i solljus Notifieringar iphone och Android
User Story Product backlog består av user stories USER STORY Som vill jag för att <roll> <aktivitet> <nytta> T ex Som festivalbesökare vill jag se var konserten är så jag vet vart jag ska gå User stories har varsin prio Backlog Item #2 Program Notes How to demo Som deltagare vill jag se ett helt och uppdaterat program inklusive mina valda seminarier så att jag vet var jag ska befinna mig och när Importance 800 Estimate 2
Comfort zone koda java testa krav/pl testledare krav/pl koda ios koda java testa agil testledare product owner/ scrum master
April En vanlig dag Krav Idag: Designa navigering Göra mock-up Test Idag: Designa databas Parprogrammera Kod Idag: Skriva testfall Testa lite
Juni En vanlig dag Krav Idag: Skriva pseudokod Test och felsökning Idag: Föreslå ny navigering Nytt bygge till test Test Kod Idag: Testa Föreslå ändring i layout
Sundsvall 42-appen 2013
Varför valde vi Scrum? Vi ville experimentera Vi ville sprinta Vi ville mäta bättre Teamet satt samlat
Scrum i ett nötskal Sprint Planning Sätt upp scrumtavlan Sprint Backlog Burndown Chart Daily Scrum Uppdatera scrumtavlan Sprint Demo Visa produkten Sprint Retrospective Utvärdering av processen Product Backlog Team Product Owner Scrum Master
Sprintplanering AGENDA 1. Sätt upp ett mål för sprinten 2. Räkna ut velocity 3. Planning poker 4. Välj sprint backlog 5. Lista aktiviteter
Räkneexempel velocity 1 storypoint = 1 ideal mandag Fokusfaktor = 0.7 15 dagar Vår velocity = antal mandagar i sprinten * fokusfaktor = ((3*15) + 7,5 7) * 0,7 = 45,5 * 0,7 = 31,85 må ti on Erik Hasse Niklas Nina ½ ½ ½ to ½ X fr ½ X X må ti on ½ ½ ½ to ½ X fr ½ X må ti on ½ ½ ½ to ½ X fr ½ X 3 personer på heltid 1 person på halvtid jämför 31 SP
Planning Poker Alla får varsin kortlek PO beskriver en user story Frågor och diskussion 1. Alla lägger ett dolt kort framför sig 2. Korten vänds samtidigt 3. Högst och lägst siffra argumenterar, ny diskussion Upprepa punkt 1 3 tills teamet är överens Backlog Item #2 Program Importance 800 User story Notes How to demo Som deltagare vill jag se ett helt och uppdaterat program inklusive mina valda seminarier så att jag vet var jag ska befinna mig och när Estimate 2
Sprint backlog 31 SP hög prio låg prio user story \ 6 7 1 2 4 aktivitet för låg prio Hur många user stories har vi råd att köpa med våra story points?
Scrumtavlan 31 SP 15 dagar
Daily Scrum AGENDA 1. Laget runt Igår? Idag? Hinder? 2. Uppdatera burndown chart Backlog Item #2 Program Importance 800 Notes Estimate 2 How to demo Som deltagare vill jag se ett helt och uppdaterat program inklusive mina valda seminarier så att jag vet var jag ska befinna mig och när
Sprint backlog Aktivitet Burndown Chart Ansvarig WIP limit: finns inte Product backlog: inte på tavlan
Vi följde den här boken Den går att ladda ner gratis härifrån: http://www.crisp.se/bocker-ochprodukter/scrum-and-xp-from-thetrenches
KANBAN SCRUM RUP
Jämförelse http://www.crisp.se/
Tester och krav i RUP VISION ligger till grund för realiseras av UC- MODELL ligger till grund för DESIGN- MODELL TEST- MODELL realiseras av IMPLEMENTATIONS- MODELL verifierar
Agila tester och krav driver UTVECKLING skapar KVALITETS- KRITERIER driver PRODUKT undersöks av fokuserar UPPLEVD KVALITET TEST avslöjar
När det kommer till kritan skillnaderna visar sig när man ska hantera en stor förändring.
Distribution www.gatufesten.se itunes connect play.google.com/gatufesten
Release 1, försök 1
Apples motivering En del knappar funkar ju inte!
Traditionell systemutveckling Skriv om use cases Designa om GUI Skriv om testfallen Koda om Testa Felrätta Nytt bygge Nytt bygge = release
Agil systemutveckling
Release 1, försök 2
Varför funkade det? Små portioner funktionalitet Nytt bygge varje dag Dagsfärsk prioritering Alla kunde prioriteringen Gemensamt fullt fokus på högsta prio
TESTER I MER DETALJ
Frågor och svar kring testerna Q Vad ska vi testa? Q Hur skriver vi specar? Q Hur följer vi upp? A Agile Testing Quadrants A Behavior-Driven Development A Lo-Tech Testing Dashboard
http://agiletester.ca
Vår agile testing quadrant
Test-Driven Development (TDD) Utvecklingsmetod En del av XP Utvecklaren skriver testerna 1. Skriv ett test 2. Kör alla test och kolla att det nya fallerar 3. Skriv kod 4. Kör alla test och kolla att de går igenom 5. Skriv om koden snyggt 6. Upprepa
Frågor som TDD inte svarar på Vad ska vi testa? Vad ska vi inte testa? Hur stort är ett testfall? Vad ska testfallet heta? Varför fallerar testet?
Behavior-Driven Development (BDD) En utveckling av TDD Gör kraven till testfall USER STORY Som vill jag för att <roll> <aktivitet> <nytta> SCENARIO = TESTFALL = ACCEPTANSKRITERIUM SCENARIO Givet att <förutsättning> om/när <händelse> så ska <utfall>
User Story #4 Välj seminarium US #4 Välj seminarium Som deltagare vill jag välja seminarier till mitt program för att förbereda mig AC #2 Avmarkera seminarium AC #1 Markera seminarium Givet att om/när så ska C.2 är omarkerat man klickar på stjärnan stjärnan bli gul C.2 visas i Program C.2 visas fet på Pass 2 C.2 visas fet på DK C Givet att om/när så ska K.7 är markerat man klickar på stjärnan stjärnan bli grå K.7 tas bort från Program K.7 visas normal på Pass 7 K.7 visas normal på DK K
Fler testspecar Börja med de viktigaste för utvecklarna, i vårt fall GUI-prototyp Testdata
#4 Välj seminarium Navigation start start 2 4 6 1 5 3
#4 Välj seminarium knappfunktionalitet 8 Markera 9 Markera av 1 2 3 Klicka på alla back-pilar 4 5 Klicka bort texten 6 10 Klicka på back och hus med stjärnan av och på Klicka på backpilen med texten tänd 7
Testdata Stöd för att designa databasen Stöd för funktionalitet halvfull DB full DB ändrad DB Hur ska systemet hantera förändringarna?
Lo-Tech Testing Dashboard http://www.satisfice.com/ presentations/ dashboard.pdf COVERAGE 0 ingen info 1 sanity check 1+ mer än sanity 2 alla funktioner vidrörs 2+ mer djupgående 3 t ex stresstester EFFORT None Start Low High Pause Blocked Ship
Vår lo tech testing dashboard
Acceptanstester Måste göras av folk utanför teamet, vilket betyder att GATUFESTAPPEN (hård tidspress) Utforskande tester Produktägarens team hade appen på sina telefoner Softronics anställda också Varje bygge testades kontinuerligt SUNDSVALL 42-APPEN (lång tid kvar) Utforskande tester Sprinten stängd Period för acceptanstest och förankring Nästa sprint baseras på det vi får in från acceptanstesterna Product Owner Scrum Master!
SLUTORD
The Power Of Three Kan test TEAM Scrum Master T Utvecklare Utvecklare Följs åt T Utvecklare Utvecklare Product Owner
Three Amigos samarbete Backlog Grooming Hitta scenarier till user stories Planning Meeting Beskriv user stories med scenarier Development and Verification Använd scenarierna som testfall Exploratory Testing Utforskande tester under hela utvecklingen
Vi är med i teamet! Testspecar utvecklar kraven Testspecar ligger till grund för koden Allt måste inte automatiseras Hjälp utvecklarna avlusa koden Koda om du kan och vill Regressionstesta hela tiden och Lev med att kraven aldrig kommer spikas.
LÄNKAR
Länkar Scrum and XP from the trenches http://www.crisp.se/bocker-och-produkter/scrum-and-xp-from-the-trenches Product Backlog Index Card Generator http://blog.crisp.se/2007/12/18/henrikkniberg/1197973740000 Agile Testing Quadrants http://lisacrispin.com/downloads/adptestplanning.pdf Lo-Tech Testing Dashboard http://www.satisfice.com/presentations/dashboard.pdf Three Amigos http://www.stickyminds.com/sitewide.asp?function=edetail&objecttype=col&obj ectid=17232 Visualizing Quality Gojko Adzic (bland annat om mätbarhet, en timmes föreläsning) http://vimeo.com/37941406