Tech Lead - How do I introduce TDD to my team?
My team isn't practicing automated testing and don't have experience in TDD. I want to help my team practice TDD. How can I achieve this?
👋 Hello, this is Valentina with the free edition of the Optivem Journal. I help Engineering Leaders & Senior Software Developers apply TDD in Legacy Code.
I’ve been getting messages like this:
I’m a Tech Lead, and I want to introduce TDD to my team. Currently, we’re relying on Manual QA and have some automated testing, but it’s not really working out. I would like my team to get access to Optivem Journal so that my team could get started with TDD. I’d like my team to build the TDD Sandbox Project for learning, so that we can then apply it in our Real Life Project. How do I get started with this?
Step 1. Let’s have a call
Before proceeding, let’s have a call to discuss how to introduce TDD to your team.
Step 2. Align with your Engineering Manager
After our initial call, you need to meet with your Engineering Manager. Explain the bigger picture and how it fits in with your Engineering goals, e.g.
a) Explain the problem
Choose what’s your biggest problem, it could be:
Increased number of bugs reported by clients (potential client loss)
Too many regression bugs caught by QA (delays in delivery)
QA Engineer is not able to do full regression testing (and has to cut corners)
The following is a sample script:
John, I wanted to talk to you about how we could reduce bugs & speed up delivery. Currently our team is spending most of our Sprint bug fixing, and we have delivery delays due to waiting for Manual QA. We’re also getting an increased number of customer-reported bug tickets.
Note: During our call in Step 1, we’ll see which problems you should target.
b) Explain the solution
The solution is to introduce adequate automated testing - which helps us reduce the Regression Bugs and to increase feature delivery.
The following is a sample script:
The root cause of the problem is that we’re relying on Manual QA. There are some automated E2E tests, some automated unit tests, but overall the automation level is low, we’re heavily relying on Manual QA. We need to introduce TDD.
Note: During our call in Step 1, we’ll see whether you should introduce TDD or Automated Testing as the solution.
c) Introduce Optivem Journal
Assuming you’ve reached alignment on both the problem (lack of automated testing) and solution (the need for automated testing), it’s time to now introduce the process of achieving it.
Previously, our team had bad experiences with automated testing. They tried reading books & watching courses, but it didn’t work. The problem was that most of that learning was “too simple“ and was not able to be translated to Real Life Projects.
I came across Optivem Journal, which provides step-by-step guides how to introduce automated testing in Legacy Code. Teams can subscribe, build a Sandbox Project to gain practice in TDD, so that the team can then apply those skills in their Real Life Project. Furthermore, our team will get support & feedback through the process.
d) Explain the next steps
Assuming there’s interest in the above, then you can move forward to the details about the price & time:
To move forward, the next steps are:
Get the Optivem Group Subscription for our team (you can input your team size to see the total price). This could be expensed as part of our Learning & Development Budget - just like Udemy, Pluralsight, etc.
Reserve some time so that our team can work on the Sandbox Project. For example, could we reserve XYZ hours a week.
Note: During our call in Step 1, we’ll discuss what kind of reservation would be reasonable for your company.
Step 3. Purchasing the Group Subscription
Generally, the Engineering Manager will arrange the payment for the Group Subscription. After the payment has been made, they’ll be able to:
Download the invoice (for accounting purposes)
Manage group members (add team member emails)
Step 4. Start the Sandbox Project
After you’ve received confirmation from your Engineering Manager that they got the Group Subscription & added your team members, then you can move forward for the team to actually build a Sandbox Project and work on it as a team.
To get started, organize a team meeting, screen share the Sandbox Project Setup page, and then continue working as a team.
Note: During our call in Step 1, I could provide more personalized advice about how you could approach this.
Step 5. Keep your Engineering Manager updated
As you go along in the journey, it’s important to record successes, so you can keep your Engineering Manager updated.
Sandbox Project - demoing to the Engineering Manager to show the types of tests that the team had produced
Real Life Project - showing increases in metrics to demonstrate success, and get buy-in for further improvements
Note: During our call in Step 1, I could provide more personalized advice about how you could demonstrate success.
Next Steps
If you want to introduce TDD to your team, the first step is to have a call with me to discuss how you can approach this transformation & get access to the group subscription:
What's the first thing you've seen teams notice when they start transition from relying heavily on Manual QA to TDD?