förbättra samarbetet med hjälp av bdd tdd atdd sbe 2013-01-10

33
Förbättra samarbetet med hjälp av Specification by example Daniel Karlsson 1

Upload: daniel-karlsson

Post on 30-Jul-2015

58 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Förbättra samarbetet med hjälp av Specification by example

Daniel Karlsson

1

Page 2: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Vilka är ni?

Page 3: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Så vad är problemet?

Page 4: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Vi vill lämna över ansvaret när vi är ”klara”.

-Ni och de istället för vi..

Page 5: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Viskleken

Page 6: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Vi fastnar ofta i hybrider: ”Water Scrum Fall”

Verksamhet

Test

Page 7: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10
Page 8: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10
Page 9: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

KOMMUNIKATION

Page 10: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

* Endast 24% av företagen har med kund/verksamhetsrepresentant i utvecklingsarbetet. Detta avser troligtvis även sprintdemo/avstämning. Siffran är troligtvis ännu lägre endast ser till kravnedbrytningsarbetet.

Page 11: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Om vi inte löser grundproblemet så kan vi inte få ut det fulla värdet..

Page 12: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Hur många ”toppar” har stjärnan?

Page 13: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Hur borstar du tänderna?

Page 14: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10
Page 15: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Vad är det värsta som kan hända?

Page 16: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Kraven är det viktigaste vi har.

Page 17: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Krav är nedbrutna kundbehov och kan beskrivas på många olika sätt!

– User Stories– Use Cases– Scenarier– Exempel– (Acceptanstestfall)– Effekt Kartläggning (Impact Mapping)– Exempel– …

• De kan beskrivas i ett verktyg eller i dokumentationsform.

• De kan vara exekverbara eller icke-exekverbara.

Page 18: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Så hur skriver man ett bra krav?Det enkla svaret är: Tillsammans. Ett bra krav är ett

krav som beskriver verksamhetsbehovet, därefter analyserats/granskats och brutits ned av representanter från samtliga roller.

• Hur kan man säkerställa att alla har en gemensam förståelse?– Verksamhetsrepresentant, utvecklare och testare i

samma rum! -> Börja där.. – Överför kunskap– Säkerställ att alla har samma förståelse– Beskriv ”en enda sanning” tillsammans, på en nivå som

passar organisationen.

Page 19: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Varför tillsammans?

• Luckor och inkonsekvens i kraven är lättare att hitta.

• Verkliga exempel hjälper till att minimera förutfattade meningar.

• Man måste tänka på en mer detaljerad nivå och kan inte ignorera uppkomna frågor.

• Man attackerar samma problem från olika perspektiv.

• Större sannolikhet att samtliga inblandade förstår kraven.

Page 20: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Men behöver vi verkligen träffas för att skriva bra krav?

Page 21: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Svaret är alltså…

Page 22: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Tekniker/Metoder för att ”underlätta” kommunikation mellan verksamhet och

utveckling vad gäller kraven.

• Behovsdriven utveckling (BDD)• Acceptanstestdriven utveckling (ATDD)• Specification by example (SbE)

Page 23: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

BDD

“I started using the word “behaviour” in place of “test” in my dealings with TDD and found that not only did it seem to fit but also that a whole category of coaching questions magically dissolved.” – Dan North

Christer.Mattson
Vart ska (*) nedan sitta?
Page 24: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

ATDD

Page 25: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

SbE

Page 26: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

BDD / ATDD / SbE

” Where we choose to call it BDD or TDD / ATDD or Specification by Example, we want the same result – a shared common understanding of what is to be built to try to build the ‘thing’ right the first time.”

Janet Gregory(http://janetgregory.blogspot.se/2010/08/atdd-vs-bdd-vs-specification-by-example.html)

Page 27: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Pre-DEMO

Page 28: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

User Stories

Feature: US001_GoogleSearchAs a Google userI want to be able to search google.se for kb1online and find a search result page with kb1online on it.

* Vad? Varför? Vem?

Christer.Mattson
Vart ska (*) nedan sitta?
Page 29: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

BDD SyntaxScenario: If user types “kb1online” in Google search field. Google should return kb1online in search result page.

Given I have 'home' page openedAnd I have entered 'kb1online' into the text box of which id is 'gbqfq‘.When I press button of which id is 'gbqfb‘.Then I should be navigated to search result page with 'kb1online' on it

Christer.Mattson
Vart ska (*) nedan sitta?
Page 30: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

DEMO

Page 31: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Sammanfattning

• Ett samarbetsätt för att definiera krav och acceptanstester för mjukvarubaserade produkter

• Syftar till att skapa en enda källa av sanningen, från samtliga perspektiv

• Minskar återkopplingstider inom mjukvaruprojekt vilket leder till mindre omarbete, högre produktkvalitet.

• Man får möjlighet att använda sig av levande dokumentation som alltid är uppdaterad.

Page 32: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

För mer information

• Min artikel om Specification by example (Kravspecification genom exempel)– Konsultbolag1.se/faktabanken

• BöckerSpecification by example - Gojko Adzic Bridging the Communication Gap - Gojko Adzic

• HemsidaSpecification by example http://specificationbyexample.com/

Page 33: Förbättra samarbetet med hjälp av BDD  TDD  ATDD  SbE 2013-01-10

Frågor/Funderingar?

Daniel [email protected]

?