balancing the pendulum: reflecting on bdd in practice

Post on 18-Nov-2014

1.974 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Here are the slides that I used for my talk on "Balancing the pendulum: Reflecting on BDD in Practice" at the Great Lakes Ruby Bash, April 17th, 2010 in Lansing, MI. This talk was aimed at sharing my reflections and experiences on how BDD and outside-in development has been working over the past few years.

TRANSCRIPT

Balancing the PendulumReflecting on BDD in practiceZach Dennis, Mutually Human SoftwareGreat Lakes Ruby Bash 2010

BDDImplementing an applicationby describing its behaviour from the stakeholders perspective

3 Principles1. Enough is enough2. Deliver stakeholder value3. It’s all behaviour

TrustThe glue that holds it together

7 areasof reflection

Outside-inUI/UXStakeholderStories & Acceptance CriteriaAutomationDoing it example firstSpikes

Pre Outside-in

“A man without a purpose is like a ship without a rudder.”

-- THOMAS CARLYLE

It’s easy to write code you don’t need

It’s easy to invent code you think you’ll need

It’s easy to write code that is awkward to use

Outside-in acts as the rudder, steering the boat.

Outside-in

Outside-inSTAKEHOLDER PERSPECTIVE

ACCEPTANCE CRITERIA

UI/UX

VIEWS

CONTROLLERS

MODELS

DATABASE

STORIES

FEATURES

Outside-inis value/need driven from the stakeholder perspective

Outside-inprovides a starting point

Outside-inidentifies where to go next

Outside-inhelps define done-ness

UI/UX

UI/UXThe invisible elephant(except to designers)

Developers are not designers.

Different hats entirely.

Switch if necessary, but don’t develop + design.

Usability matters

Tracking expensesA real world example

Agile + UX: ConvergenceJohn Hwang has a great talk

Stakeholders

Expect to fight for stakeholder involvement

Most stakeholdersdon’t care about BDD

52% of agile projects report challenges getting stakeholder involvement

SOURCE: DR DOBBS NOVEMBER STATE OF THE UNION SURVEY

SOURCE: SCOTT AMBLER, BUSTING THE MYTHS OF AGILE DEV.

15% of agile projects report resistance from stakeholders

SOURCE: DR DOBBS NOVEMBER STATE OF THE UNION SURVEY

SOURCE: SCOTT AMBLER, BUSTING THE MYTHS OF AGILE DEV.

32% of agile projects report challenges getting trust

SOURCE: DR DOBBS NOVEMBER STATE OF THE UNION SURVEY

SOURCE: SCOTT AMBLER, BUSTING THE MYTHS OF AGILE DEV.

Stories & Acceptance Criteria

9 out of 10 stakeholdersdon’t author stories or acceptance criteria

Stakeholdersprefer other communicationmethods

Stories & acceptance criteriaare natural to developersnot stakeholders

Having 2 folks helps to converse and record

Popping the “why” stack

SPOILER ALERT

Not every answer is a going to be a good one

Automation

Not everythinghas to be automated

Unit-level examplesYES

DeploymentsYES

Acceptance-level examplesMAYBE

Automation isn’t free.time, moneyvalue, riskcommitment, requirement

Goalsfail fast, feedbackreflect, adaptimprove, balance(iterate)

Unit-level examplesAutomateAutomateAutomate

High level scenariosAutomateExploreScript

Computers do it “... faster, better, stronger.”

They also don’t notice anything you don’t tell them to notice.

In-browser automationis still evolving

Doing it example first(er... TDD)

Example firstdrives out design,less code,better code,regression

Doing it welltakes experience,exploration,reflection,courage,willingness to change

Peoplehave varying levels of experience

Inexperiencebad examplesbrittle exampleshard to maintain

Outside-in is a way of thinkingbefore it is a hard-fast rule

Higher level examplesprovide implementation flexibility

When in doubt spikenot test

Spikes

A 15 minute spike can save you 15% or more on your next feature

Spikes aren’t BDD per-sayjust simple awesome

Spikes aren’t this complex

A spike istime-boxed,communicated,example / test free,exploratory

A spikesaves time,save money,provide learning,provides experience

Recap

Outside-inUI/UXStakeholderStories & Acceptance CriteriaAutomationDoing it example firstSpikes

Thank you

top related