Overview Flashcards

1
Q

Four Team Types

A

Stream Aligned: a team aligned to the main flow of business change, with cross-functional skills mix and the ability to deliver significant increments without waiting on another team.

Platform: a team that works on the underlying platform supporting stream-aligned teams in delivery. The platform simplifies otherwise complex technology and reduces cognitive load for teams that use it.

Enabling: a team that assists other teams in adopting and modifying software as part of a transition or learning period.

Complicated Subsystem: a team with a special remit for a subsystem that is too complicated to be dealt with by a normal stream-aligned team or platform team. Optional and only used when really necessary.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Three Interaction Modes

A

Collaborating:
Driver of Innovation and Rapid Discovery but Boundary Blurring
Two teams work together a shared goal, particularly during discovery of new technology or approaches. The overhead is valuable due to rapid
pace of learning
High Interaction and Mutual Respect

X-as-a-Service:
Clear Responsibilities and Predictable Delivery but Needs Good Product Management
One team consumes something provided by another team (such as an API, a tool, or a full software product). Collaborating is minimal.
Emphasize the User Experience

Facilitating:
Sense and Reduce Gaps in Capabiliities
One team (usually enabling team) facilitates another team in learning or adopting a new approach.
Help and Be Helped

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Team Type and Interaction Matrix

A

Stream Aligned

Enabling

Complicated Subsystem

Platform

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Team Type and Interaction Matrix

A

—————————————— Collaboration X-as-a-Service Facilitating

Stream Aligned Typical Typical Occasional

Enabling Occasional —- Typical

Complicated Subsystem Occasional Typical —-

Platform Occasional Typical —-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

General Maximum Cognitive Load for a Team

A

2-3 Simple Domains.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Four Additional Ingredients for Team/Organization Effectiveness

A

Healthy Org Culture: an environment that supports professional development of individuals and teams - one which people feel empowered and safe to speak out about problems, and the organization expects to learn continuously.

Good Engineering Practices: test first design and development of all aspects of the systems, a focus on CD and operability practices, pairing and mobbing for code review, avoiding the search for the single “root cause” for incidents, designing for testability, and so on.

Healthy Funding and Financial Practices: avoiding pernicious effects of a CapEx/OpEx split between different parts of the IT organization (or at least mitigating the worst aspects of this by estimating CapEx/OpEx through sampling the work), avoiding project-driven deadlines and large batch budgeting whenever possible, and allocating training budgets to teams or groups rather than individuals.

Clarity of Business Vision: the executive or leadership provides a clear, non-conflicting vision and direction for the rest of the organization, with horizons at human-relevant timescales (such as 3 months, 6 months, 12 months) and clear reasoning behind the priorities, so people in the organization can understand how and why these were chosen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Characteristics of a Stream-Aligned Team

A

Team produces a steady flow of features (per week or even multiple times per day). CI/CD needed to ship features frequently

Team is quick to change direction based on stakeholder feedback. Ability to experiment is key. Feature flags, automated testing and blue-green deployments needed.

Team (end to end development) is self contained to the team (autonomy). Minimal hand offs to other teams.

Team addresses code quality/tech debt.

Team is cross-functional (balanced… no single person responsible for a thing). They are full time owners of system,

Team self evaluates with health metrics
    Deployment frequency
    Lead time
    Change failure rate
    Mean time to restore service)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Characteristics of an Enabling Team

A

Composed of specialists in a given technical domain to help bridge capability gap for other teams.

Proactively seeks to understand needs of stream-aligned teams. Jointly agreeing when more collaboration is needed.

Team stays ahead of the curve in keeping abreast of new approaches, tooling and practices in their area of expertise.

Goal is to increase autonomy of stream aligned teams.

Focus on Research and Experimentation and make recommendations on tooling, frameworks and ecosystem choices. Includes notifying stream-aligned teams of important updates (e.g. framework updates, EOL, etc).

Generally limited engagement with defined “expiry” date where other team can take over task.

Promote learning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Characteristics of a Complicated Subsystem Team

A

Responsible for maintaining part of a system that depends on specific skills and knowledge (e.g. billing, algorithms, ML). Teams are specialists.

High collaboration with stream aligned teams during early exploration and development phases.

Reduced interaction on subsystem interfaces and feature evolution and usage during later dev phases (e.g. subsystem stabilization).

Complicated subsystem delivery is higher than if/when the subsystem was being developed by stream aligned team (before decision to split).

Goal of the team is to reduce the cognitive load of stream-aligned teams who work on or use the subsystem.

Team prioritizes work based on needs of Steam Aligned team.

Teams should be used sparingly and should not be embedded into stream-aligned teams.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Characteristics of a Platform Team

A

Platform teams enable stream aligned teams to deliver work with substantial autonomy. Platform teams provide internal services that stream aligned teams can use.

Strong collaboration with stream aligned teams.

Fast prototyping techniques involving stream aligned teams for fast feedback.

Strong focus on usability and reliability for their services.

Lead by example (dog food their own services)

Platform teams create capabilities to be used by multiple stream aligned teams with little overhead. This minimizes cognitive load of stream aligned teams.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Collaboration Mode: Pros and Cons

A

Advantages
Rapid innovation and discovery
Fewer hand offs

Disadvantages
Wide shared responsibility for each team
More detail/context needed between teams, leading to higher cognitive load
Possible reduced output during collaboration compared to before

Constraint
Mode should only be used with one team at a time.

Typical Uses:
Stream Aligned teams working with Complicated Subsystem Teams;
Stream Aligned teams working with Platform Teams;
Complicated Subsystem Teams working with Platform Teams

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

X-as-a-Service Mode: Pros and Cons

A

Advantages
Clarity of ownership with clear responsibility boundaries
Reduced detail/context needed between teams, so cognitive load is limited

Disadvantages
Slower innovation of the boundary or API
Danger of reduced flow if the boundary or API is not effective

Constraint:
Team should expect to use X-as-a-Service interaction with many other teams simultaneously whether consuming or providing a service.

Typical Uses:
Steam aligned teams and complicated subsystem teams consuming Platform-as-a-Service;
Steam aligned teams and complicated subsystem teams using a component or library as a service from a complicated subsystem team.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Facilitation Mode: Pros and Cons

A

Advantages
Unblocking of stream aligned teams to increase flow
Detection of gaps and misaligned capabilities or features in components and platforms

Disadvantages
Requires experienced staff to not work on “building” or “running” things
The interaction may be unfamiliar or strange to one or both teams involved in facilitation.

Constraints
A team should use mode with a small number of teams simultaneously.

Typical Uses
Enabling team helping any other team
Any team helping a Stream Aligned team.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

5 Steps: Getting Started with Team Topologies

A
  1. Start with the Team
  2. Identify Suitable Streams of Change
  3. Identify Thinnest Viable Platform
  4. Identify Capability Gaps in Team Coaching, Mentoring, Service Management and Documentation
  5. Share and Practice Interaction Modes and Explain New Ways of Working
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Step 1: Start with the Team

A
What does team need to:
Act and operate as an effective team?
Own part of the software effectively?
Focus on meeting the needs of users?
Reduce unnecessary cognitive load?
Consume and provide software and information to other teams?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Step 2: Identify Suitable Streams of Change

A

Choosing streams to act as pipes for most important flow

Streams might be:
Citizen tasks for government online services
Business banking products
Online ticket purchasing
Regional products
Market segment
17
Q

Step 3: Identify Thinnest Viable Platform

A

Identify the services needed to support a reliable, swift flow of change in the selected streams from Step 2.

This will evolve over time. Key parts for good platform:
Technology
Roadmaps
Guided Evolution
Clear Documentation
Concern for DevEx
Appropriate Encapsulation of underlying complexity

18
Q

Step 4: Identify Capability Gaps in Team Coaching, Mentoring, Service Management and Documentation

A
Capabilities Needed:
Team Coaching
Mentoring (especially senior staff)
Service Management (all teams)
Well Written Documentation
Process Improvement
19
Q

Step 5: Share/Practice Interaction Modes and Explain New Ways of Working

A

Explain and demonstrate interaction modes
Explain why some teams are closer and some teams are further apart
Explain basics of Conway’s Law
Explain how conscious design of teams can improve architecture by restricting the solution search space and saving time and effort for everyone.
Focus on team and limits on cognitive load
Limit free for communication and noise in office space
Identify the focus on fast flow of change supported by Thinnest Viable Platform.