Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Agenda › History (what happen in the past) › What we are trying to achieve › What Team Topology is › How we adopt and implement team topology › Key takeaway

Slide 3

Slide 3 text

History What happen in the past | What the problem we faced

Slide 4

Slide 4 text

Small team What happen in the past 9-12 engineers Product A Product B 5-7 engineers 1-2 modules 1-2 modules

Slide 5

Slide 5 text

Product grew from 1-2 modules to 1x modules What happen in the past 1x – 2x engineers Product A Product B 1x – 2x engineers 1x modules 1x modules

Slide 6

Slide 6 text

Team grew without re-structure What happen in the past A single (big) team for one product Product A 1x modules

Slide 7

Slide 7 text

Function Silo What happen in the past Frontend Engineers Product A 1x modules Backend Engineers QA Engineers SRE Engineers

Slide 8

Slide 8 text

› Communication issue from unclear boundary › Time consume for discussion › Infinite cognitive load (need to understand all business domains and modules) The development speed was slowing down What problems we faced

Slide 9

Slide 9 text

› Engage only related topics (based on function) › Only a few people talk in discussion › Care only what they have done in the past Team members disengaged from team and product What problems we faced

Slide 10

Slide 10 text

What we are trying to achieve

Slide 11

Slide 11 text

#1 Be Technical Excellence Team What we are trying to achieve › Agility can only happen when you are able to make changes to the product in an easy, fast, and flexible way

Slide 12

Slide 12 text

#2 Increase Level of Autonomy What we are trying to achieve › Utilize the full potential, knowledge, and creativity of the team for solving problem and keep developers engaged › Increase team’s velocity Photo by Annie Spratt on Unsplash

Slide 13

Slide 13 text

#3 Create the Culture of Ownership What we are trying to achieve › Encourage teams to claim and carry out their ideas, their responsibilities and their initiatives › When teams care more about their work, they do the best work of their lives Photo by Kaleidico on Unsplash

Slide 14

Slide 14 text

Team Topology What Team Topology is

Slide 15

Slide 15 text

What Team Topology is › It is the approach to optimize team interactions for flow Photo by Randy Fath on Unsplash

Slide 16

Slide 16 text

Core Ideas in Team Topologies

Slide 17

Slide 17 text

4 Fundamental Topologies Core ideas in team topologies › 1. Stream-aligned team: aligned to a flow of work from (usually) a segment of the business domain › 2. Enabling team: helps a Stream-aligned team to overcome obstacles. Also detects missing capabilities › 3. Complicated Subsystem team: where significant mathematics/calculation/technical expertise is needed › 4. Platform team: a grouping of other team types that provide a compelling internal product to accelerate delivery by Stream-aligned teams https://teamtopologies.com/key-concepts

Slide 18

Slide 18 text

Flow of Change Core ideas in team topologies › “You Built It, You Run It” teams. There are no hand-offs to other teams for any purpose. https://teamtopologies.com/key-concepts

Slide 19

Slide 19 text

3 Core Interaction Modes Core ideas in team topologies › 1. Collaboration: working together for a defined period of time to discover new things › 2. X-as-a-Service: one team provides and one team consumes something “as a Service” › 3. Facilitation: one team helps and mentors another team https://teamtopologies.com/key-concepts

Slide 20

Slide 20 text

How we adopt and implement team topology

Slide 21

Slide 21 text

Re-structure team Guild A Guild B Guild C › Create small teams (5-7 engineers) as the stream-aligned team › Include all functions in the team › Groom them to be cross-functional team Adopt and implement team topology

Slide 22

Slide 22 text

Create domain boundaries Chat Marketing Shopping … › Create a clear boundary for each team › Emphasize the domain ownership to the team Adopt and implement team topology

Slide 23

Slide 23 text

Set up special taskforce to tackle complex problem (blur boundary) Adopt and implement team topology › Work across guilds and own by the guild Photo by Josh Calabrese on Unsplash

Slide 24

Slide 24 text

Set up Enabling Team › Tackle complicated technical challenges › Develop tools to enable technical excellence and flow Photo by ThisisEngineering RAEng on Unsplash Adopt and implement team topology

Slide 25

Slide 25 text

Embed TPM to each team for facilitation › Facilitate all activities for the team › Collaborate across teams › Solve any blocker for the team › Observe the team and make it flows Photo by Marília Castelli on Unsplash Adopt and implement team topology

Slide 26

Slide 26 text

Revise Product Backlog › Create product backlog by business domain › Create dependency mapping between business domain Photo by Daria Nepriakhina on Unsplash Adopt and implement team topology

Slide 27

Slide 27 text

Revise Working Process and Interaction › Collaborate with high-interaction and mutual-respect › X-as-a-Service by emphasizing the User Experience in mind › Help and be helped to adopt new practices (open-mind) Photo by Marvin Meyer on Unsplash Adopt and implement team topology

Slide 28

Slide 28 text

Promote the Solution Engineer Role › Use their strength and open to work cross functions › Aim to handle end-to-end development Photo by Marvin Meyer on Unsplash Adopt and implement team topology

Slide 29

Slide 29 text

Key takeaway

Slide 30

Slide 30 text

Key Takeaway › Understand your people (chemistry and skill) before re- structure team › Make sure you have a good culture norm › Technical excellence is one of the key factor Photo by Kelly Sikkema on Unsplash

Slide 31

Slide 31 text

Thank you