The service quality concept
Service quality is one of the core concepts of our principles. Harvard professor David Maister, who has spent decades advising professional services firms on how to improve, summarizes service quality like this:
The importance of client service is well understood by most professionals and most professional firms. Most, if not all, firms acknowledge the critical distinction between technical quality (how good is the work?) and service quality (what kind of experience does the client have with the firm?). … Did the professionals you dealt with:
- Make it their business to understand what was special and unique about you and your company?
- Listen carefully to what you had to say and what you wanted, rather than substitute their own judgment for yours on what needed to be done and how it should be done?
- Do thorough research, and if possible come up with their own suggestions, before asking you questions?
- Give good explanations of what they were doing and why? [e.g. Important that you inform the client WHY a certain bug appears (if its a major bug that worries them). They feel unsure, insecure and they “don’t really trust the system” when “fundamental bugs” occur, even if they occur for a technically simple reason.]
- Let you know in advance what they were going to do?
- Help you understand what was going on and help you reach your own conclusion, rather than tell you their conclusion?
- Keep you sufficiently informed on progress?
- Document their work activities well?
- Avoid confusing jargon?
- Make sure they were accessible and available when you needed them?
- Notify you promptly of changes in scope, and seek your approval?
- Keep their promises on deadlines?
- Involve you at major points in the engagement?
- Make you feel as if you were important to them?
- Show an interest in you beyond the specifics of their tasks?
- Make an attempt to be helpful to you beyond the specifics of their project?
My own experiences (and those of the clients I have surveyed) suggest that it is extraordinarily rare to find a professional who is consistently good at these things, and even rarer to find a whole firm that can be relied upon to act in this fashion. Internal excerpt.
Introduction to practical examples
The terms senior and client may be used interchangeably in the examples below. Essentially they have a very similar meaning. A client should be treated as a senior by us all, and someone who is senior to you here at LiteBreeze should be treated like a client.
The examples that refer to dealing with clients apply to you even if you don’t deal with clients directly. Your seniors within the organization are your internal clients.
The Service Quality (SQ) concept can be applied towards everyone in the organization, though you may put in extra effort to perfect SQ in communications with seniors. It’s not just about making the other party feel valued, it has real tangible effects on value-creation:
- It saves the other party’s valuable time.
- The other party can take better and faster decisions.
- Clear and accurate updates allow the other party to plan their work efficiently.
- Efficient communication makes for less interruptions and allows the other party to focus on their business.
- If your senior feels that your communication is very professional, that senior will treat you more professionally too. They will communicate faster and more clearly, and collaboration will go smoother.
- Seniors will associate the professionalism of our communication with our skills in general. As communication is most clients’ main concern when outsourcing – and perhaps managers in general – communication quality is a great opportunity for you to keep clients and seniors impressed.
A client can be an active client or a passive client. Active clients are checking in on status often, describe requirements and their expectations in detail, are keen to test themselves and report fixes, tend to be micromanaging and often have technical skills themselves. Passive clients are simply the opposite of an active client; they will: give you vague instructions, rely on your expertise to arrive at the best solution, not have time to do any testing/check every deliverable themselves. They will rely on you to deliver results. They don’t expect to have to get involved in our job.
The more independently you can generate value and “drive projects forward”, the more passive your clients and seniors will become. If your seniors are able to be passive, you are essentially saving them much valuable time.
Seniors are often active and passive in periods. A client may take on an active role during crucial phases and step back later when they can add more value to another project. Don’t get used to the luxury of working with an active and micromanaging senior. In a software project, the crucial part could be the initial project planning.
How we report will differ for these type of clients. A passive client with a project that stretches multiple months will probably just need a report once per week. An active client may need frequent updates every two hours.
A client’s perception changes easily. By avoiding just one unnecessary question, the client’s perception may change from “Phew, this takes too much of my time to micromanage” to “Wow, these guys are really easy to work with”. Strive towards perfection when it comes to communication. The devil is in the detail. Our aim is to give the client a wow-sensation at every touch point (interaction).
You are LiteBreeze. The client’s view of LiteBreeze is shaped by your communication with them. Their contact with LiteBreeze is 99% through you. Research shows that up to 70% of clients who leave a supplier, do so because of “supplier indifference”. So providing great SQ gives you a great opportunity to retain clients for the long term.
Practical examples of service quality
How can we practically apply the service quality concept to our day-to-day communication? Starting with the most basic advice:
Responding to a senior has higher priority than normal work 99% of the time. It often takes very little time to jot down a response. Seniors perceive the service level as very high if they get an immediate response instead of four hours later, even if the content of your response is exactly the same. Fast responses via Basecamp and email will reduce the risk that the other party interrupts you via an instant messenger.
When you acknowledge a message you reduce the other party’s need to follow up. It saves time, allows for better planning and it saves the client and seniors from having to worry about the task being forgotten. Often it takes just a minute! For example:
I’ve added the two new requirements to our work-plan: URL. We believe we can complete these before Monday 7th May. Here’s an inline summary with rough estimates listed in the order of priority:
Advanced search extra fields – 4h
PDF in lightbox – 4h
Whether you need to acknowledge a message or not depends on your client and situation. If it’s a major task, it’s urgent, or it’s unclear who will grab it, you should at a minimum acknowledge and say “I’ve added this to my work plan/todo list and hope to deliver on DAY, DATE.”
Sometimes it’s ok to not acknowledge a task to reduce inbox clutter. If the following conditions are met it would be ok to not acknowledge: it’s a simple task, you will complete the task within say 24-48 hours and can thereby report back quite shortly, you have a good rapport with the senior, they trust that you get things done, they are not very active, there’s no history of problems related to the task.
Assume and suggest
Seniors’ needs are always more or less ambiguous and open to interpretation. Assume what you think the senior needs rather than asking them what they need. Suggest solutions rather than stating problems; you are the expert!
Assuming and suggesting saves seniors’ time. Seniors can just respond “Sounds good”. If your assumption is incorrect, your senior will correct you. So an assumption will function as a question when it needs to.
We have a better opportunity to steer clients toward success; to use simple solutions that reduce project risk, to use solutions that reuse existing code and lowers costs, and to use new technology that we want to work with.
Use as clear language as possible
Pay attention to spelling and grammar. Be succinct and use short sentences, group sentences into short paragraphs, make sentences unambiguous, use inline screenshots if their size is small, use external URL for larger screenshots, be concise and don’t repeat yourself, use numbered lists, include links to external references. Brevity is a virtue. Read through your message before sending it and simplify as much as possible.
Set clear expectations
Do your seniors have clear expectations about your tasks? In which order will you prioritize your tasks – what are your next steps? When will you send the next update? When will you start working on tasks, how many hours will you need for each task, when will each task be completed? Communicate this to seniors through periodical reports, work plans and todo lists.
An active senior may bombard you with various small tasks. You need to make sure that nothing is forgotten and that the tasks are prioritized in a way that makes the most sense. It’s not the client’s job to “manage our todo lists” so to speak.
Try to foresee what information a senior will need. Ideally, a senior should never have to ask for information and updates. If a senior is frequently asking questions about the status of your work – such as what the status of something is, when task X will be completed, how to find certain information, how something works – then you probably need to provide clearer and more frequent updates. Be proactive.
Some long messages include many points like requests, concerns, questions, vague questions or “hidden” questions. Make sure that you have really addressed all points. If you are unsure about some points, you should still mention that you will get back to the client regarding those once you have clarified them. You may need to clarify through your own research, a discussion with colleagues, or the like.
If you don’t address all points immediately, the client may feel the need to ask you again. The client may feel that you have forgotten those points which can lead to frustration. In some situations the client may even resort to contacting your seniors, which would lead to upward delegation.
Sometimes it can be enough to CC a senior to keep them in the loop and to manage expectations. Don’t CC too much and too often though; the status of less important tasks can be saved for a periodical report to reduce inbox clutter.
Don’t be discouraged if your senior doesn’t respond to your impeccable report. Even if silent, your senior will appreciate your update. If your senior requires fewer updates, s/he will tell you. The fact that the senior does not have to respond to your report is a positive sign.
Work plans and todo lists are great tools for setting clear expectations. Work plans are primarily used by the technical department: detailed work plan guidelines. Todo lists can be used by everyone and our especially important for seniors who have responsibilities outside of development projects: detailed todo list guidelines.
Don’t request unnecessary input
Don’t send concealed requests for input, when you don’t really need input from your senior. An example would be a vague or unplanned report, where seniors feel like they need to step in and guide you further. Try to minimize the number of back-and-forths.
Don’t send frequent direct requests for input. A common mistake is to add phrases like these to every message: “please give your feedback”, “please check” or “what do you think?”.
Ask for input only when you really need it, to save seniors’ time. Seniors should feel that it’s really easy to work with you. Aim to deliver value independently.
For example, to a passive client where you have just uploaded a batch of finished requirements you could write: “If you’re curious about progress, you can review it here: XYZ. However please keep in mind that the work is in progress and that there will be issues. Once we’re done with this phase and have tested it well – probably around DAY, DATE – we will ask you to check. We will update the work plan daily.”
If a senior feels the need to steer you in the right direction, such as if you’ve made a major incorrect assumption, the senior will give you input even if you haven’t explicitly asked for it.
Do you keep your clients sufficiently informed on progress? In a development project with one or more full-time developers this is handled through the work plan.
In smaller projects – like maintenance, very agile projects or a non-technical project – you need to find other ways of keeping your client sufficiently informed. Your own todo list could be used as the service quality tool of choice, but it’s not the best choice for all situations. If you and your client maintain todos/requirements in a project-specific Google doc, you can for example highlight completed requirements so that the client at all times can understand progress.
Highlighting for fast clarity
When you need to draw a senior’s attention to a specific section of a document you can highlight that area with a light background color. You can use a tool like Google docs, which also provides revision history and a comment feature. The comment feature is often ideal, but sometimes third parties are unfamiliar with Google docs.
A specific example of how I apply this is when sending a revision of an agreement to clients. We have a standard two-page template but a client may ask for minor changes in it. If I would send the revised agreement as an attachment then the client would have to 1) download the attachment and open it 2) most importantly read through it again and try to find the revisions. Instead just highlight the changes and paste it inline making it very easy for the client to browse through the changes in a couple of seconds. It should be easy to do business with you!
Explain what you will do differently in the future
Let’s say there’s been an incident related to your work. Perhaps you’ve been criticized. Obviously you need to explain what you have done about the problem, but more importantly, explain why it won’t happen again. What will you do differently in the future to prevent similar incidents? The senior does not want to feel like s/he has fallen victim to upward delegation and that s/he will have to be involved with micromanagement in the future.
A technical example could be that a client found out that an export to PDF feature stopped working. A bad response would be “I’ve fixed the issue, please check.”. A better response would be:
I’m sorry that we were not able to catch this bug ourselves. The issue appeared because of a deprecated function (an outdated built-in function that the server software no longer supports). The server’s software was automatically upgraded last Monday, and the error occurred at the same time. I have now fixed the code that uses this old function which includes these pages: URL1, URL2 … How will we prevent it from happening again? We’ve disabled automatic server software upgrades. I’ve added it to my calendar to check for new software oncer per quarter starting 1 November. After manually upgrading the server, we’ll carefully test functionality. Secondly, I have written a small unit test that will email the admin developer here at LiteBreeze if the export to PDF feature for any reason would not return the expected PDF file in the future.
When you handle a problem well and explain what you will do differently next time, the senior might even experience a strengthen rapport; what is called the service recovery paradox.
Explain mistakes but stress that it’s not an excuse
Applicable for example when a client seems upset and is criticizing you. You can explain what has happened, but be very careful to make sure that it does not sound like an excuse.
A bad example would be “We didn’t find this bug because we had so much else to work on in the project.” A much better example would be “I’m not trying to make excuses but this important bug slipped through as I was in a bit of a hurry trying to finish too much at the same, leaving me not enough time to test. Next time I will surely test more carefully, especially these essential features, before reporting it as completed. Sorry about the trouble caused.”.
If a senior feels that you are making excuses s/he will also feel that you don’t take him/her seriously, and this leads to a loss of rapport that will take much time to rebuild. Accepting responsibility for your work, on the other hand, will build rapport and make the senior feel like s/he can trust you, even if this means saying “this major problem was my fault”.
Even if your excuse and explanation is valid, there’s a risk that a vicious circle of blame-throwing will initiate unless the explanation is well-formulated. If there is something that your senior needs to do differently, I suggest presenting that feedback to the senior in a separate meeting once the “storm has blown over”. There’s a much greater probability that your senior will welcome the feedback constructively at that time.
Inform about holidays and leaves
Inform about leaves as early as possible; if you have to attend a wedding next month then inform seniors now. You can remind clients about holidays and leaves say one week in advance too in case they forget. Attach the current list of LiteBreeze holidays so that they can plan for future holidays too. Many of our clients will be used to vacations being planned half a year in advance, so sudden leave requests may be seen as unprofessional and damaging to rapport.
Communication methods, tools and technology
Organized files and folders
Organized files and folder structure, and consistent naming of files, improves service quality. More importantly, it saves the time seniors require to find stuff.
Respect others need to find your work easily; you may need to find a file that your colleague created and that is many years old. And if your colleague has shared folders and files with 20+ people, it quickly goes out of control unless a system is followed.
Allow for finding files easily using macOS Spotlight (CMD+Space), Windows Charm and other such search tools. These search tools are the easiest way to find files these days; nobody should need to browse around for files in Explorer or Finder.
Add enough keywords to be able to search the file. It’s ok if file names become a bit lengthy. For example “2013-06-09 business visa invitation letter – NAMEOFINVITEE” or “ProjectX – Sprint X – Work plan”.
Don’t use names that will become vague over time, such as “New office budget”. Instead, use something like “Office 2018 budget”.
Dates can be included and prefixed if suitable. Prefixing with YYYY-MM-DD makes it easy to sort files where it comes in handy, like for invoices and receipts, and historical versions/copies of files.
Never duplicate the same version of a file. If you have a file in a shared Dropbox folder, don’t store a separate version locally or in another shared Dropbox folder. If you move a file to Google docs, remove the Dropbox and local copies immediately.
Don’t use too many subfolders. Clear file names can often be a substitute for new a subfolder. Many subfolders make navigation trickier.
Remove old files which we never will need in the future. If unsure, you can always move it to a folder named “_old”, and they can be deleted after another couple of months. Duplicates and old files make search results cluttered.
Use Google docs and sheets when you need to share documents. Google docs are easy to access and edit on both Windows, Mac and Linux. They can be edited by 2+ users at the same time. You can even edit them offline using a Chrome extension.
Problems with sheets and documents in Dropbox is that if two users attempt to edit a file in Dropbox at the same time, a duplicate copy will be created, which is an entry point for confusion and even lost information. We can, however, store “static files” which we are unlikely to edit, in Dropbox, such as an offer from a contractor.
Dropbox folders are shared with a set number of users and we need to add a new folder for each new sharing/user subset. Google docs are more flexible. We can easily add one more user to a file.
Never email Excel sheet as it will create multiple versions of the same file. The multiple copies will be edited by multiple people, making it near impossible to merge all versions back into one file. Use Google Sheets.
Download the Google Drive application for your operating system. This allows you to search Google doc files using desktop search tools such as macOS Spotlight. The application will create local shortcuts to the URL of the document.
Use a screenshot capture tool
…both for inline and URL screenshots. In macOS press CMD-Shift-Alt-4 to capture a part of the screen and place it in the clipboard. Press CMD-Shift-4 to capture a part of the screen and automatically send the screenshot to dropbox (the URL will be placed in your clipboard).
Gmail and Streak
I suggest using Gmail for business. It’s obviously very well-managed with low risk of emails getting caught in spam filters. The Gmail web interface is very fast and user-friendly, and most importantly it supports an ever-growing list of invaluable plugins like Streak. With the Chrome browser on macOS, you can paste inline screenshots directly into your email content.
Streak for Gmail allows you to snooze an email; hiding the email from your inbox only to return X days/hours later. You can now follow up on something extremely easily; no need to add it to a separate todo list or calendar. You can also use it to track if emails have been read.
Email threads and subject lines
Use existing email threads when possible. Don’t start a whole new thread unnecessarily. It’s valuable to keep all information in the same thread as we can refer back to it at a later stage. Sometimes we need to go through discussions we had years back. Sometimes we need to forward an old thread to a new stakeholder.
Choose your subject line carefully. As we send tens of emails daily we should make it easy for ourselves to find a discussion later on. Use some keywords in the subject line. Instead of “Our discussion”, the subject could be “ACME project: cloud server, managed services, prices”. Instead of “Job offer”, write “Job offer – position – candidate’s name”.
Use a calendar
Such as Google Calendar. Great for getting reminders on recurring tasks and tasks which are far into the future. Also great for sharing events with several coworkers. A calendar is a complement to Streak. The Due app for iOS is an effective and light-weight tool for smaller reminders.
Basecamp, email, skype and meetings
My preference is in this aforementioned order; use basecamp first and resort to voice calls last. This being said, meetings and voice calls are a necessary complement in certain situations (see sections about rapport and meetings). For most internal communication and prospective clients, it’s ok to use email.
Build rapport and hold periodic meetings
Rapport is defined as “a relation marked by harmony, conformity, accord, trust, understanding and/or affinity”. As a first step, you build rapport with your seniors by providing high service quality. The second step is to get to know each other through more personal communication methods.
A periodic audio call builds rapport. Even more effective would be a webcam call. And most effective would be a real-life face-to-face meeting, which unfortunately is impractical in our business.
A key to rapport is to let the other party get to know you better. Knowing someone builds trust and understanding. Great rapport makes many things easier, such as winning new clients, cooperation, negotiation, getting positive references and more.
Switch on your webcam even if the client doesn’t use theirs. I start each new relationship with remote parties with a Skype webcam meeting. It makes cooperation so much easier in the long term and it doesn’t have to take much time.
Rapport-building meetings should not be too frequent with high-value seniors though, as they can be time-consuming and risk interrupting the other parties daily work.
Webcam or audio calls are great for communicating something sensitive. Sensitive client communications can for example be:
- an apology regarding a major incident
- a scenario where we have to explain a client’s responsibility in an incident and how that can be avoided in the future
- a follow-up on an unpaid invoice
- informing a client of a delay
- informing a client that we have to pause work due to non-payment
- a request for a testimonial/reference
Reduce the interruption effect when it comes to meetings. Email an agenda so that the other party can set a priority, prepare their own input and suggest a date and time. Don’t request meetings very often; if general SQ conforms to a high standard then infrequent meetings will be sufficient to retain great rapport.
Send a meeting summary after a meeting so that:
- All stakeholders are kept updated.
- The other party and other stakeholders can correct you if you’ve made the wrong assumptions.
- Your conclusions can be shared with other parties.
Notes: Internally we can usually hold face-to-face meetings. We may benefit from requesting infrequent meetings even with those clients who may not prefer it.
Skype because it’s fast?
Basecamp and email is often preferred over instant messengers (IM) in non-urgent day-to-day communication because:
- Both parties can focus on work without interruptions and handle the communication at their own convenient time
- You can use powerful email tools
- It’s easier to find the communication at a later stage
- Communication becomes cleaner because both parties take time to think through their responses
All clients are different and have their own preferences. Some insist on using Skype and then of course we have to do so. However, I personally believe that the main reason they do so is because they expect a faster response through Skype than through Basecamp. Another reason can be that they feel they need to micro-manage. So you can minimize unnecessary contact through Skype by replying fast through Basecamp, by delivering great service quality and by doing what you can to minimize the need for micromanagement. Never suggest or initiate using Skype text chat with a senior for non-urgent day-to-day work because we lose all the Basecamp benefits listed above. If you need to discuss something non-urgent then email your senior a request for a meeting.
Skype text chats can potentially undermine service quality and value maximization. It’s possible that you bit by bit get more and more used to the client asking for updates, testing your deliverables and telling you what to do next – rather than proactively testing, providing high-service reports and pushing work forward.
Usage of Skype and other IMs
Some clients may prefer Skype, Slack or other IM services. If multiple developers are working on such projects, an ideal flow might be to create two groups.
1) <Project name> technical discussions – this group includes all developers, QAs, PL, client and client’s stakeholders as required.
2) <Project name> internal – This group includes developers, QAs, and PL.
The technical discussion group is to be used exclusively for communicating with clients and their representatives. Before posting to technical discussions, ask in the internal group, perhaps a colleague can answer. Furthermore, this provides an opportunity for peer review. You can actively help your team members in improving communication quality and avoid being passive. Avoid discussing internal matters in technical discussions, in most cases, a discussion about database column type does not interest the client, keep such communication in the internal group.
For smaller projects, with just one active developer, you don’t have to create a group for internal discussion as it may not be feasible for PL to monitor communications immediately. In such cases, you only have to create a technical discussions group and you can communicate with the client directly.
While replying to questions using IM avoid hasty replies. Instead, acknowledge the message and take your time to give a well-considered response. Every time you contact the client or peers over IM, the message should be complete and accurate. In other words, your response should be formulated similarly to an email instead of multiple chat messages. You can make use of a text editor or Google doc to shape and finalize the message, rather than doing it on the IM. Follow service quality concept carefully to avoid an erosion of service quality.
Ensure you or someone in your team will be periodically updating the chat transcripts (viewable only to our team) in the technical discussion group to Basecamp for future reference and senior review.
Powerful email tools
With Skype you will lose powerful email tools such as advanced search and Streak. Imagine if you want to look up a conversation from a certain client X years ago and have to do so using Skype. First of all the transcripts may no longer be available. The conversation might have been between an old colleague and the client. Secondly, you can’t use email search filters such as “includes attachment” to just name one.
Use a profile picture
Use a professional high-quality profile picture. Contact administrators if you need a new picture taken. A picture is a simple thing that helps you build rapport with others. Use for all services IBNLT: Gmail, Skype, Basecamp, Bitbucket, LinkedIn etc.
Client communication methods
The following is applicable only for those working with external clients.
Preferably use Basecamp with external clients and for training purposes. Benefits:
- other colleagues will know what’s happening and tasks can be handed over easily
- seniors can give you quick feedback and avert that wrong decisions are taken
- if you miss a message, seniors can remind you
- if a client worries about something s/he can just send us the URL to that exact comment, and a senior can quickly understand the situation
- you get email copies of Basecamp messages and therefore you can reap the benefits of email too.
If the client continues to contact you with text chats using an instant messenger or any other third party tool IBNLT Skype, Slack etc – then make sure to upload transcripts to Basecamp on a weekly basis, or more often during critical phases where seniors are in need of frequent updates.
Push to Basecamp
If a client sends a non-urgent Skype text message or email you can try to push the communication back to Basecamp. Especially if the matter is not urgent such as a request for a time estimate for a new feature for example. Just assume the priority order: “I assume I should focus on the time estimate before completing the pending features. I will send the estimate tomorrow morning.” Then send it via Basecamp. If you send responses from Basecamp, the client will most likely respond via Basecamp as well, and we will gain back all the aforementioned benefits.
Explain why Basecamp is preferred. You can even add the following to your message. This is especially if it’s a new client, to break a potential vicious circle of more and more Skype text messages and all the disadvantages that it brings with it: PS: I’ve responded via Basecamp now. You can reply to this message via email as usual. We use Basecamp so that 1) our whole team will automatically be updated 2) management and team leaders can give feedback on developers’ communication allowing us to provide better service 3) management and team leaders can follow-up with developers if any communication is delayed for any reason 4) non-urgent communication can be done here to avoid work interruptions 5) we will try to respond as quickly via basecamp as we do on skype 6) allows us to schedule work better 7) allows us to later search messages.. If a client still prefers Skype we will, of course, accept that. Even so, you can still send longer and non-urgent reports from Basecamp.
If a client emails you, always respond via Basecamp and quote the client’s email. You can even initiate a Basecamp thread using the Basecamp email address. There’s really no reason not to use Basecamp in these cases.