SlideShare a Scribd company logo
Exemplariska exempel
         Använda specificerande exempel för att förbättra
         samarbetet och utveckla rätt system




                          Joakim Holm, Adaptiv STHLM AB, 2011
lördag den 12 mars 2011                                         1
Vem talar? Vem talar?




               Inom mjukvara sedan 1994 ✦ Praktiserat agila
               metoder sedan år 2001 ✦ I styrelsen av Agile Sweden
               ✦ Medgrundare och konsult på Adaptiv (2009) ✦
               Medgrundare av Agila Sverige-konferensen (2008)

lördag den 12 mars 2011                                              2
specificerande exempel
                 Karaktäriserande, konkret, exekverbar beskrivning
                 av korrekt beteende hos ett system
                 uttryckt på naturligt språk




lördag den 12 mars 2011                                              3
Exempel avluddar budskap
         Graham Barker, bibliotekarie

lördag den 12 mars 2011                 4
Bro för kommunikation
         Över mörka vatten

lördag den 12 mars 2011          5
Spel kräver en spelplan
         Vuxna män gör saker tillsammans

lördag den 12 mars 2011                    6
Exempelexempel




lördag den 12 mars 2011   7
lördag den 12 mars 2011   8
Grunderna i exempel

                          Givet att jag redigerar kontaktuppgifter
                          När jag ändrar namn till "Hocke Jolm"
                          Och jag sparar ändringen
                          Så visas ett meddelande:
                           "Fel. Hocke Jolm är inget vettigt namn."
                          Och jag heter "Jocke Holm" i systemet




lördag den 12 mars 2011                                               9
1

         Arbetsprocessen
                          Story:
                          För att locka fler deltagare
                          Som deltagare
                          Kan jag korrekt och koncist
                          se när kursen ges.




lördag den 12 mars 2011                                      10
2

         Arbetsprocessen

                          Acceptanskriteria:
                          - 1-dagskurser visas med startdatum
                          - Flerdagskurser visas som startdatum -
                          slutdatum




lördag den 12 mars 2011                                                 11
3

         Arbetsprocessen
                          Exempel:
                          - Kurstillfälle som inte fått ett datum
                          ännu visas som "(datum kommer)"
                          - 1-dagskurser visas som "7 mars 2011"
                          - Flerdagskurser visas som "7 mars
                          2011 - 10 mars 2011"
                          ...




lördag den 12 mars 2011                                                 12
4

         Arbetsprocessen

                          Scenario: 2-dagarskurs
                            Givet ett kurstillfälle
                            När jag sätter startdatum till "2011-03-07"
                            Och jag sätter slutdatum till "2011-03-08"
                            Så visas kursdatum som
                              "07 Mar, 2011 - 08 Mar, 2011"




lördag den 12 mars 2011                                                       13
5

         Arbetsprocessen

                          Given /^ett kurstillfälle$/ do
                            pending
                          end

                          When /^jag sätter startdatum till "([^"]*)"$/
                              do |start_date|
                            pending
                          end

                          ...




lördag den 12 mars 2011                                                       14
6

         Arbetsprocessen

                          Given /^ett kurstillfälle$/ do
                            @course = Course.create!
                          end

                          When /^jag sätter startdatum till "([^"]*)"$/
                              do |start_date|
                            @course.update_attribute(
                              :start_date, Date.parse(start_date))
                          end

                          ...




lördag den 12 mars 2011                                                       15
7

         Arbetsprocessen

                          Scenario: 2-dagarskurs
                            Givet ett kurstillfälle
                            När jag sätter startdatum till "2011-03-07"
                            Och jag sätter slutdatum till "2011-03-08"
                            Så visas kursdatum som
                              "07 Mar, 2011 - 08 Mar, 2011"




lördag den 12 mars 2011                                                       16
8

         Arbetsprocessen




lördag den 12 mars 2011        17
9

         Arbetsprocessen
                          Using the default profile...
                          ............................................
                          .........................

                          24 scenarios (24 passed)
                          69 steps (69 passed)
                          0m4.477s




lördag den 12 mars 2011                                                      18
lördag den 12 mars 2011   19
Tre vanliga tankefel
                          1. "ATDD är ett testverktyg"
                                (det hör man ju!)



               Nej! Det är ett arbetssätt för att i samarbete
              utforska, kommunicera och validera funktioner.




lördag den 12 mars 2011                                         20
Tre vanliga tankefel
            2. "Kraven måste ju komma från verksamheten"
                        (det är ju deras ansvar)



                          Nej! Det måste ske i samarbete mellan
                           domänexpert, testare och utvecklare




lördag den 12 mars 2011                                           21
Tre vanliga tankefel
                          3. "Allt måste specificeras via exempel!"
                                (processer är till för att följas)



                           Nej! Använd rätt verktyg för rätt jobb.




lördag den 12 mars 2011                                              22
Spec:a inte impl.detaljer
          Givet att jag är på ansökningssidan till kursen "Makramé"
          När jag fyller i textfältet "Namn" med "Jocke Holm"
          Och textfältet "E-postadress" med "jocke@adaptiv.se"
          Och klickar på knappen "Skicka"
          Så visas meddelandet "Du är anmäld till kursen Makramé"


         Givet att jag ska ansöka till kursen "Makramé"
         När jag anger namn "Jocke Holm"
                 ansöker till kursen med namn och e-postadress
         Och jag anger e-postadress "jocke@adaptiv.se"
         Så bekräftas min ansökan
         Och jag skickar in anmälan
         Så bekräftas att "Jocke Holm" har ansökt till kursen "Makramé"


lördag den 12 mars 2011                                                   23
Spec:a inte allt

          Givet att jag är på anmälningssidan till "Motorprogrammet"
          När jag fyller i tidigare akademiska poäng med "25,5"
          Så visas felmeddelande "Enbart heltal"

         <enhetstest>




lördag den 12 mars 2011                                                24
Spec:a inte persistens
      Givet att jag kan redigera kontaktuppgifter
      När jag redigerar namn till "Hocke Jolm"
      Och sparar nya kontaktuppgifter
      Så sparas mina kontaktuppgifter i databasen
      Och min profil visas
      Och mitt namn är nu "Hocke Jolm"

      <integrationstest>




lördag den 12 mars 2011                             25
Råd för dåd
                          Tala svenska (verksamhetsspråket)
                          Använd ert gemensamma språk
                          Komplettera exempel med beskrivningar
                          Fokusera på domänlogiken
                          Se gärna till att alla kan exekvera
                          Två sviter: Regression och WiP



lördag den 12 mars 2011                                           26
lördag den 12 mars 2011   27
3 sätt att ansluta
                                                     Exempel

                                Exempel               Klient

                   Exempel    Applikation           Applikation

                    Domän        Domän                Domän



              Domän direkt   Simulerad klient   Automatiserad klient

lördag den 12 mars 2011                                                28
3 sätt för data
                    Exempel      Exempel        Exempel



                      Domän      Domän           Domän

               Infrastruktur   Infrastruktur   DB-stubbe

                          DB       DB
              Populerad DB      Rensad DB      Emulerad DB

lördag den 12 mars 2011                                      29
3 verktyg
                                  http://code.google.com/p/robotframework/
                          Robot




                                  http://fitnesse.org/




                                  http://cukes.info/



lördag den 12 mars 2011                                                      30
Exempelövning




lördag den 12 mars 2011   31
Exempel: Kursanmälan
         CourseDescript
         code
         name
         description

                          realises

         Course
         startDate                                             Participant
         endDate
                                           Registration        name
         location                          timeStamp           email
                                     for                  by
         teachers




lördag den 12 mars 2011                                                      32
Drivande stories
         Admin                              Deltagare
               CRUD kurser                   Lista alla kurser
               CRUD kurstillfällen           Se kursdetaljer med
                                             kurstillfällen
               Lista alla anmälningar för
               kurstillfälle                 Lista alla kommande
                                             kurstillfällen
               Mejla bekräftelse till
               deltagarna                    Anmäl mig till kurstillfälle



lördag den 12 mars 2011                                                     33
Story:
                          För att förbättra mitt CV
                          Som deltagare
                          Kan jag anmäla mig till ett
                          aktuellt kurstillfälle




lördag den 12 mars 2011                                 34
Acceptanskriteria:
                          - Deltagare kan bara anmäla sig till
                          kommande kurser
                          - Deltagare kan inte anmäla sig till kurs
                          som redan har gått
                          - Deltagare kan inte anmäla sig till kurs
                          som är full




lördag den 12 mars 2011                                               35
Övning 1: Exempellistan

                          Exempel:
                          - Deltagare kan bara anmäla sig till kurs som
                          har ett startdatum
                          - Deltagare kan inte anmäla sig till kurs som
                          redan har gått
                          - Deltagare kan inte anmäla sig till kurs som är
                          full




lördag den 12 mars 2011                                                      36
Facit 1: Exempellistan
                          Exempel:
                          - Deltagare kan anmäla sig till kurstillfälle
                          - Deltagare kan inte anmäla sig till kurstillfälle
                          som inte har ett startdatum
                          - Deltagare kan inte anmäla sig till kurs som har
                          startat eller genomförts
                          - Deltagare kan inte anmäla sig till kurs som är full
                          (antalet platser är lika med antalet anmälningar)
                          - Deltagare kan inte anmäla sig till samma
                          kurstillfälle t vå ggr.
                          - Deltagare som anmäler sig till en kurs de redan
                          har gått ska få en varning

lördag den 12 mars 2011                                                           37
Övning 2: Ett exempel
                          Exempel: Deltagare kan inte anmäla sig till
                          samma kurstillfälle t vå ggr.



                      Scenario: Dubbel anmälan
                        Givet ...
                        När jag anmäler mig med e-postadress
                      "johan@adaptiv.se"
                        Så ...




lördag den 12 mars 2011                                                 38
Facit 2: Ett exempel
                          Exempel: Deltagare kan inte anmäla sig till
                          samma kurstillfälle t vå ggr.


                      Scenario: Dubbel anmälan
                        Givet en kurs med namn "Data"
                        Och ett kurstillfälle som startar "2011-03-07"
                        Och en anmäld deltagare med e-postadress
                          "johan@adaptiv.se"
                        När jag anmäler mig med e-postadress
                          "johan@adaptiv.se"
                        Så är jag inte anmäld till kursen "Data" som
                          startar "2011-03-07"
                        Och jag ser meddelandet "Du är redan anmäld till
                          kursen!"




lördag den 12 mars 2011                                                    39
Potentiella vinster
           Färre missförstånd            Synk mellan krav & test
                               Ökad känsla av delaktighet
           Korrekt dokumentation
                                             Mindre omarbete
                          Minskar spekulativ utveckling
                Minskat dubbelarbete        Bättre samarbete
                              Bättre regressionstester

lördag den 12 mars 2011                                            40
joakim holm
                          AGILE SOFTWARE DEVELOPER & COACH


                                        +46 70 773 76 29
                                joakim.holm@adaptiv.se
                              jockeholm.wordpress.com
                                      twitter: jockeholm




lördag den 12 mars 2011                                      41
lördag den 12 mars 2011   42

More Related Content

Viewers also liked

Sociala medier i_skolan_tjanst_eller_otjanst
Sociala medier i_skolan_tjanst_eller_otjanstSociala medier i_skolan_tjanst_eller_otjanst
Sociala medier i_skolan_tjanst_eller_otjanstJoey Hofwander
 
Dmjx marts 2015
Dmjx marts 2015Dmjx marts 2015
Dmjx marts 2015
Uffe Lyngaae
 
Kommunikation och styrning
Kommunikation och styrningKommunikation och styrning
Kommunikation och styrning
Paff Performance
 
Kommunikativt ledarskap fã¶r erfagrupp 111118
Kommunikativt ledarskap fã¶r erfagrupp 111118Kommunikativt ledarskap fã¶r erfagrupp 111118
Kommunikativt ledarskap fã¶r erfagrupp 111118
Annika af Trolle
 
Design thinking & storytelling - föreläsning på Marknadsföringen i Dalarna av...
Design thinking & storytelling - föreläsning på Marknadsföringen i Dalarna av...Design thinking & storytelling - föreläsning på Marknadsföringen i Dalarna av...
Design thinking & storytelling - föreläsning på Marknadsföringen i Dalarna av...
Mathias Gullbrandson
 
Storytelling utbildningsdag
Storytelling   utbildningsdagStorytelling   utbildningsdag
Storytelling utbildningsdag
Mathias Gullbrandson
 
Sociala medier för business to business
Sociala medier för business to businessSociala medier för business to business
Sociala medier för business to business
Ulrika Rudqvist
 
Digital kampanjstrategi
Digital kampanjstrategiDigital kampanjstrategi
Digital kampanjstrategi
Anegy Online Marketing
 
Att mäta affärsmål, presentation at Google Analytics Conference Nordic 25 may...
Att mäta affärsmål, presentation at Google Analytics Conference Nordic 25 may...Att mäta affärsmål, presentation at Google Analytics Conference Nordic 25 may...
Att mäta affärsmål, presentation at Google Analytics Conference Nordic 25 may...
Carl-Magnus Löfström
 
Grundläggande marknadsföring
Grundläggande marknadsföring Grundläggande marknadsföring
Grundläggande marknadsföring
Gustav Sjöstedt
 
Din kommunikationsplan på én A4 side
Din kommunikationsplan på én A4 sideDin kommunikationsplan på én A4 side
Din kommunikationsplan på én A4 side
Ulendorf ... think
 
Kommunikationsplan
KommunikationsplanKommunikationsplan
Kommunikationsplan
Steiner Werbung AG
 
Marknadsföring och Kommunikation i Sociala medier
Marknadsföring och Kommunikation i Sociala medierMarknadsföring och Kommunikation i Sociala medier
Marknadsföring och Kommunikation i Sociala medier
Kreafon
 
Snabbkurs i projektledning
Snabbkurs i projektledningSnabbkurs i projektledning
Snabbkurs i projektledning
Erik Fors-Andrée
 
Kommunikationsplan sverigesinfoforening110502
Kommunikationsplan sverigesinfoforening110502Kommunikationsplan sverigesinfoforening110502
Kommunikationsplan sverigesinfoforening110502Annika af Trolle
 
Grundläggande branding
Grundläggande brandingGrundläggande branding
Grundläggande branding
Gustav Sjöstedt
 
Sociala Medier 2016 - Trender, nya beteenden och case
Sociala Medier 2016 - Trender, nya beteenden och caseSociala Medier 2016 - Trender, nya beteenden och case
Sociala Medier 2016 - Trender, nya beteenden och case
Daniel Chow
 
Public Relations Plan
Public Relations PlanPublic Relations Plan
Public Relations Plan
mbp817
 

Viewers also liked (20)

Sociala medier i_skolan_tjanst_eller_otjanst
Sociala medier i_skolan_tjanst_eller_otjanstSociala medier i_skolan_tjanst_eller_otjanst
Sociala medier i_skolan_tjanst_eller_otjanst
 
Dmjx marts 2015
Dmjx marts 2015Dmjx marts 2015
Dmjx marts 2015
 
Kommunikation och styrning
Kommunikation och styrningKommunikation och styrning
Kommunikation och styrning
 
Kommunikativt ledarskap fã¶r erfagrupp 111118
Kommunikativt ledarskap fã¶r erfagrupp 111118Kommunikativt ledarskap fã¶r erfagrupp 111118
Kommunikativt ledarskap fã¶r erfagrupp 111118
 
Design thinking & storytelling - föreläsning på Marknadsföringen i Dalarna av...
Design thinking & storytelling - föreläsning på Marknadsföringen i Dalarna av...Design thinking & storytelling - föreläsning på Marknadsföringen i Dalarna av...
Design thinking & storytelling - föreläsning på Marknadsföringen i Dalarna av...
 
Storytelling utbildningsdag
Storytelling   utbildningsdagStorytelling   utbildningsdag
Storytelling utbildningsdag
 
Sociala medier för business to business
Sociala medier för business to businessSociala medier för business to business
Sociala medier för business to business
 
Digital kampanjstrategi
Digital kampanjstrategiDigital kampanjstrategi
Digital kampanjstrategi
 
Kommunikationsplan mall
Kommunikationsplan mallKommunikationsplan mall
Kommunikationsplan mall
 
Att mäta affärsmål, presentation at Google Analytics Conference Nordic 25 may...
Att mäta affärsmål, presentation at Google Analytics Conference Nordic 25 may...Att mäta affärsmål, presentation at Google Analytics Conference Nordic 25 may...
Att mäta affärsmål, presentation at Google Analytics Conference Nordic 25 may...
 
Grundläggande marknadsföring
Grundläggande marknadsföring Grundläggande marknadsföring
Grundläggande marknadsföring
 
Din kommunikationsplan på én A4 side
Din kommunikationsplan på én A4 sideDin kommunikationsplan på én A4 side
Din kommunikationsplan på én A4 side
 
Kommunikationsplan mall
Kommunikationsplan mallKommunikationsplan mall
Kommunikationsplan mall
 
Kommunikationsplan
KommunikationsplanKommunikationsplan
Kommunikationsplan
 
Marknadsföring och Kommunikation i Sociala medier
Marknadsföring och Kommunikation i Sociala medierMarknadsföring och Kommunikation i Sociala medier
Marknadsföring och Kommunikation i Sociala medier
 
Snabbkurs i projektledning
Snabbkurs i projektledningSnabbkurs i projektledning
Snabbkurs i projektledning
 
Kommunikationsplan sverigesinfoforening110502
Kommunikationsplan sverigesinfoforening110502Kommunikationsplan sverigesinfoforening110502
Kommunikationsplan sverigesinfoforening110502
 
Grundläggande branding
Grundläggande brandingGrundläggande branding
Grundläggande branding
 
Sociala Medier 2016 - Trender, nya beteenden och case
Sociala Medier 2016 - Trender, nya beteenden och caseSociala Medier 2016 - Trender, nya beteenden och case
Sociala Medier 2016 - Trender, nya beteenden och case
 
Public Relations Plan
Public Relations PlanPublic Relations Plan
Public Relations Plan
 

Examplariska exempel - Om att använda specificerande exempel för att förbättra samarbetet och utveckla rätt system

  • 1. Exemplariska exempel Använda specificerande exempel för att förbättra samarbetet och utveckla rätt system Joakim Holm, Adaptiv STHLM AB, 2011 lördag den 12 mars 2011 1
  • 2. Vem talar? Vem talar? Inom mjukvara sedan 1994 ✦ Praktiserat agila metoder sedan år 2001 ✦ I styrelsen av Agile Sweden ✦ Medgrundare och konsult på Adaptiv (2009) ✦ Medgrundare av Agila Sverige-konferensen (2008) lördag den 12 mars 2011 2
  • 3. specificerande exempel Karaktäriserande, konkret, exekverbar beskrivning av korrekt beteende hos ett system uttryckt på naturligt språk lördag den 12 mars 2011 3
  • 4. Exempel avluddar budskap Graham Barker, bibliotekarie lördag den 12 mars 2011 4
  • 5. Bro för kommunikation Över mörka vatten lördag den 12 mars 2011 5
  • 6. Spel kräver en spelplan Vuxna män gör saker tillsammans lördag den 12 mars 2011 6
  • 8. lördag den 12 mars 2011 8
  • 9. Grunderna i exempel Givet att jag redigerar kontaktuppgifter När jag ändrar namn till "Hocke Jolm" Och jag sparar ändringen Så visas ett meddelande: "Fel. Hocke Jolm är inget vettigt namn." Och jag heter "Jocke Holm" i systemet lördag den 12 mars 2011 9
  • 10. 1 Arbetsprocessen Story: För att locka fler deltagare Som deltagare Kan jag korrekt och koncist se när kursen ges. lördag den 12 mars 2011 10
  • 11. 2 Arbetsprocessen Acceptanskriteria: - 1-dagskurser visas med startdatum - Flerdagskurser visas som startdatum - slutdatum lördag den 12 mars 2011 11
  • 12. 3 Arbetsprocessen Exempel: - Kurstillfälle som inte fått ett datum ännu visas som "(datum kommer)" - 1-dagskurser visas som "7 mars 2011" - Flerdagskurser visas som "7 mars 2011 - 10 mars 2011" ... lördag den 12 mars 2011 12
  • 13. 4 Arbetsprocessen Scenario: 2-dagarskurs Givet ett kurstillfälle När jag sätter startdatum till "2011-03-07" Och jag sätter slutdatum till "2011-03-08" Så visas kursdatum som "07 Mar, 2011 - 08 Mar, 2011" lördag den 12 mars 2011 13
  • 14. 5 Arbetsprocessen Given /^ett kurstillfälle$/ do pending end When /^jag sätter startdatum till "([^"]*)"$/ do |start_date| pending end ... lördag den 12 mars 2011 14
  • 15. 6 Arbetsprocessen Given /^ett kurstillfälle$/ do @course = Course.create! end When /^jag sätter startdatum till "([^"]*)"$/ do |start_date| @course.update_attribute( :start_date, Date.parse(start_date)) end ... lördag den 12 mars 2011 15
  • 16. 7 Arbetsprocessen Scenario: 2-dagarskurs Givet ett kurstillfälle När jag sätter startdatum till "2011-03-07" Och jag sätter slutdatum till "2011-03-08" Så visas kursdatum som "07 Mar, 2011 - 08 Mar, 2011" lördag den 12 mars 2011 16
  • 17. 8 Arbetsprocessen lördag den 12 mars 2011 17
  • 18. 9 Arbetsprocessen Using the default profile... ............................................ ......................... 24 scenarios (24 passed) 69 steps (69 passed) 0m4.477s lördag den 12 mars 2011 18
  • 19. lördag den 12 mars 2011 19
  • 20. Tre vanliga tankefel 1. "ATDD är ett testverktyg" (det hör man ju!) Nej! Det är ett arbetssätt för att i samarbete utforska, kommunicera och validera funktioner. lördag den 12 mars 2011 20
  • 21. Tre vanliga tankefel 2. "Kraven måste ju komma från verksamheten" (det är ju deras ansvar) Nej! Det måste ske i samarbete mellan domänexpert, testare och utvecklare lördag den 12 mars 2011 21
  • 22. Tre vanliga tankefel 3. "Allt måste specificeras via exempel!" (processer är till för att följas) Nej! Använd rätt verktyg för rätt jobb. lördag den 12 mars 2011 22
  • 23. Spec:a inte impl.detaljer Givet att jag är på ansökningssidan till kursen "Makramé" När jag fyller i textfältet "Namn" med "Jocke Holm" Och textfältet "E-postadress" med "jocke@adaptiv.se" Och klickar på knappen "Skicka" Så visas meddelandet "Du är anmäld till kursen Makramé" Givet att jag ska ansöka till kursen "Makramé" När jag anger namn "Jocke Holm" ansöker till kursen med namn och e-postadress Och jag anger e-postadress "jocke@adaptiv.se" Så bekräftas min ansökan Och jag skickar in anmälan Så bekräftas att "Jocke Holm" har ansökt till kursen "Makramé" lördag den 12 mars 2011 23
  • 24. Spec:a inte allt Givet att jag är på anmälningssidan till "Motorprogrammet" När jag fyller i tidigare akademiska poäng med "25,5" Så visas felmeddelande "Enbart heltal" <enhetstest> lördag den 12 mars 2011 24
  • 25. Spec:a inte persistens Givet att jag kan redigera kontaktuppgifter När jag redigerar namn till "Hocke Jolm" Och sparar nya kontaktuppgifter Så sparas mina kontaktuppgifter i databasen Och min profil visas Och mitt namn är nu "Hocke Jolm" <integrationstest> lördag den 12 mars 2011 25
  • 26. Råd för dåd Tala svenska (verksamhetsspråket) Använd ert gemensamma språk Komplettera exempel med beskrivningar Fokusera på domänlogiken Se gärna till att alla kan exekvera Två sviter: Regression och WiP lördag den 12 mars 2011 26
  • 27. lördag den 12 mars 2011 27
  • 28. 3 sätt att ansluta Exempel Exempel Klient Exempel Applikation Applikation Domän Domän Domän Domän direkt Simulerad klient Automatiserad klient lördag den 12 mars 2011 28
  • 29. 3 sätt för data Exempel Exempel Exempel Domän Domän Domän Infrastruktur Infrastruktur DB-stubbe DB DB Populerad DB Rensad DB Emulerad DB lördag den 12 mars 2011 29
  • 30. 3 verktyg http://code.google.com/p/robotframework/ Robot http://fitnesse.org/ http://cukes.info/ lördag den 12 mars 2011 30
  • 32. Exempel: Kursanmälan CourseDescript code name description realises Course startDate Participant endDate Registration name location timeStamp email for by teachers lördag den 12 mars 2011 32
  • 33. Drivande stories Admin Deltagare CRUD kurser Lista alla kurser CRUD kurstillfällen Se kursdetaljer med kurstillfällen Lista alla anmälningar för kurstillfälle Lista alla kommande kurstillfällen Mejla bekräftelse till deltagarna Anmäl mig till kurstillfälle lördag den 12 mars 2011 33
  • 34. Story: För att förbättra mitt CV Som deltagare Kan jag anmäla mig till ett aktuellt kurstillfälle lördag den 12 mars 2011 34
  • 35. Acceptanskriteria: - Deltagare kan bara anmäla sig till kommande kurser - Deltagare kan inte anmäla sig till kurs som redan har gått - Deltagare kan inte anmäla sig till kurs som är full lördag den 12 mars 2011 35
  • 36. Övning 1: Exempellistan Exempel: - Deltagare kan bara anmäla sig till kurs som har ett startdatum - Deltagare kan inte anmäla sig till kurs som redan har gått - Deltagare kan inte anmäla sig till kurs som är full lördag den 12 mars 2011 36
  • 37. Facit 1: Exempellistan Exempel: - Deltagare kan anmäla sig till kurstillfälle - Deltagare kan inte anmäla sig till kurstillfälle som inte har ett startdatum - Deltagare kan inte anmäla sig till kurs som har startat eller genomförts - Deltagare kan inte anmäla sig till kurs som är full (antalet platser är lika med antalet anmälningar) - Deltagare kan inte anmäla sig till samma kurstillfälle t vå ggr. - Deltagare som anmäler sig till en kurs de redan har gått ska få en varning lördag den 12 mars 2011 37
  • 38. Övning 2: Ett exempel Exempel: Deltagare kan inte anmäla sig till samma kurstillfälle t vå ggr. Scenario: Dubbel anmälan Givet ... När jag anmäler mig med e-postadress "johan@adaptiv.se" Så ... lördag den 12 mars 2011 38
  • 39. Facit 2: Ett exempel Exempel: Deltagare kan inte anmäla sig till samma kurstillfälle t vå ggr. Scenario: Dubbel anmälan Givet en kurs med namn "Data" Och ett kurstillfälle som startar "2011-03-07" Och en anmäld deltagare med e-postadress "johan@adaptiv.se" När jag anmäler mig med e-postadress "johan@adaptiv.se" Så är jag inte anmäld till kursen "Data" som startar "2011-03-07" Och jag ser meddelandet "Du är redan anmäld till kursen!" lördag den 12 mars 2011 39
  • 40. Potentiella vinster Färre missförstånd Synk mellan krav & test Ökad känsla av delaktighet Korrekt dokumentation Mindre omarbete Minskar spekulativ utveckling Minskat dubbelarbete Bättre samarbete Bättre regressionstester lördag den 12 mars 2011 40
  • 41. joakim holm AGILE SOFTWARE DEVELOPER & COACH +46 70 773 76 29 joakim.holm@adaptiv.se jockeholm.wordpress.com twitter: jockeholm lördag den 12 mars 2011 41
  • 42. lördag den 12 mars 2011 42