agile101 small batches

34
AGILE 101: small BATCHES Mile High Agile 201

Upload: steve-rogalsky

Post on 28-May-2015

1.521 views

Category:

Technology


0 download

DESCRIPTION

As presented at Mile High Agile 2012 in Denver.Review and discuss the basic agile practices in the context of two games. The first game will illustrate why small batches are important and how they can help you address project risks sooner. The second game will illustrate how small batches can help give you better information about your project sooner and will demonstrate some of the basic agile practices at work like iterations, continuous flow, manage to done, velocity, retrospectives, etc.

TRANSCRIPT

Page 1: Agile101 Small Batches

AGILE 101: small

BATCHES

Mile High Agile 2012

Page 2: Agile101 Small Batches
Page 3: Agile101 Small Batches

@SROGALSKY

WINNIPEGAGILIST.BLOGSPOT.COM

PROTEGRA.COM

Steve Rogalsky

Page 4: Agile101 Small Batches
Page 5: Agile101 Small Batches
Page 6: Agile101 Small Batches
Page 7: Agile101 Small Batches

At Protegra we employ agile and lean techniques to give our clients an advantage – to leap out of the bowl.

[email protected]

Protegra Advantage

Page 8: Agile101 Small Batches
Page 9: Agile101 Small Batches

“Is your IT shop the

place where great

business ideas grind to a halt?”

Page 10: Agile101 Small Batches

SOONERnot necessarily

faster

Page 11: Agile101 Small Batches

DELIVERsooner

Page 12: Agile101 Small Batches

Validate

SOLUTION

sooner

Page 13: Agile101 Small Batches

find

DEFECTSsooner

Page 14: Agile101 Small Batches

validate

RISKS and

ASSUMPTIONSsooner

Page 15: Agile101 Small Batches

Validate

ESTIMATESsooner

Page 16: Agile101 Small Batches

CHANGESyou can make to

enable small batches

Page 17: Agile101 Small Batches

Requirements.docvs.

User Stories

(one coin) (many coins)

As a <role>I want to <some action>So that <result>

Page 18: Agile101 Small Batches

Specializationvs.

Generalized Specialists

Page 19: Agile101 Small Batches

One projectvs.

Multiple projects

1 Task 2 Tasks

3 Tasks

4 Tasks

5 Tasks

6 Tasks

0%

20%

40%

60%

80%

100%

120%

Time spent switchingTime spent on task(s)

From: QSM 1, Systems Thinking (Dorset House, 1992). Jerry Weinberg

Page 20: Agile101 Small Batches

Credit: This example is from “The Role of Quality Assurance in Lean-Agile” – Allan Shalloway

Manual Testing

vs.Automated

Testing

Page 21: Agile101 Small Batches

BDUFvs.

Change Tolerant Code

Page 22: Agile101 Small Batches

High Medium Lowvs.

Prioritizing First to Last

Page 23: Agile101 Small Batches

Individual Outputvs.

Team Throughput & Outcome

Page 24: Agile101 Small Batches

Cubiclesvs.

Face to Face

Alistair’s 3 keys to successful projects:1. Frequent Delivery

of working code2. Access to

customers3. Co-located teams

Page 25: Agile101 Small Batches

Efficient Effectivevs. and

Page 26: Agile101 Small Batches

The Manifesto1. Our highest priority is to satisfy the customer through early and continuous delivery

of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness

change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months,

with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support

they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a

development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and

users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing

teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes

and adjusts its behaviour accordingly.

Page 27: Agile101 Small Batches

Both Efficient…1. Our highest priority is to satisfy the customer through early and continuous

delivery of valuable software.

2.Welcome changing requirements, even late in development. Agile

processes harness change for the customer's competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

4. Business people and developers must work together daily throughout the project.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within a development team is

face-to-face conversation.

7. Working software is the primary measure of progress.

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

10.Simplicity--the art of maximizing the amount of work not done--is essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.

Page 28: Agile101 Small Batches

… And Effective1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's

competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter

timescale. 4. Business people and developers must work together daily throughout the project.

5. Build projects around motivated individuals. Give them the environment

and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face

conversation. 7. Working software is the primary measure of progress.

8. Agile processes promote sustainable development. The sponsors,

developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.

Page 29: Agile101 Small Batches

Effective Leadership

"You cannot hold people responsible for results if you supervise their

methods. You then become responsible for results and rules replace human

judgement, creativity, responsibility“

- Dr. Stephen R. Covey

Page 30: Agile101 Small Batches

Effective Leadership

"Effective leaders set up the conditions of empowerment and then... get out of

people’s way, clear their path and become a source of help as

requested.“

- Dr. Stephen R. Covey

Page 31: Agile101 Small Batches

Self-Organizing Daughter

Page 32: Agile101 Small Batches

Agile in Practice

Size 1 Size 2 Size 3 Size 8

Page 33: Agile101 Small Batches

What agile practices did we just witness?

• Iteration Planning• Prioritized backlog (1-

100 not H/M/L)• Manage to Done• Relative estimating• Velocity• Burn up/down• Demo• Retrospectives

• User Stories• Acceptance Testing• Embracing Change• Scope management• Face to face

communication• Kanban / Continuous

Flow• Work in Progress Limits• Continually testing for

failure

Page 34: Agile101 Small Batches

In Closing

Want sooner?• Be efficient with

process– (think small)

• Be effective with people

@SROGALSKY

WINNIPEGAGILIST.BLOGSPOT.COM

PROTEGRA.COM

Steve Rogalsky

Thanks! Questions?