Fulfillment Frontend Team Changes
Background
This document contains discussion about the team structure for the Fulfillment Frontend team and the Fulfillment groups https://gitlab.com/gitlab-org/fulfillment-meta/-/issues/222
What’s Changing
The current Fulfillment:Purchase Frontend team of 6 Frontend Engineers will be split evenly (2-2-2) across the Fulfillment groups resulting in 2 Frontend Engineers being assigned to each group. There will be no changes in reporting structure or managers, all Fulfillment Frontend Engineers will continue to report to Ragnar.
Before:
- Fulfillment:Purchase Frontend w/ 6 FE Engineers (@aalakkad, @agulina, @vitallium, @sheldonled, @mlunoe, @astoicescu)
- Fulfillment:Purchase Backend w/ 5 BE Engineers
- Fulfillment:Utilization Backend w/ 4 BE Engineers
- Fulfillment:License Backend w/ 6 BE Engineers
After:
- Fulfillment:Purchase w/ 5 BE Engineers and 2 FE Engineers (@aalakkad, @agulina)
- Fulfillment:Utilization w/ 4 BE Engineers and 2 FE Engineers (@vitallium, @sheldonled)
- Fulfillment:License w/ 6 BE Engineers and 2 FE Engineers (@mlunoe, @astoicescu)
Why are we making this change?
- It has been difficult for the Fulfillment groups to plan each milestone without dedicated Frontend capacity. By splitting the Frontend team across groups, each group will have dedicated FE capacity with more predictability.
- It has been difficult for Fulfillment PMs to prioritize work across groups. By splitting the Frontend team across groups, prioritization can now be done by a single PM within a group rather than by multiple PMs across the stage.
- The Fulfillment Purchase Frontend team is already handling Frontend work across all the Fulfillment groups rather than just for Purchase.
- Having Frontend and Backend Engineers operate as a single group will increase alignment across the specialties.
What other options did we consider?
- Several options were considered including keeping the status quo, having fullstack teams, and having a rotational team. Please see this table for details of what was considered https://gitlab.com/gitlab-org/fulfillment-meta/-/issues/222#trade-offs-table
How will this impact the career growth for Frontend Engineers?
We decided on the “team split with the same manager” option as it prioritized the career growth of Engineers. We believe this change will have minimal impact on career growth as:
- Frontend Engineers will continue to have the same dedicated manager supporting their career development with FE domain-specific knowledge.
- By being dedicated to a group, Frontend Engineers will now be able to go deeper in specific areas with more ownership over their work.
With this change in team structure, one thing we want to avoid is creating silos across the groups. Some of the ways we can proactively address this include:
- FE Team Syncs used to discuss FE specific topics such as architectural changes, code style, etc.
- FE Pairing Sessions used for FE Engineers across different groups to pair with each other.
- Code Reviews used for FE engineers across different groups to review each other's work to ensure consistency in quality, code style, etc.
- In the future, once teams have had a chance to specialize and develop expertise in their areas, we can also consider doing team rotations to provide more learning opportunities across different areas of the codebase.
What other teams are already using this structure?
The Plan FE and Verify FE teams are already using this structure. https://gitlab.com/gitlab-org/fulfillment-meta/-/issues/222#note_570051776
More Questions / AMA
We will be hosting two AMAs to answer any questions.
- EMEA / AMER Session: Thursday 2021-06-03 2:00PM GMT (5:00PM EET / 7:00AM PT / 10:00AM ET / 7:30PM IST / 2:00AM NZST / 12:00AM AEST) Zoom: https://gitlab.zoom.us/j/93446363442?pwd=NVVWVThhQ3RTcm16WkxwaFV0djladz09
- APAC / AMER Session: Thursday 2021-06-03 11:00PM GMT (2:00AM EET / 4:00PM PT / 7:00PM ET / 4:30AM IST / 11:00AM NZST / 9:00AM AEST) Zoom: https://gitlab.zoom.us/j/92258261684?pwd=bW9TQ3BGdXBYVkFSaEJOajdQNzFkUT09
- Calendar invite on the Fulfillment Calendar: https://calendar.google.com/calendar/embed?src=gitlab.com_7199q584haas4tgeuk9qnd48nc%40group.calendar.google.com&ctz=America%2FVancouver
- Agenda: https://docs.google.com/document/d/1Fv0uDhVmyKuPpobegostYw_J1OugD0Og4_WTr-6fnZM/edit#
Timeline and Tasks
-
2021-05-07 - Open discussion issue (@rhardarson) -
2021-05-25 - Make decision on team structure (@rhardarson, @jeromezng, @whaber, @justinfarris) -
2021-05-31 - Finalize announcement (@rhardarson, @jeromezng, @whaber, @justinfarris) -
2021-06-01 - Inform Fulfillment FE Engineers of team assignments (@rhardarson) -
2021-06-02 - Confirm all directly affected ICs have been informed (@jeromezng) -
2021-06-02 - Announce Fulfillment Frontend Team Changes in Slack (@jeromezng) -
2021-06-02 - Announce Fulfillment Frontend Team Changes in issue (@jeromezng) -
2021-06-03 - Transition plan AMA (@jeromezng, @rhardarson) -
2021-06-18 - Begin 14.1 milestone as a transition milestone -- we'll continue using a single FE board during this milestone (@rhardarson) -
2021-07-15 - Transition FE Engineers to dedicated groups (@rhardarson) -
2021-07-15 - PMs begin splitting single FE board into group-specific FE boards (@amandarueda, @teresatison, @tgolubeva) -
2021-07-17 - Begin 14.2 milestone with dedicated groups -- we'll be using group-specific FE boards (@rhardarson)