📓 Cabinet of Ideas

Team Principles. How Should Your Team Work by Francisco Trindade Jul, 2024 Level Up Coding

Team Principles. How should your team work? | by Francisco Trindade | Jul, 2024 | Level Up Coding #

Excerpt #

While defining the team’s and Engineering Manager’s (EM) goals is the most critical item to begin, it is also essential to understand how the manager wants the team to work. What principles will they…


How should your team work? #

[

Francisco Trindade

]( https://franciscomt.medium.com/?source=post_page-----cc81461e0c41--------------------------------)[

Level Up Coding

]( https://levelup.gitconnected.com/?source=post_page-----cc81461e0c41--------------------------------)

This post is part of a series on Engineering Management Basics

While defining the team’s and Engineering Manager’s (EM) goals is the most critical item to begin, it is also essential to understand how the manager wants the team to work. What principles will they apply?

That is important because the manager’s role can be defined as a series of challenges to solve and questions to navigate. How should we approach a specific team problem?

Sometimes, you need a guiding light for direction ( MS Designer)

Some of these questions might be common, allowing the manager to use past experience to guide direction. However, many will be new. Having set principles in mind will help steer toward a consistent approach. Beyond that, principles will help other team members understand how to approach questions and challenges, creating better alignment overall.

That way, principles are guidelines, helping the team find consistent direction in everyday decisions. They don’t have to be static and should evolve as the team and the manager evolve their perspective.

But having a good place to start will surely help.

A Good Initial Set #

With a perspective of having a place to start from, here are the principles I apply and ask managers to apply to teams.

We want to create an environment where engineers (and managers):

We believe in creating empowered teams, not to be mistaken for leaderless. As the EM, you are the leader of the team and ultimately accountable for its results and decisions, even when you delegate part of it. You have the authority to define work for the engineers you manage.

Let’s look at each in more detail.

Have autonomy and control, being able to evolve systems with speed and quality #

While coordination will always be needed, teams and organizations should strive to be as autonomous as possible since cross-team management is often ineffective. In that sense, managers should aim to define work and projects so that their team can move forward independently and set technical strategies that facilitate that by creating consistent boundaries for their team.

Are motivated and challenged, taking ownership of problems and growing in their careers while solving them #

The best moments in my career have been solving challenging problems with great people, and I would like to provide that for the teams I am working with. Managers should ensure engineers understand the problem they are solving and why it is important, as well as crafting work plans that allow engineers to take ownership and challenge themselves to provide a great result.

Are supported by processes, tools, and the team to work as efficiently and iteratively as possible #

Processes are the backbone of how work gets done within teams. While managers should be careful not to create restrictive environments, they should also aim to establish or surface processes in unclear areas when it makes the team more effective.

Working iteratively is also an important point here since iterations will help reduce risk and ease project management overall. The longer a team goes without delivering value, the more risk the manager accumulates and the more problems they could face in the future.

Are highly collaborative, being comfortable asking for help and working together to solve problems #

Software is a team sport, and collaboration is essential for many aspects of it. Close collaboration between engineers will improve quality and help people learn on the job. Collaboration between engineering and other disciplines, like product management or UX, will increase the chances of delivering the right solution to the problem. Unfortunately, collaboration is no longer given in software engineering teams, and managers should invest to make it the standard way of working.

Empowered, not Leaderless #

Lastly, it is worth pointing out that empowered teams are different than leaderless teams. While managers should constantly work to create an environment where everyone can achieve their best individual potential, ultimately, they are team leaders accountable for how the team works.

It’s somewhat obvious, but worth repeating, that managers have authority over their reports. It’s part of the expectations for the role (from the organization and their reports) that they will make decisions to create an effective working environment.

If you have found this content interesting, this post is part of a series on Engineering Management Basics. More broadly, I write about leading effective software engineering teams. Follow me if you are interested in the area.