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

Post on 30-Jul-2015

58 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

Transcript

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

Daniel Karlsson

1

Vilka är ni?

Så vad är problemet?

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

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

Viskleken

Vi fastnar ofta i hybrider: ”Water Scrum Fall”

Verksamhet

Test

KOMMUNIKATION

* 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.

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

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

Hur borstar du tänderna?

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

Kraven är det viktigaste vi har.

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.

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.

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.

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

Svaret är alltså…

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)

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?

ATDD

SbE

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)

Pre-DEMO

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?

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?

DEMO

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.

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/

Frågor/Funderingar?

Daniel Karlssondaniel.karlsson@konsultbolag1.se

?

top related