Professional Service Operations

Learn about the GitLab Professional Services operations processes and workflows.

Welcome to GitLab Professional Services Operations

Professional Services Operations is a collaboration of our consulting, training, scheduling, reporting and backend processes to support the Professional Services team.


How to contact us

Our Team Slack Channels

The Project Coordinators can be reached by tagging the group @ps-scheduling


Who we are

Internal Page


Project Coordination- Consulting

Consulting Project Scheduling

Lead Time for Professional Services Engagement

The PS Opportunity has closed, whats next

If project work is required to start the project prior to the opportunity booking, then the Work At Risk Process would need to be followed and approved.

Customer Consulting Project Scheduling

The consulting operations team has a board to track the scheduling progress of the consulting projects. There is a checklist that is utilized to track the progress of each project as we work through Kantata project set up, project team assignment and partner paperwork. There is also a Project Scheduling Intake Issue in which we request information pertinent to the scheduling process.

Scheduling Request for Consulting Projects

We do understand we may have circumstances to plan for a project before a SF Stage 5, but we would like to have most of the information met prior to contacting PS Operations.

Action DRI
SF Opportunity is at least a stage 5 Opportunity Owner
Forecast category is Commit Opportunity Owner
Customer has agreed to the SOW Opportunity Owner
PS Quote has been created on the opportunity Opportunity Owner
Executed MSA/PSA Opportunity Owner
Agreed close plan with the customer Opportunity Owner
Skills pushed to the Customer Epic Assigned Engagement Manager
Project Scheduling Intake Issue populated with required details Assigned Engagement Manager

For staffing requirements or questions, add the details to the Project Scheduling Intake Issue and tag the assigned Project Coordinator. If there is not a Project Coordinator assigned, tag the Operations Manager for assistance and assignment will be completed at that time. Moving forward, the Project Scheduling Intake Issue will house all information and discussions regarding scheduling. The PC Checklist will only be used internally by the Project Coordinator.

Internal Project Scheduling

If a Team Member would like to have time blocked on their schedule to allow time for non-customer project related items, certifications, or ramp up, a request should be submitted via a comment and tag the PC on either Internal Projects:

  • PS Time Tracking Non-Creditable

Comment should be added to the activity page to include the following:

  • Task
  • Time Required
  • Priority Level

The PC will review availablity and schedule the time on the Master Planning with an allocation.

Consulting Project Assignment

When the PC and PM have the project team aligned the PC will send Consulting Project Assignment in the Kantata project activity, this allows the team to be aware of who will be working on the project.

Consulting Projects Billing Guidelines

Project billing is outlined in each customer SOW or Order Form. The current billing terms that Professional Services follows is the following:

  • Billed upon SOW execution
  • Order Form execution
  • Time and Materials
  • Project miletone
  • Billed half up front and half at project completion
  • Billed at completion

Passive acceptance of 5 days is included in the SOW unless different terms are negotiated by the customer and approved by the Director of Professional Services.

Consulting Projects Revenue Forecasting Guidelines

Project revenue release is followed dependant on project billing type:

  • Billed upon SOW execution billing terms
    • SOW contains milestones that include activities, and revenue can be released as each milestone is accepted or passive acceptance is reached
  • Billed upon Order Form execution billing terms
    • SOW contains milestones that include activities, and revenue can be released as each milestone is accepted or passive acceptance is reached
  • Time and Materials billing terms
    • Approved time sheet hours reported at each month end
  • Project milestone SOW billing terms
    • SOW contains milestones that include activities, and revenue can be released as each milestone is accepted or passive acceptance is reached
  • Billed half up front and half at project completion SOW billing terms
    • SOW contains milestones that include activities, and revenue can be released as each milestone is accepted or passive acceptance is reached
  • Billed at completion billing terms
    • SOW contains milestones that include activities, and revenue can be released as each milestone is accepted or passive acceptance is reached

How To Forecast Revenue For Consulting Projects

T&M Projects

T&M project revenue is forecasted by scheduled soft or hard allocations in the Master Planning in Kantata. The hours that are schedule are multiplied by the rate card on the project.

Fixed Priced Projects

Fixed priced projects are forecasted by the project milestones in the Kantata project. Each milestone has a sign off task, that task is updated with correct sign off date for the activities in the milestone. Best practice is update the sign off task to give time for the customer to review and obtain acceptance from the customer. If there is not confidence that the activities will be complete and the customer will sign off, then the Sign Off task should be moved out to the next quarter.

Revenue Sign Off

Revenue Release T&M Projects

For T&M projects, revenue is released at each month end. Project hours are submitted weekly via the time sheet function in Kantata. The PSE or PM submits time against the project, and the Project PM or Lead approves on a weekly basis. Each month end, the PC pulls a report of all approved time sheets and provides the consolidated report to Finance to review and release the revenue.

Revenue Release FP Projects

For FP projects, revenue is released when customer acceptance is received or passive acceptance has passed as it pertains to the project SOW language. The PM sends out the request for acceptance to the customer and then updates the Billing/ Revenue Milestone in Kantata. When sending out the acceptance email, the PM should copy the Operations Manager and the assigned Project Coordinator. When counting the passive acceptance days, day 1 would be the date the notification is sent, from the date sent then business days is calculated for the passive acceptance.

  • Update Sign Off Sent, when email request is sent
  • Update Sign Off received, when acceptance is received or Passive Acceptance is reached and add the PDF email of acceptance to the Milestone
  • Update if Passive Acceptance has been utilized for sign off

fprevenuerelease

Project Coordination- Training

Training Planning and Scheduling

Refer to this internal page for more information.


Training Projects Billing Guidelines

Training billing is outlined in each customer SOW or Order Form. The current billing terms that Professional Services follows is the following:

  • Billed upon SOW
  • Order Form execution

Passive acceptance of 5 days is included in the SOW unless different terms are negotiated by the customer and approved by the Director of Professional Services.

Training Projects Revenue Forecasting Guidelines

Training revenue release is followed dependant on training billing type:

  • Billed upon SOW
    • Once each training class is complete and roster is received
  • Order Form execution billing terms
    • Once each training class is complete and roster is received

How To Forecast Revenue Training Projects

Training projects are typically considered fixed priced projects and are forecasted by the project milestones in the Kantata project. Each milestone includes tasks for each training course that are used to capture training preparation/planning/closeout and delivery hours. Each task is updated with the correct due date for the activities in the milestone. Best practice is to ensure that the task due dates are updated to accurately reflect training completion dates for forecasting purposes.
If there is not confidence that the activities will be complete, then the task due date should be moved out to the next quarter.

Revenue Release Training Projects

For training projects, revenue is released when training is complete and/or when acceptance is received dependant on the project SOW language. If required per the project SOW, the PC sends the request for acceptance to the customer and then updates the Billing/ Revenue Milestone in Kantata

  • Update Sign Off Sent, when training is complete or email request is sent
  • Update Sign Off received, when training is complete, acceptance is received, or Passive Acceptance is reached and add the class roster or PDF email of acceptance to the Milestone
  • Update if Passive Acceptance has been utilized for sign off

trainingrelease


Operations

New Hire

When there is a new team member on the PS Team. We have some training and process links to review:

New Hire Review

Kantata Access

To provide Kantata access to an internal GitLab team members, provide access by the following:

  • Kantata Access
    • Settings
    • Members
    • Invite Account Members
  • Okta-Kantata- Users Google Group
    • Gmail
    • Gmail Apps
    • Groups
    • Okta-Kantata- users
    • Members
    • Add Members

To provide Kantata access to a GitLab partner, provide access by the following:

  • Kantata Access
    • Settings
    • Members
    • Invite Account Members
  • Process a GitLab Access Request
    • Request Okta
    • Request Kantata to be added to Okta

Time Tracking

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. Key points for time tracking include:

  • Best practice is to record time at the end of each day. This provides the most accurate account of hours worked and when it was worked

  • Each PSE is required and responsible for tracking their own hours, and submitted weekly by Friday EOD for the week worked

  • If time will be worked over the weekend, time sheet should still be submitted by Friday, EOD, then a new line created on the time sheet for hours worked over the weekend

  • 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 is reviewed weekly by PS Operations and Manager

  • Hours for PTO, Holidays and Family and Friends day are no longer required to be submitted in the weekly time sheet

  • If a team member did not work the time allocated for the week, then hours would be added to the PTO feature in Kantata

  • Notes are required for the PS Time Tracking Non Credit projects only, not on customer projects

    • PTO should be submitted in the time off feature in Kantata, and also follow the company guidelines, time off process
    • Holidays along with Family and Friends day are scheduled on the Kantata calendar
  • Time is required to round to the nearest quarter hour, example:

    • 15m should be .25
    • 30m should be .5
    • 45m should be .75

Kantata Internal Projects

Internal projects are set up to track internal time that is not customer project related. Below is the project name along with tasks and examples.

Customer consulting projects

When working on a customer project, all hours worked should be tracked against the project. Here are some examples:

  • Project tasks are aligned with SOW activities and hours tracked against the tasks
  • Internal/ Sales Handoff Calls
  • Internal/ External status meeting
  • Support ticket submission while the project is in progress
  • Weekly/ Final customer reports and documentation
  • Status/ Close out customer calls
  • Customer Travel

Customer training projects

When working on a training project, all hours worked should be tracked against the project. Here are some examples:

  • Introduction/ Planning/ Preparation/ Close Out
    • All hours should be tracked against the task for preparation and close out of the training
  • All class hours are to be tracked against the task that gives the name of the training, example is GitLab Basics TRNG Hours

Month End Time Tracking Guidelines

Professional Services has a hard close at each month end.

Our agreed schedule with finance is Monthly/ Quarterly/ Year End Time Lines

  • By Noon ET, Time Sheets will need to be submitted on the agreed date with finance
    • Time would include hours for that day along with an estimate of hours for the final days of the month
    • If corrections need to be made for the final 3 days of the month, that would be included in the following weeks time sheet
  • By 1 PM ET, Time Sheets will need to be approved by the Project Managers and Coordinators
  • By 6 PM ET, the Operations Teams will have gone through the review process and submit reporting to Finance

Time sheets would be submitted by the team and then approved by the project lead on the cutoff date. Then an additional project line would be added to finish out the remainder of the week, and follow the normal end of the week process.

Here is an example of a time sheet that has been submitted and approved on a Tuesday, then new lines created for the remainder of the week

splittimesheet

Month End Revenue and Billing Timelines

Our agreed schedule with finance is Monthly/ Quarterly/ Year End Time Lines

All timesheets and fixed priced items will be signed off and completed on the monthly and quarterly deadline, then timesheets approvals and reports are submitted the following day.

There is an agreement with revenue if FP items over $10,000 process after the cutoff date and prior to month end, and the billing is complete then the revenue can be processed and accounted for the current month.

Quarterly time tracking entry and approval workflow

  • All hours are submitted and approved in Kantata on a weekly basis
  • The quarterly hours report is pulled from Kantata and reviewed by the Operations Manager and then provided to the PS Director for review and approval
  • A PS Director will APPROVE the hours, create an issue and attach it to the Time Tracking Epic with the ManagerCertifiedTimesheet label
  • The approving manager will submit to the Head of PS, Sr. Director of Professional Services for next level approval. The Head of PS with apply judgement on productive utilization.
  • Head of Professional Services will submit to the Professional Services Finance Partner for final approval.

Project Expenses

Refer to this internal page for more information on onsite travel and expense processes.

If there are other questions in regards to the GitLab Travel policy, refer to the Travel Handbook Page.

Kantata Project Status/ Colors

Kantata Status Status Definition
Estimate- Gray Projects that are tracking Internal time for GitLab PS & GitLab Partners
Prospect- Gray PC is setting up Kantata project/ Project is at a Stage 5- start reviewing staffing plan
In Set Up- Gray PC is setting up Kantata project/ Reviewing Staffing/ Welcome to PS Email
Okay to Start- Light Green Project setup complete/ PM Planning the project
Active- Dark Green PM/ PSE Actively working the project
Closed- Blue Project work is complete, waiting for billing and revenue to be complete
Completed- Blue Billing and Revenue is complete
On Hold- Gray Project is delayed
Backlog- Gray No work is planned
Cancelled- Blue Project Created but will not be worked for various reasons

For training-only projects, use the following Kantata/Kantata statuses:

Kantata/Kantata Status Status Definition
Prospect- Gray Project has not booked yet and is at a Stage 5
In Set Up- Gray SFDC opportunity has closed / PC is setting up Kantata project
Okay to Start- Light Green Project setup complete / Welcome to GitLab Education Services email
Active- Dark Green PC is actively working on scheduling the project / Training dates are proposed to the customer
Closed- Blue Onsite training projects only / Training delivery has been completed but waiting for expense reports
Completed- Blue All training activities are completed / Ready for billing and revenue
On Hold- Gray Partial training activities are completed; customer is not ready to schedule the remaining training activities
Backlog- Gray Customer is not ready to schedule the training activities, and it has been at least a month since the order booking date
Cancelled- Blue Project created but will not be worked for various reasons
Kantata Project Colors
Blue Training Only Project
Yellow Consulting Only Project
Orange Consulting & Training Project
Lime Internal Project

Consulting Project Health Reports

Health Reports provide a weekly snap shot status to PS Management on the overall project status, and rolled up to executives. The report includes a Red, Yellow and Green indicator along with a section to update on overall status, schedule, scope, budget, client. Health reports should be filled out by the project lead or project manager by Thursday of week each by EOD for the projects that are in the Active project status.

  • Overall Project Status:
    • Two to three lines describing the overall project status, includes pro/ cons/ blockers
  • Project Schedule:
    • Is the project tracking to the current Kantata schedule? Y/N and if no, why?
  • Project Scope:
    • Is the project tracking to the original scope, as per the SOW? Y/N and if no, why?
  • Project Budget:
    • Is the project tracking to the original budget, as per the SOW? Y/N and if no, why?
  • Client:
    • How is the customer feeling about the project? Happy, frustrated, engaged, disengaged
    • The project could be status of red for scope, schedule, etc. and the customer is still happy

New Supplier Request Form

New Professional Services Request Form

  • Refer to the Coupa handbook page for instructions on using Coupa, GitLab’s vendor invoicing sys

  • This initiates the New Purchase Request form

  • How to Create a Requisition

  • How to complete the Professional Services Request Form

  • Notes:

    • What is the individual being hires to do
      • GitLab Customer Name- Partner Name- PSE/ PM Name
    • Are any GitLab employees already performing this service?
      • For the most part, answer “no”
    • Will GitLab provide the individual with the required hardware/ device to complete the work?
      • For the most part, answer “no”
    • Is this a PS Partners service request?
      • For the most part, answer “no”
    • Is this an extension?
      • For the most part, answer “no”
    • Is the intended engagement meant to be over 6 months?
      • For the most part, answer “no”
    • Would you like Procurement to negotiate?
      • For the most part, answer “no”
    • What is the estimated spend?
      • For the most part, answer “no”
    • Requisition Information
      • Add Partner Name
      • Description/ Item
        • GitLab -Partner Name- Customer Name- PSE/ PM Name
        • Training- Training: partner name / year month day
      • Price of the Partner SOW
      • Currency is always USD
      • Commodity would be COGS consulting fees
      • Service Start Date:
        • Consulting: Estimate the customer project dates
        • Training: Estimate of when we will start using the training funds
      • Service End Date:
        • Consulting: Estimate the customer project dates
        • Training: Estimate of when we will start using the training funds
      • Need by- set this for 1 week out from date of your submission
      • Payment Structure:
        • Data entry convention - Consulting: Hourly rate/ or Fixed Price
          • Example: $###/hour
          • Example: $### Fixed Price
        • Data entry convention - Training:
          • Standard Course Delivery: Fixed Price
          • Pre-Configured Course Delivery: Hourly Rate
        • Custom Course Delivery: Hourly Rate
        • Example (standard course): $### per course
        • Example (pre-config or custom): $###/hour
      • Submit the purchase request for approval.
      • Follow up with internal approvers as needed.
  • After submitting the Professional Services Request Form, it will apply to your Cart.

  • Go into the Review Cart section and enter the information on the purchase request with the Professional Services Request Form questions already populated and added to the purchase request.

  • Notes:

    • For Consulting, do not specify anyone for the “on behalf of” field. PS Project Coordinator will initiate the new purchase request.
    • For Training, PS Education Services Manager will initiate a new purchase request and specify the PS Project Coordinator for the “on behalf of” field.
  • General Info section:

    • Description of Purchase- PS Partner Sub Contractor Agreement
    • Add Agreements in the Attachments
      • Partner SOW
  • If work is ongoing past the Service End Date and invoices are processed on a monthly basis, the PO will remain open. If for any reason the PO is systematically closed, a request via Accounts Payable Slack Channel #accountspayable will need to be sent to A/P to have the PO re-opened.

Purchase Order Process

  • After all approvers approve the purchase request, an associated Coupa PO will be created.
  • Partner/vendor invoice(s) will be filed against the PO.
  • Comments section: @ mention the partner invoicing A/R PoC to send invoice submission reminder
  • Project Coordinators will set up Customer Folder in the Partner Folder, and include the following:

Invoice Processing and Tracking

CURRENT PROCESS VIA COUPA:

  • Project Coordinator receives notification from Coupa to review the partner submitted invoice.
    • Note - Approval queue is Consulting Project Coordinator first and Training Project Coordinator second.
  • Project Coordinator reviews the invoice and Kantata timesheets to ensure accuracy of hours approved and rate.
  • If the invoice and timesheets align, then the invoice is approved.
  • If the invoice and timesheets do not align, then the invoice is returned to Accounts Payable, and the Project Coordinator follows up with the partner.
  • Project Coordinator updates the partner invoice funds tracking sheet to include the invoice number, date, and amount and saves a copy of the invoice in the Partner Folder.

Sending Invoice Reminder to the Partner - each month end

  • Within Kantata, go to Insights > Time & Expense Admin- Partners and then go to the Time Approvals by Project report.
  • Enter the Date Range and filter the GitLab User Type field for the partner that you wish to view.
  • Run the report, and export the report in Excel format by clicking on the gear icon on the top, right-hand side of the page and select Export to XLSX.
  • Copy and paste the information into the applicable partner timesheet Google sheet. Template is provided in case you need to create a new sheet.
  • Create a pdf version of the partner timesheet information.
  • Send an email to the partner A/R point of contact using the template.

Making Engagement Epic and Issues Partner Accessible

Background
Notes
  • Epics can not currently be moved so instead we recreate the epic in the new location, move the subordinate issues to the new location and close the original epic as described in Directions below.
  • The original and new epics are linked via their issue move audit entries.
  • The directions do not use a bulk edit due to this epic search issue.
Directions
  • Open the to-be-recreated epic in a browser tab
  • Open the destination epics list UI in another browser tab
    • New Epic
      • Title - Customer Name Customer Project Epic
      • Description - copy and paste description markdown from the original epic (current in the other browser tab)
      • Create epic
    • Put the url of the new epic in the copy paste buffer for use below
  • For each issue in the to-be-recreated epic:
    • Browse to the issue
      • Use the /epic <url> slash command to move the issue to the new epic
        • e.g. /epic https://gitlab.com/groups/gitlab-com/customer-success/professional-services-group/ww-consulting/-/epics/2
        • To use a slash command, enter the text of the command in the comment interface and apply it with the Comment button

Kantata Processes

Kantata is our current Professional Services Automation (PSA) system. Follow the link below to view process steps.

Link to Kantata Processes

Kantata Reports

The Professional Services Team uses Kantata reports to track project and team metrics

Kantata Report List


Mavenlink Processes
Learn about the GitLab Professional Services operations processes and workflows.
Last modified April 10, 2024: DMF: Update Time Sheet Details (752ddb39)