Skip to content
Snippets Groups Projects
Commit f6f8eceb authored by Julie Manalo's avatar Julie Manalo
Browse files

Merge branch 'master' into 'patch-19826111318'

# Conflicts:
#   source/handbook/sales/territories/index.html.md
parents 2fadc43d dc3926ec
No related branches found
No related tags found
No related merge requests found
Showing
with 1693 additions and 1051 deletions
Loading
Loading
@@ -86,21 +86,21 @@ The board meeting is [all-remote](/company/culture/all-remote/) because half rem
 
### Board of Directors
 
**Members:** Sid Sijbrandij, Bruce Armstrong, Matthew Jacobson, David Hornik, Sue Bostrom
**Members:** Sid Sijbrandij, Bruce Armstrong, Matthew Jacobson, David Hornik, Sue Bostrom, Karen Blasing
 
### Audit Committee
 
**Members:** Bruce Armstrong, David Hornik, Audit Chair to be added
**Members:** Bruce Armstrong, David Hornik, Karen Blasing (Chair)
**Management DRI:** Chief Financial Officer
 
### Compensation Committee
 
**Members:** Bruce Armstrong, Matthew Jacobson, Sue Bostrom
**Members:** Bruce Armstrong, Matthew Jacobson, Sue Bostrom (Chair)
**Management DRI:** Chief People Officer
 
### Nominations and Governance Committee
 
**Members:** Sid Sijbrandij, Matthew Jacobson, Sue Bostrom
**Members:** Sid Sijbrandij, Matthew Jacobson (Chair), Sue Bostrom
**Management DRI:** General Counsel
 
## Schedule
Loading
Loading
@@ -211,7 +211,7 @@ We will have one board member per quarter conduct an AMA session with the GitLab
1. [Techcrunch article](http://techcrunch.com/2016/02/01/1270130/)
 
 
## Audit Committee Charter (adopted 2018-04-26)
## Audit Committee Charter
 
1. Purpose. The purpose of the Audit Committee of the Board of Directors (the “Board”) of GitLab Inc. (the “Company”) is to assist the Board’s oversight of:
- The integrity of the Company’s financial statements;
Loading
Loading
@@ -254,7 +254,7 @@ We will have one board member per quarter conduct an AMA session with the GitLab
1. Investigations. The Audit Committee shall have the authority to conduct or authorize investigations into any matter within the scope of its responsibilities, as it shall deem appropriate, including the authority to request any officer, employee or advisor of the Company to meet with the Audit Committee or any advisors engaged by the Audit Committee.
1. Additional Powers. The Audit Committee shall have such other duties as may be delegated.
 
## Compensation Committee Charter (adopted 2018-04-26)
## Compensation Committee Charter
1. Purpose
The purpose of the Compensation Committee of the Board of Directors (the “Board”) of GitLab Inc. (the “Company”) is to assist the Board in the performance of its responsibilities relating to the Company’s compensation programs in general and specifically, but not limited to, its’ executive officers.
1. Structure and Membership
Loading
Loading
@@ -279,7 +279,7 @@ change-in-control benefits and other forms of executive officer compensation. Th
compensation consultant, legal counsel and other advisor retained by the Compensation Committee. The Compensation Committee may select, or receive advice from, a compensation consultant, legal counsel or other advisor, only after taking into consideration, as applicable, all factors relevant to that person’s independence from management.
1. Investigations. The Compensation Committee shall have the authority to conduct or authorize investigations into any matters within the scope of its responsibilities as it shall deem appropriate, including the authority to request any officer, employee or advisor of the Company to meet with the Compensation Committee or any advisors engaged by the Compensation Committee.
 
## Nomination and Governance Committee Charter (adopted 2019-01-31)
## Nomination and Governance Committee Charter
1. Purpose
The purpose of the Nominating and Governance Committee (the “Committee”) of the Board of Directors (the “Board”) of GITLAB, INC. (the “Company”) is to ensure that the Board is properly constituted to meet its fiduciary obligations to stockholders and the Company, and to assist the Board with respect to corporate governance matters, including:
- identifying, considering and nominating candidates for membership on the Board; and
Loading
Loading
Loading
Loading
@@ -119,6 +119,12 @@ There are 4 containers running in the current Airflow deployment as defined in t
3. The Airflow webserver
4. A cloudsql proxy that allows Airflow to connect to our cloudsql instance
 
#### Kubernetes Setup
We run in the `gitlab-analysis` project in GCP. Airflow runs in the `data-ops` cluster. Within this cluster there are 2 nodepools: `highmem-pool` and `scd-1`. Most every job will run in the `highmem-pool` nodepool.
The `scd-1` nodepool is labeled `pgp=scd` and it also has a [taint](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) on it of `scd=true`. For a job to be scheduled in this pool a task must have nodeAffinity for the pool and it must have a toleration that matches the taint. See [this MR](https://gitlab.com/gitlab-data/analytics/merge_requests/2006/diffs) where we added the affinity and toleration for the Slowly-Changing Dimensions task for our postgres pipeline jobs.
#### Handling Failed Jobs
 
There should never be more than one failed DAG run visible for any DAG at one time. For incremental jobs that rely on the `execution_date`, such as the extract from the gitlab.com database, any failed DAGs need to have their task instances cleared so that they can be rerun once the fix has been applied.
Loading
Loading
@@ -307,13 +313,13 @@ Some of the GitLab specific ELTs connect to databases which are in peered GCP pr
 
We execute our CI jobs in the [`gitlab-data` group](https://gitlab.com/groups/gitlab-data/-/settings/ci_cd) with Kubernetes via the `gitlab-analysis` GCP project. We have a group runner setup to share across all repos.
 
In the case where a new group runner token needs to be associated, or if we need to update the runner image. These are the basic steps.
In the case where a new group runner token needs to be associated, or if we need to update the runner image. These are the basic steps. Note - since the release of helm 3, it is recommended that all of these commands be run in the Cloud Shell console in GCP. Navigate to the deployment for the runner (currently `gitlab-data-gitlab-runner`) and use the kubectl dropdown to enter the shell.
 
To get things installed
 
`brew install kubernetes-helm`
 
`gcloud components install kubectl`
`gcloud components install kubectl`
 
To get the credentials
 
Loading
Loading
@@ -330,7 +336,9 @@ To get the chart values for a specific release
Prep commands
 
`helm init --client-only`
`helm repo add gitlab https://charts.gitlab.io`
`helm repo update`
 
To delete a release
Loading
Loading
@@ -344,15 +352,16 @@ To install a release
Example for updating the runner version or group token
 
```bash
gcloud components update
helm get values gitlab-runner
helm init
gcloud components update # might not have to do in cloud shell
helm list
helm get values gitlab-data
helm get values gitlab-data > values.yml
nano values.yml # Update values
helm repo list
helm repo add gitlab https://charts.gitlab.io
helm list
helm del --purge gitlab-data
helm install --namespace gitlab-data --name gitlab-data -f values.yaml gitlab/gitlab-runner
kubectl get pod -n gitlab-data
```
 
<!-- EXTRA STYLES APPLIED FOR THIS PAGE ONLY -->
Loading
Loading
Loading
Loading
@@ -61,7 +61,6 @@ When creating an event for the entire Data Team, it might be helpful to consult
 
The Data Team has the following recurring meetings:
* Data Ops - Meeting includes Data team, Finance Business Partner, SalesOps Liaison, and FP&A, though anyone is welcome. It occurs weekly on Tuesdays at 1600 UTC.
* Milestone Pointing - Meeting includes Data team members; specialized analysts are required only for the first part of the meeting focusing on housekeeping issues. Meeting is for pointing the upcoming milestone. See more details in the Milestone planning section. Meeting occurs every other Tuesday at 1700 UTC.
* Social Calls- Social calls have no agenda. They are 30 minutes weekly to catch up on life and other occurrences. They occur every Tuesday at 1800 UTC.
 
##### Meeting Tuesday
Loading
Loading
@@ -503,7 +502,7 @@ Changes are implemented via merge requests, including changes to our pipelines,
 
## <i class="fas fa-exchange-alt fa-fw icon-color font-awesome" aria-hidden="true"></i>Extract and Load
 
We currently use [Stitch](https://www.stitchdata.com) and [Fivetran](https://fivetran.com/) for most of our data sources. These are off-the-shelf ELT tools that remove the responsibility of building, maintaining, or orchestrating the movement of data from some data sources into our Snowflake data warehouse. We run a full-refresh of all of our Stitch/Fivetran data sources at the same time that we rotate our security credentials (approx every 90 days).
We currently use [Stitch](https://www.stitchdata.com) and [Fivetran](https://fivetran.com/) for most of our data sources. These are off-the-shelf ELT tools that remove the responsibility of building, maintaining, or orchestrating the movement of data from some data sources into our Snowflake data warehouse. We run a full-refresh of all of our Stitch/Fivetran data sources at the same time that we rotate our security credentials (approx every 90 days). Prior to running a full refresh we will drop all of the tables.
 
| Data Source | Pipeline | Management Responsibility | Replication Frequency |
|-------------------|-----------|-----------------|-----------------|
Loading
Loading
Loading
Loading
@@ -53,9 +53,10 @@ GitLab KPIs are the most important indicators of company performance.
1. [12 month team member retention](/handbook/people-group/people-group-metrics/#team-member-retention) > 84% 🚧 [Issue](https://gitlab.com/gitlab-data/analytics/issues/2843)
1. [Merge Requests per release per engineer in product development](/handbook/engineering/development/performance-indicators/#average-mrs-development-engineers-month) > 10 📊
1. [GitLab.com Availability](/handbook/engineering/infrastructure/performance-indicators/#gitlab-com-availability) > 99.95%
1. [Active users per hosting platform](https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/25237/diffs)
1. [SMAU](/handbook/alliances/#active-smau)
1. [Support Satisfaction](/handbook/support/performance-indicators/#support-satisfaction-ssat) 📊
1. [Runway](/handbook/finance/accounting/#cash-burn-average-cash-burn-and-runway) > 12 🔗
1. [Product Downloads](/handbook/alliances/#product-download-by-distribution-method) 📊
1. [MAUI](http://www.meltano.com/docs/roadmap.html#maui) (Meltano so not part of the GitLab Executive Team KPIs) > 10% WoW
 
## Sales KPIs
Loading
Loading
@@ -77,7 +78,7 @@ GitLab KPIs are the most important indicators of company performance.
1. [ARPU](/handbook/sales/#revenue-per-licensed-user-also-known-as-arpu) 🔗
1. [Active SMAU](/handbook/alliances/#active-smau)
1. [Active installations per hosting platform](/handbook/alliances/#active-installations-per-hosting-platform)
1. [Product Downloads](/handbook/alliances/#product-download-by-distribution-method) 📊
1. [New hire location factor](/handbook/hiring/metrics/#new-hire-location-factor) < 0.72 📊
 
 
Loading
Loading
@@ -102,6 +103,7 @@ GitLab KPIs are the most important indicators of company performance.
1. Larger SOV compared to most published competitor
1. Growth in amount of partnership focused media coverage
1. Growth in amount of remote work focused media coverage
1. [Product Downloads](/handbook/alliances/#product-download-by-distribution-method) 📊
 
## People Group KPIs
 
Loading
Loading
@@ -119,7 +121,7 @@ GitLab KPIs are the most important indicators of company performance.
1. [Diversity lifecycle: applications, recruited, interviews, offers, acceptance, retention](/company/culture/inclusion/#performance-indicators)
1. [Spend per team member](/handbook/people-group/people-group-metrics/#spend-per-team-member)
1. [Discretionary bonuses](/handbook/incentives/#discretionary-bonuses) per employee per month > 0.1 🔗
1. [Percent of sent Slack messages that are in public channels](/handbook/communication/#use-public-channels) > 50% 📊
1. [Percent of sent Slack messages that are not DMs](/handbook/communication/#why-we-track--of-messages-that-are-not-dms) > 50% 📊
1. [Cost Per Hire](/handbook/hiring/metrics/#cost-per-hire) 🔗
 
### Recruiting Department KPIs
Loading
Loading
Loading
Loading
@@ -18,7 +18,7 @@ description: "GitLab Data Team Handbook"
 
### General Guidelines
 
##### Field Naming Conventions
##### Field Naming and Reference Conventions
 
* Field names should all be lowercased.
 
Loading
Loading
@@ -59,6 +59,55 @@ description: "GitLab Data Team Handbook"
LEFT JOIN zuora_account ON ...
```
 
* When joining tables and referencing columns from both, strongly prefer to reference the full table name instead of an alias. When the table name is long (~20), try to rename the CTE if possible, and lastly consider aliasing to something descriptive.
```sql
-- Good
SELECT
budget_forecast_cogs_opex.account_id,
-- 15 more columns
date_details.fiscal_year,
date_details.fiscal_quarter,
date_details.fiscal_quarter_name,
cost_category.cost_category_level_1,
cost_category.cost_category_level_2
FROM budget_forecast_cogs_opex
LEFT JOIN date_details
ON date_details.first_day_of_month = budget_forecast_cogs_opex.accounting_period
LEFT JOIN cost_category
ON budget_forecast_cogs_opex.unique_account_name = cost_category.unique_account_name
-- Ok, but not preferred. Consider renaming the CTE in lieu of aliasing
SELECT
bfcopex.account_id,
-- 15 more columns
date_details.fiscal_year,
date_details.fiscal_quarter,
date_details.fiscal_quarter_name,
cost_category.cost_category_level_1,
cost_category.cost_category_level_2
FROM budget_forecast_cogs_opex bfcopex
LEFT JOIN date_details
ON date_details.first_day_of_month = bfcopex.accounting_period
LEFT JOIN cost_category
ON bfcopex.unique_account_name = cost_category.unique_account_name
-- Bad
SELECT
a.*,
-- 15 more columns
b.fiscal_year,
b.fiscal_quarter,
b.fiscal_quarter_name,
c.cost_category_level_1,
c.cost_category_level_2
FROM budget_forecast_cogs_opex a
LEFT JOIN date_details b
ON b.first_day_of_month = a.accounting_period
LEFT JOIN cost_category c
ON b.unique_account_name = c.unique_account_name
```
* All field names should be [snake-cased](https://en.wikipedia.org/wiki/Snake_case)
 
```sql
Loading
Loading
@@ -103,7 +152,8 @@ description: "GitLab Data Team Handbook"
- Use CTEs to reference other tables. Think of these as import statements
- CTEs should be placed at the top of the query
- Where performance permits, CTEs should perform a single, logical unit of work
- CTE names should be as verbose as needed to convey what they do
- CTE names should be as concise as possible while still being clear
- Avoid long names like `replace_sfdc_account_id_with_master_record_id` and prefer a shorter name with a comment in the CTE. This will help avoid table aliasing in joins
- CTEs with confusing or noteable logic should be commented in file and documented in dbt docs
- CTEs that are duplicated across models should be pulled out into their own models
- Leave an empty row above and below the query statement
Loading
Loading
Loading
Loading
@@ -205,43 +205,63 @@ According to [our matrix](https://docs.google.com/document/d/1-CH-uH_zr0qaVaV1Qb
1. Once a [quote has been approved](#quote-approval), go back to the quote and click `Generate PDF Doc` or `Generate Word Doc`. The document will be saved as an attachment in the Notes and Attachments section in the opportunity record.
2. The default template for all transaction types (new, amendment, or renewals) will be the direct (non-channel) quotes that do not show $0 line items. If you want to select a different template, click the search icon next to the Quote Template field and select the desired template. A description of each template will be visible next to each template.
 
### Process for Agreement Terms Negotiations (when applicable)
### Process for Agreement Terms Negotiations (when applicable) and Contacting Legal
 
If the Opportunity meets the dollar thresholds as set out in [Step 5 - Negotiations](/handbook/business-ops/order-processing/#CustomerFormAgreements), then for customers that request to negotiate our standard agreement, Sales will follow the below workflow through the process of contract negotiations.
If the Opportunity meets the dollar thresholds:
* Greater than $25,000 (USD) Opportunity to review edits on GitLab Agreement template(s)
* Greater than $100,000 (USD) Opportunity to review Customer template / agreement version(s)
The Sales Team Member will follow the below workflows to make requests for, (i) editable version(s) of GitLab Templates, (ii) engagement of contract negotiations, and (iii) assistance on general questions related to a Customer / Opportunity.
 
#### Initiate negotiation by requesting a contract from Legal
A presentation overview of the process to engage GitLab Legal can be found [**HERE**](https://docs.google.com/presentation/d/1lesWNvPAFd1B3RuCgKsqQlE85ZEwLuE01QpVAKPhQKw/edit#slide=id.g5d6196cc9d_2_0)
 
Create a new contract linked to the Customer’s main account page.
1. Go to the “Contracts” object for the applicable SalesForce Account page (at the account level)
2. Create a new contract by clicking on the “New Contract” button
3. Fill in the required information, which is marked in red.
4. Press “Save”
5. Post a message to the contract chat feed and tag @contracts. Your request should include an e-mail address of the customer contact to receive the subscription terms.
A video tutorial can be found [**HERE**](https://www.youtube.com/watch?v=CIWdsqRX7E0&amp=&feature=youtu.be)
 
#### Initiate legal review and negotiations of customers paper.
You may contact Legal directly in Slack via #Legal
 
Create a new contract linked to the Customer’s main account page.
1. Review the Using Customer Form Agreements page to make sure the agreement qualifies.
2. If the agreement meets the standards, create a new contract by clicking on the “New Contract” button.
3. Fill in the required information, which is marked in red.
4. Press “Save”
5. Upload the customer paper as a “file.”
6. Post a message to the contract chat feed and tag @contracts with your request. Your request should include an e-mail address of the customer contact to receive the subscription terms.
#### Request editable version of GitLab Template:
 
#### Outline of the Negotiation Process
At Customer Account, OR, Opportunity:
1. Click "Legal Request" (located at the top of Account and Opportunity SFDC layout)
2. For "**Type of Legal Request**" select "**Request for GitLab Agreement Template**"
3. For "**Type of Contract**" select the Template desired. For example, for a Non-Dislclosure Agreement request, select "NDA"
4. For "**Contract Source**" select "**GitLab Contract Template**"
5. Add any additional notes that may be helpful for GitLab Contract Manager / Legal and hit "SAVE"
6. The information provided will open a "Case", which will automatically be assigned to a Contract Manager / Legal Member
7. The Contract Manager / Legal Member will attach the requested template and tag the requesting Sales Team Member
8. The Sales Team Member will take the template version and provide to the Customer
* NOTE: Sales Team Members are responsible for communication(s) with Customers. This includes providing back GitLab templates and negotiated terms.
 
After the appropriate steps have been completed legal will initiate the following steps to engage in negotiations:
1. (If applicable) Legal will create a document and send it out for negotiation with the Customer.
2. Versions of the document will be sent back and forth between the customer and legal via the email address provided in the Contract Record to capture changes to the document over time. (Note: the customer must reply to the Conga email that generated the document to capture the changes.)
3. Once approved, Legal will notify the account holder of its status so the documents can be staged for signature
**At this time, the Contract Request Case will be marked as "Closed". Follow the below steps to initiate "Contract Review" of the Customer edits.**
 
All communication regarding changes to documents should take within the Contract Record created in Salesforce
#### Request for GitLab review of Customer edits to GitLab Template, OR, Review of Customer Agreement Template
 
### Uploading Contracts in Salesforce
On Customer Account, OR, Opportunity:
1. Click "**Legal Request**" (located at the top of Account and Opportunity SFDC layout)
2. For "**Type of Legal Request**" select "Contract Review"
3. For "**Type of Contract**" select the type of Agreement / Template being negotiated. For example, for a Non-Dislclosure Agreement request, select "NDA"
4. For "**Contract Source**" select the applicable Agreement / Template Source
* For edits to a GitLab Agreement / Template select "**GitLab Contract Template**". NOTE: Be sure the Opportunity size is above $25,000 (USD)
* To request GitLab to edit a Customer Agreement / Template select "**Customer Contract Template**". NOTE: Be sure the Opportunity size is above $100,000 (USD)
5. Add any additional notes that may be helpful for GitLab Contract Manager / Legal and hit "SAVE"
6. The information provided will open a "Case", which will automatically be assigned to a Contract Manager / Legal Member
7. The Contract Manager / Legal Member will review the Agreement / Template and attach updated red-lines
* The Sales Team member will be alerted (via SFDC Chatter) to the Agreement being updated and ready to be sent to customer
8. If another round of edits are necessary, the Sales Team member will attach the Customer provided red-lines and tag (via SFDC Chatter) the Contract Manager / Legal Member assigned
9. The same steps will repeat until an executable version is reached. At which point, the Contract Request Case will be closed.
10. The Sales Team Member will follow the steps found at "Obtain Signature" (below) and attach the fully executed version to the Customer Account.
NOTE: The above process may be used to also engage Contract Managers / Legal Members to add non-standard language to Order Forms
**All communications, and versions of Agreements, should be kept in the Contract Request Case**
#### General questions related to a Customer:
On Customer Account, OR, Opportunity:
1. Click "Legal Request" (located at the top of Account and Opportunity SFDC layout)
2. Provide the question in the "NOTES" Section and hit "SAVE"
3. The information provided will open a "Case", which will automatically be assigned to a Contract Manager / Legal Member
4. The Contract Manager / Legal Member will review the question and provide an answer in the case comments and tag the requesting Sales Team Member via SFDC Chatter
5. Once the question is addressed, the Case will be closed by the Contract Manager.
 
All fully executed Customer agreements must be uploaded into the ‘contracts’ section on the account.
* Contracts **should not** be stored in the ‘Notes & Attachments’ sections nor the ‘Activity History’ section in SalesForce.
* Contracts not currently stored in the ‘contracts’ section should be uploaded and labeled appropriately.
 
#### Obtain Signatures
 
Loading
Loading
@@ -256,7 +276,14 @@ As of November 18, 2019, all contracts / Agreements that require GitLab counters
Once negotiations are completed, and the digital stamp has been affixed to the final version of the contract / Agreement:
1. Change the status of the contract, in SFDC, to 'Approved to Sign'; and
2. [stage the contract](https://faq.hellosign.com/hc/en-us/articles/205830938-How-do-I-request-a-signature-) in HelloSign for signatures;
3. Send to the Customer and cc' our CFO (Paul Machle).
3. Send to the Customer and cc' our CFO (Paul Machle).
### Uploading Contracts in Salesforce
All fully executed Customer agreements must be uploaded into the ‘contracts’ section on the account.
* Contracts **should not** be stored in the ‘Notes & Attachments’ sections nor the ‘Activity History’ section in SalesForce.
* Contracts not currently stored in the ‘contracts’ section should be uploaded and labeled appropriately.
 
### Referencing Customized Customer Agreements in Quote
Loading
Loading
@@ -961,3 +988,24 @@ Once you close a deal that includes Premium Support, you need to:
- Domain name, and optionally named individuals that are most likely to submit support tickets
- Link to the SalesForce record.
- Mark the issue confidential!
## Eval users SKU creation
In order to have the Eval users SKU created:
1. Submit your request via an issue in the Finance issue tracker.
1. Submit to CFO, CRO and CEO for approval.
1. Once approved, submit to Accounting to create SKU in Zuora (Eval users SKU should not be added to the portal).
1. Once SKU is created, inform Sales Ops team to have the SKU created in SFDC and added to the current SKUs.
Eval users SKUs are subject to the discount authorization policy.
Booking:
1. All orders with mixed SKUs must be reviewed by revenue accounting for a fair value analysis prior to being sent to Zuora. Seek approval via chatter.
1. If fair value must be allocated differently than what will be on the invoice that value will be assigned on an order form and used for the entry to be pushed to Zuora. The fair value will also be used for assigning booking value (i.e. IACV, PCV, etc).
Loading
Loading
@@ -26,7 +26,7 @@ Many items on this page are a guidelines for our [Executive Business Administrat
 
 
* Favorite places: [Heirloom Cafe](https://heirloom-sf.com/), [Ozumo](http://www.ozumo.com/) (seated in the bar area). [Hakkasan](https://hakkasan.com/locations/hakkasan-san-francisco/), [Mourad](http://mouradsf.com/), [Shizen](https://www.shizensf.com/) (can't make reservations), [Slanted Door](http://www.slanteddoor.com/)
* Favorite drinks place: [Odd Job](http://oddjobsf.com/).
* Favorite drinks place: [83 Proof](http://www.83proof.com/).
 
## Flaws
 
Loading
Loading
Loading
Loading
@@ -88,7 +88,7 @@ The goal is to merge it the same day, preferably within 15 minutes.
 
Since most of the E-group is in the San Francisco Bay Area, we'll go to a location that is drivable or a short direct flight, for example: East Bay, Denver, Sonoma.
We tend to pick a location at or close to a member of the e-group.
If the CEO is traveling, he should bring the Owl.
If the CEO is traveling, the CEO Shadows should bring the Owl.
 
[Hybrid calls are hard](/handbook/communication/#hybrid-calls-are-horrible), but occassionally the Offsite will need to take a hybrid meeting form.
When this is the case, the EBA to the CEO will ensure that the calendar invite for the Zoom offsite includes a Zoom link.
Loading
Loading
Loading
Loading
@@ -78,6 +78,8 @@ Being a CEO shadow is not needed to get a promotion or a raise and should not be
1. Ask your manager to approve (but not merge) the merge request. Managers, please ensure the candidate meets the eligibility criteria.
1. Assign the merge request to the CEO, link it in the #ceo-shadow channel, and @mention the CEO and the Executive Business Admin supporting the CEO in the message.
 
Please keep in mind when selecting dates that the CEO's schedule is fluid and subject to constant change, which in turn means that the CEO shadow rotation is also subject to constant change. The posted dates are not guaranteed. We will work with you to reschedule your rotation if a conflict should arise.
## Rotation schedule
 
| Start date | End date | See one | Teach one |
Loading
Loading
@@ -90,11 +92,20 @@ Being a CEO shadow is not needed to get a promotion or a raise and should not be
| 2020-01-27 | 2020-01-31 | [Brittany Rohde](https://gitlab.com/brittanyr) - Manager, Compensation & Benefits | [Dylan Griffith](https://gitlab.com/DylanGriffith) - Staff Backend Engineer |
| 2020-02-03 | 2020-02-07 | [Nadia Vatalidis](https://gitlab.com/Vatalidis) - Manager, People Operations | [Brittany Rohde](https://gitlab.com/brittanyr) - Manager, Compensation & Benefits |
| 2020-02-10 | 2020-02-14 | [James Ramsay](https://gitlab.com/jramsay) - Sr. Product Manager | [Nadia Vatalidis](https://gitlab.com/Vatalidis) - Manager, People Operations |
| 2020-02-17 | 2020-02-21 | AVAILABLE | [James Ramsay](https://gitlab.com/jramsay) - Sr. Product Manager |
| 2020-02-24 | 2020-02-28 | [Sarah Waldner](https://gitlab.com/sarahwaldner) - Product Manager | AVAILABLE |
| 2020-03-02 | 2020-03-06 | AVAILABLE | [Sarah Waldner](https://gitlab.com/sarahwaldner) - Product Manager |
| 2020-02-17 | 2020-02-21 | [Chase Wright](https://gitlab.com/wwright) - Manager, FP&A | [James Ramsay](https://gitlab.com/jramsay) - Sr. Product Manager |
| 2020-02-24 | 2020-02-28 | [Sarah Waldner](https://gitlab.com/sarahwaldner) - Product Manager | [Chase Wright](https://gitlab.com/wwright) - Manager, FP&A |
| 2020-03-02 | 2020-03-06 | [Shaun McCann](https://gitlab.com/shaunmccann) - Support Engineering Manager | [Sarah Waldner](https://gitlab.com/sarahwaldner) - Product Manager |
| 2020-03-09 | 2020-03-13 | AVAILABLE | [Shaun McCann](https://gitlab.com/shaunmccann) - Support Engineering Manager |
| 2020-03-16 | 2020-03-20 | AVAILABLE | AVAILABLE |
| 2020-03-23 | 2020-03-27 | NO SHADOWS - CONTRIBUTE | NO SHADOWS - CONTRIBUTE |
| 2020-03-30 | 2020-04-03 | AVAILABLE | AVAILABLE |
| 2020-04-06 | 2020-04-10 | AVAILABLE | AVAILABLE |
| 2020-04-13 | 2020-04-17 | AVAILABLE | AVAILABLE |
| 2020-04-20 | 2020-04-24 | AVAILABLE | AVAILABLE |
| 2020-04-27 | 2020-05-01 | AVAILABLE | AVAILABLE |
 
If you have questions regarding the planned rotation schedule, please ping the Executive Admin to the CEO.
If you have questions regarding the planned rotation schedule, please ping the Executive Admin to the CEO. The EBA to the CEO manages the rotation schedule, please do not add new dates to the schedule when adding in your rotation.
 
## What to expect (Preparation)
 
Loading
Loading
@@ -219,7 +230,8 @@ Once those items have an open MR against them, post in the #ceo-shadow channel.
1. At the start of the week, review the CEO's calendar. The CEO's calendar is the single source of truth. Shadows should check the CEO calendar for updates often. You will not be invited to each meeting, instead meetings that the shadows may not attend will have a seperate calendar entry on the CEO's schedule that states "No CEO Shadows". When in doubt, reach out to CEO Executive Business Admin to confirm if you should attend or not. There will be some meetings and events the Shadows do not attend.
1. Add the CEO's calendar to your Google Calendar by clicking the `+` next to "Other Calendars". Then click `Subscribe to Calendar`, search for the CEO and click enter.
1. Because interviews are marked private (busy) for confidentiality reasons the Executive Assistant will invite Shadows to those events directly. As a result, you will get an email from Greenhouse asking for candidate feedback, which is not necessary.
1. Shadows are responsible for being aware of the current time and providing a 5 minute warning to the meeting participants so that they can comfortably wrap up the meeting.
1. Shadows are responsible for being aware of the current time and providing a verbal 5 minute warning to the meeting participants so that they can comfortably wrap up the meeting. Don't wait minutes for a break, just say 'we have 5 minutes left'. Please use the calendar invite as an indication how long the meeting should last, we do speedy meetings.
1. Shadows should notify meeting participants if a meeting is running over the allocated time by saying 'we're in overtime'.
 
#### Taking Notes in Meetings
{:.no_toc}
Loading
Loading
@@ -340,14 +352,15 @@ When scheduling an interview with the CEO, the EBA to CEO will create a shared G
This notes document is then added to the Scorecard for the candidate in GreenHouse.
Shadows should ensure they mark comments they provide with their full name.
 
#### Travelling with the CEO
#### Traveling with the CEO
{:.no_toc}
 
When travelling with the CEO, keep the following in mind:
When traveling with the CEO, keep the following in mind:
1. Book flights that will allow you to land before the CEO so there is no delay in transportation to the next event.
1. For Airport pickup with the CEO, research the terminal the CEO arrives in and plan to be there to meet with the driver before the CEO.
1. Keep the EBA to CEO and onsite EBA updated regularly and promptly on estimated time arrival in #ceo-shadow slack channel to ensure the schedule is on-time.
1. If travel plans change, please update the EBA(s) in slack immediately so cancellations to prior transportation can be made promptly to not incur fees.
1. When returning to San Francisco if on a different airline, be sure to arrive before CEO and communicate [meetup location if traveling back to Mission Control](#rideshare-from-airport) together.
 
## Mission Control Guide
 
Loading
Loading
@@ -500,6 +513,11 @@ If your CEO shadow rotation is two consecutive weeks, it is expected you will be
Airfare can be booked according to our [travel policy](/handbook/travel/#booking-travel-and-lodging) or [spending company money](/handbook/spending-company-money/) policy.
In case your shadow rotation includes time without shadowing, it is possible to expense airfare to fly home and back within the continental USA. If you are from outside of the USA, it is also possible to expense airfaire during the time without shadow because of the possible high cost of lodging in San Francisco if you chose to stay at a different location.
 
#### Rideshare from airport
At San Francisco International airport (SFO), all rideshare apps (Uber, Lyft, etc) pick up on level 5 of the parking structure. When coordinating travel from SFO to Mission Control with other Shadows, GitLabbers or Sid arranging to meet on level 5 of the parking structure is most efficient as each terminal has its own baggage claim area.
### Childcare
Childcare is provided during the active shadowing period and will be reimbursed via your expense report. You must book the childcare yourself and it is advised you reach out far in advance as childcare "drop-ins" can be limited depending on the week. Currently, GitLab doesn't have a ["Backup Care"](https://www.brighthorizons.com/family-solutions/back-up-care) program so you must tell the childcare it is for a "drop-in". Depending on your hotel accommodations, finding a nearby daycare is most convenient or a daycare nearby the [Millennium tower](https://www.google.com/maps/place/Millennium+Tower+San+Francisco/@37.7905055,-122.3962516,15z/data=!4m2!3m1!1s0x0:0x9fe15ebd4a8300d8?sa=X&ved=2ahUKEwiUoZ_hpb_iAhXBop4KHeOAB2QQ_BIwGHoECAsQCA). Some childcare facilities will require payment at end-of-day or end-of-week via cash/check only so request an invoice/receipt for expense submission purposes.
 
Loading
Loading
@@ -515,7 +533,7 @@ We understand that participation in the CEO Shadow program is optional and can c
 
## Suzy (the cat)
 
Please note that we have a cat named [Suzy](/company/team-pets/#7-suzy). It is a Russian Blue mix which is a [hypoallergenic variety](https://www.russianbluelove.com/russian-blue-cat-allergies/). If you're allergic to cats consider washing you hands after petting.
Please note that we have a cat named [Suzy](/company/team-pets/#7-suzy). It is a Russian Blue mix which is a [hypoallergenic variety](https://www.russianbluelove.com/russian-blue-cat-allergies/). If you're allergic to cats consider washing your hands after petting.
 
### Petting
{:.no_toc}
Loading
Loading
This diff is collapsed.
Loading
Loading
@@ -29,6 +29,16 @@ There are a lot of general channels, just to name a few:
* **[`#thanks`](https://gitlab.slack.com/archives/thanks)**: Where GitLab team-members can [say thanks](/handbook/communication/#say-thanks) to those GitLab team-members who did a great job, helped a customer, or helped you!
* **[`#random`](https://gitlab.slack.com/archives/random)**: Socialize and share random snippets with your fellow GitLab team-members.
 
### Team Channels
To raise an issue with a specific team, please use below most commonly used channels;
* **`#peopleops`**: For general People Operations tasks such us onboarding, offboarding, questions about benefits and compensation, letter of employment, Team calender events management etc
* **`#sysadmin-it`**: For IT related queries, Okta, issues with hardware, software, system access requests and user permissions etc
* **`#payroll_expenses`**: For Expensify issues, delayed reimbursements and salaries, payslips, etc
* **`#recruiting`**: For referrals based questions, candidate alignments, general recruiting etc
### Channel Categories
 
#### Account Channels (a_)
Loading
Loading
Loading
Loading
@@ -186,10 +186,9 @@ When doing this, create and link to a single source of truth: ideally the [handb
 
### Not Public
{:.no_toc}
We make public by default because [transparency is one of our values](/handbook/values/#transparency).
We make things public by default because [transparency is one of our values](/handbook/values/#transparency).
However it is [most important to focus on results](/handbook/values/#hierarchy).
So
Most things are **public** unless there is a reason not to. Not public by default are the following items:
So most things are **public** unless there is a reason not to. The following items are not public by default:
 
1. Security vulnerabilities are not public since it would allow attackers to compromise GitLab installations. We do make them public after we remediated a vulnerability. Issues that discuss how to improve upon the security posture of an implementation that is working as intended can be made public, and are often labeled as feature proposals. Security implementations that detect malicious activities cannot be made public because doing so would undermine our operations.
1. Financial information, including revenue and costs for the company, is confidential because we plan to be a public company and, as such, need to limit both the timing and content of financial information as investors will use and rely on it as they trade in GitLab stock. As a rule of thumb, if it is a first step to constructing a profit, we need to keep it confidential. Examples include:
Loading
Loading
@@ -207,8 +206,7 @@ Most things are **public** unless there is a reason not to. Not public by defaul
1. Partnerships with other companies are not public since the partners are frequently not comfortable with that.
1. Acquisition offers for us are not public since informing people of an acquisition that might not happen can be very disruptive.
1. Acquisition offers we give are not public since the organization being acquired frequently prefers to have them stay private.
1. Customer information is not public since customers are not comfortable with that, and it would make it easier for competitors to approach our customers. If an issue needs to contain _any_ specific information about a customer, including but not limited to: company name, employee names, number of users, the issue should be made confidential. Try to avoid putting customer information in an issue by describing them instead of naming them and linking to their salesforce account.
1. When we discuss a customer by name that is not public unless we're sure the customer is OK with that. When we discuss a competitor (for example in a sales call) this can be public as our competitive advantages are public.
1. Customer information is not public since customers are not comfortable with that, and it would make it easier for competitors to approach our customers. If an issue needs to contain _any_ specific information about a customer, including but not limited to company name, employee names, number of users, the issue should be made confidential. Try to avoid putting customer information in an issue by describing them instead of naming them and linking to their SalesForce account. When we discuss a customer by name that is not public unless we're sure the customer is OK with that. When we discuss a competitor (for example in a sales call) this can be public as our competitive advantages are public.
1. Competitive sales and marketing campaign planning is confidential since we want the minimize the time the competition has to respond to it.
1. [Sales battlecards](https://blog.pandadoc.com/the-basics-of-battle-cards/) are not public since we want to minimize the time the competition has to respond to it. Our [feature comparisons](/devops-tools/) are public.
1. Plans for reorganizations are not public and on a need-to-know basis within the organization. Reorganizations cause disruption and the plans tend to change a lot before being finalized, so being public about them prolongs the disruption. We will keep relevant team members informed whenever possible.
Loading
Loading
@@ -268,6 +266,31 @@ Slack is to be used for informal communication only. Only 90 days of activity wi
1. If you must send a work-related private message, don't start a conversation with "Hi" or "Hey" as that interrupts their work without communicating anything. If you have a quick question, just ask the question directly, and the person will respond asynchronously. If you truly need to have a synchronous communication, then start by asking for that explicitly, while mentioning the subject. e.g., "I'm having trouble understanding issue #x, can we talk about it quickly?".
1. **Do not use group private messages**. Use private channels instead of group private messages. Group private messages are very hard to maintain, track and respond to. First, consider whether the conversation can take place in a public channel. If not, please use a private channel instead.
 
#### Why we track % of messages that are not DMs
For all the same reasons that we want to [avoid public messages](/handbook/communication/#avoid-private-messages), [use public channels](/handbook/communication/#use-public-channels), and be [handbook-first](), we track the % of messages that are not DMs.
As we grow headcount, we exponentially increase the lines of communication- 3 people have 3 communication lines, 4 have 6, and 41 have 820.
As a result, there is a natural tendency for people to prefer private channels of communication.
The intentions are good, as people are looking to reduce noise for others, but this can lead to the same problems as described elsewhere on this page, notably:
* communication is silo'ed
* as we grow, people may be reaching out to the wrong person
* if you have a question, other people might have it too
Slack is our primary source of chat communication and is where many personal interactions happen.
We want to continue to encourage folks to build personal relationships with one another which will often happen over DMs.
We know that DMs will always exist.
We don't want to eliminate them.
We set a target of Slack DMs to consist of less than 50% of messages.
At the time that we set this target, it is about 80% of communications.
Everything at GitLab is a work in progress, so if we see a culture shift where Slack is *not* where work is occurring, thus inflating the amount of communication that is personal that is occurring, we can always change this KPI, but the steady growth of Slack messages paralleling the number of team members does not seem to suggest that is the case.
The previous KPI (% of messages sent in public channels) was about public channels but since some necessary parts of the business occur in private channels (discussions around comp, hiring, recruiting- and we do A LOT of hiring), this version of the KPI makes more sense.
Earlier in our history, 50% of all communication *was* in public channels.
<iframe class="dashboard-embed" src="https://app.periscopedata.com/shared/770f45e7-ca4d-417f-a3db-9dfc4403e24d?embed=true" height="700"> </iframe>
### Use Public Channels
1. If you use Slack and plan to message 3 or more people, we recommend a channel for customer/issue/project/problem/partnership.
1. Learn about [common channels and channel-naming conventions](/handbook/communication/chat).
Loading
Loading
@@ -275,7 +298,6 @@ Slack is to be used for informal communication only. Only 90 days of activity wi
1. It's not rude to leave a channel. When you've had your questions answered or are no longer interested, feel free to leave the channel so it won't distract you anymore.
1. The usage of ChatBots for integrations can sometimes depend upon the name of the channel. You should consult the channel about such integrations before changing the name of commonly used/popular channels to avoid inadvertently breaking integrations.
 
<iframe class="dashboard-embed" src="https://app.periscopedata.com/shared/770f45e7-ca4d-417f-a3db-9dfc4403e24d?embed=true" height="700"> </iframe>
### Be respectful of others' time
1. If you're only referring to someone, but don't actually need their attention, and want to spare them from getting notified, spell out their name normally without `@` mentioning them.
1. Slack messages should be considered asynchronous communication, and you should not expect an instantaneous response; you have no idea what the other person is doing.
Loading
Loading
@@ -348,7 +370,7 @@ This also helps prevent spam from people outside GitLab requesting access to a d
1. If you are having trouble finding a shared Google Doc, make sure you [Search &lt;your domain&gt;](https://support.google.com/a/answer/3187967?hl=en) in Google Drive.
1. In our handbook, if you find yourself wondering whether it is better to provide a public link to a Google Doc vs. writing out the content on the website, use the following guideline: Is this document frequently adapted / customized? If yes, then provide a link, making sure that the document can be _commented on_ by _anyone_ with the link. For instance, this is how we share our employment [contracts](/handbook/contracts/). If the document is rarely customized, then provide the content directly on the site and deprecate the Google Doc.
1. If you want to quickly find where a team member's cursor is in a Google Doc, click their icon at the top of the document and the app will jump you to the current location. This works in Sheets and Presentations as well.
1. You can set the notifications on a Google Doc so you only get emailed with someone tags you directly instead of getting emails for every comment. Click on "notifications" and select "Only yours". By the way, when you create the doc, it defaults to All, but when you are just shared with it, it defaults to Only yours. There is [no global default](https://productforums.google.com/forum/#!msg/docs/1C3PZX1AY7Q/6EXXQKQSPCMJ).
1. You can set the notifications on a Google Doc so you only get emailed when someone tags you directly instead of getting emails for every comment. Click on "notifications" and select "Only yours". By the way, when you create the doc, it defaults to All, but when you are just shared with it, it defaults to Only yours. There is [no global default](https://productforums.google.com/forum/#!msg/docs/1C3PZX1AY7Q/6EXXQKQSPCMJ).
![Google Doc Notifications](./google-docs-notifications.png).
1. You can find a template of the [GitLab letterhead](https://docs.google.com/document/d/1gN1Z2FHPIfPk7QLIey1KF9dR1yTl0R7QrMSb5_Iqfh4/edit) on the shared Google Drive. Please be sure to make a copy of the document to your Google Drive before customizing the template for your use.
1. If you want to have the Google Doc be readable to the public, do not change the sharing settings from 'Editable by Everyone at GitLab', [publish the document](#how-to-publish-a-google-doc) instead.
Loading
Loading
@@ -432,22 +454,18 @@ out to any of the other C-level GitLab team members or our board member Bruce Ar
1. After the general announcements we do a [breakout call](#breakout-call).
1. It is OK to talk over people or interrupt people to ask questions, cheer for them or show your compassion. This encourages more conversation and feedback in the call. Also see the interruption item in [video calls](#video-calls).
1. Please look if the person you hand over to is present in the participant list so you don't hand over to someone who is not present.
1. The last person on the agenda announces that we are transfering to Breakout calls and mentions the Breakout rooms spreadsheet, which is linked in the company call agenda. Instruct team members to find their name in the document and click the hyperlink of the room number. We encourage everyone to make this announcement fun and ask that they read the discussion question for the day. Please note that nearly every day we have new team members joining the company. Please give the full instructions as there is likely new team members in the call.
1. Even if you cannot join the call, consider reviewing the recorded call or at minimum read through the agenda and the links from there. We often use the company call to make announcements or discuss changes in processes, so make sure to catch up on the news if you have missed a company call (or more).
2. Even if you cannot join the call, consider reviewing the recorded call or at minimum read through the agenda and the links from there. We often use the company call to make announcements or discuss changes in processes, so make sure to catch up on the news if you have missed a company call (or more).
1. If you are scheduling a meeting, avoid scheduling during the company call so that meeting attendees do not need to choose between your meeting and the company call. As a remote workforce, the company call is an important part of our culture.
 
### Breakout call
 
1. We split into small groups of at the end of the [Company Call](#company-call) mostly after 5 minutes into the call.
1. Every call has a [Breakout room question](https://docs.google.com/spreadsheets/d/1yT41snsPO9YaGk6XXFyKkr_RESmE6RAh8O-GnkmoW0M/edit#gid=1284603192) which everyone at GitLab can contribute too. Please add your questions as per the read.me on this this [sheet](https://docs.google.com/spreadsheets/d/1yT41snsPO9YaGk6XXFyKkr_RESmE6RAh8O-GnkmoW0M/edit#gid=1284603192). These questions are great ice-breakers for new team member's or if you don't have an update you want to share that day. You can talk about anything, as long as it isn't about results at work.
1. [Breakout Groups](https://docs.google.com/spreadsheets/d/1M-6NjK8_gAqcU1BehQVkKuDa1Ua2hTGBy8TuEDXHh3g/edit?usp=sharing)
1. Every two months the groups will be changed:
- Each group with high attendance will keep half of the attendees while the other half is moved intact and given a new group number.
- Groups with low attendance will be shuffled out to the groups with higher attendance.
- We will do our best to ensure that at least half of the team members that frequently attend stay in the same group.
1. The consistent group allows you to build a deeper relation with a group of people all over the company. We had daily random groups before but that didn't work. As someone said since switching to stable groups: "I really like the breakout discussion format with the constant group of attendees we have now. It’s good to get some repeat conversations to get to know each other better. I find the conversation is going faster and is more engaging as we add a little context with the group each time. This is a change for me as I was not getting nearly as much out of the breakouts in the old format."
### Breakout Room call
1. The last person on the agenda announces that we are transfering to Breakout calls and mentions that we will be be automatically allocated to random groups. We encourage everyone to make this announcement fun and ask that they read the discussion question for the day. Please note that nearly every day we have new team members joining the company. Please give the full instructions as there is likely new team members in the call.
1. We split into small groups of 8-10 people each, immediately at the end of the [Company Call](#company-call) approximately after 5 minutes into the call.
1. The groups are randomly generated by the People Operations Specialist using the zoom breakout room feature. The number of groups is determined by attendance in the company call divided by 8-10 people per group.
1. Every call has a randomly generated [Breakout room question](https://jeanduplessis.gitlab.io/breakout-question/#/) which everyone at GitLab can contribute to. Please add your questions as per the read.me on this this [sheet](https://docs.google.com/spreadsheets/d/1yT41snsPO9YaGk6XXFyKkr_RESmE6RAh8O-GnkmoW0M/edit#gid=1284603192). These questions are great ice-breakers for new team member's or if you don't have an update you want to share that day. You can talk about anything, as long as it isn't about results at work.
 
### Call Structure
### Breakout Rooms Structure
 
These calls are unstructured to allow for natural interaction, but everyone should get a chance to share at least once.
 
Loading
Loading
@@ -465,23 +483,13 @@ Prompts for things you might share:
- Travel, kids, family, and pets.
- Music, books, TV & movies, and video/board games.
 
### Setting up the calls
The calls take place using the People Ops zoom account, which has Breakout Rooms enabled. Make sure to be logged in to the People Ops account to host the calls.
Join the Group Conversation 5 minutes prior to the start time to make sure everything is working properly, and to assist the presenter with any needs. If for some reason the call does not automatically begin recording, press the record button in the bottom right of the Zoom window. Observe over the call and mute any users that are unmuted on accident by clicking the mute button over their image. End the call for all participants at the end of the discussion. If the call runs long, and it is at the 29 minute mark, alert the presenter and end the call.
Next, join the company call. Double check that the call is recording, and that participants can enter the room. If there is any issues in joining the room, double check that the Group Conversation call was ended properly. Once the call begins, make sure to mute any unmuted users that aren't talking, or inform them so they can mute themselves. After the company updates on Tues-Thurs see the following instructions:
##### Breakout Groups
After the announcements have ended, the host will inform the group that they will be heading to their breakout rooms. Inform the group to join their [predesignated groups](https://docs.google.com/spreadsheets/d/1M-6NjK8_gAqcU1BehQVkKuDa1Ua2hTGBy8TuEDXHh3g/edit?usp=sharing) in the chat, and let the team know to inform you (the host) if they are not on the list, and to join another room if they find their room to be empty.
 
If a team member is not on the listing, inform them to go to another room, and inform the host to add them to the most fitting room.
 
#### Archiving the Company Call Agenda
 
The company call agenda document will begin to perform poorly (e.g. slow load times, freezing, restricted write access) as it grows. To curb that, events should be [archived](https://docs.google.com/document/d/1-X_oRGICNiOVUw8asuNP90tg6l6EjRVNSDvXoZAVeR8/edit) each Friday. Events older than one week may be moved to the archive, which follows the same basic structure as the company call agenda document with most recent events appearing towards the top of the doc.
The company call agenda document is archived into monthly in the [archive folder](https://drive.google.com/drive/u/1/folders/1M4DbFCz92ZIFh6YgHKaKwHtow8C93SSd). As from 2019, the archives are in separate docs per month to prevent docs becoming too heavy and taking too long to open.
On the 8th of every month, People Operations Specialist or anyone else in the company can create a new document in the `Company Call Agenda Archive - YYYY` folder and create a new document tittled `Company Call Agenda Archive - Month`.
Then copy the previous months agenda items from the current [Company Call Adenda](https://docs.google.com/document/d/1JiLWsTOm0yprPVIW9W-hM4iUsRxkBt_1bpm3VXV4Muc/edit) document to the newly created archive document.
 
A link to the archive can be found at the top of the company call agenda document.
 
Loading
Loading
Loading
Loading
@@ -141,54 +141,10 @@ In that case, you can [upload it to YouTube](#uploading-to-youtube).
1. If you're not a host, you can't livestream direct from zoom, so the host will need to do that.
1. Generally, for a livestream, it's helpful to have a separate person handling [promoting people to panelist](https://support.zoom.us/hc/en-us/articles/115004834466-Managing-Participants-in-Webinar).
 
### Livestream with Zoom (Temporary Instructions October 2019)
1. Verify that there are no other livestreams happening at the same time as yours, and add the livestream to the GitLab Team Meeting calendar.
1. Click the \[ More ] button and click `Live on Custom Live Streaming Service`
![click the more button](/handbook/communication/youtube/zoom_more_new.png)
1. You will see a page to enter three fields:
![Zoom Go Live page](/handbook/communication/youtube/zoom_golive_fields.png)
1. To fill in those fields, go to studio.youtube.com and make sure you are signed into the GitLab Unfiltered account. At the top right, click Go live
![Click Go live](/handbook/communication/youtube/youtube_golive_white.png)
1. Then click on New Stream
![Click New Stream](/handbook/communication/youtube/youtube_newstream.png)
1. Then write in the title and choose if the livestream will be Public or Private, and then click Create Stream
![Enter info](/handbook/communication/youtube/youtube_createstream.png)
1. The cut and paste the Auto-generated Key (by clicking COPY and pasting in the Zoom page) and same for the Streaming URL. It will always be `rtmp://a.rtmp.youtube.com/live2`.
![Enter info](/handbook/communication/youtube/youtube_cutpaste.png)
1. For the Live streaming page URL, cut and paste the URL of the page in your browser
![URL](/handbook/communication/youtube/youtube_fullURL_private.png)
1. Once all is entered, click Go Live! in the Zoom page.
1. Then, click Go Live in the YouTube page
![URL](/handbook/communication/youtube/youtube_golive_blue.png)
1. Make sure that the livestream is live in the youtube page, as even if it shows as livestreaming in the Zoom meeting window, it may not actually be livestreaming.
1. When done, click End Livestream in YouTube.
![URL](/handbook/communication/youtube/youtube_endstream.png)
 
 
### Livestream with Zoom
 
*These instructions are not working as of October 2019. Please follow the new temporary instructions above.*
 
1. Configure your Zoom [advanced meeting options](https://zoom.us/profile/setting#advanced_meeting_options) to enable livestreaming for YouTube.
 
Loading
Loading
---
layout: markdown_page
title: "Fellow of initial delight"
---
This page has been [moved](/job-families/fellow-of-initial-delight/).
Loading
Loading
@@ -42,25 +42,26 @@ Any [senior or higher](/handbook/engineering/career-development/#engineering) ba
| 2020-02-24 | 2020-02-28 | [Christian Couder](https://gitlab.com/chriscool) | Kharkiv, Ukraine |
| 2020-03-16 | 2020-03-20 | AVAILABLE | TO BE DECIDED |
| 2020-04-13 | 2020-04-16 | AVAILABLE | TO BE DECIDED |
| 2020-04-27 | 2020-04-30 | AVAILABLE | TO BE DECIDED |
| 2020-04-27 | 2020-04-30 | [Ian Baum](https://gitlab.com/ibaum) | Limassol, Cyprus |
| 2020-05-11 | 2020-05-15 | AVAILABLE | TO BE DECIDED |
 
## FAQ
 
- Q: Is a visa to travel into Ukraine?
- Q: Is a visa required to travel to Ukraine?
 
A: [Ministry of Foreign Affairs of Ukraine](https://mfa.gov.ua/en/consular-affairs/entering-ukraine/visa-requirements-for-foreigners) can advise if a visa is necessary based on your country of origin.
 
- Q: Who books travel?
 
A: In most cases the participant will book their flight to Ukraine or Cyprus, but the EBA to Engineering is available to assist.
A: In most cases, the participant will book their own flight to Ukraine or Cyprus, but the EBA to VP, Engineering is also available to assist and coordinate.
- Q: What airport should participants fly in to?
 
A: Once manager approval has been received and MR has been merged, DZ will add the location in which the rotation will occur. Post in [#creator-pairing](https://gitlab.slack.com/messages/CPD077F7V) channel on Slack and DZ will advise of the ideal airports to travel into for the upcoming rotation. *This can vary for each rotation* even if the pairing is taking place in the same city.
A: Once manager approval has been received and the MR has been merged, DZ will add the location in which the rotation will occur. Candidates should post in the [#creator-pairing](https://gitlab.slack.com/messages/CPD077F7V) channel on Slack, and DZ will advise the ideal airport to travel to for the upcoming rotation. *This can vary for each rotation* even if the pairing is taking place in the same city.
- Q: Who will book hotel or accommodations for the rotation?
A: [EBA to Engineering](/handbook/eba/#executive-business-administrator-team) can book a hotel or AirBnB on behalf of the participants. If a participant would like to book their own accommodations this is perfectly acceptable, please communicate in the #creator-pairing Slack channel to advise.
A: The [EBA to the VP, Engineering](/handbook/eba/#executive-business-administrator-team) can book a hotel or AirBnB on behalf of the participants. If a participant would like to book their own accommodations that is perfectly acceptable; please communicate in the #creator-pairing Slack channel to advise.
Loading
Loading
Loading
Loading
@@ -34,13 +34,15 @@ Accelerate time to value to lead adoption and support product revenue growth
We have chosen to have a Professional Services offering at GitLab for several reasons, including benefits to both GitLab and our customers.
 
#### Benefits to our customers
Having a Professional Services team benefits our customers in the following ways:
 
* Faster value realization
* Improved customer experience
* Access to GitLab experts / best practices
 
### Benefits to GitLab
### Benefits to GitLab
Having a Professional Services team benefits GitLab and our [business model](/monetizing-and-being-open-source/) and [strategy](/company/strategy/) in the following ways:
 
* Improved retention and expansion
Loading
Loading
@@ -48,6 +50,7 @@ Having a Professional Services team benefits GitLab and our [business model](/mo
* Experience and offers for partners
 
### How will we deliver?
We plan to deliver on our Vision and Strategy leveraging two methods:
 
1. Direct to customers delivered via [GitLab team-members](/company/team/?department=professional-services) as described in our [professional services offerings](#professional-services-offerings)
Loading
Loading
@@ -61,6 +64,7 @@ We plan to deliver on our Vision and Strategy leveraging two methods:
 
 
## Role & Responsibilities
See the [Professional Services Engineer role description](/job-families/sales/professional-services-engineer/)
 
### Statement of Work creation
Loading
Loading
@@ -86,7 +90,7 @@ The labels are (from left to right):
* `proposal::Ready For Approval`: The Professional Services team has completed the SOW, and it is ready to be approved by the VP of Customer Success
* `proposal::Approved`: The SOW is ready to be sent to he customer by the account team. Once sent, this issue can be closed
 
NOTE: Issues that have not been updated by a Solutions Architect in the last 30 days will be automatically closed.
**NOTE:** Issues that have not been updated by a Solutions Architect in the last 30 days will be automatically closed.
 
### Scoping Custom Engagements
 
Loading
Loading
@@ -117,11 +121,26 @@ For details on the specific Professional Services Engineering plays, see [Profes
## Selling Professional Services
 
Services can be sold via:
* A **[out-of-the-box SKU](#professional-services-skus)**
* Through a **Statement of Work (SOW)** from the [Services Calculator](http://services-calculator.gitlab.io/). These may be customized by following the [SOW workflow](/handbook/customer-success/professional-services-engineering/selling/#selling-services-workflow)
 
**Process**
```mermaid
graph LR;
a["Standard offering?"]-- Yes ---b["Add SKU to quote"];
a-- No ---c["SA starts SOW w/Calculator"];
c-->d["SA works w/PSE to finalize SOW"];
z["Send customer proposal"];
d-->z;
b-->z;
```
For more details on selling professional services, see [Selling Professional Services](/handbook/customer-success/professional-services-engineering/selling).
 
For information on how to position professional services to your customer, see [Positioning Professional Services](/handbook/customer-success/professional-services-engineering/positioning)
### Lead time for starting
 
Often we are asked "what is your lead time for getting started with a project" or a customer may have a specific timeframe in which they want a project delivered.
Loading
Loading
@@ -131,8 +150,8 @@ As there may be many projects and proposals in flight at any time, there are a f
* No engagement schedule can be committed to until a signed SOW is received.
* While we can make a good faith effort to try and match a schedule ahead of that time, to be fair to customers who have committed to a services engagement we must prioritize those first.
* Our typical lead time for starting an engagement is 4 weeks or less, but this can vary greatly as we scale the team and engagements.
* Please check with the Professional Services Manager for the latest lead time details in #g_professionalservices if you need a more accurate estimate.
* If your customer has a specific need, please discuss with the Professional Services Manager - either in the issue for the SOW or in #g_professionalservices - before committing to anything for customer
* Please check with the **Professional Services Manager** for the latest lead time details in the #[g_professionalservice] Slack channel if you need a more accurate estimate.
* If your customer has a specific need, please discuss with the Professional Services Manager - either in the issue for the SOW or in #[g_professionalservice] - before committing to anything for customer
 
## Professional Services Offerings
 
Loading
Loading
@@ -146,19 +165,22 @@ As there may be many projects and proposals in flight at any time, there are a f
Each offering at least has a variant called “standard” or “custom” to define if it can be delivered with a standard SKU / out of the box SOW. For example, enterprise versus commercial or remote versus on-site or one-time versus with an embedded engineer.
 
### Levels of Service
There are three levels of service we talk about when it comes to classifying our service offerings.
 
#### Product Services
**Installing, scaling & using the tool(s)**
 
Product services comprise services geared toward GitLab the software itself. Getting a customer up and running with GitLab in a secure, highly-available environment to ensure their success with the application.
 
For example:
* Implementation & Migrations
* Implementation & Integrations
* Training & Certification
* Performance tuning & advanced administration
 
See [professional services offerings](/handbook/customer-success/professional-services-engineering/offerings) for a detailed listing of offerings.
See [Professional Services Offerings](/handbook/customer-success/professional-services-engineering/offerings) for a detailed listing of offerings.
 
**Planned Offering Maturity**
 
Loading
Loading
@@ -166,9 +188,10 @@ See [professional services offerings](/handbook/customer-success/professional-se
 
![product services slide 2](/handbook/customer-success/professional-services-engineering/product_services2.jpg)
 
Note - some offerings here represent future plans. They will be turned into dynamic items using `services.yml` to remove the need for a screenshot.
**Note:** Some offerings here represent future plans. They will be turned into dynamic items using `services.yml` to remove the need for a screenshot.
 
#### Operational Consulting Services
**Processes aligned with value-added changes**
 
Operational Consulting Services help teams on the path towards full DevOps maturity adopt industry best-practices and advanced use cases of GitLab to accelerate their time to market. These services live one level above Product Services in the sense that they are less focused on the tool. Operational Consulting Services are more focused on the processes in place that helps make the tool a success across a large enterprise.
Loading
Loading
@@ -189,11 +212,13 @@ See [professional services offerings](/handbook/customer-success/professional-se
Note - some offerings here represent future plans. They will be turned into dynamic items using `services.yml` to remove the need for a screenshot.
 
#### Strategic Consulting Services
**Adapt people’s way of thinking to the new paradigm**
 
Strategic Consulting Services live one level above Operational Consulting Services as they focus on organization changes and changes to the people and their behavior. These changes are required to get the full value from a DevOps transformation. We will provide some services in this area though the complete offering will be provided in collaboration with our partner ecosystem.
 
For example:
For example:
* Cultural transformation
* Executive coaching
* Organizational structure consulting
Loading
Loading
@@ -208,15 +233,17 @@ See [professional services offerings](/handbook/customer-success/professional-se
Note - some offerings here represent future plans. They will be turned into dynamic items using `services.yml` to remove the need for a screenshot.
 
### Offering Maturity Model
The services maturity framework provides for 5 maturity levels for offerings: planned, minimal, viable, complete and lovable.
 
* **Planned**: A future planned offering
* **Minimal**: The offering is defined, a vision for moving to complete exists
* **Viable**: We have delivered the offering at least once, feeding lessons learned into completion plan. At least some marketing materials and execution plans from Complete
* **Complete**: An offering that can be consistently delivered: predictability in timing, results, and margin. See [full definition of complete](#complete-offering) below.
* **Loveable**: The offering is at full maturity, positive NPS & impact on customer’s adoption of GitLab product
* **Lovable**: The offering is at full maturity, positive NPS & impact on customer’s adoption of GitLab product
 
#### Complete Offering
Required Items for Complete maturity:
 
* Marketing page on /services
Loading
Loading
@@ -240,14 +267,17 @@ Required Items for Complete maturity:
- Expectations, timing, process
 
### Professional Services SKUs
Some services, such as training, quick-start implementation, and other out-of-the-box implementation packages can be sold as a [SKU](#professional-services-skus) which has a fixed price and fixed SOW associated.
 
#### Current SKUs
Currently, the following services can be sold as a SKU standard offering. These offerings can be added to any quote, and reference a standard SOW. There is no need for the customer to sign a custom SOW in order to purchase these services. These offerings can be delivered remotely or onsite with the customer. One class SKU is considered a "session". The sessions will generally be a minimum of 4 hours in duration with a maximum of 8 hours in duration. Sessions could exceed 4 hours if Question & Answers or Labs run long. In the case of onsite delivery, travel and expenses (T&E) is passed on to the customer based on our [Professional Services terms](/terms/#consultancy) and [sponsored travel policy](/handbook/travel/sponsored/)
 
<%= partial("skus_table") %>
 
#### Creating a new Professional Services SKU
To create a new SKU, the following are the requirements:
 
* A specimen SOW that can be referenced by the Item
Loading
Loading
@@ -278,28 +308,27 @@ You can also reach the group via the #[g_professionalservice] Slack Channel.
 
For scheduling specific customer engagements, we currently are slotting implementations while our group grows to support the demand for services. If you have a concern about scheduling the engagement, this should be discussed at the Discovery phase. If you want to check availability, ask in the #[g_professionalservice] Slack Channel. In no case should you commit to dates before receipt of agreements, P.O., etc.
 
As a Professional Services Engineer, if an engagement has been approved, follow this proces to get the engagement scheduled.
As a Professional Services Engineer, if an engagement has been approved, follow this process to get the engagement scheduled.
 
1. When a new issue comes in, create an event on the **"Professional Services Engagement"** calendar.
1. In the calendar event, invite the team email address.
1. Include a link to the GitLab.com issue in the Calendar event.
1. Change the calendar event coloring to be red. This will help show no resource has been assigned to it yet.
1. Change the calendar event coloring to be <span style="color:red">**red**</span>. This will help show no resource has been assigned to it yet.
1. When a team member accepts the engagement, the team member should replace the team email address with their individual email on the invite list.
1. Add the customers email to the invite list.
1. Change the Red Calendar Coloring to Green.
1. Change the <span style="color:red">**red**</span> calendar coloring to <span style="color:green">**green**</span>.
 
It recommended to Professional Services Engineers to integrate their PTO Ninja to **"Professional Services Engagement"** calendar because this improves the Resource Management View over the Engineers availability. You can set up this integration following the steps below:
It is recommended to Professional Services Engineers to integrate their PTO Ninja to **"Professional Services Engagement"** calendar because this improves the Resource Management View over the Engineers availability. You can set up this integration following the steps below:
 
1. On PTO Ninja type /ninja settings;
1. On Profile Settings Dropbox select Calendar;
1. On PTO Ninja type `/ninja settings`;
1. From the Profile Settings dropbox select *Calendar*;
![Selecting Calendar](./pto-ninja-step-2.png)
1. On PTO Ninja Settings click in Add to add the calendar;
1. On PTO Ninja Settings click in *Add* to add the calendar;
![Selecting Calendar](./pto-ninja-step-3.png)
1. Inform the Calendar ID *gitlab.com_mi66cst9iudilf2b2vio0eu3b0@group.calendar.google.com*
1. Input the Calendar ID *gitlab.com_mi66cst9iudilf2b2vio0eu3b0@group.calendar.google.com*
 
On PTO Ninja is possible to classify *ooo* in the following categories:
On PTO Ninja it is possible to classify **ooo** (Out of Office) in the following categories:
 
In the following categories:
- Vacation;
- Out Sick;
- Public Holliday;
Loading
Loading
@@ -309,7 +338,7 @@ In the following categories:
- Conference;
- Mandatory Civilian Service.
 
**Obs:** Classifying the *ooo* accordingly, you won't be messing up with your vacation days counter.
**Obs:** Classifying the **ooo** accordingly, you won't be messing up with your vacation days counter.
 
If the engagement needs to be rescheduled, work with the team to find the next available time, and move the Calendar event to the newly selected time.
 
Loading
Loading
@@ -321,27 +350,27 @@ Issues are created for all work by Professional Services Engineers.
 
#### Epic Categories
 
- [Billable] *These should have their own customer specific Epics and SOW issues*
- [NonBillable]
- [PTO] *Vacations, OOO, etc...*
- [Team Objectives] *Projects, Planning, Team building, etc...*
- [Meetings] *Non customer related meetings*
- [Personal Enablement] *Training, Coworking sessions, etc..*
- [GitLab Project Contributions] *Contributions like comments in issues, code, documentation, code reviews, etc...*
- [PreSales] *These should have their own customer specific Epics and SOW issues*
- [Billable] - *These should have their own customer specific Epics and SOW issues*
- [NonBillable] - *Work that will never be part of a signed SOW*
- [PTO] - *Vacation, Out sick, Public Holliday, etc.*
- [Team Objectives] - *Projects, Planning, Team building, etc.*
- [Meetings] - *Non customer related meetings*
- [Personal Enablement] - *Training, Co-working sessions, etc.*
- [GitLab Contributions] - *Contributions like comments in issues, code, documentation, code reviews, etc.*
- [Generic Tasks] - *Other, mostly administrative, daily tasks*
- [PreSales] - *These should have their own customer specific Epics and SOW issues*
 
#### 3 types of project tracking Labels
 
- Packaged: complete or incomplete
- Custom or standard SOW (greater than 4 person weeks): tracks percent complete 25%, 50%, 75% or 100% unless milestones specified in SOW
- Embedded Engineer (time and materials project): Bill time and materials direct to customer
- **Packaged**: Complete or incomplete
- **Custom or standard SOW** (more than 4 working weeks): Tracks completed percentage (25%, 50%, 75% or 100%), unless a Milestone is specified in the SOW
- **Embedded Engineer** (time and materials project): Bill time and materials direct to customer
 
#### Time Tracking
 
The professional services team will track all hours. Detailed and accurate time tracking records of hours is essential to ensure revenue can be recognized based upon percentage completion of a project scope as outlined in a Statement of Work ("SOW"), and this data is used in the calculation of gross margin.
The Professional Services team will track all hours. Detailed and accurate time tracking records of hours is essential to ensure revenue can be recognized based upon percentage completion of a project scope as outlined in a Statement of Work ("SOW"), and this data is used in the calculation of gross margin.
 
Billable hours represent work hours that a staff member reports as being aligned to a specific SOW. The format for daily time tracking for each team member is shown below, and should be reviewed by the professional services leadership for approval and signoff before being submitted each Monday (for the week prior) to the Finance Business Partner for Sales. Rounding to the nearest hour is acceptable, and please ensure data is recorded in numeric format without the use of text strings such as "hrs".
Billable hours represent work hours that a staff member reports as being aligned to a specific SOW. The format for daily time tracking for each team member is shown below, and should be reviewed by the professional services leadership for approval and sign-off before being submitted each Monday (for the week prior) to the Finance Business Partner for Sales. Rounding to the nearest hour is acceptable, and please ensure data is recorded in numeric format without the use of text strings such as "hrs".
 
| Manager Approved Y/N | Finance Accepted Y/N |
| ------------- |-------------|
Loading
Loading
@@ -353,10 +382,10 @@ Billable hours represent work hours that a staff member reports as being aligned
 
##### Time Tracking workflow
 
- Professional Service Enginners are required to track **all hours** using an issue and all hours for the week should add up to a minimum of 40, or whatever the hours worked per week is in your country.
- Professional Services Engineers are required to track **all hours** using issues and all hours for the week should add up to a minimum of 40, or whatever the hours worked per week is in your country.
- All Issues are attached to Epics using the [epic categories](#epic-categories) as a guide.
- PSE [Hours Report Generator] pulls all time spent from issues that the user is either an author of, or an assignee, and creates the time tracking spreadsheet
- PSE Manager will Approve the hours, create an issue and attach it to the Time Tracking Epic with the ManagerCertifiedTimesheet label
- **PSE Manager** will Approve the hours, create an issue and attach it to the Time Tracking Epic with the *ManagerCertifiedTimesheet* label
 
#### Project Completion
 
Loading
Loading
@@ -364,9 +393,10 @@ At the conclusion of the Statement of Work the Professional Services Engineer wi
 
#### SOW Issues
 
When requesting a SOW, Account Executives or Professional Services Engineering group members should use the SOW issue template, which automatically shows the required information as well as labels the issue appropriately.
When requesting an SOW, Account Executives or Professional Services Engineering group members should use the SOW issue template, which automatically shows the required information as well as labels the issue appropriately.
 
#### Strategic Initiatives
Strategic Initiatives are undertaken by the Professional Services Engineering group to leverage team member time in a given area of the Customer Success Department. This can include increased documentation, better training resources or program development.
 
[Hours Report Generator]: https://gitlab-com.gitlab.io/customer-success/professional-services-group/issue-mover/
Loading
Loading
@@ -379,4 +409,6 @@ Strategic Initiatives are undertaken by the Professional Services Engineering gr
[Personal Enablement]: https://gitlab.com/groups/gitlab-com/customer-success/professional-services-group/-/epics/145
[Meetings]: https://gitlab.com/groups/gitlab-com/customer-success/professional-services-group/-/epics/240
[PTO]: https://gitlab.com/groups/gitlab-com/customer-success/professional-services-group/-/epics/237
[Generic Tasks]: https://gitlab.com/groups/gitlab-com/customer-success/professional-services-group/-/epics/264
[GitLab Contributions]: https://gitlab.com/groups/gitlab-com/customer-success/professional-services-group/-/epics/255
[g_professionalservice]: https://gitlab.slack.com/archives/CFRLYG77X
---
layout: handbook-page-toc
title: "Positioning Professional Services"
---
# Positioning Professional Services
{:.no_toc}
## On this page
{:.no_toc .hidden-md .hidden-lg}
- TOC
{:toc .hidden-md .hidden-lg}
## Value sell for Professional Services
### Elevator Pitch
**The Problem - Customer Perspective**
The customer has decided that GitLab is their tool of choice going forward, but has concerns about realizing the value of GitLab quickly and seamlessly. These concerns can be in various areas:
* Lack of subject matter expertise on the GitLab technology stack
* Lack of adequate resources to promptly stand up GitLab
* Lack of sufficient resources to stand up GitLab in a highly-available or geographically dispersed way
* Concern around a large number of users coming off of legacy systems
* Concerns about change management for new processes
* Lack of confidence in the ability to deliver on the transformative promise of adopting "all" of GitLab
**Solution**
### Single Sentence
GitLab Professional Services helps organizations reduce time to market by accelerating the adoption of modern software delivery methods.
### Short Message
"The whole is greater than the sum of its parts" - and this is particularly true in modern software development. GitLab enables all aspects intrinsic to software delivery, and we provide specialized training in these practices, such as CI/CD, version control, metrics, and more.
### Long Message
Adopting GitLab gives you the best-of-breed Concurrent DevOps tool on the market while Professional Services will help you also align your people and processes to match.
Our Professional Services team is made up of not only GitLab subject matter experts but seasoned DevOps professionals who have experience in deploying and maintaining both large-scale applications as well as creating and teaching best practices throughout the SDLC. Our experts help lead Concurrent DevOps Transformations, providing direct support to our customer’s strategic business initiatives. Their experience with other Fortune 500 enterprises allows you to crowd-source your enterprise’s digital transformation.
GitLab's Professional Services team exists to enable you to realize the full value of your GitLab installation. We can provide direct implementation support to ensure your GitLab installation is resilient and secure. We also offer migration services to facilitate your transition to GitLab by delivering a clean dataset to resume operations at once. Our education and specialized training provide training in best practices, such as CI/CD, version control, metrics, and more.
## Sales Collateral
### Pitch Deck
To discuss our services offerings with prospects, it is often helpful to have a few slides to describe the role of the professional services team. Feel free to use this deck directly - however if you'd like to modify it please first make a copy.
[Professional Services Pitch Deck](http://bit.ly/psslides)
### Data Sheets
Professional Services Data Sheets are available as subpages to the marketing site. You can find them through the [Professional Services portal](/services/).
## Services Calculator
The goal of the services calculator is to provide the sales team with the ability to self-serve and create a ROM package for a customer with the minimal amount of information. You can get access to the service calculator [here](https://services-calculator.gitlab.io/).
## Other Collateral
For all other sales collateral documentation, see the [Professional Services Sales Enabelment folder](https://drive.google.com/drive/u/0/folders/1vLhSdmlwClou_16I1SU9d3X0oG1EtBHv) on Google Drive.
---
layout: handbook-page-toc
title: "Services to Accelerate Customer Adoption"
---
# Services to Accelerate Customer Adoption
{:.no_toc}
## On this page
{:.no_toc .hidden-md .hidden-lg}
- TOC
{:toc .hidden-md .hidden-lg}
## Overview
This [sales enablement](/handbook/sales/training/sales-enablement-sessions/) session is designed to help the GitLab Sales team understand our services offerings, how to [position](/handbook/customer-success/professional-services-engineering/positioning/) them to customers, and the [workflow for selling](/handbook/customer-success/professional-services-engineering/selling/) services.
### Recording
To watch a live version of this session, please see the recording below:
<figure class="video_container">
<iframe src="https://www.youtube-nocookie.com/embed/ngTI5-1cQK4" frameborder="0" allowfullscreen="true"> </iframe>
</figure>
### Enablement Deck
To view the enablement deck used in this presentation, please visit this [internal link](https://docs.google.com/presentation/d/1p5QweQaqqliLRTIgTo-TyicwAfEYHqAvTRUpOAt2yqs/edit#slide=id.g29a70c6c35_0_68)
## Learning Objectives
1. Why sell Professional Services?
1. Services Portfolio
1. Current state & improvements
1. Services: Positioning and Process
1. Where to go for help
## Professional Services: What, Why and How
### What
{:.no_toc}
Accelerate our customers’ DevOps Transformation by delivering services to improve operational efficiency, accelerate time to market and reduce risk
through GitLab product adoption
### Why GitLab Professional Services?
{:.no_toc}
#### Customer
{:.no_toc}
* Faster value realization
* Improved customer experience
* Access to GitLab experts / best practices
#### GitLab
{:.no_toc}
* Improved retention and expansion
* Customer insights and feedback
* Experience and offers for partners
### How will we deliver?
{:.no_toc}
1. Direct via GitLab resources
1. Partner delivered (future)
## Types of Service
For details in the types of services we offer, see [our levels of service](/handbook/customer-success/professional-services-engineering/#levels-of-service)
## How to order
Ordering services is done through an ** Off-the-shelf SKU** or a **Statement of Work**. See the [selling services workflow](/handbook/customer-success/professional-services-engineering/selling/) for more details.
## Resources
* [Services Marketing page](https://about.gitlab.com/services/)
* [Full offering catelog](https://about.gitlab.com/services/catelog)
* [Services Calculator for custom SOWs](https://services-calculator.gitlab.io/)
## Command of Message questions to ask
### Increase Operational Efficiencies
{:.no_toc}
* Tell me about the most important things that need to be done to make the rollout successful.
* Describe to me where you think there may be opportunities to accelerate your time-to-value?
* How much time could we save your teams by having a GitLab expert architect and deploy GitLab for you?
### Deliver Better Products Faster
{:.no_toc}
* How would the business benefit from the ability to quickly and easily migrate teams?
* Describe how your developer productivity would be impacted by education around best practices for using GitLab, git or GitLab CI/CD
### Reduce Security and Compliance Risk
{:.no_toc}
* How does your team manage the risk associated with adding a new tool or platform?
Loading
Loading
@@ -11,49 +11,21 @@ title: "Selling Professional Services"
- TOC
{:toc .hidden-md .hidden-lg}
 
## Value sell for Professional Services
### Elevator Pitch
**The Problem - Customer Perspective**
The customer has decided that GitLab is their tool of choice going forward, but has concerns about realizing the value of GitLab quickly and seamlessly. These concerns can be in various areas:
* Lack of subject matter expertise on the GitLab technology stack
* Lack of adequate resources to promptly stand up GitLab
* Lack of sufficient resources to stand up GitLab in a highly-available or geographically dispersed way
* Concern around a large number of users coming off of legacy systems
* Concerns about change management for new processes
* Lack of confidence in the ability to deliver on the transformative promise of adopting "all" of GitLab
**Solution**
### Single Sentence
GitLab Professional Services helps organizations reduce time to market by accelerating the adoption of modern software delivery methods.
### Short Message
"The whole is greater than the sum of its parts" - and this is particularly true in modern software development. GitLab enables all aspects intrinsic to software delivery, and we provide specialized training in these practices, such as CI/CD, version control, metrics, and more.
### Long Message
Adopting GitLab gives you the best-of-breed Concurrent DevOps tool on the market while Professional Services will help you also align your people and processes to match.
Our Professional Services team is made up of not only GitLab subject matter experts but seasoned DevOps professionals who have experience in deploying and maintaining both large-scale applications as well as creating and teaching best practices throughout the SDLC. Our experts help lead Concurrent DevOps Transformations, providing direct support to our customer’s strategic business initiatives. Their experience with other Fortune 500 enterprises allows you to crowd-source your enterprise’s digital transformation.
GitLab's Professional Services team exists to enable you to realize the full value of your GitLab installation. We can provide direct implementation support to ensure your GitLab installation is resilient and secure. We also offer migration services to facilitate your transition to GitLab by delivering a clean dataset to resume operations at once. Our education and specialized training provide training in best practices, such as CI/CD, version control, metrics, and more.
You can also [watch the sales enablement session](/handbook/customer-success/professional-services-engineering/sales-enablement) about how to sell services.
 
## Selling services workflow
There are two different ways that services can be sold:
There are two different ways that services can be sold:
 
1. Through the use of a [SKU](/handbook/customer-success/professional-services-engineering/#professional-services-skus) which come with a boilerplate description and fixed cost
1. Through a Statement of Work which is created by the [Services Calculator](http://services-calculator.gitlab.io/) and approved following the process below:
 
### Statement of Work Process
Generally, this process involves the creation of the baseline SOW and issue by the Solutions Architect. The SA then engages with the Professional Services team to get scoping questions defined and answered. After that, the SOW is finalized by the Profession Services team and approved by the VP of Customer Success.
 
#### Overview
1. SA: Create baseline SOW from Services Calculator
1. SA: Add details to issue around customer requirements
1. SA & PSE: Conduct detailed scoping call with the customer
Loading
Loading
@@ -62,6 +34,7 @@ Generally, this process involves the creation of the baseline SOW and issue by t
1. Send for signature (just like software terms)
 
#### Detailed Process
1. Sales and account team to introduce early in discussions
1. The SA can do basic scoping and use [calculator](/handbook/customer-success/professional-services-engineering/selling/#services-calculator) for an estimate
- This should be a good estimate to secure budget
Loading
Loading
@@ -83,26 +56,6 @@ Generally, this process involves the creation of the baseline SOW and issue by t
1. [SoW delivered and executed](/handbook/customer-success/professional-services-engineering/workflows/)
1. Services fulfilled
 
## Sales Collateral
### Pitch Deck
To discuss our services offerings with prospects, it is often helpful to have a few slides to describe the role of the professional services team. Feel free to use this deck directly - however if you'd like to modify it please first make a copy.
[Professional Services Pitch Deck](http://bit.ly/psslides)
### Data Sheets
Professional Services Data Sheets are available as subpages to the marketing site. You can find them through the [Professional Services portal](/services/).
## Services Calculator
The goal of the services calculator is to provide the sales team with the ability to self-serve and create a ROM package for a customer with the minimal amount of information. You can get access to the service calculator [here](https://services-calculator.gitlab.io/).
## Other Collateral
For all other sales collateral documentation, see the [Professional Services Sales Enabelment folder](https://drive.google.com/drive/u/0/folders/1vLhSdmlwClou_16I1SU9d3X0oG1EtBHv) on Google Drive.
## FAQ
 
#### Do we have set SKUs I can use?
Loading
Loading
Loading
Loading
@@ -53,7 +53,7 @@ Solutions Architects frequently interact with customers for demos, presentations
* [Toby](http://www.gettoby.com/) or [Tabs Outliner](https://chrome.google.com/webstore/detail/tabs-outliner/eggkanocgddhmamlbiijnphhppkpkmkl) to launch many preset tabs at once
* [Station](https://getstation.com/) to group pages by application in a smart dock
* [MouseBeam](https://geeky.gent/tag/mousebeam/) enables the mouse cursor to use multiple screens like a circle
* [Spectacle](https://www.spectacleapp.com/) to quickly move and resize windows
* [~~Spectacle~~](https://www.spectacleapp.com/) to quickly move and resize windows [Spectale DEPRECATED October 2019](https://github.com/eczarny/spectacle#important-note)
* [Dark Reader](https://darkreader.org/) enables browser dark mode to better fit room lighting
* [Postman](https://www.getpostman.com/) for API interaction
 
Loading
Loading
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