studying organizational complexity and its effects on scaling agility

Post on 12-Jan-2017

321 Views

Category:

Business

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Studying Complexity of organizations and its effects on scaling agility

Alexey Krivitsky agiletrainings.eu/blog

@alexeykri

Alexey krivitsky Mediocre developer Bulldozing scrum master Kicking ass agile coach Certified scrum trainer Fat ski rider Lame bass guitarist

Mostly known in agile community for #lego4scrum.

flickr.com/photos/89228431@N06

Inherent complexity

Spaghetti code and tech debt

flickr.com/photos/89228431@N06

flickr.com/photos/varunshiv

Added complexity

BACK-END

FRONT-END teams

1.Consistentdesign2.Codereuse3.Easiertomanage4.Personalgrowth

BACK-END

FRONT-END ???

what is happening to complexity of this org?

Complexity entropy

•  Few more roles •  Some more meetings •  A bit of indirection •  Some documentation

Studying dynamics

# meetings

Levels ���of coordination

Need for coordinationTeam

specialization

Indirectcommunication

Need fordocumentation

Uneven flow

Workload and RESOURCE management

Resource management

Resource management

$$

Studying dynamics

# meetings

Levels ���of

coordination

Need for coordinationTeam

specialization

Indirectcommunication

Need fordocumentation

Uneven ���flow

Need for���resource mgmt

# managers ���for resource���mgmt

A common pattern 1.  You have a “blah”-problem? 2.  Assign a “blah”-manager!

Delivery manager, integration manager, release manager, engineering manager, quality manager, resource allocation manager, site manager, scrum managers, scrum master managers.

Studying dynamics

# meetings

Levels ���of

coordination

Need for coordinationTeam

specialization

Indirectcommunication

Need fordocumentation

Uneven ���flow

Need for���resource mgmt

# managers ���for resource���mgmt

Higher complexity

Resource management

$$

Cost optimization

Out-of-sync development

?

Out-of-sync development

?

We can always make up work

… And More complexity •  More roles •  More meetings •  More indirection •  More documentation •  More managers •  More coordination •  More people •  More focus on workers (instead of work) •  More complex solutions (more code) •  More complex engineering processes

Indirection

But WHY?

1.Consistentdesign2.Codereuse3.Easiertomanage4.Personalgrowth

Optimization goals

Technical ORG

OMFG...

Spaghetti code and tech debt

Spaghetti ORG and org debt

BACK-END

FRONT-END teams

Functional teams

… And More complexity •  More roles •  More meetings •  More indirection •  More documentation •  More managers •  More coordination •  More people •  More focus on workers (instead of work) •  More complex solutions (more code) •  More complex engineering processes •  More technical managers (to deal with the complexity)

(1) Form groups of the same card color

Put your color card up and make groups.

Guidelines: – 4-6 people in a group – you have something to write with

(pens and pencils are OK, sharing is fine too)

When you’re group is set, put your cards down.

(2) Write one word matching criteria

Each group member needs to write one word on his/her card based on these rules:

Color coding of your cards: Yellow – adjectives describing the nature Red– verbs from sport, dancing, walking, love Blue – nouns from the agile terminology

All words written by one group ideally have to be:

unique in English (“le croque monsieur” is not OK) have 2+ syllables (“good” and “scrum” are not OK)

(3) Form new group of mixed colors

Put your color cards up

Guidelines: –  4-6 people in a group –  all 3 colors in each group –  duplicate colors are OK

When you’re group is set, put your cards down.

now, Compose a haiku!

WTF IS HAIKU?

(a very quick guide)

俳句 [ high-koo ]

Haiku are short poems that use sensory language to capture a feeling or an image. They are often inspired by an element of nature, a moment of beauty, or another internalized experience.

THE STRUCTURE

17 ons (syllables) in 3 phrases: 5, 7 and 5

Example: line#1: blah blah blah blah blah line#2: blah blah blah blah blah blah blah line#3: blah blah blah blah blah

A Haiku

Shoelaces untied

become a tripping hazard. Hope she falls for me.

Debugging the haiku

Shoelaces untied

become a tripping hazard Hope she falls for me

A Monday morning haiku

Oh! no no no no

No no no no no no no No no no and no

A bot haiku

Seven hundred ten

Seven hundred eleven Seven hundred twelve

404 haiku

The Web site you seek cannot be located but endless others exist

Internal server error

Three things are certain:

Death, taxes, and lost data. Guess which has occurred

(4) Compose a haiku! Guidelines: 1.  Use as many words from the cards as you can.

2.  Think of topics from this conference: flow, kanban, transformation, organizations, people, complexity, management, agility, continuous delivery…

3.  Don’t forget to add a touch of an emotional experience: nature, love, sadness of being.

Haiku at scale

creative teams

HorizontalconnecAons(weaker)

Ver&calconnec&ons(stronger)

Make us agile!

OMFG...

Make us agile…

Looks a little over-complicated

to be able to help you reduce complexity

How (NOT) to choose a scaling method

sugar-coating complexity adding new system elements (roles, functions, departments, silos) centralizing decision-making just renaming system elements protecting the existing system despite of the “new process” in place

reducing complexity removing existing elements decentralizing decision-making redefining system elements changing system and its dynamics

EVILMETHOD USEFULMETHOD

How will you know if a certain framework will be evil or useful?

•  Know your system’s dynamics

•  Know the optimization goal of the method (faster delivery? more transparency? easier reporting?)

•  Know dynamics the method will be creating

(more roles, less roles, more dependencies, less dependencies)

A multi-product platform

TECHNICAL PLATFORM / ENGINE

CONSUMER PRODUCTS

Customer-facing teams doing platform work

TECHNICAL PLATFORM / ENGINE

CONSUMER PRODUCTS

Satellite products

BACK-END

REST API

CORE FRONT-END MOBILE APPS

All teams working on back-end

BACK-END

CORE FRONT-END MOBILE APPS

hEp://bit.ly/xing-mobile

Many small sub-products

Many small sub-products

Organize by customer value

#1: Products on a shared platform

TECHNICAL PLATFORM / ENGINE

CONSUMER PRODUCTS

#2: Satellite products

BACK-END

REST API

CORE FRONT-END MOBILE APPS

#3: Many small sub-products

Study system dynamics at play you may explore some of with these variables

Cycle time

#defects

Costs of���maintenance

#people

Motivation Code quality

#managers

Tech ���debt

VARIABLES

Cycle time

Quality

WIP

Cause-effect relationships

Quality Cycle time

WIPRework

reinforcing vs. balancing loops

BA

DC

BA

DC

Reinforcing « UNSTABLE »

Balancing « STABILIZING »

Delayed effects

QualityCycle time

WIPRework

Motivation

Quick fixes

Quality Cycle time

WIPRework

Motivation

Salary

Thank you! And visit my blog

Alexey Krivitsky agiletrainings.eu/blog

top related