As a consumer facing company, having streamlined workflows and intelligent UX is at the core of the products that we build, but we don't often apply these same principles to our internal tools and processes. The goal in both cases is the same, to deliver value for our customers, and that delivery process starts a long way before a single line of code is written.
Let's take an example, fixing a bug. We might think the process starts when an Engineer starts working on the issue, but the reality is that the stopwatch started from the moment the customer reported that issue. In Agile terms, we refer to this as lead time:
Lead Time - the time between a request being made and a task being released. A vital metric when it comes to delivering value to our customers.
Here at JustGiving, we recently revisited our support workflow to address long lead times on issues raised by our Customer Support team.
Step 1 - Outline the existing process
Step 2 - User feedback
In outlining our existing process, we realised quite how many teams were involved, so we reached out to key people in each area to understand what the major pain points were, and two significant areas emerged:
From our Customer Support team
"We have no idea how long it will take for an issue to be fixed"
From our Engineers
"We had no idea the issue was affecting so many users"
Step 3 - Analyse
Ultimately, the issue at the core was communication. At each point of the process when a bug changes hands, some of the integrity and intention of the original message is lost. Additionally, our feedback loop had gaps, meaning that when a bug was being worked on, or fixed, this message didn't always make it's way back to our Customer Support team.
On a positive note, a desire to provide the best possible service to the customer was at the heart of what both teams fed back. For Customer Support, expectation management is vital, and for Engineering, there's a real need to be able to prioritise an issue against the many competing priorities such as delivering new features.
Step 4 - Improve!
Here are some of the changes that we implemented:
- Weekly stand-up: A 'Scrum of Scrums', with representation from Customer Support, Engineering and Product. This short meeting provides a valuable face-to-face (and now virtual) touch point to provide updates on the status, and severity of issues. Allowing for immediate feedback and the ability to highlight the most pressing issues of the week to be able to focus our limited resources accordingly.
- Issue tracking dashboard: Our resident Jira wizard created a dashboard to visualise helpful support ticket statistics, such as number of tickets assigned by user, and number of tickets unresolved in > 7 days by team. This acts as a helpful reminder to those involved in the triage process when issues are building up and need their attention.
- Unresolved ticket reminder: Addressing the missing part in our feedback loop, we started to send reminder emails to those assigned to a ticket more than 14 days old. This prompt acts as a useful reminder to assignees to close any resolved tickets, or revisit unsolved issues.
These changes have helped to streamline our support process, resulting in shorter backlogs and lead times. Taking time to review, and improve an internal process means that we're delivering value to our customers more quickly, and freeing up additional time to focus on core business needs.