61
"There is nothing so useless as doing efficiently that which should not be done at all." - Peter Drucker “Blame the process, not the people” -W. Edward Deming

Agile and management why all the pain

Embed Size (px)

Citation preview

"There is nothing so useless as doing efficiently that which should not be done at all." -Peter Drucker

“Blame the process, not the people” -W. Edward Deming

Joe Lukan

@joelukan

[email protected]

“Obama kept getting reports; he kept getting all these green lights on his laptop of all, you know, on a grid - everything's going great, everything's going great. Literally the night before the launch, on October 1, his chief of staff called a friend of his and said, we're going to knock your socks off tomorrow. Well, he was right about that. But, the president, whatever we can say about him on policy and on giving speeches, as a manager, he failed. He did not know what was going on in the single most important initiative of his administration. “ -Steven Brill

Management Defined

Management in business and organizations is the function that coordinates the efforts of people to accomplish goals and objectives using available resources efficiently and effectively.

Wikipedia

Management Defined

Management in business and organizations is the function that coordinates the efforts of people to accomplish goals and objectives deliver customer value using available resources efficiently and effectively.

Taylorism

Managers define tasks Managers find the best way to accomplish each taskPay for performance

Assumes• Things usually go according to plan• There is “One Best Way” for each task• Micro-optimization leads to macro-optimization• People are cogs in the machine

Martin Fowler, Extreme Programming Explained

Resource Efficiency

• Maximize resource utilization• Large batches• Predictability

Resource Efficiency

Niklas Modig, Par Ahlstrom, This is Lean

Management Defined

Management in business and organizations is the function that coordinates the efforts of people to accomplish goals and objectives using available resources efficiently and effectively.

Agile is…Manifesto for Agile Software Development

We are uncovering better ways of developingsoftware by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and toolsWorking software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

agilemanifesto.org

Agile is…We follow these principles:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

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

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

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

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

Working software is the primary measure of progress.

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

Continuous attention to technical excellence and good design enhances agility.

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

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

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

Agilemanifesto.org

Agile is…We follow these principles:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

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

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

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

done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working software is the primary measure of progress.

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

Continuous attention to technical excellence and good design enhances agility.

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

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

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

Agilemanifesto.org

Agile is…

"Agile methodologies developed as a reaction to [plan-driven] methodologies.“

“Adaptive rather than predictive. People-oriented rather than process oriented.”

“Just enough process to gain a reasonable payoff”

-Martin Fowler

Agile is…

“Continuously improving delivery of customer value at a sustainable pace while responding to change.” -Adam Yuret

“A culture expressed through a set of practices." -Uncle Bob Martin

Cross-Functional TeamsTimeboxed Iteration

Prioritized BacklogIteration Commitment

Retrospective

User StoriesPlanning Game

Available Customer

Small ReleasesAcceptance Testing

Metaphor Sustainable Pace Collective Ownership

TDD Coding Standard Simple Design Refactoring Pair Programming Continuous Integration

XP Scrum

Fixed work within sprint Definition of Done

Product Owner Scrum Master

Daily standup Sprint Planning Meeting Sprint Review Sprint Retrospective

Product & Sprint Backlogs

“Real Scrum”

“Assemble a cross-functional group of sufficiently skilled people

Have them demo or deliver often but otherwise stop micromanaging them

Have them inspect & adapt daily and monthly Allocate one person with free time to remove

roadblocks & watch the quality of the team Have the business side speak through a single person”

-Alistair Cockburn

Why Agile Works

ROIDean Leffingwell, Agile Requirements

Why Agile Works

Fewer Pointless FeaturesStandish Group, 2001

Why Agile Works

Small Teams

Why Agile WorksFast feedback Increased learning

Self-organizing Better problem solving

Baking quality in Reduced rework cost

Focus on time Reduced delay cost

Smaller batches More predictability

Why Agile WorksIncreased learning

Better problem solving

Reduced rework cost

Reduced delay cost

More predictability

Reduced variability

Why Agile Works

Limits Work in ProcessMartin Fowler, Extreme Programming Explained

Why Agile Works

Limits work in process (implicitly)

Reduces variability

25% capacity

50% capacity

80% capacity

Highway Throughput

Best Throughput

Queuing Theory

% Capacity Utilization

Queue Size

Queuing Theory

% Capacity Utilization

Queue Size

Cycle time

Queuing Theory

% Capacity Utilization

High Variability

Queue Size

Transportation Research Board

Flow v. Density

AMERICAN PHYSICAL SOCIETY http://www.aps.org/publications/apsnews/200404/backpage.cfm

Agile Shortcomings

“Most Scrum teams are embedded in organizations that have managers and use them. The fact that Scrum not only does not help with this but often actively denigrates managers makes improper Scrum installations more likely.” -Ron Jeffries

Agile Shortcomings

“The problem with Agile is that it often treats development as if it is outsourced.” -Michael Feathers

Agile Shortcomings

• Team focused (suboptimal)

• Measuring output (“velocity”) over outcomes

• Doesn’t address coordination between teams

• Practices need an underlying theory

Agile Shortcomings

"Customers enjoy being partners in the software process, developers actively contribute regardless of experience level, and managers concentrate on communication and relationships." -Don Wells

(Silver bullet?)

Resource Efficiency

• Maximize resource utilization• Large batches• Predictability

Resource Efficiency

Niklas Modig, Par Ahlstrom, This is Lean

Flow Efficiency

• Fast, smooth flow of work items through whole system

• Small batches• Adaptability

Flow Efficiency

Niklas Modig, Par Ahlstrom, This is Lean

Resource Efficiency• Maximize resource utilization• Large batches• Predictability

Flow Efficiency • Fast, smooth flow of work items through

whole system• Small batches• Adaptability

Taylorism

Managers define tasks Managers find the best way to accomplish each taskPay for performance

Assumes• Things usually go according to plan• There is “One Best Way” for each task• Micro-optimization leads to macro-optimization• People are cogs in the machine

Lean

Whole systems approachDeliver customer value early and often -less delay leads to less wasteBuild quality inRespect people

Lean

Whole systems approachDeliver customer value early and often -less delay leads to less wasteBuild quality inRespect people Involve everyone in continuous

improvement

Lean

Push decision making down Share informationStop managing people, start managing: the flow of value delivery

+ cultivate adaptability

Work in Process (WIP)

Work

Time

Arrivals

Departures

Work in Process (WIP)

Work

Time

ArrivalsDepartures

Lean

Make work visibleManage queues (i.e. limit work in process)

This includes• Portfolio level• Program level• Product level

Little's Law

Limit WIP

Bottlenecks

Niklas Modig, Par Ahlstrom, This is Lean

Lean

Right-size batches (usually smaller)Manage cycle time, throughputFind and attack bottlenecksAddress variabilityHypotheses, followed with experiments

Software Dev specific

Consider dual roles for Product Owner and Product Mgr

Hierarchical product backlogs, where needed• limit WIP at multiple levels• synchronized cadence

Use cross-functional teams where appropriate

Software Dev specific

Martin Fowler, Extreme Programming Explained

Getting There

Niklas Modig, Par Ahlstrom, This is Lean

Getting There

Niklas Modig, Par Ahlstrom, This is Lean

Siemens Health Systems (2012)

15 cross-functional Scrum teamsImplemented flow-based approach Achieved 42%/reduction in cycle time

Limiting WIP alone:• 21% shorter cycle time• 33% more throughput

Kanban at Scale – A Siemens Success Story , InfoQ, Feb 28, 2014http://www.infoq.com/articles/kanban-siemens-health-services#anch107610

Kanban at Scale – A Siemens Success Story , InfoQ, Feb 28, 2014http://www.infoq.com/articles/kanban-siemens-health-services#anch107610

Siemens Health Systems (2012)

Final words

Prevent waste (rather than eliminate it)

Kanban is a toolYou are not doing Kanban if you are not

constraining WIPThe Kanban Method is optional (even when

using Kanban)

???