39
Tell me again, why are we doing this agile thing? Or, what it means to deliver real value… Scrum Day Twin Cities 2015 Paul Ellarby

Paul Ellarby - Why do scrum?

Embed Size (px)

Citation preview

Page 1: Paul Ellarby - Why do scrum?

Tell me again, why are we doing this agile thing?

Or, what it means to deliver real value…

Scrum Day Twin Cities 2015

Paul Ellarby

Page 2: Paul Ellarby - Why do scrum?
Page 3: Paul Ellarby - Why do scrum?

What is the agile value proposition?

I can increase your IT throughput by 100%

Page 4: Paul Ellarby - Why do scrum?

Build the Right Thing

Page 5: Paul Ellarby - Why do scrum?

12

63%27%

Functionality that is never or rarely used

Page 6: Paul Ellarby - Why do scrum?

If you spend 3 months building the perfect specification document…

…you just wasted 3 months of your life that you will never get back.

Page 7: Paul Ellarby - Why do scrum?

Assumptions Challenged!

• 3 things we wish were true• The customer knows what the want• The developers know how to build it• Nothing will change along the way

3 things we have to live with• The customer discovers what the want• The developers discover how to build it• Many things change along the way

Source: Henrik Kniberg

Page 8: Paul Ellarby - Why do scrum?

Business Drives Development

• Scrum considers this a good thing. • Because of this, a closer relationship between

business professionals and technologists exists than was typical before.

• Thus, we need to consider the dilemmas we are likely to experience when “Business Drives Development.”

Page 9: Paul Ellarby - Why do scrum?

Don’t really now what we want until we see it…

Customers loved this… Until they tried this…

Page 10: Paul Ellarby - Why do scrum?

Elop – Stephen Elop, former Nokia CEO and Microsoft VP

Page 11: Paul Ellarby - Why do scrum?

IBM

Agile vs. not-so agile

Page 12: Paul Ellarby - Why do scrum?

Decision to implement company-wide scrum

Pega Systems

Page 13: Paul Ellarby - Why do scrum?

Source: Jeff Sutherland, Scrum Inc

Page 14: Paul Ellarby - Why do scrum?

Agile View

Assess

Identify partial concepts

• Agile View of Product Management

Page 15: Paul Ellarby - Why do scrum?

Incremental Delivery = More ValueVa

lue

Time / Cost / Features

Stop the project!

Page 16: Paul Ellarby - Why do scrum?

Responding to change

Delight the customer

Working product

Great teams

Agile Manifesto

Page 17: Paul Ellarby - Why do scrum?
Page 18: Paul Ellarby - Why do scrum?
Page 19: Paul Ellarby - Why do scrum?

Leadership

Strategic Vision

Customer First

Support the Teams

Shipping Product

Page 20: Paul Ellarby - Why do scrum?
Page 21: Paul Ellarby - Why do scrum?
Page 22: Paul Ellarby - Why do scrum?

Build the Thing Right

Page 23: Paul Ellarby - Why do scrum?

Engineering Practices

• Unit Testing and Test Driven Development• Pairing• Refactoring• Continuous Integration

Page 24: Paul Ellarby - Why do scrum?

Unit Test

• Is usually done by developers• Improves quality• Facilitates changes• Simplifies integration• Enables automation• Provides effective system documentation• Makes your life simpler

“A Unit Test is a procedure used to validate that individual units of functional code are working properly. “

Page 25: Paul Ellarby - Why do scrum?

Unit Testing The Agile Way: Test First

Page 26: Paul Ellarby - Why do scrum?

Test Driven Development

“Test-Driven Development (TDD) is an evolutionary approach to development which instructs you to have test-first development intent. Basically, you start by writing a test and then you code to elegantly fulfill the test requirements.”

• Small successful, tested steps.• Do the simplest thing that could possibly work.

Page 27: Paul Ellarby - Why do scrum?

Copyright 2009 ThoughtWorks

A User Story

Page 28: Paul Ellarby - Why do scrum?

Copyright 2009 ThoughtWorks

Test First

Page 29: Paul Ellarby - Why do scrum?

Copyright 2009 ThoughtWorks

Page 30: Paul Ellarby - Why do scrum?

Copyright 2009 ThoughtWorks

Page 31: Paul Ellarby - Why do scrum?

Copyright 2009 ThoughtWorks

Page 32: Paul Ellarby - Why do scrum?

Uncle Bob Martin’s Three Laws of TDD

1. You are not allowed to write any production code unless it is to make a failing unit test pass.

2. You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.

3. You are not allowed to write any more production code than is sufficient to pass the one failing unit test.

Page 33: Paul Ellarby - Why do scrum?

Pairing

Page 34: Paul Ellarby - Why do scrum?

Refactoring

Page 35: Paul Ellarby - Why do scrum?

Practically Speaking.. What is Refactoring?

• Verify no change in external behavior by– Testing– Being very, very careful

A series of small steps, each of which changes the program’s internal structure without changing its external behavior

Page 36: Paul Ellarby - Why do scrum?

Why Refactor

• To make room for new functionality• To make the program easier to change• To make the software easier to understand• To “Fix broken windows”

Page 37: Paul Ellarby - Why do scrum?

“Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.”

http://www.martinfowler.com/articles/continuousIntegration.html

Page 38: Paul Ellarby - Why do scrum?

How much to automate?

Answer: It depends!

Page 39: Paul Ellarby - Why do scrum?

Tell me again, why are we doing this agile thing?