Feature extraction vs. feature selection Search strategy and
2015 04 06 v2 Feature vs. Component...
Transcript of 2015 04 06 v2 Feature vs. Component...
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…
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!
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
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
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
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
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.
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.
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?
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!
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
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
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
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
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.
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
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.
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)
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
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
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
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
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?
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
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
?
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
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.
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
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!
59
Visual AGILExicon®
Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.
60
www.essentialscrum.com
Copyright © 2007-2015, Innolution, LLC. All Rights Reserved.
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