93
No Bull Agile Marc J. Balcer September 2017

No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

No Bull AgileMarc J. BalcerSeptember 2017

Page 2: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Origins of Agile

Outrageous Agile

No Bull Agile

Page 3: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

What’s your most outrageousexperience with an

agile project?I notice he

doesn’t capitalize

“agile”

Page 4: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile (“Agile Bull”)

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 5: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“No Bull Agile”

We Favor

• Reason over Rigidity

• Content over Ceremonies

• Diagrams over Documents

• Tests over Tasks

Page 6: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Once upon a time…

Page 7: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Agile Manifesto

We are uncovering better ways of developing software. Through this work we have come to value:

Individuals and Interactions over Processes and Tools

Working Software over Comprehensive Documentation

Customer Collaboration over Contract Negotiation

Responding to Change over Following a Plan

Page 8: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

The dirty little secret of the Agile Alliance

Page 9: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Consumer Auto Finance

• Followed PMI principles

• Planned as Lotus Notes systemto be delivered in 2000

• 9 months of business analysis

• 6 months of software design

• 13 months of development and testing

• Died a slow, horrible death

1998: A Tale of Two Leasing Projects

Page 10: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Consumer Auto Finance

• Followed PMI principles

• Planned as Lotus Notes systemto be delivered in 2000

• 9 months of business analysis

• 6 months of software design

• 13 months of development and testing

• Died a slow, horrible death

Construction Equipment Finance

• “What’s PMI?”

• “In 60 days can you build a web app for dealers to enter credit apps?”

• “You’re nuts!”

• “Each deployment changes our vision”

• “What do you need next?”

• Deployed and still running today

1998: A Tale of Two Leasing Projects

Page 11: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Consumer Auto Finance

• Followed PMI principles

• Planned as Lotus Notes systemto be delivered in 2000

• 9 months of business analysis

• 6 months of software design

• 13 months of development and testing

• Died a slow, horrible death

Construction Equipment Finance

• “What’s PMI?”

• “In 60 days can you build a web app for dealers to enter credit apps?”

• “You’re nuts!”

• “What do you need next?”

• “Each deployment changes our vision”

• Deployed and running today

1998: A Tale of Two Leasing Projects

(the rabid agilist)

See! This proves that

waterfall is EVIL!!!!

Page 12: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

The Poor Maligned Waterfall

Maintenance Deliver it and keep it going

Requirements Know what the customer wants

Design Figure out how to build it

Implementation Build it

Testing Compare “as built” to the requirements

Page 13: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

The Poor Maligned Waterfall

Maintenance

Requirements

Design

Implementation Can you build without knowing the needs or having a design scheme?

Testing Can you deliver an untested product?

Page 14: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

The Poor Maligned Waterfall

Maintenance

Requirements

Design

Implementation Can you build without knowing the needs or having a design scheme?

Testing Can you deliver an untested product?

It’s not the waterfall.It’s the size of the blocks.

Page 15: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“Size of the blocks?”

On October 25, 2019 Sam will be coding

the online loan payment page.

Really…???

This week Sam will be adding

fields to the credit application

Reliable

Page 16: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

The Real Difference

When people say

“Waterfall” vs. “Agile”

they really mean

“Predictive” vs. “Adaptive”

Page 17: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Predictive

When I know everything up front• I can plan every step

• I measure progress as tasks completed against that project plan

but

• Changes mess up that planand are to be avoided at all cost

Adaptive

I’m not going to know everything up front• Short term, I’m pretty certain• Further out, I’ll stay looser

(so I can respond to the business)

• I measure progress by delivered business value

and

• Change happens(“Now that I am doing this, …”)

The Real Difference

Page 18: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Predictive

• I need to gather every requirement

• I need to write all the use cases

• I need to know all the ways things can be different or go wrong

and then

• I have to put it all into a big, comprehensive requirements document

Adaptive

• What’s the simplest thing that can possibly work?(the “minimum viable product”)

• If we don’t do it now we can always add it later as needed

and then

• Let’s start doing real workand, with the customer,evaluate as we go

Perspectives on Analysis

Page 19: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Agile Manifesto

We are uncovering better ways of developing software. Through this work we have come to value:

Individuals and Interactions over Processes and Tools

Working Software over Comprehensive Documentation

Customer Collaboration over Contract Negotiation

Responding to Change over Following a Plan

Page 20: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Agile Manifesto

We are uncovering better ways of developing software. Through this work we have come to value:

Individuals and Interactions over Processes and Tools

Working Software over Comprehensive Documentation

Customer Collaboration over Contract Negotiation

Responding to Change over Following a Plan

Page 21: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

Page 22: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 23: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Old Way Agile Way

Requirement User Story

Use Case Big User Story(or is a user story a little use case?)

Requirements Document Backlog (of user stories)

Waterfall Phases Lots of little waterfalls

“It’s just new words”

Page 24: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 25: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

The Rabid Agilist

In the Agile Methodology

there is only ONE TRUE WAY!

Page 26: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“The Agile Methodology”

Page 27: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 28: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 29: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Waterfall in the Extreme

Maintenance

Requirements

Design

Implementation

Testing

Page 30: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Design

Impl

Test

Design

Impl

Test

Design

Impl

Test

Design

Impl

Test

Design

Impl

Test

Design

Impl

Test

Concurrent Activities

Delivery and Maintenance

Requirements

Design

Impl

Test

sprint

Page 31: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Not mini-waterfalls

Delivery and Maintenance

Requirements

D

I

T

D

I

T

D

I

T

D

I

T

D

I

T

D

I

T

D

I

T

sprint

Page 32: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Not mini-waterfalls

Delivery

Requirements

Design

Implementation

Testing

Team produces automated unit tests for

code functions…

…but the (automated) tests for the UI features aren’t done until later

Customer & Product Owner see the new features and running tests

Iteration Planning

Demo

Retrospective

Page 33: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Design

Impl

Test

Design

Impl

Test

Design

Impl

Test

Design

Impl

Test

Design

Impl

Test

Design

Impl

Test

Concurrent Activities

Delivery and Maintenance

Requirements

Design

Impl

Test

sprint

Page 34: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 35: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 36: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 37: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

User Stories

“A short, simple description of a feature

written from the perspective of the user who will

make use of the feature.”

An employee can report a personal car expense by specifying a date

and miles driven.

A manager must identify the specific expense items that led to

rejecting the expense report.

Page 38: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Agile Manifesto

We are uncovering better ways of developing software. Through this work we have come to value:

Individuals and Interactions over Processes and Tools

Working Software over Comprehensive Documentation

Customer Collaboration over Contract Negotiation

Responding to Change over Following a Plan

Page 39: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

User Stories

Card• Keep it short

Conversation• Enough to get the team to

understand and agree to the need

Confirmation• Know when you are done

An employee can report a personal car expense by specifying a date

and miles driven.

A manager must identify the specific expense items that led to

rejecting the expense report.

Ron Jeffries, “Essential XP: Card, Conversation, Confirmation”

Page 40: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Individuals and Interactions over Processes and Tools

Working Software over Comprehensive Documentation

Customer Collaboration over Contract Negotiation

Responding to Change over Following a Plan

Agile Manifesto

We are uncovering better ways of developing software. Through this work we have come to value:

What?!

No big requirements

document?

Page 41: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Individuals and Interactions over Processes and Tools

Working Software over Comprehensive Documentation

Customer Collaboration over Contract Negotiation

Responding to Change over Following a Plan

We are uncovering better ways of developing software. Through this work we have come to value:

Only user stories?!

No more use cases, models—nothing but little

user stories!

Page 42: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Card• Keep it short

Conversation• Enough to get the team to

understand and agree to the need

Confirmation• Know when you are done

User Stories

“As an industry, we love syntax wars”—Gojko Adzic and David Evans. Fifty Quick Ideas to Improve Your User Stories.

“As a ___I want ___So that ___

There’s NO OTHER WAY!

An employee can report a personal car expense by specifying a date

and miles driven.

Have the option to enter start and end odometer readings for

personal car expenses.

Page 43: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

User Stories

Card• Keep it short

Conversation• Enough to get the team to

understand and agree to the need

Confirmation• Know when you are done

An employee can report a personal car expense by specifying a date

and miles driven.

Have the option to enter start and end odometer readings for

personal car expenses.

Page 44: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 45: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

The “Backlog”

The set of user stories that have been identified

but not committedand not completed.

Page 46: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

The “Backlog”

• What’s been requested(the total set of stories)

• What’s most important to do next(the prioritization)

• What can be reasonably done in the next sprint(the sprint plan)

• What’s left(the backlog)

Page 47: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Agile ≠ BRUF*

BigRequirementsUpFront

*

Now what about the group that starts their agile project by producing 10,000 stories?

Page 48: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

trip planningadvancesexp reportingapprovalspaymentscust billing

Planning Levels

SprintCommitted current workorganized as user stories, scenarios, and tasks

Product BacklogWork yet to be doneorganized as user stories

RoadmapLong-term goalsusually specified as broad categories

* Some of this vocabulary is specific to Scrum

Page 49: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

trip planningadvancesexp reportingapprovalspaymentscust billing

Planning Levels

Product BacklogWork yet to be doneorganized as user storiesand other items

RoadmapLong-term goalsusually specified as broad categories

SprintCommitted current workorganized as user stories, scenarios, and tasks

Page 50: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Roadmap

• Long-Term Vision

User Stories

• Short-Term Objectives

Roadmap Direction vs. Story Specifics

Integrate with the trip approval system

Issue reimbursements through payroll

Report personal car expenses by specifying a

date and miles driven

Report personal car expenses by specifying start and end odometer

readings

this increment

backlog(future)

Associate gift and meal expenses using a

provider’s NPI

Page 51: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Agile ≠ BRUF*

BigRequirementsUpFront

*

Now what about the group that starts their agile project by producing 10,000 stories?

Page 52: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 53: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

User Story Card Principles (the “three Cs”)

Card• Keep it short

Conversation• Enough to get the team to

understand and agree to the need

Confirmation• Know when you are done

Report personal car expenses by specifying a

date and miles driven

Report personal car expenses by specifying start and end odometer

readings

Page 54: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Typical Sprint Planning

• Select the stories to be done

• Define the tasks needed to complete them

• Agree upon the acceptance criteria for each story (and the iteration)

17-7

Tasks!Tasks!Tasks!

Page 55: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Tests No Surprises

Report personal car expenses by specifying a

date and miles driven

Report personal car expenses by specifying start and end odometer

readings

Page 56: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Who Tests What When?

Delivery

Requirements

Design

Implementation

Testing

Product Owner & Customer define requirements in terms of acceptance criteria(the “back of the card”)

Team accepts a story only once the acceptance criteria are detailed in specific scenarios (“if it does all this, it’s good”)

Iteration Planning

Demo

Retrospective

per story

Page 57: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 58: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• New vocabulary, old practices

• Agile as a “Methodology”

• Agile is just “lots of little waterfalls”

• All user stories must fit one form

• Create a big backlog up front

• No definition of “done”

• Coding done but testing incomplete

Page 59: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Who Tests What When?

Delivery

Requirements

Design

Implementation

Testing

Product Owner & Customer define requirements in terms of acceptance criteria(the “back of the card”)

Team accepts a story only once the acceptance criteria are detailed in specific scenarios (“if it does all this, it’s good”)

Team produces automated unit tests for

code functions…

…plus automated tests for UI / customer features

Customer & Product Owner see the new features and running tests

Customer tests the new release (“user acceptance testing”)

Iteration Planning

Demo

Retrospective

Page 60: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

No mini-waterfalls

Delivery

Requirements

Design

Implementation

Testing

Team produces automated unit tests for

code functions…

…but the (automated) tests for the UI features aren’t done until later

Customer & Product Owner see the new features and running tests

Iteration Planning

Demo

Retrospective

Page 61: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Sprint Includes Testing

Delivery

Requirements

Design

Implementation

Testing

Product Owner & Customer define requirements in terms of acceptance criteria(the “back of the card”)

Team accepts a story only once the acceptance criteria are detailed in specific scenarios (“if it does all this, it’s good”)

Team produces automated unit tests for

code functions…

…plus automated tests for UI / customer features

Customer & Product Owner see the new features and running tests

Customer tests the new release (“user acceptance testing”)

Iteration Planning

Demo

Retrospective

Page 62: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Outrageous Agile

• Changing the vocabulary without changing the practices

• Treating “Agile” as a “Methodology”

• Trying to do everything with one format of user stories

• Treating the backlog as the whole set of requirements

• Committing to a story without agreeing to how you know it’s done

• Completing an increment without complete testing

Page 63: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

No Bull Agile

Page 64: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“No Bull Agile”

We Favor

• Reason over Rigidity

• Content over Ceremonies

• Diagrams over Documents

• Tests over Tasks

Page 65: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“No Bull Agile”

We Favor

• Reason over Rigidity

• Content over Ceremonies

• Diagrams over Documents

• Tests over Tasks

Page 66: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Reason over Rigidity

Common Cultish Behaviors

• Only document with “user stories”

• Change the whole vocabulary

• Jump straight into iterations

• Focus only on code

• Pretend to know the customer best

• Revert to junior high school

In the Agile Methodology

there is only ONE TRUE WAY!

Page 67: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“No Bull Agile”

We Favor

• Reason over Rigidity

• Content over Ceremonies

• Diagrams over Documents

• Tests over Tasks

Page 68: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Ceremony Trap, a.k.a. “Cargo Cult Agile”

I have to define two-hour tasks

User story:“As a ___ I want to ___

in order to ___”

Story Point Planning Poker

But shouldn’t we first play the paper airplane

game?

Page 69: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“Content over Ceremonies”

“As an industry, we love syntax wars”—Gojko Adzic and David Evans. Fifty Quick Ideas to Improve Your User Stories.

“As a ___I want ___So that ___

There’s NO OTHER WAY!

As an employee I want to report a personal car expense by specifying

a date and miles driven.

Have the option to enter start and end odometer readings for

personal car expenses.

Page 70: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

User Stories

Card• Keep it short

Conversation• Enough to get the team to

understand and agree to the need

Confirmation• Know when you are done

As an employee I want to report a personal car expense by specifying

a date and miles driven.

Have the option to enter start and end odometer readings for

personal car expenses.

Page 71: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Content over Ceremonies

• It’s not the form of the user story,it’s the content of the story.

• It’s not the form of the daily standup, it’s that real communication takes place.

• It’s not the form of the demo,it’s the information collected from the customer (product owner)

• It’s not the job title or role,it’s what each person contributes

Page 72: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“No Bull Agile”

We Favor

• Reason over Rigidity

• Content over Ceremonies

• Diagrams over Documents

• Tests over Tasks

Page 73: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Diagrams over Documents

No more use cases, models—nothing but little

user stories!

Page 74: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

A picture’s worth a thousand words.

A good sketch is better than a long

speech.

Un bon croquisvaut mieux qu’un

long discours.

1-3

Page 75: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

A picture’s worth a thousand words.

A good sketch is better than a long

speech.

1-3

Page 76: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

A picture’s worth a thousand words.

1-3

Page 77: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

User Stories are Deltas (not little use cases!)

Is this a• Completely new capability?• Change to existing capability?

Does this affect a• Multi-actor business process?• Single actor activity?• Single step (e.g. UI page)?

Page 78: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Have an “overall model”

System

Process

Activity

Step

Action

Page 79: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

5-level architecture

Collection of processes that manage, control, or report on some aspect of a business.

The steps that one or more actors go through in order to achieve some business goal.

The work done by a single actor to carry out one step in a business process.

Individual units of work performed by a single actor (e.g. a UI screen)

The basic atomic units of UI behavior (e.g. “enter x into a field,”

“click the OK button”)

17-3

System

Process

Activity

Step

Action

Page 80: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Process

Process Model

Page 81: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Activity

Activity Model

Page 82: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

System

System Overview

Page 83: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

System

Diagrams over Documents

Process

Activity

Page 84: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“No Bull Agile”

We Favor

• Reason over Rigidity

• Content over Ceremonies

• Diagrams over Documents

• Tests over Tasks

Page 85: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Planning Includes Tests

• Select the stories to be done

• Define the tasks needed to complete them

• Agree upon the acceptance criteria for each story (and the iteration)

17-7

Tasks!Tasks!Tasks!

Page 86: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

What’s my story?

As an employee I want to report my travel expenses in order to get reimbursed.

As an employee I want to enter a new expense report in order to start the reimbursement process. As an employee I want to

report a personal car expense by specifying a date and miles driven.

17-4

System

Process

Activity

Step

Action

Page 87: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Tests No Surprises

Report personal car expenses by specifying a

date and miles driven

Report personal car expenses by specifying start and end odometer

readings

Page 88: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Test-Based Burndown Chart

Page 89: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

“No Bull Agile”

We Favor

• Reason over Rigidity

• Content over Ceremonies

• Diagrams over Documents

• Tests over Tasks

Page 90: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Parting Thoughts

• Tolerate Incompleteness

• Change Happens

• Do the Least to Deliver the Most

Page 91: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Thank you

Marc J. BalcerChief Architect

Model Compilers [email protected]

http://www.modelcompilers.com

Page 92: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Questions?

Page 93: No Bull Agile - techtowntraining.comtechtowntraining.com/.../No-Bull-Agile-2.pdf · Outrageous Agile (“Agile Bull”) •New vocabulary, old practices •Agile as a “Methodology”

Marc J. BalcerFounder & Chief Architect

Model Compilers

email: [email protected]