29
Systems Concepts for Agile Practitioners Agile San Diego 5/1/14 Roger Brown, CSC, CST

Systems Concepts for Agile Practitioners

  • View
    98

  • Download
    1

Embed Size (px)

DESCRIPTION

Agile software development practices are based on a set of values and principles described in the Agile Manifesto. As change agents for Agile transformation, we rely on these to help get the message across. There is another layer below principles, a set of scientific models that can help explain why the principleswork and strengthen the Agile message for some audiences. These are described in this presentation.

Citation preview

Page 1: Systems Concepts for Agile Practitioners

Systems Concepts for Agile Practitioners

Agile San Diego5/1/14

Roger Brown, CSC, CST

Page 2: Systems Concepts for Agile Practitioners

The significant problems we face today cannot be solved at the same level of thinking at which they were created.

- Albert Einstein

Page 3: Systems Concepts for Agile Practitioners

Why?

Chaotic

Complex

Complicated

SimpleHuman History

Technological advance and growing population in a finite space have increased the complexity of human interactive structures.

Page 4: Systems Concepts for Agile Practitioners

Systems are greater than the sum of their parts.

System properties and behaviors emerge from the combination of its constituent parts

Reductionism is not sufficient. Our systems are dynamic and driven by nonlinear effects that are not easily understood.

Page 5: Systems Concepts for Agile Practitioners

Helpful Theoretical Models

Queuing Theory – Erlang 1910Lean Thinking – Deming 1940System Dynamics – Forrester 1950Automata Theory – 1940 Ulam and von NeumannNetwork Theory - 1970Complexity Theory - 1970Learning Organization – 1990 Senge

A model is a simplification of reality intended to promote understanding.

Page 6: Systems Concepts for Agile Practitioners

System Dynamics

A system is an entity which maintains its existence through the mutual interaction of its parts.

- Gene Bellinger

Orderly processes in creating human judgment and intuition lead people to wrong decisions when faced with complex and highly interacting systems.

- Jay Forrester

Page 7: Systems Concepts for Agile Practitioners

Counter-intuitive Behavior

System behaviors come from structures,not from coefficients

Page 8: Systems Concepts for Agile Practitioners

Feedback Mechanisms

Reinforcing feedback Balancing feedback

+

Credit CardBalance

Credit CardInterest

+

+

BodyTemp

Sweat

-

3 examples from www.beyondconnectingthedots.com

Page 9: Systems Concepts for Agile Practitioners

Feedback Delay

Time

Des

ired

Stat

eLong delay causes

wider swings

Short delay converges sooner

Agile/Lean achieve smoother flow and reduced risk by shortening

the delay time for feedback

Page 10: Systems Concepts for Agile Practitioners

Cost of Change and Feedback Delay

Page 11: Systems Concepts for Agile Practitioners

Lean Thinking95% of variation in the performance of a system (organization) is caused by the system itself and only 5% is caused by the people.

- W. Edwards Demming

Misconception easily turns into common sense.- Taiichi Ohno

Page 12: Systems Concepts for Agile Practitioners

Push & Pull Systems

Push systems overwhelm capacity, creating turbulence, rework, waste and delay

Pull systems have a steady flow that provides predictability

Push

Page 13: Systems Concepts for Agile Practitioners

Push PullMake a plan Have a queue of work and a goal

Track % completion of plan Measure throughput and work done

Buffer plan for contingencies Small, frequent tasks to manage variety

Plan decides what to do next People decide what to do next

Long feedback delay Continuous short feedback loops

Demand exceeds capacity Demand limited to capacity

Fixed scope and time Fixed WIP

Forecast based on estimates Forecast based on data

Page 14: Systems Concepts for Agile Practitioners

Little’s Law

Cycle Time = Number of Items in Process/System Capacity

Page 16: Systems Concepts for Agile Practitioners

Unintended Consequences

Page 17: Systems Concepts for Agile Practitioners

Local Optimization

A focus on one property can have unintended impact on the system as a whole

Page 18: Systems Concepts for Agile Practitioners

Goodhart’s Law

The moment a measure becomes a target, it ceases to be useful as a measure.

Story Points/Sprint

Page 19: Systems Concepts for Agile Practitioners

Complexity Theory

Complicated

Complex

Click pictures to view examples.

• Many different parts.

• Can take it apart and reassemble it.

• If one part fails, it all fails.

• Many similar parts acting independently within social rules.

• Aggregate behavior cannot be predicted from individual part behaviors.

• Still “works” if a part is removed.

Page 20: Systems Concepts for Agile Practitioners

Cynefin Framework

Page 21: Systems Concepts for Agile Practitioners

Sense

Input What our senses tell us

Probe How we use our senses to get new information

Mental Models What sense we make of new information

Actions, Experiments What makes sense to do next

Page 22: Systems Concepts for Agile Practitioners

Sense-Making

Tools- anecdote.com- getreframer.com- sensemaker-suite.com

We make decisions based on our patterns and mental models,not on information or theory.

Page 23: Systems Concepts for Agile Practitioners

Learning Organizations

1.Systems Thinking2.Personal Mastery3.Mental Models4.Building Shared Vision5.Team Learning

The Disciplines

Page 24: Systems Concepts for Agile Practitioners

Working as a Team

Organizations where people continually expand their capacity to create the results they truly desire, where new and expansive patterns of thinking are nurtured, where collective aspiration is set free and where people are continually learning how to learn together.

- Peter Senge The Fifth Discipline, 1990

Page 25: Systems Concepts for Agile Practitioners

Urgent Not Urgent

Important

I• Crises• Pressing

Problems• Deadline Driven

Projects, Meetings, etc.

II• Preparations• Learning• Kaizen Events• Relationship

Building• True Recreation

Not Important

III• Interruptions• Some phone

calls• Some email• Someone else’s

emergency

IV• Trivia• Busy work• Time wasters• “Escape” activities

When do we get time to improve?If we don’t spend any time sharpening the saw, we will have to work harder and harder to get the same results.

- Steven Covey, The 7 Habits of Highly Effective People, 2004

By intentionally creating downtime, or ‘slack’, management will find a much-needed opportunity to build a ‘capacity to change’ into an otherwise strained enterprise that will help companies respond more successfully to constantly evolving conditions.

- Tom DeMarco, Slack, 2002

Page 26: Systems Concepts for Agile Practitioners

Learning Levels

Single Loop: tweak the parameters

Double Loop: experiment with the process

Triple Loop: learn how to learn

Page 27: Systems Concepts for Agile Practitioners

RetrospectivesCommunities of PracticeBook ClubBrown Bag SeminarsShadowingStory TellingKnowledge ManagementBrainstormingSkills Exchange

Team Learning Tools

Page 28: Systems Concepts for Agile Practitioners

ReferencesBooks:• Thinking in Systems : A Primer – Meadows• The Fifth Discipline and its Fieldbook – Senge• Business Dynamics - Sterman• The Principles of Product Development Flow: Reinertsen• The Systems Bible – Gall• 10 Steps to a Learning Organization – Kline and Saunders• Learning in Action – Garvin• Systems Thinking Playbook – Sweeny and Meadows

Websites- www.beyondconnectingthedots.com/ - Bellinger- www.cognitive-edge.com – Snowden- www.systemdynamics.org

Page 29: Systems Concepts for Agile Practitioners

PresenterRoger Brown

Agile CoachScrum Alliance

M.S. System Dynamics, Dartmouth College 1977Contact

Email: [email protected] Twitter: rwbrown Blog: www.agileCoachJournal.comLinkedIn: http://www.linkedin.com/in/rogerwbrown