Skip to content
This repository has been archived by the owner on Apr 17, 2024. It is now read-only.

Commit

Permalink
feat: update procedures for customer support (#43)
Browse files Browse the repository at this point in the history
  • Loading branch information
dave-at-koor authored Sep 25, 2023
1 parent 0a8fa3e commit 646d320
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 45 deletions.
11 changes: 5 additions & 6 deletions docs/customers/support/customer-calls.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ title: Customer Calls

# Customer Calls

The obvious first, be respectful, nice and confident in your communications.
The obvious first, be respectful, nice and confident in your communications.

Try to reiterate points brought up by the customer to make sure that everyone is on the same page.
Try to reiterate points brought up by the customer to confirm understanding. Make sure that everyone is on the same page.

Should a customer have any questions that you can't answer on the spot, make sure to write them down and add them to the customer ticket as a ticket so it can be tracked.
Same goes for topics a customer might have questions about, document them in a ticket so that they don't fall under the rug and get forgotten.
Should a customer have any questions that you can't answer on the spot, make sure to write them down, and add them to the customer ticket as a ticket so it can be tracked. The same goes for topics a customer might have questions about. Document them in a ticket so that they don't fall under the rug and get forgotten.

## Discovery Call

Expand All @@ -19,5 +18,5 @@ The checlist should cover the most important points from our side to make sure w

### "What is the right direction?"

* If a customer has a critical issue causing a production outage (aka "costing them money"), we obviously need to move fast to get them running again.
* Is the customer looking for a more managed approach to storage in containers? Introducing them to the Koor Storage Distribution would be an idea.
- If a customer has a critical issue causing a production outage (aka "costing them money"), we obviously need to move fast to get them running again.
- Is the customer looking for a more managed approach to storage in containers? Introducing them to the Koor Storage Distribution would be an idea.
91 changes: 72 additions & 19 deletions docs/customers/support/index.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,87 @@
---
title: Support Services
outline: [2, 3]
---

# Koor's Support Services

In the beginning, Koor offered consulting as a way to attract customers and to provide opportunities to learn about customer needs. Whatever we can learn by helping customers is likely to be useful when coming up with great product that address underlying issues.
This section of the handbook describes how we take care of customers. Our business depends on helping our customers with issues related to Rook Ceph data storage. Our customers come to us to resolve their problems.

However, Koor needs to be a product company in order to have the economics that will allow rapid growth. We need to be able to leverage the value of a great product line that generates healthy margins so that we can reinvest into making better software that solves more problems.
While we may not be able to solve every issue, we need to explore all available options, and communicate our recommendations clearly. We also need to manage expectations and keep customers informed of progress. Customer need to know we have not forgotten about them.

Whatever the long-term motivation, serving customers well is the only path to sustained growth. While we talk about consulting, the overarching goal is for customers to feel supported by Koor. That could be through a helpful answer to a question, fulfilling a commitment to provide regular service, or standing by a customer in a time of need when their systems are in disarray.
Our long-term business depends on encoding our expertise with Rook Ceph into our software offering. We can harvest lessons from our customer engagements and come up with software improvements that would eliviate such problems for all customers. Harvesting ideas takes conscious effort, creativity, and discipline.

This section of the handbook describes how we take care of customers.
Follow the processes defined in this guide, and provide excellent support to our customers.

## Operations

### Roles

We have a few roles that are specific to customer service activities. These are roles that anyone in any job position may assume. The same person may assume different roles with different customers. Also, someone may assume more than one role for the same customer. The key point is to make sure someone is handling the responsibilities of the roles as needed, and that assignments are clear.

**Engagement Manager**

- Koor employee responsible for coordinating with the customer.
- Leads regular status meetings with active customers.
- Keeps in touch with customers who have gone quiet.

**Storage Specialist**

- The Koor employee with technical expertise who works directly with the customer's technical people to assess and resolve issues.
- Handle all of the detailed work.
- Informs Engagement Manager of new issues and blockers where alternative action may be needed.

### Meetings

We have a few types of meetings with customers.

**Exploratory**

- We may meet with a prospective customer to understand their situation. We should ask any questions we need to about the situation, without diving into details or attempt to resolve any issues.
- This is also the prospect's opportunity to decide whether they want to work with us.
- The purpose of the meeting is for both sides to decide whether to move forward.

**Kickoff**

- Once a prospect become a customer by signing paperwork and perhaps making a payment, we will have a kick-off meeting where we get enough of the details to begin the work.

**Checkpoint**

- From time to time, we will meet with the customer's project leaders to discuss any progress, to outline remaining work, and to hear any concerns or feedback from their perspective.

**Working**

- Anytime technical people are in a meeting to work on the customer's data storage is considered a working meeting. Frankly, this does not need a special name, but it may be useful in conversation.

### Weekly Rhythm

Koor has a simple weekly routine for staying on top of customer engagements. The hard part is having the discipline to follow it.

**Key Outcomes**

- Make sure each active customer is getting attention.
- Make sure projects are not stuck.
- If any are, figure out how to unblock.
- Keep an accurate record of consulting hours.

**Steps to Follow**

On Monday and Thursday of each week, Engagement Managers review the situation for each of their assigned customers.

1. Use Linear to check on progress by Storage Specialists. Make sure all activities are represented by Linear issues, and that the issues have notes about the latest findings. Update statuses as appropriate.
2. Communicate with the customer with the latest information. If we are waiting on them for something, send a gentle reminder.
3. Make sure the latest activity by our Storage Specialists is recorded in our [tracking spreadsheet](./tracking).

**Additional Points**

- If a holiday occurs on one of these days, do this on the following day.
- If an Engagement Manager is taking vacation, arrange for another Engagement Manager to cover.
- At least once per month, reach out to any customers without an active project. Say hello, and remind them that we are here to help.

## Key Topics

- [Tracking hours](./tracking)
- [Keeping in touch](./keeping-in-touch)
- [System assessments](./assessments)
- [Performance tuning](./performance-tuning)
- [System assessments](./troubleshooting)

## Operations

Koor has a weekly routine for staying on top of customer engagement.

*TODO Let's decide on the right actions to take on a weekly basis. What you see below is a starting point that needs improvement.*

1. At the start of each week:
1. The Engagement Manager reviews each consulting engagement and asks questions to understand how things are going and what is left to do.
2. Team members reflect on their consulting work from the previous week and updates a to-do list for the current week.
3. Any new customers (KDS Pro subscribers) must be contacted to schedule a discovery call. The Engagement Manager assigns an Engagement Lead for each new customer.
4. Review the [tracking spreadsheet](tracking) to ensure that hours for the previous week are accurately noted.
2. At the end of each week:
1. Each team member updates the [tracking spreadsheet](tracking) to record hours spent on consulting. Remember to record "non-billable" hours as well.
2. Write a summary of next steps for each active engagement.
26 changes: 8 additions & 18 deletions docs/customers/support/keeping-in-touch.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,16 @@ title: Keeping in Touch

# Keeping in touch

Koor's practice is to stay in touch with active customers. An active customer is one who has a current KSD Pro subscription or to whom we have sold consulting services within the past 12 months.

We should touch base with each customer on a monthly basis. It is a good practice to share whatever is new in KSD or with Rook and Ceph to help keep customers informed. We will write a common script (words to cut and paste in to email or Slack) to share news consistently and make sure we have a different message each month.
Koor's practice is to stay in touch with active customers. An active customer is one with a current Pro subscription or to whom we have sold consulting services within the past 12 months.

## How to engage customers

*IDEA: Let's have a system where every Koor team member is assigned a few customers to contact.

1. Use a spreadsheet to track customers and who is the contact that month.
2. For the content of the message:
1. Start with a personal sentence or two written in the team member's own words.
2. Include the common messaging using cut-and-paste.
3. Close with a personal salutation and offer to meet.
4. Track the response in the spreadsheet. Share the response with the Engagement Manager, and cc the team.
3. Change assignments each month so that customers hear from a different team member.

Here are some examples of questions to ask in order to stay in touch:
Each customer will have a Koor Engagement Manager. The Engagement Manager might also be the Storage Specialist. These roles are hats that we wear.

1. How is your system performing?
2. Have you had any problems with your system lately?
3. *TODO - add more questions*
When reaching out to keep in touch, keep a few points in mind.

Offer to meet with customers if there is anything they would rather discuss than write in email.
1. Understand the terms of our engagement with the customer. Be mindful of any specific arrangements.
2. Share something useful, some information or news about Koor, or ways we can help them.
1. We can coordinate on these points for consistency.
3. Offer to meet, and provide a link to your Calendly so that they can schedule.
4. Track responses in our [tracking spreadsheet](./tracking).
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"devDependencies": {
"mermaid": "^10.3.0",
"vitepress": "^1.0.0-rc.4",
"vitepress": "^1.0.0-rc.15",
"vitepress-plugin-mermaid": "^2.0.13"
},
"scripts": {
Expand Down

0 comments on commit 646d320

Please sign in to comment.