The model is a result of coaching 250+ teams in tech and after 17 years developing software, managing projects, and training people.
What makes a dev team successful?
(based on 250+ dev teams)
Great teams create strong human relationships and a psychologically safe environment.
Although this is the most important aspect of a great team, it often remains hidden. Similarly to a tree, a team is as strong as its foundation – its roots.
To make the roots stronger, great teams manage the team’s communication, embrace disagreements & use conflicts as a tool, and make sure everyone feels they belong.
Great teams have communication that is open so that people feel safe to speak. They create a structure so that the flow is managed & everyone’s opinion is heard, which leads to a balanced communication. Their communication strives for clarity so that everyone has the same understanding.
Great teams create a psychologically safe environment where disagreements are healthy and conflict is used as a tool. There is no artificial harmony, in which people prefer not to speak up their minds. On the contrary, during discussions, people are active and share their position even if it differs significantly from that of others. Great teams don’t ignore conflicts. Moreover, they feel comfortable discussing difficult topics. In great teams, people navigate conflicts in a healthy way. They bring passion and emotion to the team discussion, without having personal attacks and at the same time remain open-minded to different opinions.
Great teams make sure everyone feels they belong to and are included in the team. The principle “the pain of one is the pain of the team” is followed and whenever someone has a problem – others notice and support. Great teams create a psychologically safe environment where people are not afraid of making mistakes and feel they can be themselves, without masks. People show vulnerability and seek help from others. People help each other. In such teams the atmosphere is great & people have fun together even during work. Teamwork is everywhere.
Great teams have ways of working that lead to delivering quality results on time.
Regardless of how great the team climate is, the team is measured on results. The trunk is the visible part of the tree and it is what most dev teams focus on a daily basis.
To make the trunk stronger, great teams seek responsibility on a personal and team level, align on a clear and efficient process, and make sure everyone on the team is engaged.
Great teams pursue high standards by demanding high quality of work & putting effort even into the smallest details. People on great teams take personal responsibility for their actions & admit when they make a mistake. They show team responsibility by relying on each other and holding each other accountable if someone doesn’t act right.
Great teams are well organized. They have ways of working so that everyone knows what to decide on their own when to involve others, and how to make decisions together. People on great teams use the team’s communication channels effectively and thus easily know what the state of the team’s work is at any given moment. Great teams achieve results effectively by managing priorities & team discussions well. They deliver on time & without the need for overtime or moving work for the future.
In great teams, people are highly engaged with their work. They manage their ego and commit 100% to team decisions even when they disagree. Great teams achieve this engagement by having clarity about their work, where people always know what’s expected from them and why their efforts are meaningful.
Great teams successfully navigate through and excel during uncertain and changing environments.
Teams live in an uncertain and constantly changing environment. Like a tree managing the storms, a team has to deal with external forces, unforeseen circumstances & constraints to continue evolving & delivering results.
To make the crown of the tree stronger, great teams experiment in the face of the unknown, adapt to the external forces, but make sure they are resilient at the same time.
Great teams handle uncertainty with ease by applying a systematic approach to experimenting with solutions. They experiment well by collecting data & measuring the results. Great teams take risks and are not afraid of failure. When they lack experience, they don’t need to accumulate all the knowledge before tackling a problem. Great teams use mistakes as learning opportunities – they often discuss them to see what was done well and what was not. Great teams don’t make the same mistakes.
Great teams are flexible when facing external constraints. They don’t complain about these limitations. On the contrary – they accept reality and take action to turn these negative limitations to work in their favor. Great teams respond flexibly to external inputs and unforeseen situations. When something unexpected happens, they adapt quickly and handle the situation without problems. When a request or feedback comes outside of the team, great teams listen openly and take the needed actions, even if it means operating outside of the established ways of working.
Great dev teams don’t break under external pressure and forces. They are not shaken by changes that happen. Even big events do not affect their good results or capabilities. These teams demonstrate persistence. They rarely make changes to their way of working. When they do make a change – they are able to carry on the change over time in spite of difficulty or opposition. Great teams care about & protect their own needs. They take the necessary actions to defend their position in front of external stakeholders and to transform all limitations that affect their needs negatively.
see how strong your team is
We’re developing the TReE Team Scan based on the TReE Team Model.
This tool scans your team dynamics and reveals an overall picture of your team. It shows where your team is strong, where there are dysfunctions, what it handles well and what not. It also catches so-called leadership blind spots (e.g. if people are in apathy or step away from quitting).