How to Delegate Quality

What can you do when you can't enforce quality on your own?

As the size of a technology department increases, it becomes more and more difficult to ensure the custom software getting produced is correct and easy to maintain. At a certain point, technology leaders have to stop reviewing all of the work their teams are producing. They instead need to rely on qualitative feedback from their developers and quantitative measures like lead time, change/fail percentage, tech debt, etc.

When technology leaders start routinely finding quality issues, it can feel like turning the ship around is too daunting of a task to solve for. The most senior members of the team can scramble to fix the issues they know about, but the underlying skill gaps, decision-making, and attitudes of the larger team make it likely that issues will continue to pop up. In these sorts of situations, leaders have a few options to choose from to fix the core issue. They could raise their hiring standards, let go of low performers, bring in a company to train their developers, prioritize tech debt payoff over new feature development, incorporate new tooling, etc. There is no perfect course of action. Each has cultural and financial implications.

One often overlooked solution to this problem is co-dev coaching. That’s where you create a layer of local leadership responsible for adopting best practices within software development teams. Oftentimes best practices get shrugged off by teams because they live in an abstract, ideal world. They don’t reflect each individual team’s unique context/constraints. Co-Dev Coaches give customized insights, showing how to apply a set of best practices through demonstration. These coaches should be excellent communicators and strong technical leaders.

To better understand why co-dev coaching can be successful, it’s useful to learn the concepts behind the Social Cognitive Theory and The Transtheoretical Model.

Social Cognitive Theory posits that individuals learn new skills and apply new behaviors by observing others. This theory was originally developed by Albert Bandura and has been expanded on by psychologists like Robert Cialdini. Seeing an action or behavior being performed allows an individual to not only understand what is being done, but also how it is being done.

This can be particularly useful in the context of software development, where it can be challenging to explain complex technical concepts or processes through verbal instructions alone. Those who are learning from others are especially impacted if the person they’re observing is similar to the observer in some way. So when a co-dev coach is a fellow member of their team, there is an increased likelihood of others modeling their behavior.

When introducing new technologies or processes to a team, team members may go through various stages of change. The Transtheoretical Model attempts to map out those changes: pre-contemplation, contemplation, preparation, action, maintenance, and termination. A more extensive explanation of this model can be found here. The important thing to recognize is that team members may be at different stages of change and providing support accordingly can be helpful in promoting successful adoption of best practices. For example, team members who are in the early stages of change may need more information and support to fully understand the benefits of the new technology or process, while team members who are further along in the process may need more guidance on how to implement the new changes effectively.

To get started with co-dev coaching, it’s important to give your coaches clarity on the scope of changes they’re responsible for coaching on. You can put a knowledge repository together (see example) and ensure your co-dev coaches are well versed on the content. Then you’ll need to put a management process in place to ensure the coaches have the support they need to drive adoption on the teams they’re embedded in. Pragmint offers a done-for-you service, where co-dev coaches are already trained and the internal processes are already in place. If you’re interested in working with us, or you’re just curious to learn more about our process (so you can emulate it yourself), feel free to reach out and schedule some time to talk with us!

← Back to Insights