2015 04 06 v2 feature vs. component...

31
1 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved. Scaling with Feature vs. Component Teams Silicon Valley Agile Leadership Network April 06, 2015 by Ken Rubin 2 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved. If Ken Rubin Were a Word Cloud…

Upload: others

Post on 26-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

1 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Scaling with Feature vs. Component Teams

Silicon Valley Agile Leadership Network

April 06, 2015 by Ken Rubin

2 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

If Ken Rubin Were a Word Cloud…

Page 2: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

3

Essential Scrum in Six Languages English French German

Chinese Japanese Polish

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

4

If You Hear Something You Like…

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Tweet about it and include @krubinagile and #svaln

in your tweet!

Page 3: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

5

Simple Agile Has One Product Backlog and One Team

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

6 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Characteristics of a Single Development Team

Page 4: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

7

Scaling Question

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

As the scope of work gets larger and one team is no longer sufficient, what is your scaling strategy?

8 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Team Patterns When Scaling Up

Page 5: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

9

Discipline Teams

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

10

Location Teams

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

US India

US India Deliberately Distributed

Teams Team 2

Team 1

Team 1 Team 2 Coordinating Collocated

Teams

Page 6: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

11

Architectural Layer Teams

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

GUI

Middle Tier

Database

12

Component Teams

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Example component: Routing algorithms (component) inside of a GPS

Page 7: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

13

Feature Teams

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

14

Feature

Example Feature Teams Working on End-customer Feature

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Page 8: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

15

Feature Team Tasks

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

16

(This looks like a feature)

(GUI Team) (Middle-tier Team) (Database Team)

Example “Feature” to a Component Team

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Page 9: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

17

Feature

That which is a feature to a component team is a task to a feature team

That Which Is a Feature to a Component Team is a Task to a Feature Team

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

18

More Scaling Questions

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

So, which approach do you prefer?

What criteria are you using to decide?

Page 10: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

19 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Economically Sensible Scaling

20

Don’t Scale Based on Dogma!

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Do you think there is a single answer to scaling that universally applies to all situations

(sizes and types of organizations)?

Everyone knows feature teams are better!

Nuts! Component teams promote

conceptual integrity & reuse!

Page 11: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

21

Different Types of Teams in San Francisco

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Do you think there should be one centralized firefighting

team (station) in the center of San Francisco?

22

Different Types of Teams in San Francisco

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Accounting

Page 12: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

23

We Need an Economic Framework to Evaluate Scaling Decision

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Based on Reinertsen “The Principles of Product Development Flow: Second Generation Lean Product Development”

24

Scale to Maximize Lifecycle Profits

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Scale in a way that achieves superior flow resulting in maximum lifecycle profits

Lifecycle profits

Work needs to flow though “system” (collection of teams) in an economically sensible way

Page 13: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

25

Fast, Flexible, and Economically Sensible Flow

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

26

Fragile, Robust, Antifragile

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Fragile

Harmed by disorder

Robust

Resilient to disorder

Antifragile

Benefits from disorder

Goal is not to eliminate uncertainty, risk, or variability, but to protect ourselves against the variability that harms us and to promote and exploit the variability that benefits us

Page 14: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

27

Asymmetric Payoffs Create Economic Value or Harm

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Positive asymmetric payoff (antifragile)

anything that has more upside than downside from random events

(variability)

Negative asymmetric payoff (fragile)

anything that has more downside than upside from random events

(variability)

Source: Taleb, Nassim, Antifragile: Things That Gain from Disorder, Random House, 2012.

28

Waste

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Waste 1 Waste 2 Waste 3 Waste 4 Multiple forms

of waste

Waste 1 Waste 2 Waste 3 Waste 4 Can’t eliminate

them all

Waste 1 Waste 2 Waste 3 Waste 4

$ $$$$ $$ $$$

Determine which cause most

economic damage

Page 15: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

29

Recognize Inventory (WIP) Waste

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Manufacturing inventory is both physically and financially visible

Product-development inventory are knowledge assets that aren’t visible in the same way as physical parts

30

Focus on Idle Work Not Idle Workers

Watch the Baton Not the Runners

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Page 16: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

31

Cycle Time

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

or

Idea or problem Solution

Workflow / Value Stream with a given team scaling pattern

Cycle time

32

Example Workflow / Value Stream

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Groom feature

Dev 1

Dev 2

Dev 3

Art

Dev 1

Dev 2

Dev 3

Integrate& Test

2d 2wk

1wk

6wk 1wk 4wk

1wk 2wk 1wk 2h 1wk

5wk Waste

Value

Deploy

3wk 3wk 3wk 2wk 4wk

6 wk value-adding time

39.4 wk cycle time = 15%

Process cycle efficiency

Improve team efficiency 10% yields 1.5% improvement

Eliminate 10% waste

yields 8.5% improvement

Page 17: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

33

Cost of Delay

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

If you have to wait 6 weeks for the Art team to draw your art, and that delay could be eliminated by having an artist on your team, what is the cost of the Art-team delay (in lifecycle profits)?

Cycle time Variability

Money

Cycle time

34

Organize Teams to Validate Important Assumptions Fast

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Page 18: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

35 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Analysis of Component Teams

36 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Component Teams (Single Source)

Page 19: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

37 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Component Teams (Multiple Sources)

38

Issue – Prioritization

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Do my stuff!

Unavailable

Fun or easy Technical Priorities

Winner!

Localized prioritization decisions

Feature prioritization driven by component team availability

NPF (nosiest person first) dominates

Page 20: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

39

Issue – Coordination Costs

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

API Doc

API Doc

Requires significant and on-going planning, handoffs, and dependency management

At scale, dependency management becomes economically intractable

Favors low-bandwidth means of communication (interaction by contracts)

40

Issue – Slower Feedback

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

External feedback is slower

Predictive Adaptive

Internal feedback is slower

Page 21: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

41

Issue – Limits Learning

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

I love specializing

I feel stuck!

Fragile: specialty knowledge in only a few heads

42

Issue – Harder to See the Whole

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Best components ever! But still a poor product

Alignment trumps local excellence

Page 22: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

43

Desirable Property – Conceptual Integrity

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

You know this code and I trust you to do the work!

I want: congruity, consistency, cohesiveness,

understandability, maintainability

Want conceptual integrity both at component and full system/product level Conceptual integrity at the component level does not guarantee conceptual integrity at the product level

44

Desirable Property – Asset Reuse

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

System 1 System 2

System 3 System 4

Page 23: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

45 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Analysis of Feature Teams

46

Issue – Lack of Conceptual Integrity

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Incompatible changes Shared design

Who owns it?

Page 24: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

47

Issue – Technical Practices

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Manage concurrent access

Continuously integrate work

Sprint 1 Sprint 2 Sprint 3

Sprint 1 Sprint 2 Sprint 3

Sprint 1 Sprint 2 Sprint 3

48

Issue – Lack of Knowledge

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Need to understand large system

Need deep domain skills

Need deep technical skills

Page 25: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

49

Issue – Non-functional Requirements

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

As a customer, I want to be one of 10,000 customers who can use the system during peak usage periods.

As a user, I want the site to be available 99.999% of the time I try to access it.

As the CTO, I want the new system to conform to our established security policies.

As a user, I want an interface in English, a Romance language and a complex language.

Who ensures the non-functional requirements?

50

Issue – Team Longevity

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Product 1 PB 1 Feature Team A

Product 2 PB 2 Feature Team A

?

Page 26: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

51

Issue – Organizational Resistance

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Interferes with fiefdoms

Too hard to reorganize into feature teams

A general belief that feature teams will lead to significant technical debt

52 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Example Economically

Sensible Approaches

Page 27: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

53 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Combined Feature & Component Teams

54

Teams with Fully Connected Communication Channels

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Page 28: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

55

Teams Form Collaboration Clusters

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

56

Component Stewards/Guardians

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Feature Team A

Component Steward

I teach other people about component

Ensure changes maintain or improve conceptual

integrity

I don’t “own” the component

Feature teams make component changes

Feature Team B Take a leadership role in promoting reuse

Page 29: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

57

Create a Community of Practice from Feature Team Members

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

58

Summary

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

When you need more than 1 team

Don’t scale based on dogma

Feature Teams!

Component Teams!

Apply an economic framework

To achieve fast, flexible, flow

As a rule, you want most teams to be feature teams with an occasional component team!

Page 30: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

59

Visual AGILExicon®

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

60

www.essentialscrum.com

Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Page 31: 2015 04 06 v2 Feature vs. Component Teamswlw.innolution.com/uploads/presentations/...Feature_vs_Component_… · Title: 2015_04_06_v2 Feature vs. Component Teams.pptx Author: Kenny

61 Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.

Contact Info for Ken Rubin

Email: [email protected] Website: www.innolution.com Phone: (303) 827-3333 LinkedIn: www.linkedin.com/in/kennethrubin Twitter: www.twitter.com/krubinagile Facebook: www.facebook.com/InnolutionLLC Essential Scrum: A Practical Guide to the Most Popular Agile Process

www.essentialscrum.com