際際滷

際際滷Share a Scribd company logo
Scaling Engineering
Organizations with Patterns
@sshishkin
Sergey Shishkin
A PRODUCT
DEVELOPMENT
GAME
x1 x1 x1
WELCOME TO
MUSHROOM INC.
Humble Origins
 Uni鍖ed product direction

 Uncomplicated solution

 Fast technical decisions
LEVEL 1
CHALLENGE:
GROWING DEMAND
x1 x1 x1
LETS SCALE!
x1 x1 x1
Pattern: Team
 Pros:

 Diverse ideas

 Increased throughput

 Decreased variability (bus factor)

 Cons:

 Cost of agreement

 Contention of shared resources
Universal Scalability Law
See: https://blog.acolyer.org/2015/04/29/applying-the-universal-scalability-law-to-organisations/
Best Practices
 Collective Code Ownership

 Coding Standard

 Continuous Integration

 Pair Programming

 Test-Driven Development
https://ronje鍖ries.com/xprog/what-is-extreme-programming/
Many organizations start to increase the number of teams before
they master best practices with one team.
This results in a bunch of underperforming teams and makes
technical excellence harder to re-instill afterwards.
LEVEL 2
CHALLENGE:
MULTIPLE
STAKEHOLDERS
x1 x1 x1
MORE TEAMS!
x1 x1 x1
Pattern: Feature Teams
Pattern: Feature Teams
 Pros:

 Flexible prioritization of multiple stakeholders

 Increased throughput

 Cons:

 Increased cost of coordination

 Increased contention
https://less.works/less/structure/feature-teams.html
LEVEL 3
CHALLENGE:
GROWING DEMAND
x5 x1 x3
STRUCTURE
BACKLOG!
x5 x1 x3
ァ
ィ
ゥ
Pattern: Requirement Area
 Pros:

 Manageable scope of prioritization

 Customer focus

 Potentially shippable backlog items

 Cons:

 Fragmented product vision

 Cost of agreement
https://less.works/less/less-huge/requirement-areas.html
LEVEL 4
CHALLENGE:
GROWING DEMAND
x10 x1 x5
DISTRIBUTED!
x10 x1 x5
Pattern: Distributed
Architecture
 Pros:

 Partitioned domain complexity

 Localized technology decisions

 Localized testing

 Cons:

 Cost of agreement on service interfaces

 Harder release coordination

 New failure modes
Conways Law
LEVEL 5
CHALLENGE:
GROWING DEMAND
x15 x5 x10
MICRO-SERVICES!
x15 x5 x10
Pattern: Micro-Services
 Pros:

 Reduced team contention

 Scoped cognitive overhead

 Cons:

 Unpredictability of changes

 Operations complexity
Pattern: Micro-Services
https://martinfowler.com/bliki/MicroservicePrerequisites.html
 Prerequisites:

 Infrastructure as a service

 Continuous deployment

 Observability
https://blog.gardeviance.org/2015/03/on-pioneers-settlers-town-planners-and.html
Pattern: Platform Teams
Pattern: Platform Teams
 Pros:

 Uni鍖ed solutions for common problems

 Economy of scale

 Competence development

 Cons:

 One size 鍖ts all solutions

 Innovation bottleneck
Look out for existing bright spots and promote them
Dynamic Re-Teaming Patterns
http://www.heidihelfand.com/dynamic-reteaming/
LEVEL 6
CHALLENGE:
MORE STAKEHOLDERS
x25 x20 x10
DEVELOPER
MESH
x25 x20 x10
Pattern: Developer Mesh
Pattern: Developer Mesh
 Pros:

 Motivating autonomy

 Less organizational overhead

 Organic prioritization

 Cons:

 No centralized product authority
Pattern: Developer Mesh
 Prerequisites:

 Clear company mission and purpose

 Leadership at all levels
SUMMARY
鞄岳岳沿壊://敬敬敬.温乙庄鉛艶42.界看馨/艶稼/温乙庄鉛艶-庄稼韓看-界艶稼岳艶姻/界霞稼艶鍖n/
Scaling Engineering Organizations with Patterns
GAME IS NOT
OVER
ITS YOUR TURN!
@sshishkin
Sergey Shishkin
Links
 Universal Scalability Law: https://blog.acolyer.org/2015/04/29/applying-the-universal-scalability-law-to-
organisations/

 eXtreme Programming Practices: https://ronje鍖ries.com/xprog/what-is-extreme-programming/

 LeSS: Feature Teams: https://less.works/less/structure/feature-teams.html

 LeSS: Requirement Areas: https://less.works/less/less-huge/requirement-areas.html

 Conways Law: https://www.sketchplanations.com/post/175174474143/conways-law-im-paraphrasing-
here-but-the-gist

 Pioneers, Settlers, Town Planners: https://blog.gardeviance.org/2015/03/on-pioneers-settlers-town-
planners-and.html

 Dynamic Reteaming: http://www.heidihelfand.com/dynamic-reteaming/

 You have to be this tall to use Micro-Services: https://martinfowler.com/bliki/MicroservicePrerequisites.html

 Cyne鍖n Framework: 鞄岳岳沿壊://敬敬敬.温乙庄鉛艶42.界看馨/艶稼/温乙庄鉛艶-庄稼韓看-界艶稼岳艶姻/界霞稼艶鍖n/

 How GitHub (no longer) works: https://www.infoq.com/presentations/github-evolution/
Image Credits
 https://www.鍖aticon.com/authors/freepik

 https://www.鍖aticon.com/authors/eucalyp

 https://www.鍖aticon.com/authors/pixel-perfect

 https://www.鍖aticon.com/authors/mynamepong

 https://www.鍖aticon.com/authors/鍖at-icons

 https://www.鍖aticon.com/authors/monkik

 https://www.鍖aticon.com/authors/smashicons

 https://鍖ndicons.com/icon/423523/paper_mario

More Related Content

Scaling Engineering Organizations with Patterns