you can't be agile if your testing practices suck · uber, the world’slargest taxi company...

130
You Can't Be Agile If Your Testing Practices Suck Peter Gfader @ peitor

Upload: others

Post on 08-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

You Can't Be Agile If Your

Testing Practices Suck

Peter Gfader

@peitor

Page 2: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

About me

Page 3: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Peter Gfader

The Agile Architect

Page 5: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

About You

Page 6: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

What do you do in software?

• Analyze

• Discover

• Design

• Code

• Test

• Architect

• Document

• Coach

• Manage

Page 7: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

You Can't Be Agile If Your

Testing Practices Suck

Peter Gfader

@peitor

Page 8: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Is this what Agile

is about?

Page 9: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 10: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 11: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

„We have Squads now“Thanks Spotify for a new word for Team.

Page 12: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 13: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 14: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

#pain

Page 15: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

What is your current pain?From Senior Management

Page 16: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

What is your current pain? What I heard...• Lack of Innovation

• Operational issues

• Not working with My people

• No time for improving

• Too slow

• Late delivery

• Too little visibility

• Too many dependencies to manage

• Poor morale

• Too many issues in production

• Timelines not predictable

• Morale is low

• Problems discovered too late

• Hiring great people

• Competition

• Low Employee satisfaction

• People very busy certain time, certain time team is over or understaffed

• They have the wrong Mindset

• Quality is low

• Feedback is very low and late

• Lack of know how

• Too many regulations, ISO norms, laws, compliance rules

Page 17: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Which pain isgone with

Agile?

Page 18: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

What Agile

is not

Page 19: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Agile is not

"Doing what I say… Just faster"

Page 20: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 21: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Agile is not

Cheaper

Page 22: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 23: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

So...

What is Agile then?

Page 24: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

What is Agile for you?

Elevator Pitch In Pairs

Page 25: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

...before some defitions...

Page 26: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Some

Definitions

Page 27: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

"Company"

=

A system

That solves external problems

And makes more money than it spends.

Page 28: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

"Company"

=

A system

That solves external problems

And makes more money than it spends.

Page 29: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 30: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 31: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Back to

Agile

Page 32: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

https://twitter.com/peitor/status/425718700290105344

Page 33: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 34: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

http://agilemanifesto.org/

Page 35: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 36: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

VUCA?

Page 37: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

VUCA = volatility

uncertainty

complexity

ambiguity

Page 38: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

VUCA = volatility

uncertainty

complexity

ambiguity

“I don’t know”

Page 39: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Can you admit thatyou don’t know?

Page 40: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

You should!

Page 41: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

You should!

Or someone else will

Page 42: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Uber, the world’s largest taxi company owns no vehicles.

Airbnb, the world’s largest accommodation provider owns no real estate.

Facebook, the world’s most popular media provider creates no content.

Instagram, the most valuable photo company, sells no cameras.

Netflix, the fastest growing television network, lays no cables.

Alibaba, the world’s most valuable retailer has no inventory.

Page 43: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Agile ... Why?

Agile is about working smarter, rather than harder.

lt's about generating more value with less work. particularly more monetizable value with less work.

Steve Denning https://businessagility.institute

Page 44: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

More

Definitions

Page 45: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

"Operational Agility"How quick can we

deliver value (in the form or a Product/Feature)

to changing

demands from the

market?

Page 46: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

„Strategic Agility“How quick can an organisation

improve its competitive position

& create opportunities for growth.

Page 47: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 48: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 49: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Customer focus

is invaluable.

Page 50: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Our world changes...• Globalization

• Deregulation

• Knowledge work

• The Internet

• Greater competition

• Faster pace

• Digitization of everything

• The customer is the boss

Page 51: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

“We are seeing more change in the next 15 years than in the last 15 years.

The big question is always, do we car manufacturers learn to become tech companies more quickly than a tech company learns to be an automotive player?”

Peter Schwarzenbauer – Aug 2017BMW management boardhttps://www.nytimes.com/2017/02/08/business/germany-bmw-daimler-volkswagen-uber.html

Page 52: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

“We are seeing more change in the next 15 years than in the last 15 years.

The big question is always,

do we car manufacturers learn to become tech companies more quickly than a

tech company learns to be an automotive player?”

Peter Schwarzenbauer –

BMW management board

https://www.nytimes.com/2017/02/08/business/germany-bmw-daimler-volkswagen-uber.html

Page 53: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Back to the

pain

Page 54: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

What is your current pain? What I heard...

Skills

• Lack of Innovation

• Operational issues

• No time for improving

• Too slow (Late delivery)

• Too many dependencies to manage

• Quality is low

• Lack of know how

People

• Poor morale

• Hiring great people

• People very busy certain time, certain time team is over or understaffed

• Mindset problem? Tools & Know How is there

Market/Competition

• Customer is gone

• Market share decreases

Self Awareness

• Too little visibility

• Problems discovered too late

• Lack of Innovation

• Feedback is very low and late

Page 55: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

From the #pain to

Major Challenges

Page 56: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Major challenges

1. Vision to 1 week Outcomes

2. Good Engineering Skills

3. Continuous Improvement

4. Leadership

Page 57: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

What Worked

„Peter tell me what to do“

Page 58: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

#TODOStop Talking „Agile“

Page 59: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

„Scrum says“

„This is not Agile“

„Let‘s do this in an agile way“

„XP recommends …“

„In the SAFe book its written“

„This is not Lean enough“

„You must be co-located for XP“

„Let’s make this transparent by putting

it in wall”

“We are iterative and adaptive”

“Great showcase and demo”

„Customer“

„User“

„Risk“

„Market“

„Competition“

„Value“

„Product“

„Sponsor”

„Money”

#moreContent

Stop Start

https://beyond-agility.com/stop/

Page 60: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

„How do we

become

agile?“

Page 61: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

„How do we

become

agile?“

How can we

discover and

deliver Value

faster?

What is Value in our Organization? Product?

https://beyond-agility.com/stop/

Page 62: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

# TODO https://www.scrum.org/resources/evidence-based-management-guide

Page 63: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Value Metrics #TODO

Evidence-Based Management Metrics

https://www.scrum.org/resources/evidence-based-management-guide

Metrics for Pirates AARRR

https://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-

long-version

Googles HEART

https://www.dtelepathy.com/ux-metrics/

Page 64: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 65: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Quality

Page 66: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Quality

Page 67: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Quality

Page 68: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Quality

Page 69: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Major challenges

1. Vision to 1 week Outcomes

2. Good Engineering Skills

3. Continuous Improvement

4. Leadership

Page 70: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

How to slow down

your project / product?

Page 71: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 72: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 73: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Why do we write bad code?

Page 74: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

1. Hypothesis For Bad Code

Broken Window Theory

Page 75: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

http://blog.gfader.com/2011/10/broken-window-theory-in-real-world.html

Broken Window Theory

Page 76: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

2. Hypothesis For Bad Code

We write bad code,

because we read bad code

Page 77: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Write crappy code?

You have never seen good code!

Santa Claus. Osterhase.

Page 78: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Write crappy code?

You have never seen good code!

Read good code

Make code easier to read

Page 79: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Easy code to read

Easy code to change

Easy to maintain

Page 80: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Code Readings?• Code Reviews

• Peer work reviews

• Pair Programming

• Mob Programming

• Pre Commit

• Gerrit

• Pull Requests

Page 81: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Code Readings?• Peer Reviews

• Whole Team Code Reviews

• Pair Programming

• Mob Programming

• Pre Commit

• Gerrit

• Pull Requests

• Open source (Read? Write?)

Page 82: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

#TODO Tips Code Reviews

• Code, !Person

• Constructively propose changes Questions!

Page 83: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Code Reviews

• Code, !Person

• Constructively propose changes Questions!

• Review not only codeo Tests

o Build process

o ..

Grow as a team

Page 84: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Pair Programming

Page 85: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 86: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

https://twitter.com/mpetrinidev/status/1042805522603417600

Page 87: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

#TODO

Strong Style Pair Programming

"For an idea to go from your head into the computer

it MUST go through someone else's hands"

http://llewellynfalco.blogspot.com/2014/06/llewellyns-strong-style-pairing.html

Page 88: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Mob Programming

• Whole team

• Work on same thing

• Same time

• Same space

• Same computerhttp://mobprogramming.org/

Page 89: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Mob Programming

http://mobprogramming.org/

Page 90: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

#TODO: Review Code

• In your team

• With 1 peer

• Open source

• Brown bags – Lunch time discussion

Page 91: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

#TODO: Code to read in the Team

https://github.com/nsubstitute/NSubstitute

https://github.com/techtalk/SpecFlow

https://github.com/sf105/goos-code

https://github.com/machine/machine.specifications

https://github.com/BjRo/xunitbddextensions

https://github.com/dtchepak/DaveSquared.StringsTheThing

Good code is like a joke!

Page 92: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Good code is like a joke!

No need for explanation

Page 93: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

3. Hypothesis For Bad Code

“Nobody can write

good code in 1 sit-in.”

There is no “Right the 1st time”

Page 94: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

3. Hypothesis For Bad Code

“Nobody can write good code in 1 sit-in”

-> Refactoring

Page 95: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 96: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

#TODO Refactoring

https://github.com/NotMyself/GildedRose

https://github.com/jcbozonier/Refactoring-Katas

Page 97: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

The little issue with Refactoring?

Page 98: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Unclear what works and what doesn’t

We are never done.

Without Tests

Page 99: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Change and

refactor without

fear.

With Tests

Page 100: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Refactoring+

Tests=

?

Page 101: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Refactoring

+

Tests

=

No Business Value

Waste?? Overhead??

Page 102: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Car Breaks

Page 103: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Refactoring+

Tests=

?

Page 104: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate
Page 105: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Test-Driven Development (TDD)

Writing tests prior to writing the production code.

Its that easy ?

REFACTOR GREEN

RED

Page 106: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

http://gfader.tumblr.com/post/153724638564/tdd-as-i-think-of-it-november-2016-where-do

Page 107: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Outside world and code do not match

Implemented requirements unclear

Code not understandable

TDD Outside In

Page 108: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Test Driven Development

TDD = Testing technique?

TDD = Design technique?

TDD = Learning technique?

TDD = Thinking technique?

Page 109: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Habit 2/7

Begin with the end in mind

Page 110: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

#Todo Practice Globally

November 16th (or 15th), 2019

Global Day of Code Retreat

https://www.coderetreat.org

Page 111: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

#Todo Find your peers

https://www.meetup.com/topics/software-craftsmanship/

Page 112: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

All fine... But we are here

Page 113: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Proper

Root Cause

Analysis

Page 114: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Proper Root Cause Analysis

1. Gather Data during Sprint

Page 115: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Proper Root Cause Analysis

2. Cluster and Analyse in Retrospective

5Whys

Page 116: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Proper Root Cause Analysis

3. Delegate to Team

Dive deeeeeep

Page 117: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Proper Root Cause Analysis

4. How to prevent this in future?

Page 118: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Proper Root Cause Analysis

5. Maximize learning

From individuals

to team (s)

to organizational learning

Page 119: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

5 Steps - Proper Root Cause Analysis

1. Gather Data

2. Retrospective

3. Delegate to Team -> Deep Dive

4. Prevent this in the future

5. Maximize learning

Page 120: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Quality

Page 121: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Quality

Page 122: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

How to sell to Managers?

Investment

Well crafted & tested code

is expensive.

Page 123: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Investment

Well crafted & tested code is expensive.

Fixing bad code is very, very, very, very expensive.

Page 124: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Agile/Lean/Scrum/Kanban/DevOps don’t matter.

What matters is to get better at

understanding your future customer

and providing value faster.

https://beyond-agility.com

Page 125: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Thank You!https://twitter.com/peitor

https://www.linkedin.com/in/petergfader/

[email protected]

https://beyond-agility.comPeter Gfader

Page 126: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

ReferencesYour Todo List

Page 127: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

• Steve Denning 3 Laws of Business Agilityhttps://www.infoq.com/presentations/3-laws-business-agility

• Steve Denning – Why Agilehttps://businessagility.institute

• Future Leadership Training

• Haier HBR – The end of bureaucracyhttps://hbr.org/2018/11/the-end-of-bureaucracy

• Book: The Leader's Guide to Radical Managementhttp://www.stevedenning.com/Books/radical-management.aspx

References

Page 128: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

References

• Pragmatics of Agile Development

http://www.agiledeveloper.com/presentations/pragmatics_of_agile_development.pdf

• Kanban VS Scrum

http://www.infoq.com/minibooks/kanban-scrum-minibook

• Agile Software Development

http://www.agiledeveloper.com/presentations/AgileSoftwareDevelopment.zip

• A Thinking Tool called Agile

https://sites.google.com/site/leanagileandscrum/lean-agile-scrum-conference-

2010/presentations-las-2010/00_Kniberg_Keynote.pdf?attredirects=0&d=1

• The Four Elements of Simple Design

http://www.jbrains.ca/permalink/the-four-elements-of-simple-design

• http://agilemanifesto.org/

• http://manifesto.softwarecraftsmanship.org/

Page 129: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Picture References• https://gratisography.com/

• https://businessagility.institute

• https://twitter.com/peitor

• https://craigsmith.id.au/2015/12/03/yow-2015-40-agile-methods-in-40-minutes/

Page 130: You Can't Be Agile If Your Testing Practices Suck · Uber, the world’slargest taxi company owns no vehicles. Airbnb, the world’slargest accommodation provider owns no real estate

Find out more

beyond-agility.com/stop