I currently have a position as a team leader inside a company (20-30 employees) who offer a service while using internal software. My team is of 5 developers and a product manager, and our main responsibility is to maintain and implement new features into this internal feature, which is the tool used by all employees every day.
As a background, all members of the team have been in the company ranging from 6 months to 2 years, while I hold the highest seniority inside the team. Something to note is that there's a difference in age between myself and some team members. I'm in my 20s while some of them are in their 30s, but with less work experience in the IT field. I report directly to the CTO of the company while handling the role of lead developer inside the team.
The problem I'm facing is the following: during the last few months, we've caused bugs while developing new features or fixing other bugs in the software. Some of these bugs didn't have a high effect on the business (for example a page not being displayed correctly) but others did have an impact on the revenue of the company. This means that we affected very important features.
On every bug that happened, I made sure that the person who caused the issue fixed it and knew its impact. My role inside the team is to review all new written code, so some of those bugs were also over-looked by myself during the review. Since we don't have a QA engineer, the product manager takes care of testing all features when delivered.
Every time, the employee apologized for causing the issue, and it's clear from analyzing them that they're issues that could have been solved if the code was tested enough or if the employee paid more attention. Every 2 weeks (or sprint, we use SCRUM), we hold a meeting to discuss what went well/not well, and I've told the team that we need to pay more attention to all changes and be more strict when developing new features to avoid problems.
Even after that, issues continue happening, so I want to know what will be the most effective way to communicate to the team that type of dynamic cannot continue happening. I have the following questions:
- How can I effectively communicate to my team that we need to be accountable/careful for issues caused?
- Should I use the opportunity inside the 1-on-1 meetings with each team member and discuss it personally instead of addressing the whole team?
- How can I provide feedback to the product manager (who doesn't report to me) that they're not testing enough and need to be more attentive on that part of the process?
- I've been discussing these issues with the CTO and followed her advice, but didn't improve the situation. How can I notify her that I need her intervention to communicate with the project manager while clearing that I'm holding myself accountable for the team as well? I want to avoid office politics issues where I appear as someone putting faults on someone else.
- To avoid these issues, we're implementing currently automated tests to reduce the risk of bugs in the software.
- I'm holding myself accountable as well since these issues should be solved during the review process. Since I'm also participating in the development tasks, I end up with no time. I'm trying to change the team's workflow to be able to free up more of my time.