As an organization, we are continually exploring methods for working together to deliver the highest value we can for our customers while striving for efficiency and reducing toil internally. As we've grow and work with increasingly complex systems, we adjust our workflows to improve direction, visibility, and reduce the pressure of delivery to manageable levels for everyone involved.
The organizational structure we currently follow borrows the concept of pods from the Kubernetes world and applies it to working groups. Pods should be reasonably autonomous but are required to share context with other pods through established communication interfaces. Pods are created to deliver on a set of related features and have no predefined lifetime beyond a focus on quarterly objectives.
The pods that closely collaborate in engineering sprints are:
Pods are aligned towards objectives, and may nominate a rotating pod leader responsible for aligning the pod's members to that objective, sharing context with other pods and stakeholders, and arranging for breakout meetings to resolve blockers or technical decision forks.
Pod Leader Responsibilities¶
Depending on the strategy for a particular quarter, pods may elect a leader role. This role:
- Acts as the communication lead for pod when interfacing with the other pods and stakeholders:
- Can speak to stakeholders re: pod progress, priorities, constraints, blockers
- Works with PM/SM to produce summary of work completed for sprint review meeting
- Facilitates pod input on sprint backlog, goals, and OKR deliverables
- Represents the pod in meetings with other pods