In part 2 of this series, we’re focusing on what supports teams and enables their best work. To start, however, let’s talk about indicators that a team isn’t quite there yet.
What to avoid ❌
4 common signs of a team in need of help:
1. There’s a lack of direction or focus. When a team isn’t focused on the same goal or mission, it inevitably falls further from the initial plan. That lack of direction makes it harder to swarm around issues, and near-impossible to reach goals that aren’t defined.
2. The team is siloed. Ineffective teams tend to not communicate with other teams and become siloed. In a world where collaboration is key, this silo effect can be damaging across a department.
3. Tickets are frequently stuck. Every engineering organization knows that tickets get stuck from time to time, but if there’s a growing trend of stuck tickets, this likely represents a growing number of unresolved issues. We define stuck tickets as ones that haven’t shown any recent progress or ones where there is an issue that cannot be unblocked. Over time, this trend could lead to an overwhelming amount of work or tech debt.
4. Managers spend too much time coding. A large part of a manager’s role is to help unblock issues and facilitate the effectiveness of the team. When the manager is mostly occupied with individual coding projects, there are fewer opportunities to do so. While effective managers aren’t afraid to get in the weeds and spend some of their time in the technical work, they should prioritize unblocking issues and facilitating the team first.
Now, let’s look at the positive. We asked engineers and engineering managers to describe the qualities of good teams—fortunately, they had plenty to share.
What to do ✅
4 common signs of a team at its best:
1. Frequent demos and delivery. Good teams encourage demoing every sprint. They also ship new features often (with fewer bugs). Working on these teams fosters a sense of accomplishment, and even if one individual isn’t shipping, they can be motivated by the team’s progress.
2. Diverse skills and levels. Good teams have an appropriate ratio of senior to junior devs, a diversity of skills and knowledge, and aren’t too big or too small. While it depends on the organization, we’ve seen that 5-7 people serve as a good team size. Skill sets should be distributed in a way that more than one person can work on an individual ticket vs creating a bottleneck with one person who has a specialized skill set.
3. A focus on team development. Individual and team growth occur in a variety of ways:
- Junior devs progressing from a pure focus on bugs, to a mixed workload of bugs, features, and new types of tickets.
- Junior devs participating in some code reviews.
- 1:1 meetings between junior and senior devs, not just individual contributors and managers.
- Time available for cutting-edge work on innovative projects.
4. A feeling of psychological safety. While not everyone used this exact term, we heard many people describe characteristics of being safe. In this context, “psychological safety” means that every team member feels comfortable speaking up, and that constructive disagreement is welcomed and can happen across job levels. In addition, team members feel safe pointing out errors or bugs. We might not see this explicitly mentioned in corporate manifestos or performance reviews, but it’s critically important to any team’s success.
This post was written by David Youssefnia, PhD, co-founder and Chief Strategy Officer at Uplevel.