In part one of this series on Scrum Ceremonies to Add to Your Sprint, we discussed pre-refinement, and in part two, we talked about demo prep. In this final installment, let’s talk about team flex time.
Do you find yourself struggling to get rapid enough feedback from your fellow devs? Do you feel that, as a tech lead, you don’t have enough time to support more junior devs? Are blockers piling up, and you don’t know when or how to ask for help or when they will be addressed? Do you wish you had more examples of how your peers approached problems? Or that your team gelled better? If so, team flex time might be a tool you can use to support these issues.
What is the goal?
Team flex time was created as a space for devs to learn from each other. It offered an opportunity to see how others think about approaching coding problems, or to swarm on resolving blockers in addition to pairing on code. The goal is to provide a regularly scheduled touchpoint outside regular pairing sessions.
Who is involved?
This exercise is mostly focused on alleviating blockers for active development work. So, depending on the shape of your team, this will likely include a minimum of tech lead(s) and developers. At times, it might be valuable to bring in the designers, QA, or other folks on your team. Developers should reflect on what gaps they have and how they can get the most value out of these sessions. And sometimes, that might mean not attending.
What might it look like?
Devs come together on a regularly scheduled basis. Folks start the meeting by bringing up what they need help with or want to talk about. Teams prioritize based on urgency and value (often with the support of the tech lead or senior devs).
How you spend time depends on the needs of the team. Folks might pair or swarm together on a specific part of a story. It could look like helping each other get started on a story. Or, it could look like offering a framework of how to move forward on a specific issue. On the other hand, it might be asking to better understand someone’s pull request (PR). The goal is a mixture of questions and answers from the entire team.
Asking for help is expressing vulnerability. All team spaces, and especially this one, should focus on supporting learning and building trust. team flex time fails if teams are not fostering a high-trust environment.
How often is Team Flex Time?
In the beginning, more often is likely helpful. As teams settle into a groove, you can reduce the frequency or remove this ceremony altogether. Teams should continue to re-evaluate throughout the project.
What is the Value Proposition?
From my perspective, tech leads and junior devs get the most value out of Team Flex Time. This is especially true when there aren’t mid-level or other senior devs on the team.
Benefits for Tech Leads
Tech leads are often pulled in many directions, and it can be hard to keep up with regular mentoring. Junior devs can require a lot of hands-on support while they get rolling. The challenge I’ve seen is that sometimes, tech leads can’t provide timely enough feedback to junior devs. If there are other senior or mid-level devs, this problem might not be as negatively impactful.
Team Flex Time offers tech leads and junior devs a designated time to triage and address blockers. This can build comfort in asking for help while addressing immediate issues. Another benefit is building rapport with tech leads and the team more broadly.
Tech leads may choose to step back and allow other team members to have a go at answering questions with the support of the tech lead. Again, this provides the opportunity to teach and learn.
Benefits for Junior Devs
Increased interaction with the team can help new or more junior folks settle in. This can be a great opportunity to get a feel for how the team works together. This can be a space that demonstrates different approaches to solving problems. All while building confidence and trust in your teammates.
This can be a valuable learning opportunity. Teams can practice receiving direct feedback, practice framing questions, and observe how others ask questions and solve problems. Sometimes we don’t know when to ask for help or even what to ask for help on. Team Flex Time can help reduce lag time and prevent folks from spinning their wheels.
There is a risk I want to highlight with this. Team flex time shouldn’t be the only time teams swarm or pair. This is just greasing the wheels of building good practices. Ideally, teams would gel into a pattern of regular pairing and appropriate escalation of issues to their team leads. In time, team flex time might disappear altogether as teams have found more refined ways of addressing their blockers. Alternatively, it might turn into less frequent gatherings. Dev syncs or Social Coding Hours are natural spinoffs of these.