Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Professional Services Engineering

Professional Services Engineering Handbook

The Professional Services Engineering group at GitLab is a part of the Customer Success department. Professional Services Engineers have the goal to optimize organization's adoption of GitLab through our professional services, designed to enable other necessary systems in your environment so that customers can move from planning to monitoring.


Accelerate our customer’s DevOps Transformation
by providing services to improve efficiency, time
to market and agility through GitLab product adoption


Accelerate time to value to lead adoption and support product revenue growth

Why GitLab Professional Services?

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:

Benefits to GitLab

Having a Professional Services team benefits GitLab and our business model and strategy in the following ways:

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 as described in our professional services offerings
  2. Partner delivered to allow us to leverage partners in order to:
    • Ensure we have local coverage globally
    • Complete services offerings
    • Create a partner revenue stream
    • Partner delivered services
    • Contracted delivery resources
    • Allow us to deliver and develop IP

Role & Responsibilities

See the Professional Services Engineer role description

Statement of Work creation

The GitLab Professional Services Engineering group is responsible for maintaining the GitLab SOW Calculator. The production of new statements of work for customer proposals is owned by the Solutions Architects.

To obtain a statement of work, start with an SOW from the Services Calculator which will open a new SOW issue on the SOW Proposal Approval board. Follow the specific SOW process for a complete explanation.

We prefer customers to mark up our agreement and SOW template if they request changes. If they require the use of their services terms or SOW, please contact the Professional Services Engineering group.

SOW Proposal Approval board

SOW proposal board screenshot

The SOW Proposal Approval board is used to approve all Statements of Work (SOW)s before sending them to a customer. For the entire process, see the SOW process.

The labels are (from left to right):

NOTE: Issues that have not been updated by a Solutions Architect in the last 30 days will be automatically closed.

Scoping Custom Engagements

The two ways services are sold are: out of the box SKUs or a statement of work from the Services Calculator that may need customization. When scoping custom SOWs, the Professional Services team partners with the SA to create a custom engagement that will help meet the customer's needs.

To understand the workflow for custom SOWs, read the custom SOW workflow.

For scoping questions to help uncover what is required to scope a custom engagement see custom SOW scoping details.

Long Term Profitability Targets

The long term gross margin target for Professional Services is 35%.

Services Attach Rate for Large Accounts

The percent of Large Parent Accounts that have Professional Services associated with it or any linked SFDC Accounts. GitLab's target is above 80%.

Services Delivery

Implementation Plan

Each services engagement will include an Implementation Plan compiled based on the Statement of Work and other discussions the Professional Services Engineering group has with the customer. The Professional Services Engineering group also maintains the SOW template located at this internal link.

Each services engagement will have a google sheet that shows the contracted revenue and the estimated cost measured in hours or days of effort required to complete the engagement. The cost estimate must be completed prior to SoW signature and attached to the opportunity in SFDC.

Professional Services Engineering Workflows

For details on the specific Professional Services Engineering plays, see Professional Services Engineering workflows.

Selling Professional Services

Services can be sold via:


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.

For information on how to position professional services to your customer, see Positioning Professional Services

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.

As there may be many projects and proposals in flight at any time, there are a few rules we use when prioritizing and scheduling engagements:

Professional Services Offerings


  1. Levels: There are three levels of service that represent the different services buyer personas.
  2. Categories: Each level has one or many categories of service that define a set of related services either by type or product area.
  3. Offering: Each category has one or many offerings that is a single consumable unit that has all of the required pieces to make a complete service offering.
  4. Offering Variants: Each offering may have one or many variants that allow it to be deployed in different ways.

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:

See Professional Services Offerings for a detailed listing of offerings.

Planned Offering Maturity

product services slide 1

product services slide 2

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.

For example:

See professional services offerings for a detailed listing of offerings.

Planned Offering Maturity

operational consulting services slide 1

operational consulting services slide 2

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:

See professional services offerings for a detailed listing of offerings.

Planned Offering Maturity

strategic consulting services slide 1

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.

Complete Offering

Required Items for Complete maturity:

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 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 and sponsored travel policy

Creating a new Professional Services SKU

To create a new SKU, the following are the requirements:

After those requirements are met, the process to create a new SKU is:

  1. Create an issue in the Finance issue tracker referencing the above requirements
  2. Review with the Finance Business Partner for Sales
  3. Make any require changes
  4. Submit to VP of Customer Success for approval
  5. Submit to CFO, CRO and CEO for approval
  6. Once approved, submit to Accounting to create SKU in Zoura
  7. Once SKU is created, add to Current SKUs above

How to work with/in the Professional Services Engineering group

Contacting Professional Services

At GitLab, Professional Services Engineering is part of the Customer Success department. As such, you can engage with Professional Services Engineering by following the guidelines for engaging with any Solutions Architect. This process ensures that the Customer Success department as a whole can understand the inbound needs of the account executive and our customers.

You can also reach the group via the #g_professionalservice Slack Channel.

Scheduling Professional Services

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 process to get the engagement scheduled.

  1. When a new issue comes in, create an event on the "Professional Services Engagement" calendar.
  2. In the calendar event, invite the team email address.
  3. Include a link to the issue in the Calendar event.
  4. Change the calendar event coloring to be red. This will help show no resource has been assigned to it yet.
  5. When a team member accepts the engagement, the team member should replace the team email address with their individual email on the invite list.
  6. Add the customers email to the invite list.
  7. Change the red calendar coloring to green.

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;
  2. From the Profile Settings dropbox select Calendar; Selecting Calendar
  3. On PTO Ninja Settings click in Add to add the calendar; Selecting Calendar
  4. Input the Calendar ID

On PTO Ninja it is possible to classify ooo (Out of Office) in the following categories:

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.

Professional Services Engineering Issue Board

The Professional Services Engineering Issue Board is available here. This board contains everything that the group is working on - from strategic initiatives to SOW writing, all group activity is available here.

Issues are created for all work by Professional Services Engineers.

Epic Categories

3 types of project tracking Labels

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.

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        
Name SOW 1 SOW 2 SOW 3 SOW 4 (etc…) Total Billable Hrs
PSE 1 hours spent X.X X.X X.X X.X
PSE 2 hours spent X.X X.X X.X X.X
PSE 3 hours spent X.X X.X X.X X.X
Time Tracking workflow

Project Completion

At the conclusion of the Statement of Work the Professional Services Engineer will prepare a cost vs actual analysis. This analysis will be filed in SFDC. When filed in SFDC the Professional Services Engineer will @mention the the Controller and Finance Business Partner, Sales in SFDC Chatter.

SOW Issues

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.