acceptance test driven development

22
Acceptance Driven Development Joshua Partogi (@jpartogi) Principal Consultant PT. Scrum Asia Pasifik (www.scrum.co.id)

Upload: lean-agile-institute

Post on 12-Dec-2014

359 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Acceptance Test Driven Development

Acceptance Driven Development

Joshua Partogi (@jpartogi)Principal ConsultantPT. Scrum Asia Pasifik (www.scrum.co.id)

Page 2: Acceptance Test Driven Development
Page 3: Acceptance Test Driven Development

Our Agenda

• Introduction• A little background• What is Acceptance Test Driven Development• How to do Acceptance Test Driven

Development• Why Acceptance Test Driven Development• Questions and Answers

Page 4: Acceptance Test Driven Development

• How many of you are using Visual Studio Ultimate edition?

• How many of you are using Team Foundation Server?

• How many of you are not using .NET platform?

Page 5: Acceptance Test Driven Development

• How many of you are using Scrum?

• How many of you are Agile?• How many of you are becoming

Agile soon?• How many of you who thinks

being Agile is important?

Page 6: Acceptance Test Driven Development

We want to make the perfect softwarePlanning & Design

Development

Testing

By trying to make perfect documentation upfront

Page 7: Acceptance Test Driven Development

With many sign-offs

Page 8: Acceptance Test Driven Development

But those people who gave sign-offs rarely read those perfect documentations thoroughly

Page 9: Acceptance Test Driven Development

MythWith more analysis and effort, estimates get significantly more accurate.

Page 10: Acceptance Test Driven Development

Accuracy

Effort or Time

Details is actually expensive

Page 11: Acceptance Test Driven Development

Good documentation (upfront) will not guarantee you will get a good

software

Page 12: Acceptance Test Driven Development

Because sometimes we trade-off testingPlanning & Design

Development

TestingPlanning & Design

Development

Page 13: Acceptance Test Driven Development

DesignDevelopme

ntTestingP

lannin

g

Revi

ew

R

DesignDevelopme

ntTestingP

lannin

g

Revi

ew

R

DesignDevelopme

ntTestingP

lannin

g

Revi

ew

R

2 weeks

Deliver working software in short cycle

Now many teams / organisations are using Scrum

Page 14: Acceptance Test Driven Development

Pla

nnin

g

Revi

ew

RPla

nnin

g

Revi

ew

R

Pla

nnin

g

Revi

ew

R

Some Scrum teams are actually doing mini-waterfall

Page 15: Acceptance Test Driven Development

Even worse problem than Waterfall

Page 16: Acceptance Test Driven Development

What is Acceptance Test Driven Development (ATDD)?

A Development process where we write

(automated) acceptance test code before

writing production code

Page 17: Acceptance Test Driven Development

• NSubstitute• Fluent Assertions• Specflow• Git• Microsoft Test Manager• Visual Studio• Team Foundation Service

DEMO: The How

Page 18: Acceptance Test Driven Development

Write Acceptance

Test

Integrate and

Validate

Write Test Cases

Write Specs

Write Code

Page 19: Acceptance Test Driven Development

Why Acceptance Test Driven Development?• Shared understanding and goal about the

expectations of the behaviour of the software –

Team collaboration

• A reliable documentation that match the quality of

the software and is integrated with the production

code

• Highly testable system and reduce the pain in

manual regression testing

Page 20: Acceptance Test Driven Development

Are you Agile or Fragile?

Send your whole team to

Professional Scrum Developer Coursewww.scrum.co.id

Page 21: Acceptance Test Driven Development
Page 22: Acceptance Test Driven Development

@jpartogi

Professional Scrum TrainerBlog.scrum.co.id

www.scrum.co.id