Specification Workshops - The Missing Link

Preview:

DESCRIPTION

Specification Workshops - The missing link from Agile Testing Days

Citation preview

Specification workshops – the missing link

Gojko Adzichttp://gojko.net

gojko@gojko.com@gojkoadzic

Here's what I thought...

When the order is in a “pending” state, we first check the account, and if approved move it to “confirmed” state

When the order is manually confirmed, it moves from the “pending” to “confirmed” state even if the account does not have enough funds

When the order is in a “pending” state for two days, we send an alert

Here is what they saw:

http://www.mrklingon.org/

ghorgh [the] [order] 'oH Daq [a] [“pending”] [state] maH wa'DIch [check] [the] [account] 'ej chugh [approved] vIH 'oH Daq [“confirmed”] [state] ghorgh [the] [order] 'oH [manually] [confirmed] 'oH vIHtaH vo' [the] [“pending”] Daq [“confirmed”] [state] 'ach chugh [the] [account] ta'taH ghobe' ghaj yap [funds] ghorgh [the] [order] 'oH Daq [a] [“pending”] [state] vaD cha' jajmey maH ngeH [an] [alert]

http://www.flickr.com/photos/lambdachialpha/157986473/

http://www.flickr.com/photos/mulesafpilot/3513588967

http://www.defenseimagery.mil/assetDetails.action?guid=68cf92e35ce13e6c7c9c066f0b48b6daaa9bf8d8

An experiment with four active battalions in US Army

“Commander expectations matched actions in only 34% of the cases”

L.G.Shattuck, 2000http://www.au.af.mil/au/awc/awcgate/milreview/shattuck.pdf

http://www.flickr.com/photos/mataniere/3107073262

The process is very much like a telephone game

How many points are there?

How many points are there?

B2 bomber crashed and $2bn went up in flames

"the aircraft actually performed as it was designed. In other words, all

the systems were functioning normally."

Maj. Gen. Floyd L. Carpenter

http://www.foxnews.com/wires/2008Jun05/0,4670,B2Crash,00.html

http://www.flickr.com/photos/biolog/3457774800

You can't help a lot when the party is already over...

F-16 design team was asked to do the impossible -

a cheap 2.5 Mach airplane!

“When asked […] why they need Mach 2 - 2.5, the answer was to be able to escape

from combat. Their solution was […] providing acceleration and

maneuverability, not maximum speed.”

http://97-things.near-time.net/wiki/Seek%20the%20value%20in%20requested%20capabilities

Requirements are often given as a solution to an unknown problem!

http://www.flickr.com/photos/sylvancatharsis/3783608640/

An angry e-mail

These are fundamental rules that have been explained many times - and should not be being questioned at this time... Registration = customer registers with xxx in periodNew Active = customer places first bet with xxx in periodAll Active = customer bets with xxx in period, but first bet was prior to period Therefore... If Andy registered and bet in period, he would appear in all three (REGISTERED, NEW, ALL)If Lee registered only, he would appear in REGISTERED onlyIf Tom bet in period, but he registered and had placed a bet prior to that period, he would appear in ALL onlyIf Gojko bet for the first time in that period, but registered prior to that period, he would appear in NEW and ALL Regards,

An angry e-mail

These are fundamental rules that have been explained many times - and should not be being questioned at this time... Registration = customer registers with xxx in periodNew Active = customer places first bet with xxx in periodAll Active = customer bets with xxx in period, but first bet was prior to period Therefore... If Andy registered and bet in period, he would appear in all three (REGISTERED, NEW, ALL)If Lee registered only, he would appear in REGISTERED onlyIf Tom bet in period, but he registered and had placed a bet prior to that period, he would appear in ALL onlyIf Gojko bet for the first time in that period, but registered prior to that period, he would appear in NEW and ALL Regards,

Let's go back to the problems

Faster feedback just tells us that we messed up sooner, it doesn't tell us what we need to do

There is valuable knowledge hidden in the team Expressed requirements often aren't the real

ones We need access to senior people to sort these

problems out

Collaborate on specifications

Challenge requirements!

Discuss examples

Involve the whole team

Plan in advance, schedule the time to do this!

Get everyone together to collaborate on specifications

Get everyone together to collaborate on specifications

Customer tests

Get everyone together to collaborate on specifications

Customer tests Acceptance testing threesome

Get everyone together to collaborate on specifications

Customer tests Acceptance testing threesome Example-writing workshops

Get everyone together to collaborate on specifications

Customer tests Acceptance testing threesome Example-writing workshops Specification workshops

Running the workshop

Choose a story Introduce it, explain with examples Let people ask questions and suggest other

examples Discuss until everyone is confident that we

have enough examples to start working

Some good questions to kick it off:

How do we verify that this thing we are going to write is implemented completely and correctly?

Can you give us a few examples?

Pretend it's magic and it's already delivered – how would you test it?

Distil the specification- focus on what, not on how

Share domain knowledge- help people understand it better

Build and evolve the ubiquitous language

Communicate intent- explain why!

What the workshop is not:

Not a meeting (especially not a planning one)

Not a presentation Not a design session

Keeping the workshop focused

Commanders' intent template: Here's what I think we face Here's what I think we should do Here's what we should keep an eye on Now talk to me

Where next?

http://gojko.net http://agiletesting.org.uk http://acceptancetesting.info

27 Nov – Agile specifications and testing exchange

30 Nov – Agile acceptance testing workshop

4 Dec – Building software that matters