Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Apportioning
Monoliths
Kevin Goldsmith
Let’s say I wanted to
build a large application
Some requirements
‣ Mustscaletomillionsofusers
‣ Supportmultipleplatforms
‣ Handlecomplexbusinessrules
‣ Competitiveinafas...
A product like this
A product like this
‣ 60MillionMonthlyActiveUsers
‣ 58Countries(sorry,notBelarusyet)
‣ >20,000songsaddedperday
‣ >1.5Bplay...
A product like this
‣ 60MillionMonthlyActiveUsers
‣ 58Countries(sorry,notBelarusyet)
‣ >20,000songsaddedperday
‣ >1.5Bplay...
Howdoyousupport
theserequirements
whilemovingfast
andinnovating?
Agile!
Product Release Calendar
Product Release Calendar
Spec
Product Release Calendar
Spec Code
Product Release Calendar
Spec Code Test
Product Release Calendar
Spec Code Test Release
Product Release Calendar
Spec Code Test Release
Product Release Calendar
Spec Code Test Release
ProductInnovation
Product Release Calendar
Spec Code Test Release
ProductInnovation
Product Release Calendar
Spec Code Test Release
ProductInnovation
Product Release Calendar
Spec Code Test Release
ProductInnovation
Product Release Calendar
Spec Code Test Release
ProductInnovation
Product Release Calendar
Spec Code Test Release
ProductInnovation
Product Release Calendar
Spec Code Test Release
ProductInnovation
“To improve is to change;
to be perfect is to change
often”
Winston Churchill
I thought you
said you wanted
to build a large
application?
Scaling
Agile
Challenges
Challenges
Synchronization
Challenges
Synchronization
{
Scrum of scrums
PSI/Release planning
Cadence
Challenges
Synchronization
Alignment
Solution
Autonomous Teams
Autonomous
adjective
au·ton·o·mous - ȯ-ˈtä-nə-məs
(of a country or region) having the freedom to govern itself or control ...
Autonomous
adjective
au·ton·o·mous - ȯ-ˈtä-nə-məs
(of a country or region) having the freedom to govern itself or control ...
Challenges
Synchronization
Alignment
Server
Core Library
Platform Platform Platform Platform
Infrastructure
“Organizations which design systems ...
are constrained to produce designs
which are copies of the communication
structure...
Server
Core Library
Platform Platform Platform Platform
Infrastructure
Server
Core Library
Platform Platform Platform Platform
Infrastructure
VP
client
director
client
manager
client
manager
cl...
Server
Core Library
Platform Platform Platform Platform
Infrastructure
Server
Core Library
Platform Platform Platform Platform
Infrastructure
Server
Core Library
Platform Platform Platform Platform
Infrastructure
Server
Core Library
Platform Platform Platform Platform
Infrastructure
Server
Core Library
Platform Platform Platform Platform
Infrastructure
Server
Core Library
Platform Platform Platform Platform
Infrastructure
Inverse Conway Maneuver
evolve your team and organizational
structure to promote your desired
architecture.
Server
Core Library
Platform Platform Platform Platform
Infrastructure
Server
Core Library
Platform Platform Platform Platform
Infrastructure
platforms
Server
Core Library
Platform Platform Platform Platform
Infrastructure
platforms
Server
Core Library
Platform Platform Platform Platform
Infrastructure
FeatureTeam
FeatureTeam
FeatureTeam
Featu...
platforms
Server
Core Library
Platform Platform Platform Platform
Infrastructure
FeatureTeam
FeatureTeam
FeatureTeam
Featu...
platforms
Server
Core Library
Platform Platform Platform Platform
Infrastructure
FeatureTeam
FeatureTeam
FeatureTeam
Featu...
platforms
Server
Core Library
Platform Platform Platform Platform
Infrastructure
FeatureTeam
FeatureTeam
FeatureTeam
Featu...
platforms
Server
Core Library
Platform Platform Platform Platform
Infrastructure
FeatureTeam
FeatureTeam
FeatureTeam
Featu...
Full-stack autonomous
teams
Full-stack autonomous
teams
increases the learning opportunities
Throughput over
velocity
Full-stack autonomous
teams
Works well for steady state of
development
Full-stack autonomous
teams
Need to shift for the step-change
innovation projects towards
synchronization (but not complet...
What this looks like at Spotify
‣ 70+teams
‣ 600+Developers
‣ 5Developmentoffices
‣1Product
Full-stack autonomous
teams
Requires you to structure your
application in loosely coupled parts
Loosely
Coupled
Architecture
Server
LoadBallancer
Microservices
‣ Easiertoscalebasedonreal-world
bottlenecks
‣ Easiertotest
‣ Easiertodeploy
‣ Versionindependently
‣ Lesssu...
Client
Shared Frameworks
Shared Frameworks
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
Shared Frameworks
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
App Release Team
Shared Frameworks
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
App Release Team
Com...
Shared Frameworks
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
App Release Team
Int...
Shared Frameworks
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
FeatureTeam
App Release Team
Sha...
Questions
twitter: @kevingoldsmith
Apportioning Monoliths
Apportioning Monoliths
Apportioning Monoliths
Apportioning Monoliths
Apportioning Monoliths
Apportioning Monoliths
Apportioning Monoliths
Apportioning Monoliths
Apportioning Monoliths
Apportioning Monoliths
Apportioning Monoliths
Nächste SlideShare
Wird geladen in …5
×

Apportioning Monoliths

Breaking up monoliths in your schedule, your team and in your software architectures to increase velocity and innovation. The video of my presentation of this talk at the Daho.am 2015 conference is available at https://www.youtube.com/watch?v=E8OQ_u7El38&lt

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Apportioning Monoliths

  1. 1. Apportioning Monoliths Kevin Goldsmith
  2. 2. Let’s say I wanted to build a large application
  3. 3. Some requirements ‣ Mustscaletomillionsofusers ‣ Supportmultipleplatforms ‣ Handlecomplexbusinessrules ‣ Competitiveinafastmovingmarket ‣ ReactQuickly ‣ Out-innovate
  4. 4. A product like this
  5. 5. A product like this ‣ 60MillionMonthlyActiveUsers ‣ 58Countries(sorry,notBelarusyet) ‣ >20,000songsaddedperday ‣ >1.5Bplaylists ‣ Incrediblycomplexbusinessrules ‣ Lotsofcompetition
  6. 6. A product like this ‣ 60MillionMonthlyActiveUsers ‣ 58Countries(sorry,notBelarusyet) ‣ >20,000songsaddedperday ‣ >1.5Bplaylists ‣ Incrediblycomplexbusinessrules ‣ Lotsofcompetition
  7. 7. Howdoyousupport theserequirements whilemovingfast andinnovating?
  8. 8. Agile!
  9. 9. Product Release Calendar
  10. 10. Product Release Calendar Spec
  11. 11. Product Release Calendar Spec Code
  12. 12. Product Release Calendar Spec Code Test
  13. 13. Product Release Calendar Spec Code Test Release
  14. 14. Product Release Calendar Spec Code Test Release
  15. 15. Product Release Calendar Spec Code Test Release ProductInnovation
  16. 16. Product Release Calendar Spec Code Test Release ProductInnovation
  17. 17. Product Release Calendar Spec Code Test Release ProductInnovation
  18. 18. Product Release Calendar Spec Code Test Release ProductInnovation
  19. 19. Product Release Calendar Spec Code Test Release ProductInnovation
  20. 20. Product Release Calendar Spec Code Test Release ProductInnovation
  21. 21. Product Release Calendar Spec Code Test Release ProductInnovation
  22. 22. “To improve is to change; to be perfect is to change often” Winston Churchill
  23. 23. I thought you said you wanted to build a large application?
  24. 24. Scaling Agile
  25. 25. Challenges
  26. 26. Challenges Synchronization
  27. 27. Challenges Synchronization { Scrum of scrums PSI/Release planning Cadence
  28. 28. Challenges Synchronization Alignment
  29. 29. Solution Autonomous Teams
  30. 30. Autonomous adjective au·ton·o·mous - ȯ-ˈtä-nə-məs (of a country or region) having the freedom to govern itself or control its own affairs. "the federation included sixteen autonomous republics" having the freedom to act independently. "school governors are legally autonomous" synonyms: self-governing, independent, sovereign, free, self-ruling, self- determining, autarchic; self-sufficient "an autonomous republic"
  31. 31. Autonomous adjective au·ton·o·mous - ȯ-ˈtä-nə-məs (of a country or region) having the freedom to govern itself or control its own affairs. "the federation included sixteen autonomous republics" having the freedom to act independently. "school governors are legally autonomous" synonyms: self-governing, independent, sovereign, free, self-ruling, self-determining, autarchic; self-sufficient "an autonomous republic"
  32. 32. Challenges Synchronization Alignment
  33. 33. Server Core Library Platform Platform Platform Platform Infrastructure
  34. 34. “Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations” Melvin Conway
  35. 35. Server Core Library Platform Platform Platform Platform Infrastructure
  36. 36. Server Core Library Platform Platform Platform Platform Infrastructure VP client director client manager client manager client manager client manager server director core manager infra director server manager server manager
  37. 37. Server Core Library Platform Platform Platform Platform Infrastructure
  38. 38. Server Core Library Platform Platform Platform Platform Infrastructure
  39. 39. Server Core Library Platform Platform Platform Platform Infrastructure
  40. 40. Server Core Library Platform Platform Platform Platform Infrastructure
  41. 41. Server Core Library Platform Platform Platform Platform Infrastructure
  42. 42. Server Core Library Platform Platform Platform Platform Infrastructure
  43. 43. Inverse Conway Maneuver evolve your team and organizational structure to promote your desired architecture.
  44. 44. Server Core Library Platform Platform Platform Platform Infrastructure
  45. 45. Server Core Library Platform Platform Platform Platform Infrastructure
  46. 46. platforms Server Core Library Platform Platform Platform Platform Infrastructure
  47. 47. platforms Server Core Library Platform Platform Platform Platform Infrastructure FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam
  48. 48. platforms Server Core Library Platform Platform Platform Platform Infrastructure FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam
  49. 49. platforms Server Core Library Platform Platform Platform Platform Infrastructure FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam
  50. 50. platforms Server Core Library Platform Platform Platform Platform Infrastructure FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam
  51. 51. platforms Server Core Library Platform Platform Platform Platform Infrastructure FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam
  52. 52. Full-stack autonomous teams
  53. 53. Full-stack autonomous teams increases the learning opportunities
  54. 54. Throughput over velocity
  55. 55. Full-stack autonomous teams Works well for steady state of development
  56. 56. Full-stack autonomous teams Need to shift for the step-change innovation projects towards synchronization (but not completely)
  57. 57. What this looks like at Spotify ‣ 70+teams ‣ 600+Developers ‣ 5Developmentoffices ‣1Product
  58. 58. Full-stack autonomous teams Requires you to structure your application in loosely coupled parts
  59. 59. Loosely Coupled Architecture
  60. 60. Server
  61. 61. LoadBallancer
  62. 62. Microservices ‣ Easiertoscalebasedonreal-world bottlenecks ‣ Easiertotest ‣ Easiertodeploy ‣ Versionindependently ‣ Lesssusceptibletolargefailures ‣ Hardertomonitor ‣ Needgooddocumentation
  63. 63. Client
  64. 64. Shared Frameworks
  65. 65. Shared Frameworks FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam
  66. 66. Shared Frameworks FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam App Release Team
  67. 67. Shared Frameworks FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam App Release Team Common UI Components UI Interface Guidelines SharedTesting Frameworks
  68. 68. Shared Frameworks FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam App Release Team IntegrationTesting App Submittal UI Consistency Validation
  69. 69. Shared Frameworks FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam FeatureTeam App Release Team Shared DevelopmentTree Best Practice Sharing
  70. 70. Questions twitter: @kevingoldsmith

×