If you have ever had the chance to manage a team, you don’t need me to tell you how hard it can get. You have to balance the company’s expectations, the project’s requirements, your own way of working, and the team members’ capabilities and egos to get to the goal. Doing that is as hard as it sounds—especially if you are managing a software development project!
Why’s that? Because developers have their own expectations and ambitions. That’s why it is so important to have some things in mind to manage them properly. It’s the only way to ensure that the project will be successful and that everyone involved is happy throughout it. Looking for some help with that? Here are some tips that can aid you, even if you are resorting to the outsourcing of IT.
1 – Develop a thorough strategy early on
You can’t expect your development team to focus on their work if you don’t have a plan for them to follow. It’s up to the manager to design such a plan, which should be done before the development starts. Doing that will bring the project’s scope, deadlines, and requirements to the forefront and will make it easier for everyone to understand where it’s headed.
In fact, developing this strategy early on will allow you to better see the whole picture yourself. This, in turn, will let you anticipate potential hiccups and problems that might arise along the way and plan preventive measures accordingly. Of course, this doesn’t mean that your plan will save you from the unexpected issues that might happen, but it will certainly better prepare you and your team for it.
Once you’ve developed the whole plan, meet with the whole team and explain it to them in detail. Be open to questions and suggestions, as this will make developers feel included and more invested in the project’s success.
2 – Know your team’s skills
As anyone that has worked with in-house teams, software outsourcing companies, or freelance developers already knows, software development is a vast world. Basically, this means that development projects can wildly vary from one to another. One could have you building a mobile app while the other will require you to focus on backend development. Some others will be about web development and others about cloud computing.
All of them will need your team to use different languages, tools, and technologies to bring them to completion. This implies 2 things. The first is that you’ll need a team with varied knowledge to tackle all of the different projects you have on the table. The second one is that you, as a manager, have to know which of your team members is the best fit for each project.
You might find that some developers are better suited for, say, web development but don’t know that much about cloud-computing. That’s fine. As long as you know who’s who in your team and learn to delegate the tasks according to the goals you’re pursuing, you’ll be all set.
3- Take care of non-development work
While a project is ongoing, developers should worry about one thing and one thing only—developing the best possible product. That means that all of the non-development work has to be taken care of by someone else (AKA you, the manager). In other words, it’ll be your job to assist non-technical meetings, organize administrative work, keep in touch with other non-developer team members, and communicate with the executives on a regular basis.
This might seem like an obvious thing to state but you’d be surprised by how many development projects suffer delays along the way simply because developers have to take care of things that shouldn’t include them. That’s especially true when talking about meetings that can drain a lot of time and energy for your team, most notoriously during peak moments when the team should be focused on core tasks.
4 – Give realistic performance reviews
One of the key moments in development work is whenever you have to sit down with your developers to talk about their performance. This is standard practice across in-house departments, software outsourcing models, and remote teams. However, the fact that it is a standard doesn’t mean everyone is doing so in a proper way.
In other words, a responsible manager has to use the right metrics to review the work of each developer while also addressing the problems in a direct manner. Additionally, you have to ask for the developers’ feedback to identify problems you might have overlooked and to involve them in the process even further.
Finally, there’s the issue of the frequency of performance reviews. Space them out too much and your team will start to get lost. Do them too often and your developers will feel pressured and controlled. The best way is to keep an eye on open tickets, metrics, and deadlines to meet with the team when needed.
5 – Establish a rapport with your developers
This could mean several things. First and foremost, it means that you have to make yourself available to them. The team has to see you as the one that can help when troubles arise or when things aren’t clear enough. Even when you’ve defined everything in your initial plan, chances are that the developers will have some questions and doubts as the project progresses. You have to be there to answer them.
A rapport also implies that you create a professional connection where you make it clear that everyone in the team is important for the project’s success. To do this, make sure that everyone knows that their critiques, suggestions, and issues with everything related to the plan are always welcome. Involving them in this way will enrich your point of view and will increase the likelihood of success.
Finally, establishing a rapport could also mean that you develop a more intimate relationship with your team. I’m not saying you should be friends, but showing them you care about how they are and relating on a more personal level (like talking about hobbies or their families) can bring a positive vibe to the development.
6 – Learn some development basics
I’m not saying that you should become a developer but knowing a little about it won’t hurt you. In fact, learning about certain development basics can be beneficial. Knowing about the terminology and basic concepts can help you better understand the work your development team is doing to better explain it to executives and other non-technical members.
Additionally, knowing some of the essential stuff can come in handy in a couple of situations. For instance, when you’re adding new members to the development team, it can give you an advantage at understanding what the candidates can bring to the table. It can also help when you outsource development since it can give you a better way to communicate with the remote team.
Don’t sweat too much about it, though. Learning about development might sound challenging but it’s easier than it seems – especially because you’ll only be scanning through the basics.
7 – Don’t ever micromanage
This is a tip that would work for pretty much all managers across all departments, but it’s particularly applicable to software development managers. Why? Because they tend to monitor and control every little task and step the developers take, something that is annoying as it appears. Think about it. Would you like it for someone to be constantly checking what you’re up to and asking questions about every little thing you do at work?
Of course not. That can quickly wear anyone out, putting the team under stress and killing its productivity. Even if being a control freak doesn’t sound like you, you should take a look into how you do things. Maybe you’re trying to be helpful but end up being too intrusive. This is hard to detect but it’s something you have to do, as micromanagement is one of the reasons why people underperform or even leave companies.
Some final words
All of the suggestions above won’t replace the actual skills you need to be a good manager: communication, patience, organization, strategic planning, etc. What those tips will do is bring those skills to a whole new level and turn you into a manager that can lead to higher quality software and more successful projects.
Even if you feel like you have already mastered all of these items, it won’t hurt you to take a deep look and review how well you’re doing. In that process, use your team’s feedback as your main ally, since the best way to improve how you work is by listening to the people you work with.