Skip to content
Snippets Groups Projects
Commit 7cc7e8f2 authored by Sam Beckham's avatar Sam Beckham 🔴
Browse files

Merge branch 'foundations-team-split' into 'main'

Moves foundations pages up to a stage

See merge request !7767
parents fe76183b 19828853
No related branches found
No related tags found
1 merge request!7767Moves foundations pages up to a stage
Pipeline #1411510614 passed
Showing
with 185 additions and 136 deletions
......@@ -136,8 +136,10 @@
/content/handbook/engineering/development/dev/create/editor-extensions.md @dashaadu @kisha.mavryck
/content/handbook/engineering/development/dev/create/remote-development/ @adebayo_a
/content/handbook/engineering/development/dev/manage/ @wortschi @m_gill @mksionek
/content/handbook/engineering/development/dev/manage/foundations/ @samdbeckham @tauriedavis
/content/handbook/engineering/development/dev/manage/import-and-integrate/ @wortschi
/content/handbook/engineering/development/dev/foundations/ @m_gill @samdbeckham @wortschi
/content/handbook/engineering/development/dev/foundations/design-system @samdbeckham
/content/handbook/engineering/development/dev/foundations/import-and-integrate/ @wortschi
/content/handbook/engineering/development/dev/foundations/personal-productivity @samdbeckham
/content/handbook/engineering/development/dev/plan/ @donaldcook @timzallmann @johnhope @kushalpandya @blabuschagne @vshushlin
/content/handbook/engineering/development/dev/plan/knowledge.md @vshushlin
/content/handbook/engineering/development/dev/plan/optimize.md @blabuschagne
......
## Fifth week of focus
With our [release schedule](/handbook/engineering/workflow/#product-development-timeline) our milestones are either four or five weeks long.
To make planning more predictable and encourage experimentation, we treat the fifth week of any longer milestone as a week of focus.
During this week, our engineers are encouraged to work on a project of their own choosing.
It could be starting a proof-of-concept, learning a new skill, burning down neglected issues, writing a blog post, or something else.
The only requirement is that it contributes to the team, or their personal development.
We trialled this as an [OKR](https://gitlab.com/gitlab-com/gitlab-OKRs/-/work_items/5528) in December 2023 and it was a great success.
The upcoming five week milestones are:
- Aug 09, 2024 - Sep 13, 2024
- Oct 11, 2024 - Nov 14, 2024
- Jan 10, 2025 - Feb 13, 2025
- Apr 11, 2025 - May 15, 2025
<!--
- Jul 11, 2025 - Aug 14, 2025
- Oct 10, 2025 - Nov 13, 2025
- Dec 12, 2025 - Jan 15, 2026
- Apr 10, 2026 - May 14, 2026
- Jul 10, 2026 - Aug 13, 2026
- Oct 09, 2026 - Nov 12, 2026
- Jan 08, 2027 - Feb 11, 2027
-->
#### How we weight issues
We use a Fibonacci scale and in terms of complexity, we use [this table](https://www.scrum.org/resources/blog/practical-fibonacci-beginners-guide-relative-sizing) from Practical Fibonacci.
**Foundations weighting scale:**
- **0 - Little to no effort is required** Something that would be quicker to do than it was to create the issue.
- **1 - Extra small.** The engineers feel they understand most requirements and consider it relatively easy, probably the smallest item in the milestone and mostly likely completed in one day.
- **2 - Small.** A little bit of thought, effort, or problem-solving is required, but the engineers have confidence in the requirements.
- **3 - Average.** Engineers have done this a lot; they know what needs to be done. There may be a few extra steps, but that's it.
- **5 - Large.** This is complex work, or the engineers don't do this very often. Most engineers will need assistance from someone else on the team. This is probably one of the largest items that can be completed within a milestone.
- **8 - Extra Large.** This is going to take some time and research and probably more than one engineer to complete within the milestone. At this size, we should be looking at how we can split this into smaller issues/tasks.
- **13+ - Ludicrous!** This issue is far too complex, large, or under-defined. Anything with a weight of this size should go back to `~workflow::refinement` to be refined and split into more manageable chunks.
---
title: Foundations Stage
description: The Foundations stage deals with cross functional work from the design system, to importers, to the navigation.
---
## About
We're the Foundations stage!
We're new here, and are building out this page so there's not much to see here.
In the mean-time, check out our groups' pages below.
## Teams
- [Foundations:Design System](design-system)
- [Foundations:Import and Integrate](import-and-integrate)
- [Foundations:Personal Productivity](personal-productivity)
## Metrics
{{< tableau height="600px" toolbar="hidden" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/TopEngineeringMetrics/TopEngineeringMetricsDashboard" >}}
{{< tableau/filters "STAGE_LABEL"="foundations" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/MergeRequestMetrics/OverallMRsbyType_1" >}}
{{< tableau/filters "STAGE_LABEL"="foundations" >}}
{{< /tableau >}}
---
title: Design System Engineering Team
description: The Design System Engineering team is responsible for work relating to our design system, Pajamas.
---
## About
We're the Design System team and we are part of the [Foundations Stage](/handbook/product/categories/#foundations-stage).
We hope it's a good entry point to learn more about who we are and what we do.
## Team Members
{{% stable-counterparts role="Foundations:Design System" %}}
## What do we work on?
<!-- TODO: Pull this from the product side -->
- **Design System** ([Direction Page](https://about.gitlab.com/direction/manage/foundations/design_system/))
We are currently focused on integrating our design system, [Pajamas](https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com), into the GitLab product.
We perform an accessibility audit on each component and make sure that our implementations in [GitLab UI](https://gitlab.com/gitlab-org/gitlab-ui) and [GitLab](https://gitlab.com/gitlab-org/gitlab) match the desired user experience, guidelines, and visual design.
The Design System team does the preparation work necessary so that other Engineers at GitLab and members from the wider community can help out with these efforts.
## Communication
To get in touch with the Design System team, it's best to create an issue in the relevant project (typically [GitLab](https://gitlab.com/gitlab-org/gitlab), [Pajamas](https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com) or [GitLab UI](https://gitlab.com/gitlab-org/gitlab-ui)) and add the `~"group::design system"` label, along with any other appropriate labels.
Then, ping the relevant Product Manager and/or Engineering Manager (see [team members](#team-members)).
For more urgent items or if you are unsure who to ask, ping `@gitlab-org/foundations/design-system` or use [#g_pajamas-design-system](https://gitlab.slack.com/archives/CDNNDD1T3) on Slack (internal only).
## How do we work?
In general, we use the standard GitLab [Product Development Flow](/handbook/product-development-flow/). Here are some specific workflows we use:
{{% include "includes/engineering/foundations/weighting_scale.md" %}}
{{% include "includes/engineering/foundations/fifth_week_of_focus.md" %}}
## Metrics
{{< tableau height="600px" toolbar="hidden" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/TopEngineeringMetrics/TopEngineeringMetricsDashboard" >}}
{{< tableau/filters "GROUP_LABEL"="design system" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/MergeRequestMetrics/OverallMRsbyType_1" >}}
{{< tableau/filters "GROUP_LABEL"="design system" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/Flakytestissues/FlakyTestIssues" >}}
{{< tableau/filters "GROUP_NAME"="design system" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/SlowRSpecTestsIssues/SlowRSpecTestsIssuesDashboard" >}}
{{< tableau/filters "GROUP_LABEL"="design system" >}}
{{< /tableau >}}
---
title: "Manage Import and Integrate Group"
title: Import and Integrate Group
description: The Import and Integrate facilitates migrations, third-party integrations, and API use.
---
## About
The Import and Integrate group is a part of the [Manage Stage](/handbook/product/categories/#manage-stage).
The Import and Integrate group is a part of the [Foundations Stage](/handbook/product/categories/#foundations-stage).
The group supports the product
- by migrating between GitLab instances and from other providers
......
---
title: Personal Productivity Engineering Team
description: The Personal Productivity Engineering team is responsible for work relating to cross-stage features such as navigation, settings, and notifications.
---
## About
We're the Personal Productivity team and we are part of the [Foundations Stage](/handbook/product/categories/#foundations-stage).
We hope it's a good entry point to learn more about who we are and what we do.
## Team Members
{{% stable-counterparts role="Foundations:Personal Productivity" %}}
## What do we work on?
<!-- TODO: Pull this from the product side -->
- **Navigation & Settings** ([Direction Page](https://about.gitlab.com/direction/manage/foundations/navigation_settings/))
## Communication
To get in touch with the Personal Productivity team, it's best to create an issue in the relevant project (typically [GitLab](https://gitlab.com/gitlab-org/gitlab)) and add the `~"group::personal productivity"` label, along with any other appropriate labels.
Then, ping the relevant Product Manager and/or Engineering Manager (see [team members](#team-members)).
For more urgent items or if you are unsure who to ask, ping `@gitlab-org/foundations/personal-productivity` or use [#g_personal-productivity](https://gitlab.slack.com/archives/C010NAWPRV4) on Slack (internal only).
## How do we work?
In general, we use the standard GitLab [Product Development Flow](/handbook/product-development-flow/). Here are some specific workflows we use:
{{% include "includes/engineering/foundations/weighting_scale.md" %}}
{{% include "includes/engineering/foundations/fifth_week_of_focus.md" %}}
## Metrics
{{< tableau height="600px" toolbar="hidden" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/TopEngineeringMetrics/TopEngineeringMetricsDashboard" >}}
{{< tableau/filters "GROUP_LABEL"="personal productivity" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/MergeRequestMetrics/OverallMRsbyType_1" >}}
{{< tableau/filters "GROUP_LABEL"="personal productivity" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/Flakytestissues/FlakyTestIssues" >}}
{{< tableau/filters "GROUP_NAME"="personal productivity" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/SlowRSpecTestsIssues/SlowRSpecTestsIssuesDashboard" >}}
{{< tableau/filters "GROUP_LABEL"="personal productivity" >}}
{{< /tableau >}}
---
title: Manage Foundations Team
description: The Manage Foundations team is responsible for foundational Frontend work and our Design System Pajamas.
---
## About
We're the Foundations team and we are part of the [Manage Stage](/handbook/product/categories/#manage-stage).
This page is the shared team page for our Engineers, Product Designers, and Product Manager!
We hope it's a good entry point to learn more about who we are and what we do.
## Team Members
{{% stable-counterparts role="Manage:Foundations" %}}
## What do we work on?
- **Design System** ([Direction Page](https://about.gitlab.com/direction/manage/foundations/design_system/))
We are currently focused on integrating our design system, [Pajamas](https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com), into the GitLab product.
We perform an accessibility audit on each component and make sure that our implementations in [GitLab UI](https://gitlab.com/gitlab-org/gitlab-ui) and [GitLab](https://gitlab.com/gitlab-org/gitlab) match the desired user experience, guidelines, and visual design.
The Foundations team does the preparation work necessary so that other Engineers at GitLab and members from the wider community can help out with these efforts.
**Do you want to contribute?** Please see [the Migration Day Picker for a good entry point](https://picker.pajamasmigrationday.com/).
- **Navigation & Settings** ([Direction Page](https://about.gitlab.com/direction/manage/foundations/navigation_settings/))
## How do we work?
### Communication
To get in touch with the Foundations team, it's best to create an issue in the relevant project (typically [GitLab](https://gitlab.com/gitlab-org/gitlab), [Pajamas](https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com) or [GitLab UI](https://gitlab.com/gitlab-org/gitlab-ui)) and add the `~"group::foundations"` label, along with any other appropriate labels.
Then, ping the relevant Product Manager and/or Engineering Manager (see [team members](#team-members)).
For more urgent items or if you are unsure who to ask, ping `@gitlab-org/manage/foundations` or use [#g_manage_foundations](https://gitlab.slack.com/archives/C010NAWPRV4) on Slack (internal only).
### Capacity Planning
In general, we use the standard GitLab [Product Development Flow](/handbook/product-development-flow/). Here are some specific workflows we use:
#### How we weight issues
We use a Fibonacci scale and in terms of complexity, we use [this table](https://www.scrum.org/resources/blog/practical-fibonacci-beginners-guide-relative-sizing) from Practical Fibonacci.
**Foundations weighting scale:**
- **0 - Little to no effort is required** Something that would be quicker to do than it was to create the issue.
- **1 - Extra small.** The engineers feel they understand most requirements and consider it relatively easy, probably the smallest item in the milestone and mostly likely completed in one day.
- **2 - Small.** A little bit of thought, effort, or problem-solving is required, but the engineers have confidence in the requirements.
- **3 - Average.** Engineers have done this a lot; they know what needs to be done. There may be a few extra steps, but that's it.
- **5 - Large.** This is complex work, or the engineers don't do this very often. Most engineers will need assistance from someone else on the team. This is probably one of the largest items that can be completed within a milestone.
- **8 - Extra Large.** This is going to take some time and research and probably more than one engineer to complete within the milestone. At this size, we should be looking at how we can split this into smaller issues/tasks.
- **13+ - Ludicrous!** This issue is far too complex, large, or under-defined. Anything with a weight of this size should go back to `~workflow::refinement` to be refined and split into more manageable chunks.
## Fifth week of focus
With our [release schedule](/handbook/engineering/workflow/#product-development-timeline) our milestones are either four or five weeks long.
To make planning more predictable and encourage experimentation, we treat the fifth week of any longer milestone as a week of focus.
During this week, our engineers are encouraged to work on a project of their own choosing.
It could be starting a proof-of-concept, learning a new skill, burning down neglected issues, writing a blog post, or something else.
The only requirement is that it contributes to the team, or their personal development.
We trialed this as an [OKR](https://gitlab.com/gitlab-com/gitlab-OKRs/-/work_items/5528) in December 2023 and it was a great success.
The five week milestones occur at these places in 2024.
All other milestones are four weeks long:
- February 9 to March 15, 2024
- May 10 to June 14, 2024
- August 9 to September 13, 2024
- October 11 to November 15, 2024
## Employee Development
Here are some resources team members can use for employee development:
- [Create Stage Professional Development](/handbook/engineering/development/dev/create/#professional-development)
- [Create Stage Training opportunities](/handbook/engineering/development/dev/create/engineers/training/)
- [GitLab Learning and Development](/handbook/people-group/learning-and-development/)
- [Level Up](https://levelup.gitlab.com/learn/dashboard)
## Metrics
{{< tableau height="600px" toolbar="hidden" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/TopEngineeringMetrics/TopEngineeringMetricsDashboard" >}}
{{< tableau/filters "GROUP_LABEL"="foundations" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/MergeRequestMetrics/OverallMRsbyType_1" >}}
{{< tableau/filters "GROUP_LABEL"="foundations" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/Flakytestissues/FlakyTestIssues" >}}
{{< tableau/filters "GROUP_NAME"="foundations" >}}
{{< /tableau >}}
{{< tableau height="600px" src="https://us-west-2b.online.tableau.com/t/gitlabpublic/views/SlowRSpecTestsIssues/SlowRSpecTestsIssuesDashboard" >}}
{{< tableau/filters "GROUP_LABEL"="foundations" >}}
{{< /tableau >}}
## Team onboarding
- [UX Onboarding Checklist](/handbook/engineering/development/dev/manage/foundations/ux-foundations-onboarding)
---
title: Manage Foundations Team - UX Onboarding
description: UX onboarding checklist for the Foundations team
---
## Checklist
- Add team member to [https://gitlab.com/gitlab-com/gitlab-ux/ux-foundations](https://gitlab.com/gitlab-com/gitlab-ux/ux-foundations)
- Add team member to [Retrospective project](https://gitlab.com/gl-retrospectives/ecosystem-stage/foundations-group) by updating [team.yml retro file](https://gitlab.com/gitlab-org/async-retrospectives/-/blob/master/teams.yml)
- Add team member to *Foundations Group Calendar* in Google Calendar
- Add team member to team Google Calendar meetings:
- *Foundations Open Office Hours*
- Rotating Thursday timezones each week
- *Foundations Milestone Planning*
- Add to slack channels
- #s_manage
- #s_manage_foundations
- #s_manage_foundations-standup
- Add team member to [GitLab UI danger UX review](https://gitlab.com/gitlab-org/gitlab-ui/-/blob/main/danger/simple_ux_review/Dangerfile#L5)
## Helpful links
- [Navigation & Settings direction page](https://about.gitlab.com/direction/manage/foundations/navigation_settings/)
- [Design system direction page](https://about.gitlab.com/direction/manage/foundations/design_system/)
- [Milestone planning project](https://gitlab.com/gitlab-org/ecosystem-stage/team-tasks)
- [Retrospective project](https://gitlab.com/gl-retrospectives/ecosystem-stage/foundations-group)
......@@ -92,4 +92,7 @@
/handbook/product/categories/verify/* /handbook/product/groups/verify/:splat 301
/handbook/product/how-to-engage/* /handbook/product/product-management/#how-to-engage-product-managers 301
# Manage/Foundations restructure - Remove 2024-09-01
/handbook/engineering/development/dev/manage/import-and-integrate/ /handbook/engineering/development/dev/foundations/import-and-integrate/ 301
/handbook/engineering/development/dev/manage/foundations/ /handbook/engineering/development/dev/foundations/ 301
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment