If you’re a project manager and you don’t have the much technical experience yourself, you might be wondering how to avoid becoming that nightmare PM so many developers seem to disregard.
The fact is that you don’t need to know how to code to understand how the people on your team get work done — not the technical aspects of architecture and programming, but their common roadblocks, preferred tools, and best practices. Learn the warning signs that something is going to slip. Create a good working environment. Do your best to lead your team, not manage them.
Following simple tips will help you to manage and motivate your team for a successful execution of the project
Understand your own role
You may not understand the nitty-gritty of software development, but you do bring valuable insights into how your client thinks and what they ultimately want. So, help translate client goals by breaking down big projects into detailed tasks. And explain work done by developers (plus the errors, roadblocks, and opportunities that are bound to arise) so that clients understand it.
Don’t micromanage them, listen to and provide regular feedback, give specific instructions, and clearly define roles, responsibilities, and priorities.
Ask questions – Don’t pretend that you know everything
You can’t (and shouldn’t) pretend like you know everything your team does, and they’ll likely be using terminology that you are unfamiliar with. If a team member says something that you don’t completely understand, don’t hesitate to pause the meeting and ask them to explain. Ensure you and your team are on the same page.
Don’t treat developers as robots
Software development is truly creative work. Your team needs time to think, solve problems, and find new solutions. So, give them space and don’t just measure their performance by how many lines of code they write each day. Are deadlines being met? How many defects are being created, found, and fixed? Look at a mix of quality, quantity, and ability to collaborate.
Identify the individual’s motivation factor
Many developers are driven by the challenge of solving an interesting problem that attracts their curiosity or relates to one of their personal passions. If you can get them personally invested in the problem at hand, they’ll be committed and motivated to do their best work. Create the competition among team members by awarding under the different category.
Mainly, detailed requirements and precise feedback. Define clearly the expected outcome in every task or project – without the details, it’s too easy for developers to end up guessing and producing something that doesn’t hit the mark. And evaluate and reward the outcome and not the effort – Developers also thrive on precise feedback. So instead of saying, “This needs to be faster,” specify, “We need this to load in less than 1 second.” Use numbers whenever possible to provide clear expectations.
Build the Trust and Respect – Minimize non-productive hours
Useless meetings, office politics, paperwork — minimize distraction: You can do this by taking on most of this yourself and letting your team focus on the work at hand. Push back against setting unrealistic, arbitrary deadlines and delivery dates.
• Be the head that represents their interest to upper management and communicates this clearly to the team. They must believe that you have their back.
• Keep your words. If you make a promise, keep it.
Reward Success in Public and Punish Failure in Private
Technical people are very egocentric especially regarding their competencies (human beings in general) and so they will enjoy the public praise and appreciate the criticism/punishment in private. The advantage of this is that doing this alone will change the dynamics of your management and make you a manager with loyal team members that are ready to bend backward to see you succeed and in extension, your team.