Professional Service Operations
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
The Project Coordinators can be reached by tagging the group @ps-scheduling
Who we are
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.
The PM is responsible for updating the following for the project milestone in Kantata:
- Update custom field, Sign Off Sent, when email request is sent
- Update custom field, Sign Off received, when acceptance is received or Passive Acceptance is reached. and add the PDF email of acceptance to the Milestone
- Update custom field, Passive Acceptance Utilized for Sign Off, if passive acceptance is utilized
- If acceptance is received, attach the email (PDF) of acceptance or the signed milestone document to the Milestone
- If passive acceptance is reached, attach the email (PDF) and the milestone document to the Milestone
Please note only the top level milestone fields should be updated. The sub activities within the milestone should not be updated.
Project Coordination- Training
Train
PSEs or Technical Instructors who deliver GitLab Education Services instructor-led courses can use the following workflow to ensure smooth interactions with customers. In addition, PSEs and Technical Instructors should complete these GitLab Certified Trainer steps for each course they are scheduled to deliver.
Preparation steps
-
Professional Services Operations will contact the customer with a “Welcome to Education Services Email” to initiate the training scheduling. After the training dates and times are confirmed, Professional Services Operations will schedule a training session planning meeting. Trainer participation in this meeting is recommended – please let the assigned Professional Services Operations team member know if you need the meeting to be rescheduled to ensure your attendance.
-
Professional Services Operations will use these email communication templates to ensure communication of the key details with the customer and training participants.
-
During the training planning meeting, be sure to discuss and document all of the event logistics listed in the Training Event Plan Template. Professional Services Operations will create a draft of the Training Event Plan prior to the meeting and update the document during the training planning meeting.
- During the training planning meeting, the course outline and system requirements pages below are useful to use to review training logistics, topics, teleconferencing, and system requirements.
- GitLab with Git Fundamentals course outline
- GitLab CI/CD course outline
- GitLab Advanced CI/CD course outline
- GitLab Agile Portfolio Management course outline
- GitLab Security Essentials course outline
- GitLab System Administration course outline
- GitLab Duo Principles course outline
- System Requirements
- During the training planning meeting, the course outline and system requirements pages below are useful to use to review training logistics, topics, teleconferencing, and system requirements.
-
Professional Services Operations will set up a Zoom Meeting or Webinar session for each session using these set up instructions and add the registration link(s) to the issue. You will receive an email message with your unique link to join the Zoom Meeting or Webinar session. Make sure to locate the Zoom information within the email message and familiarize yourself with the Zoom functionality. Here is a useful Zoom article for Managing Attendees and Panelists in a Webinar. Depending on your Zoom set up, you may want to log into https://zoom.us, go to Join a Meeting, and enter the meeting ID/webinar ID to start the Zoom session.
-
At least 2 weeks prior to the training session, Professional Services Operations will email the session registration link(s) to the customer, asking them to send the link(s) to each of the employees whom they want to attend the session(s). When each person registers, they will receive an automated confirmation email with a Zoom Meeting or Webinar join link unique to each person, along with a link to add the session to their calendar.
-
Professional Services Operations will advise if a different teleconferencing system is being used for the training and provide additional details for accessing the teleconferencing meeting.
-
Contact the GitLab Education Services team to confirm you have the latest versions of course slides and other materials.
-
Review the train-the-trainer (T3) video for the course you are delivering.
-
Review and follow the Instructor Pre-Training Checklist to ensure that you are properly prepared for your delivery.
-
Review, practice, and use these PS Remote Training Tips and Tricks.
-
Complete the GitLab Training Lab set up steps below. Make sure that you review the lab exercises and ensure that the labs are working properly prior to the first day of class.
-
When it’s time to join the teleconferencing as a presenter, use the provided information to join the session.
Training lab pre-course instructor workflow
PS uses the GitLab Lab Environment as the standard environment for hands-on course lab activities and hands-on certification assessments. Follow these steps to set up your course attendees for lab access.
1. GitLab lab environment invitation codes
- Professional Services Operations will generate the invitation code for your class and provide the invitation code information approximately a week prior to your class start date as part of the instructor friendly reminders post within your Kantata project.
- Follow the instructions on the GitLab Lab Environment Invitation Code Redemption handbook page to redeem the invitation code and access the lab environment.
- For any edits/extensions/etc or any custom redemption rules (different durations than our standards), contact the GitLab Professional Services Operations team for assistance.
2. Share the invitation code and access instructions with attendees:
- On the first day of class, share the invitation code and review the login process with the attendees. Also let them know the expiration date (which is 30 days from the date they generate the login).
Training Closeout
- Review the Instructor Post-Training Checklist to ensure that you have followed all of the steps to close out your training class.
- Professional Services Operations will download the attendance report and send a close out email to the customer using an email template located in the email communication templates.
Training Planning and Scheduling
Refer to this internal page for more information on Professional Services Operations’ processes.
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 dependent 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 dependent on the project SOW language. If required per the project SOW, Professional Services Operations 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
Operations
New Hire
When there is a new team member on the PS Team. We have some training and process links to 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 not required for the PS Time Tracking - Non Creditable project
-
Notes may be required for customer projects, please confirm with your Project/Program Manager before submitting time
- 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 link 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
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
- For new partners/vendors only
- Partner/vendor must be approved in Coupa prior to submitting a Professional Services Request and Purchase Request forms
- How to Request a New Supplier Instructions
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
-
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
- Data entry convention - Consulting: Hourly rate/ or Fixed Price
- Submit the purchase request for approval.
- Follow up with internal approvers as needed.
- What is the individual being hires to do
-
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:
- Partner Fully Executed SOW
- Partner Invoice Tracking Sheet
- Set up with SOW amount
- Link Fully Executed SOW
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
- PS automation creates engagement epics in Professional-Services-Group and issues in PS-Plan.
- It’s useful to move the epics of engagements that require partner access to Professional-Servies-Group > Consulting Delivery
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
- Title -
- Put the url of the new epic in the copy paste buffer for use below
- New Epic
- 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
- e.g.
- Use the
- Browse to the issue
Kantata Processes
Kantata is our current Professional Services Automation (PSA) system. Follow the link below to view process steps.
Kantata Reports
The Professional Services Team uses Kantata reports to track project and team metrics
ac0e3d5e
)