Team Management in Software Development: Getting it Right

Software developers and engineers are clearly talented — writing code is demanding and learning multiple languages is difficult, but they manage to do it all.

With so much knowledge and skill in one group, understanding and managing your team’s strengths can be a full-time job. But putting the right people in the right place, managing a productive team, and helping them work better together is possible.

Here are three things you can focus on for effective team management in software development.

Hire the Right People

Of course, you want the right people on your dev team — all great managers do.

You likely spend a lot of time looking for and filling the gaps in your dev team and there’s no doubt you’ve found yourself in an endless pile of portfolios and interviews looking for just the right fit.

But, finding a self-driven employee can take time, organization, energy, and an effective recruiting and assessment approach. Here are three tips to help make that process easier:

Find people who love their work

Look for the kind of people who invest in their craft — even in their time away from work. For example, do they code for fun? Or maybe they teach a coding class or write a coding blog?

Whatever it is they do, passion is an important trait to look for when building your software development team.

Look for someone well-rounded

Sometimes, no matter how many questions you ask or how thoroughly you review an applicant’s portfolio, you only know whether or not they are a fit after you hire them.

To get a better understanding of how your candidates work and where their skillsets lie, try a real-world test. Make it realistic to your business so that it showcases a candidate’s ability, speed and knowledge. You can use a time and work tracking tool like the Work Diary in Upwork to review their development process.

Take the time to develop a process that truly reflects the candidate’s talents. This process should reveal if they’ll be able to deliver what you are looking for.

THE KEY: Keep your options open

Don’t shut anyone out at first glance. Sometimes the C++ developer you’re looking for is disguised as a java developer in your leaning tower of applications.

Be clear in your needs, but curious in your candidate search. Ask the kind of questions that allow you to fully evaluate anyone you speak with. Just make sure you keep an open mind — new people can bring a new perspective.

Choose the Right Goals

There’s more to measuring the productivity of your team than using traditional KPIs — like velocity or the number of user stories per sprint. These are important for meeting business requirements but they can’t help you understand how your team is functioning.

Instead, go beyond these classic indicators and level-up your team management by paying attention to what matters to them. Many developers say they are most productive when you offer open communication, deliver clear requirements, and extend a flexible or alternative work schedule.

Below are a few examples of metrics you can track to help your team be at their best:

Calculate hours worked

Keep track of the average number of hours worked per engineer over a specific timeframe. If your average indicates your engineers are being overworked, take it as an early indicator and intervene. Doing so will minimize future burnout and turnover.

In addition, tracking hours will help you understand each engineer’s capacity and workload. With this information, you will be able to take steps toward keeping them happy while maximizing sustainability, improving productivity, and increasing quality of work.

Follow up on retrospective feedback

Track feedback that engineers share during retros and take these seriously. Use that feedback/the challenges that they share to ask “why” and address/resolve the issues by creating more efficient processes.

If, for example, you have two unresolved issues from last week and four new ones this week, it could be a sign that your attempts to make your process more efficient aren’t working.

If this is the case, get to the heart of the issue. Reach out to your stakeholders to ask “why.” Understand what’s important to everyone involved and then actually address it.

THE KEY: Make changes mindfully

Being mindful of how much emphasis you are putting on a single metric will make your process improvements more holistic. If you’re only ever tracking one or two aspects of your team’s performance, it might look like you are improving when you’re not really improving at all.

Make changes one at a time and track that for a few iterations. Once you see improvement, on that change begin testing additional changes.

Communicate at the Right Times

Communication is the foundation of every great team, but balance is key. Here are some ideas for keeping it real with your team so they’re at their most productive.

Use the right tools

To improve your communication, try asking your team to communicate in multiple ways. On option is to try visuals and analogies to explain complicated ideas. However, often, tools are necessary to get the job done.

For example, in your day-to-day project communications you could ask your team to use Slack. Or for project-based communications try a project management tool like Trello.

What you need — and what ultimately works — will depend on the current dynamics of your team. But at the end of the day, if you give your team the tools they need to communicate and collaborate effectively they’ll be able to create something great together.

Keep the runway clear

When developers are asked what distracts them from their job most, they often say it’s interruptions in the form of questions or progress updates. Stopping by to say “hey, did you get my email” feels harmless, but can actually take your developers out of their deep, focused work. And, after their conversation with you, it can take as long as 15 minutes for them to take off again.

If you do have a question you need to ask, be courteous. Try waiting until you see they’ve looked up or away from their work. Or, better yet, if it isn’t critical put it on the agenda for your next scheduled meeting.

THE KEY: Create a safe environment

Remember, communication is an ongoing process. Perfecting it will take more than offering tools and freeing up your team’s time.

Help your team learn to listen to each other and respect each other’s needs. If you create an environment where your team is comfortable asking questions and setting boundaries, they will have exactly what they need to get their jobs done.

From Products to People

The make-up of your team will vary from project to project — and maybe even sometimes from day to day — but one thing all your teams have in common is you.

It’s your role as a development team manager to go beyond producing a great product to find and manage a highly-functioning software team — and their expectations — through the process.

Tell us, how do you get it right as you work toward achieving your company’s goals?