Merge "Reviewing the PTL document for accessibility"
This commit is contained in:
commit
ce15127abc
@ -1,50 +1,72 @@
|
||||
==========================================
|
||||
Project Team Lead (PTL) Responsibilities
|
||||
==========================================
|
||||
==================================
|
||||
Becoming a Project Team Lead (PTL)
|
||||
==================================
|
||||
|
||||
Have you been approached about becoming a Project Team Lead (PTL) for an
|
||||
OpenStack project?
|
||||
Are you considering running for PTL and are unsure about the workload?
|
||||
Are you speaking with your management about the benefits of running for
|
||||
PTL and your potential candidacy?
|
||||
Or, does the project you have been working on not have a candidate for the
|
||||
upcoming PTL election?
|
||||
|
||||
If any of the above is true, the following document is designed to help you
|
||||
understand the responsibilities that a PTL of an Openstack project is
|
||||
expected to undertake.
|
||||
|
||||
So you want to be a PTL? Here is a list of items that you can expect to perform.
|
||||
This document is meant to serve as a general guide for current and future PTLs.
|
||||
It is not all encompassing, nor are all sections required, it is simply a guide
|
||||
that you may refer to. Each OpenStack project is different and will release,
|
||||
plan, and delegate differently, too.
|
||||
that you may refer to. Each OpenStack project is different and releases,
|
||||
plans, and delegates differently.
|
||||
|
||||
If you are unfamiliar with some of the concepts, terms, or action items
|
||||
suggested below, do not hesitate to reach out to the current PTL of your
|
||||
project. If you are unable to do so, you can reach out to any of the
|
||||
members of `the current serving Technical Committee (TC) <https://governance.openstack.org/tc/>`_
|
||||
for further guidance on next steps.
|
||||
|
||||
Weekly Tasks
|
||||
============
|
||||
.. important::
|
||||
|
||||
#. Organize the team meeting agenda. Most teams will use a wiki or etherpad.
|
||||
It is important to note that there is a lot of content in this document
|
||||
that can be considered an overwhelming amount of work. We (the community)
|
||||
recommend that any individual considering running for PTL is fully aware
|
||||
of the responsibilities, and is comfortable delegating any tasks if they
|
||||
are unable to fulfill the entire spectrum of tasks.
|
||||
|
||||
Recurrent tasks
|
||||
===============
|
||||
|
||||
The recurrent tasks outlined below are a minimum expectation that the community
|
||||
believes the serving PTL should be capable of as the serving team leader.
|
||||
|
||||
Keep in mind that the items listed below are *optional* and dependent entirely
|
||||
on your team's function.
|
||||
|
||||
#. Organize the team meeting agenda. Most teams use a wiki or etherpad.
|
||||
|
||||
.. note::
|
||||
|
||||
Not all teams require a weekly meeting. This is a recommended cadence.
|
||||
|
||||
#. Follow the weekly `[release]` guidelines email to keep track of the
|
||||
development cycle tasks (unless you have an appointed release liaison to
|
||||
follow it for you). It is also very useful to subscribe into the `release
|
||||
follow it for you). It is also useful to subscribe to the `release
|
||||
calendar`_.
|
||||
|
||||
#. Attend Technical Committee and Cross-Project meetings when possible. For
|
||||
#. Attend relevant cross-project meetings when possible. For
|
||||
more information see `meetings`_.
|
||||
|
||||
#. If the team does not have an appointed bug czar, then perform a bug triage.
|
||||
Ensure all `new` bugs that have been reported are triaged. The below is a
|
||||
URL to view all `new` bugs for keystone.
|
||||
|
||||
::
|
||||
|
||||
https://bugs.launchpad.net/keystone/+bugs?orderby=status&start=0
|
||||
|
||||
#. If the team does not have an appointed bug czar, then remember to also
|
||||
tag bugs accordingly. The below is a URL to view all untagged bugs for
|
||||
keystone.
|
||||
|
||||
::
|
||||
|
||||
https://bugs.launchpad.net/keystone/+bugs?field.tag=-*
|
||||
#. The PTL should make sure the team regularly triages incoming bugs. For example,
|
||||
to view all `new` bugs for `keystone <https://bugs.launchpad.net/keystone/+bugs?orderby=status&start=0>`_
|
||||
on Launchpad or `Ironic <https://storyboard.openstack.org/#!/project/openstack/ironic>`_
|
||||
on Storyboard.
|
||||
|
||||
|
||||
Core member maintenance
|
||||
=======================
|
||||
|
||||
This will vary greatly from team to team, but here is a general guide you may
|
||||
consider.
|
||||
|
||||
This will vary greatly from team to team, but the following provides a general
|
||||
guide you may consider.
|
||||
|
||||
Criteria when considering new cores
|
||||
-----------------------------------
|
||||
@ -87,10 +109,6 @@ Once a person is ready, perform the following:
|
||||
|
||||
#. Announce new core member on mailing list
|
||||
|
||||
#. Give them voice on IRC (if applicable)::
|
||||
|
||||
/msg chanserv flags <room> <irc_handle> +V
|
||||
|
||||
#. Add them to the project drivers group in launchpad.
|
||||
|
||||
#. Update the core team in Gerrit.
|
||||
@ -99,7 +117,8 @@ Once a person is ready, perform the following:
|
||||
Criteria when removing new cores
|
||||
---------------------------------
|
||||
|
||||
#. Is the core reviewer reviewing enough? Use data (i.e. stackalytics) to
|
||||
#. Is the core reviewer reviewing enough? Use data (i.e. `stackalytics <https://www.stackalytics.com/>`_
|
||||
or `reviewstats <https://github.com/openstack/reviewstats>`_) to
|
||||
determine if the core reviewer is among the other core members in terms of
|
||||
overall review count.
|
||||
|
||||
@ -115,10 +134,6 @@ Criteria when removing new cores
|
||||
At the beginning of a new cycle
|
||||
===============================
|
||||
|
||||
#. Add placeholder migrations, these should be the first things to merge once
|
||||
the n-1 stable branch has been created. *Do not merge any migrations before
|
||||
this is done*
|
||||
|
||||
#. Appoint `cross project liaisons`_ (Docs, release, QA, Oslo, etc.).
|
||||
|
||||
#. Appoint `FirstContact SIG liaisons`_ (By default, the liaison will be the PTL).
|
||||
@ -135,7 +150,10 @@ At the beginning of a new cycle
|
||||
#. Track removed and deprecated features, for example using
|
||||
`deprecated-as-of-<series>` and `removed-as-of-<series>` blueprints.
|
||||
|
||||
#. Organize the specifications page.
|
||||
#. Organize the specifications page (if any).
|
||||
|
||||
#. If the TC has approved community goals, check the relevance of the goal to
|
||||
the project and assess work items for the team.
|
||||
|
||||
|
||||
During the cycle
|
||||
@ -143,14 +161,24 @@ During the cycle
|
||||
|
||||
#. Help first time contributors, they will be struggling the most.
|
||||
|
||||
.. note::
|
||||
|
||||
It is not your job as a PTL to full-time mentor an individual. If a
|
||||
new contributor is significantly struggling, point them in the direction
|
||||
of the `First Contact SIG <https://wiki.openstack.org/wiki/First_Contact_SIG>`_
|
||||
(#openstack-upstream-institute on IRC) so they can receive appropriate onboarding.
|
||||
|
||||
#. Lack of reviews? Reach out to the core team and remind them.
|
||||
|
||||
#. Release libraries as necessary but don't wait too long! Some teams will
|
||||
release after 4 weeks even if the changes are minor. *More often is
|
||||
better than less often.*
|
||||
#. `Release libraries as necessary <https://releases.openstack.org/reference/release_models.html#cycle-with-intermediary>`_,
|
||||
but don't wait too long! Some teams will release after 4 weeks even if the changes are
|
||||
minor. *More often is better than less often.*
|
||||
|
||||
Conference and event tasks
|
||||
==========================
|
||||
|
||||
Before the Forum
|
||||
================
|
||||
----------------
|
||||
|
||||
#. Start an etherpad to brainstorm potential session topics. For example:
|
||||
http://lists.openstack.org/pipermail/openstack-dev/2017-March/114123.html
|
||||
@ -159,7 +187,7 @@ Before the Forum
|
||||
every session, prime the content. List these etherpads in the Wiki.
|
||||
|
||||
During the Forum
|
||||
================
|
||||
----------------
|
||||
|
||||
#. Reach out to potential new contributors to the project, participate in
|
||||
project on-boarding sessions.
|
||||
@ -174,6 +202,42 @@ During the Forum
|
||||
#. After the discussion, post a summary of the session outcome to the ML, for the
|
||||
benefit of those who could not be present.
|
||||
|
||||
#. Towards the end of the Forum, ensure a summary of all discussions are sent to the ML for
|
||||
individuals who did not attend the event.
|
||||
|
||||
Before the PTG
|
||||
--------------
|
||||
|
||||
#. Decide if your team will hold a team meeting at the PTG, and communicate
|
||||
with the events organizers. An email is sent out beforehand by the
|
||||
Foundation - keep an eye out.
|
||||
|
||||
#. If your team gathers at the PTG, create an etherpad to dynamically build
|
||||
the room agenda, and list it on the event wiki page.
|
||||
|
||||
#. Create a tentative time schedule so that people from other projects who are interested
|
||||
in a certain topic know when to join in the discussion.
|
||||
|
||||
During the PTG
|
||||
--------------
|
||||
|
||||
#. Be as flexible as possible, attend inter-project sessions as appropriate.
|
||||
|
||||
#. Keep the event schedule up to date on what the current topics of discussion
|
||||
in your team room is.
|
||||
|
||||
#. Towards the end of the PTG, ensure a summary of all discussions are sent to the ML for
|
||||
individuals who did not attend the event.
|
||||
|
||||
Attending events
|
||||
----------------
|
||||
|
||||
Whilst attending the Summit and PTG as a PTL is preferential, it is not the
|
||||
end of the world if you are unable to do so for personal or professional reasons.
|
||||
The community is here to support you, and is available to help plan
|
||||
team orientated events and tasks if you are unable to make the trip.
|
||||
|
||||
If you are unable to attend, see our section on `How to successfully delegate`_.
|
||||
|
||||
At the end of the cycle
|
||||
=======================
|
||||
@ -181,10 +245,8 @@ At the end of the cycle
|
||||
#. Clean up release notes.
|
||||
|
||||
#. Coordinate with the `release management`_ team for deliverables, unless a
|
||||
liaison has been appointed
|
||||
|
||||
#. Expect queries from the release marketing staff to name release highlights
|
||||
and major features
|
||||
liaison has been appointed and make sure release-highlights are documented in
|
||||
the release files.
|
||||
|
||||
#. Perform a retrospective via an etherpad. Suggested sections include:
|
||||
`What went well?`, `What didn't go well`.
|
||||
@ -193,27 +255,11 @@ At the end of the cycle
|
||||
Horizon support? Client bindings? CLI support? Documentation? Does the
|
||||
install guide need to be updated?
|
||||
|
||||
|
||||
Before the PTG
|
||||
==============
|
||||
|
||||
#. Decide if your team will hold a team meeting at the PTG, and communicate
|
||||
with the events organizers
|
||||
|
||||
#. If your team gathers at the PTG, create an etherpad to dynamically build
|
||||
the room agenda, and list it on the event wiki page.
|
||||
#. Ensure documentation is up-to-date with any major changes that were
|
||||
implemented throughout the cycle.
|
||||
|
||||
|
||||
During the PTG
|
||||
==============
|
||||
|
||||
#. Be flexible, attend inter-project sessions as appropriate.
|
||||
|
||||
#. Keep the event schedule up to date on what the current topics of discussion
|
||||
in your team room is.
|
||||
|
||||
|
||||
Collecting Feedback
|
||||
Collecting feedback
|
||||
===================
|
||||
|
||||
Collecting feedback from users and operators is an essential step for
|
||||
@ -221,19 +267,19 @@ incrementally improving software. Anyone can collect feedback, but sometimes it
|
||||
falls on the shoulders of the PTL to facilitate open lines of communication.
|
||||
The following are a few ways you can do that.
|
||||
|
||||
Mailing Lists
|
||||
Mailing lists
|
||||
-------------
|
||||
|
||||
Our community has several mailing lists, though most usage, operations and
|
||||
development discussions take place on the openstack-discuss_ mailing list
|
||||
Our community has several mailing lists. Most usage, operations and
|
||||
development discussions take place on the openstack-discuss_ mailing list,
|
||||
making it a great place to ask for feedback. An advantage of using mailing
|
||||
lists is that responses are logged making it easy to reference them later. You
|
||||
also don't have to wait for a specific time or place to use mailing lists,
|
||||
making it easy to attempt to collect feedback in a pinch or when a formal
|
||||
setting isn't feasible.
|
||||
|
||||
User Surveys
|
||||
------------
|
||||
User survey
|
||||
-----------
|
||||
|
||||
The Foundation puts together a survey for users and operators. The Foundation
|
||||
shares the results with PTLs, who can then disseminate the knowledge to others
|
||||
@ -245,7 +291,7 @@ status of what the team is doing. If you're not sure what's being asked in the
|
||||
survey or want to update the project-specific survey questions, reach out to
|
||||
someone from the Foundation.
|
||||
|
||||
User Committee
|
||||
User committee
|
||||
--------------
|
||||
|
||||
The User Committee is an elected body within the community that helps
|
||||
@ -254,7 +300,7 @@ things your project wants feedback on, but you're not sure how or where to
|
||||
start, the User Committee can help. They hold `weekly meetings`_ on IRC, and
|
||||
they can help you come up with a plan for collecting feedback.
|
||||
|
||||
PTG Sessions
|
||||
PTG sessions
|
||||
------------
|
||||
|
||||
Occasionally, you might find operators or users at Project Team Gatherings. You
|
||||
@ -262,7 +308,7 @@ can set up timeslots on your projects agenda, inviting them to share feedback
|
||||
with developers. If an official time slot doesn't make its way into the
|
||||
schedule, hallway discussions are good ways to collect quick feedback.
|
||||
|
||||
Forum Sessions
|
||||
Forum sessions
|
||||
--------------
|
||||
|
||||
It isn't uncommon to find more operators and users at Summits and Forums than
|
||||
@ -288,8 +334,8 @@ result in a follow-up afterward or an interesting hallway discussion.
|
||||
Stable
|
||||
======
|
||||
|
||||
Alternatively, the responsibilities in this section can be delegated to a
|
||||
local stable maintenance czar.
|
||||
Alternatively, the responsibilities in this section can be delegated to an
|
||||
individual to manage local stable maintenance.
|
||||
|
||||
#. Ensure the stable branches gates are not broken.
|
||||
|
||||
@ -297,7 +343,6 @@ local stable maintenance czar.
|
||||
when a critical fix is backported, or sufficient smaller fixes have
|
||||
landed.
|
||||
|
||||
|
||||
One offs
|
||||
========
|
||||
|
||||
@ -307,6 +352,111 @@ When necessary, the following can be performed at unscheduled times.
|
||||
|
||||
#. API sprints
|
||||
|
||||
Tips and tricks
|
||||
===============
|
||||
|
||||
Now that this document has told you everything you could be doing, here are
|
||||
some community tips on what you can do to help make your experience as an
|
||||
OpenStack project leader better.
|
||||
|
||||
If you can think of anything else that might be helpful, do not hesitate
|
||||
to clone the `project-team-guide` repo from `OpenDev <https://opendev.org/openstack/project-team-guide>`_
|
||||
and submit an addition.
|
||||
|
||||
- Ensuring your email filters are setup to catch anything with `[ptl]` or
|
||||
your project name in the subject header.
|
||||
|
||||
- Join the #openstack-tc IRC channel if you have not already for discussion
|
||||
on community goals or anything relevant to your project.
|
||||
|
||||
- Join the #openstack-release channel, even if you have a release liaison.
|
||||
|
||||
- Project update emails: An optional extra for when you're getting into the
|
||||
swing of things. Providing an occasional project team update email to the
|
||||
openstack-discuss mailing list is a great way to keep part-time contributors
|
||||
informed of the changes occurring within the project. For example, the Keystone
|
||||
team provides updates weekly: http://lists.openstack.org/pipermail/openstack-discuss/2019-June/006799.html
|
||||
|
||||
- Set aside time during the weekly meeting to look at the oldest outstanding review
|
||||
in the project. The resulting action should be one of the following: the patch is
|
||||
merged, -1'd, or someone is assigned to follow up if the review cannot be completed
|
||||
in real time. This is a great way to reduce significant backlogs and potential
|
||||
technical debt.
|
||||
|
||||
- Courtesy pings in IRC meetings: Everyone lives busy lives outside of the
|
||||
community. Coming up with a way to ping team members who are interested in
|
||||
attending team meetings is a helpful addition.
|
||||
|
||||
Another way to do this is to encourage team members to configure their
|
||||
IRC client to highlight on a specific keyword. For example `#startmeeting <PROJECT>`
|
||||
or `foo-team`.
|
||||
|
||||
- Manage priority reviews. This can be done by adding a review priority column in Gerrit or
|
||||
maintaining the priority `blueprint <https://blueprints.launchpad.net/>`_ in a spec repo.
|
||||
Here is an example from the Cinder team implemented the review priority
|
||||
column: https://review.opendev.org/#/c/620664/
|
||||
|
||||
How to successfully delegate
|
||||
----------------------------
|
||||
|
||||
Delegating is a large part of your role as an OpenStack PTL. There are numerous tasks
|
||||
and we know how difficult it can be to keep up with it all. Some projects are more
|
||||
fortunate than others, having multiple people around to delegate to, however this is
|
||||
not always the case - no matter the size of the project.
|
||||
|
||||
The following are some tips and tricks derived from community members to help you
|
||||
delegate:
|
||||
|
||||
- Reach out to team members on IRC or the mailing lists - everyone communicates
|
||||
differently.
|
||||
|
||||
- Detail your ask. Vague requests tend to go ignored because people have their own
|
||||
workloads. But if you need someone to host a team meeting, summarize the forum or
|
||||
PTG, or even fix a bug, details are key to getting results.
|
||||
|
||||
- Don't wait until the last minute to ask for help. If you've got a big project on
|
||||
horizon, find someone to help at the beginning - even if that person is to be your
|
||||
backup if things fall through.
|
||||
|
||||
If you can't find a delegate, it is okay to let things go. It is not the upmost
|
||||
importance to have a team meeting, or plan everything perfectly. Here are some tips
|
||||
to help you deal with being unable to delegate tasks:
|
||||
|
||||
- Do not be afraid to reach out to other project teams, the TC, or the UC for help.
|
||||
The TC and the UC are designed to provide guidance and support where possible.
|
||||
|
||||
- Don't be a hero. Ensure people are aware that you are having troubles and some deliverables
|
||||
might not be met. We care about our community members, and it's important that you feel
|
||||
supported, and not crushed.
|
||||
|
||||
Handing over PTL duties
|
||||
=======================
|
||||
|
||||
Are you thinking of moving on? Hoping to encouraging healthy rotation in the role?
|
||||
Perhaps you've decided you've had enough and you're burnt out. Or perhaps you're
|
||||
moving to a new role or company and OpenStack is no longer your work priority.
|
||||
There are a myriad of reasons why someone would need or want to move on from
|
||||
the PTL position. While the community would be sad to see you step down, it is
|
||||
part of the lifecycle of the position and it's often a positive change to see new
|
||||
people and new ideas into leadership positions.
|
||||
|
||||
Handing over the PTL position is not easy, it's not as simple as pinging someone
|
||||
who is an active contributor and asking if they're interested or not. The main thing
|
||||
is to get the individual up to speed on the content covered in this document, as it
|
||||
may be things they have not encountered yet.
|
||||
|
||||
.. note::
|
||||
|
||||
There are some important bits of information to pass on, but you're never going
|
||||
to have a complete knowledge transfer. This is okay!
|
||||
|
||||
To make that process a little bit easier for you, and for them, offer PTL mentoring
|
||||
before stepping down. If you know that your situation is going to change in advance,
|
||||
why not reach out to the whole team and ask who is interested and if you could mentor
|
||||
them in the last few months?
|
||||
|
||||
If there are no takers, reach out to the OpenStack TC before stepping down so they
|
||||
are aware of the current situation and can step in to help.
|
||||
|
||||
.. _meetings: http://docs.openstack.org/project-team-guide/cross-project.html#meetings
|
||||
.. _release calendar: https://releases.openstack.org/schedule.ics
|
||||
|
Loading…
Reference in New Issue
Block a user