Roleplay Scenario
Scenario Overview
After a recent deployment, users are noticing that things are running slower than usual. The system metrics back this up, showing a performance drop. Your mission is to lead the team in figuring out what's causing the slowdown and decide how to fix it, all while keeping calm and communicating clearly with everyone involved.
Roles & Setup
Role A – Technical Lead (You)
You're steering this ship, making sure everything is coordinated smoothly.
Your goal: Help the team identify the problem, sort out priorities, and keep everyone in the loop.
Role B – Backend Engineer
You're the go-to for server-side and database issues.
Your goal: Dig into the logs, check out what's happening with the database, and suggest ways to make things run smoother.
Role C – Frontend Engineer (Optional)
You're on the lookout for any client-side hiccups.
Your goal: Check recent changes on the frontend that might be slowing things down and suggest how to fix them.
Role D – QA Engineer (Optional)
You're the eyes and ears on user feedback and testing.
Your goal: Share what you've seen from tests and user reports, and help confirm if the fixes work.
Suggested Openers
Technical Lead:
- “Thanks for joining in. We’ve got a bit of a slowdown since the last update. Let’s figure out what’s up.”
- “We need to get to the bottom of this performance drop. What do you think could be causing it?”
Backend Engineer:
- “I’ll start with the database queries and server logs to see if anything’s off.”
- “I suspect the cache changes might have something to do with it. I’ll check it out.”
Frontend Engineer:
- “I’ll look at the asset loading and network requests. Let’s see if anything’s amiss.”
- “Checking the latest frontend changes to see if any of those could be the culprit.”
QA Engineer:
- “I’ll go over the user feedback and test results to look for patterns.”
- “Let’s check if specific features are getting the most complaints from users.”
Sample Roleplay in Action
Technical Lead:
“Thanks for jumping on this quickly. Our response times are up by 20% since the deployment. Let’s break down what might be going on.”
Backend Engineer:
“It looks like our database queries are taking longer. We might have lost an index during the schema update, which could be causing this.”
Frontend Engineer:
“The frontend bundles got bigger, which might be slowing things down on the client side.”
QA Engineer:
“Most of the user complaints are about the search feature being slow. I’ll re-run the tests to see if anything else is affected.”
Technical Lead:
“Good stuff. Backend, let’s sort out that index. Frontend, see what you can do to slim down those bundles. QA, keep those tests coming and let us know what you find.”
Backend Engineer:
“Adding the index back now. We should see a difference soon.”
Technical Lead:
“Great. Let’s regroup after these fixes and check the metrics again. I’ll keep everyone posted on what we’re doing.”
Post-Scenario Tools
Curveball Mode (Optional)
Throw in one of these twists to keep things interesting:
- The index fix doesn’t completely solve the issue.
- A new performance problem pops up.
- Someone requests an immediate update with detailed explanations.
Reflection Checklist
As the Technical Lead:
- Did you guide the investigation in a calm, organized way?
- Did you make sure decisions were based on data?
- Did you keep stakeholders in the loop with clear updates?
As a Participant:
- Did you share your findings clearly?
- Did you stay open to suggestions from others?
- Did you focus on solving the problem using evidence?
Common Mistakes to Avoid
- Jumping to conclusions without enough evidence
- Focusing too narrowly without considering the whole system
- Not communicating progress and actions effectively
Pro Tip
A calm, methodical approach and clear communication are key to diagnosing and resolving performance issues efficiently.