DEV Community

Cover image for Tooth to Tail
Jonas Brømsø
Jonas Brømsø

Posted on

Tooth to Tail

A development team consist of people with various roles and responsibilities. Over the cause of my career I have had many different roles ranging from developer, to release manager, scrum master, build engineer, occasional tester and finally product manger/owner. I have been called bottleneck and show-stopper and what I have observed is the difficulty of getting a team to be balanced.

At some point I fell over the military term "Tooth to Tail Ratio" and I found it to be interesting in regards to the challenge of balancing a team, so you do not get too many bottlenecks, as for the show-stopper part, I believe it is my personality that sometimes question decisions and that is not always appreciated.

The tooth to tail ratio is a military concept that describes the ratio of combat troops (tooth) to support personnel (tail) in a military force. A higher tooth to tail ratio indicates a larger proportion of combat troops, while a lower ratio indicates a larger proportion of support personnel. The concept is used to evaluate the efficiency and effectiveness of military forces, as well as to inform decisions about resource allocation and force structure.

As a development team we are not exactly in a combat situation or necessarily in a military context, but thinking about team composition and team dynamics can be informed by the tooth to tail ratio concept. Since a balanced team with the right mix of skills and roles can help ensure that the team is able to deliver high-quality software efficiently and effectively.

There are critics of the tooth to tail ratio concept, but this is within the military context, so at this time, we do not need to go into that.

You can read more about tooth to tail ratio on Wikipedia.

The concept of tooth to tail ratio was interesting since it made me reflect on the challenges of balancing a development team. So if you can:

  • identify the roles and responsibilities of team members
  • assess the skills and expertise of team members
  • evaluate the workload and capacity of team members

Then you can start to think about how to balance the team, based on numbers.

Another approach which I do however find more interesting, which came from reflecting on the above, was finding back to the essence of the team concept. If you read the referenced wikipedia article, the following line is interesting:

While both "tooth" and "tail" soldiers may find themselves in combat

Meaning your might have a primary role, but you can be flexible and take on other roles as needed.

And this is very interesting. I have tried to work with teams where we had:

  • developers
  • testers
  • release managers
  • scrum masters
  • product owners

We are worked committed to finishing what we had defined as the goal of our sprint, the timebox set to accomplish a certain milestone/goal as a release or a feature set or similar.

Assignments vary and you can estimate, but you should not rely to much estimates it is a planning tool IMHO and things might change. Sometimes things take longer or a colleague needs help and time is not spent where planned or some other external factor impacts execution of the plan.

But in this team, the primary goal was to get the work done, and if that meant that a developer needed to help with testing, then that was what happened.

This sounds formidable, but it is a culture and culture building and changes are hard. If you succeed though, you get a team that is flexible and can adapt to changing circumstances and has a very strong team spirit.

We have a tendency to want to stick to our defined roles, I myself am guilty of this, but oftentimes it is very beneficial and educational to do something else, you gain a lot of insight from getting a different perspective.

In software development, we often talk about getting close to the users, which is great, but what if you could start by understanding your team mates and their roles better.

Tooth to tail is interesting, but perhaps the key is in breaking down the barriers between roles and responsibilities and creating a culture where everyone is committed to the team's success and bringing value to the customers/stakeholders. The roles in modern software development is are requires skills and expertise, to the primary role is of outmost importance, but being flexible and adaptable is a great skill to have as well.

And numbers are interesting, but I guess it would be more valuable to do the numbers game on outcome and value rather than team organization..

So let me end with another military term/slogan:

"Improvise, Adapt, and Overcome"

Perhaps that will work, even in more peaceful settings.

Top comments (0)