The Internet belongs to everyone. Let’s keep it that way.

Protect Net Neutrality
Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Powering Your Agile Project

A presentation for the Australian Computer Society Agile Special Interest Group, April 2015
by

Mary-Anne Cosgrove

on 29 April 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Powering Your Agile Project

Powering your Agile Project
Summing up...
github.com/macosgrove/bdd-for-acs
Write a
failing
scenario

Write a
failing
unit test

Make the
test pass

Refactor
Does your scenario pass?
Mary-Anne Cosgrove
Envato
with Cucumber and Ruby
Now tell me
a bit about yourself
Behaviour Driven Development
Test Driven
Development

Lessons learned from Envato, ThoughtWorks, Suncorp and NBN Co
A scenario
The scenario passes!
But how does it work?
The process
is important!
Cross Functional Teams
Now we make it fail...
Our Mission...
Update the ATO Tax Calculator
BDD is a powerful process for driving agile projects, especially when scenarios are written together as a team

Cucumber, Ruby, Capybara and RSpec are invaluable tools for supporting that process

Cucumber can be used with any web project

RSpec can be used on any Java or Ruby project
Lines in the Feature are matched to Steps
Capybara interfaces with the page
Tags affect how the scenario operates
@javascript
- Run in a browser

@wip
- Work In Progress

define your own
Tables express tests succinctly
...also Scenario Outlines
exploring the feature together
RSpec turns your unit tests into documentation
Caveats
Step Reuse
Pyramid
RSpec makes it really easy to isolate your tests
Try writing your Unit Tests in RSpec
You can use RSpec on Java projects via JRuby which runs on your JVM
RSpec is a domain specific language
The Feature says...
The Steps say...
regular
expression
The Feature says...
The Steps say...
The Step says...
The Helper says...
action
finder
matcher
au.linkedin.com/in/macosgrove
@macosgrove
High coverage is a safety net

Refactoring keeps your code supple

The tests are technical documentation

The cycle drives your
development cadence
macosgrove@envato.com
Cucumber in a Nutshell
Most powerful when written together by a cross-functional team

Reads like English

A roadmap for your new feature

An accurate gauge of progress
Focus on the main happy path scenarios
Dewipping
@wip
Full transcript