tripleo-specs/specs/policy/squads.rst
Emilien Macchi 252b3a3d9e Create a new squad for Python 3
Porting TripleO projects to support Python 3.5 represents some amount of
work and will require collaboration between folks working on this topic.
Having a squad would help to make this collaboration official and we'll
probably setup some tools (etherpad, meeting, etc) to track the work
done on $topic.

Change-Id: Ia6c67aa1eb2bb9ee19d9442bd22cc456c009a643
2017-01-25 12:11:32 -05:00

6.5 KiB

TripleO Squads

Scaling-up a team is a common challenge in OpenStack. We always increase the number of projects, with more contributors and it often implies some changes in the organization. This policy is intended to document how we will address this challenge in the TripleO project.

Problem Description

Projects usually start from a single git repository and very often grow to dozen of repositories, doing different things. As long as a project gets some maturity, people who work together on a same topic needs some space to collaborate the open way. Currently, TripleO is acting as a single team where everyone meets on IRC once a week to talk about bugs, CI status, release management. Also, it happens very often that new contributors have hard time to find an area of where they could quickly start to contribute. Time is precious for our developers and we need to find a way to allow them to keep all focus on their area of work.

Policy

The idea of this policy is to create squads of people who work on the same topic and allow them to keep focus with low amount of external distractions.

  • Anyone would be free to join and leave a squad at will. Right now, there is no size limit for a squad as this is something experimental. If we realize a squad is too big (more than 10 people), we might re-consider the focus of area of the squad.
  • Anyone can join one or multiple squads at the same time. Squads will be documented in a place anyone can contribute.
  • Squads are free to organize themselves a weekly meeting.
  • #tripleo remains the official IRC channel. We won't add more channels.
  • Squads will have to choose a representative, who would be a squad liaison with TripleO PTL.
  • TripleO weekly meeting will still exist, anyone is encouraged to join, but topics would stay high level. Some examples of topics: release management; horizontal discussion between squads, CI status, etc. The meeting would be a TripleO cross-projects meeting.

We might need to test the idea for at least 1 or 2 months and invest some time to reflect what is working and what could be improved.

Benefits

  • More collaboration is expected between people working on a same topic. It will reflect officially what we have nearly done over the last cycles.
  • People working on the same area of TripleO would have the possibility to do public and open meetings, where anyone would be free to join.
  • Newcomers would more easily understand what TripleO project delivers since squads would provide a good overview of the work we do. Also it would be an opportunity for people who want to learn on a specific area of TripleO to join a new squad and learn from others.
  • Open more possibilities like setting up mentoring program for each squad, or specific docs to get involved more quickly.

Challenges

  • We need to avoid creating silos and keep horizontal collaboration. Working on a squad doesn't meen you need to ignore other squads.

Squads

The list tends to be dynamic over the cycles, depending on which topics the team is working on.

Here's a proposal for Ocata:

Squad Description
ci Group of people focusing on Continuous Integration tooling and system
ui/cli Group of people focusing on TripleO UI and CLI
upgrade Group of people focusing on TripleO upgrades
validations Group of people focusing on TripleO validations tooling
workflows Group of people focusing on TripleO Workflows
containers Group of people focusing on TripleO deployed in containers
networking Group of people focusing on networking bits in TripleO
integration Group of people focusing on configuration management (eg: services)
python3 Group of people focusing on porting TripleO projects to Python 3.5

Note

Note about CI: the squad is about working together on the tooling used by OpenStack Infra to test TripleO, though every squad has in charge of maintaining the good shape of their tests.

Alternatives & History

One alternative would be to continue that way and keep a single horizontal team. As long as we try to welcome in the team and add more projects, we'll increase the problem severity of scaling-up TripleO project. The number of people involved and the variety of topics that makes it really difficult to become able to work on everything.

Implementation

Author(s)

Primary author:

emacchi

Milestones

Ocata-1

Work Items

  • Work with TripleO developers to document the area of work for every squad.
  • Document the output.
  • Document squads members.
  • Setup Squad meetings if needed.
  • For each squad, find a liaison or a squad leader.

Note

This work is licensed under a Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/3.0/legalcode