While every developer is different, there is one thing that almost all of them have in common: the desire to build. Developers do not want to be bogged down by dependencies or constantly having to pause and answer questions from a helicopter manager; they just want to create.
This is why the job of the project manager should revolve, almost exclusively, around enabling developers to do just that. However, it can sometimes be difficult to keep developers happy and building while also staying on top of progress and pushing the project forward.
How the project manager role has changed
According to Sílvia Rocha, VP of engineering at OutSystems, the skills that make project managers successful have undergone a transformation in the last two decades.
“I think before, when our projects were very much waterfall, the role of a project manager was a little more on the forefront of the governance,” Rocha said. “And now with the flourishing of agile practices, I think project managers have moved a little bit to the side.”
She explained that with this shift towards more agile practices, projects often have multiple leaders, such as Scrum masters and product owners. Because of this, project managers have had to reinvent themselves quite a bit.
Rocha also cited a heightened level of autonomy at the team level as a reason why the role of the project manager is changing.
“I think a lot of rethinking and redesigning of what that role is and the interactions that the project manager has is something that I have definitely seen the industry do,” she said.
One of the ways that the role has been altered is the added emphasis placed on empathy and interpersonal communication skills.
Yishai Beeri, CTO at the developer workflow automation company LinearB, said interpersonal communication skills are key when it comes to building trust with developers.
He explained that having effective interpersonal communication skills leads to a more positive and open team culture, enabling team members to feel comfortable enough to come to the project manager if something is not going as expected.
“If you can trust the developers to tell you when things are not progressing as required or when things are starting to accumulate risk, then you can focus solely on these things and assume that everything else is going as planned,” Beeri said.
Building this trust also allows project managers to not automatically feel worried when team members are not constantly offering up status updates. When everyone trusts each other to make issues known, then silence becomes a positive thing.
Rocha went on to explain that in the choice between a project manager with higher level technical skills and one with superior interpersonal skills, the latter would most likely provide better outcomes.
“Putting things in a simple and outcome-focused way and letting the team know that you are there to assist and that you are there to remove dependencies and roadblocks for them lets them know that you feel their pain, that you realize what it is like to be in their shoes, and that you are actively working towards helping them,” she said.
Additionally, Beeri explained that avoiding the blame game is essential when it comes to communicating and building trust with a team.
He emphasized that project managers should always care more about solving the issue than pointing a finger at any developer who may have had a hand in causing it.
“And I think a lot of this takes time and it comes from having worked together for some time and learning to understand each other’s cues or way of communicating,” Beeri said. “It can be hard to replicate that without the experience of working as a team and working together to understand how different people communicate about the same things.”
How project managers can be a benefit to developers
In an SD Times-led discussion on the “Dev Interrupted” Discord server, Conor Bronsdon, co-host of the Dev Interrupted podcast, explained that project managers can either be a benefit to the team, or a massive hindrance.
“Ideally, they’ll enable engineers to focus on deep work, particularly coding,” Bronsdon said. “However, it’s very easy for project management to turn into a blocker if the system is constructed in a way that breaks up focus time and creates switching costs.”
He went on to say that project managers should be intentional when it comes to creating the right system for the developers on their team, and they should be sure that the developers understand why the system is important.
“If you don’t create a system that works for your team, and ensure they have the context they need about why the project manager system is important, you’re going to create problems,” Bronsdon explained.
In that Discord discussion, Beeri added that a common mistake project managers make is always chasing the current status on every item.
He expanded on this, explaining that if the project manager is constantly asking for status updates or time estimates while developers are untangling and working through complicated problems, it can end up slowing progress in the long run.
“A great project manager has enough dev chops to get a feel for progress without constantly asking, know how to use tools to augment their take on reality, and have the patience to manage the project with the uncertainties inherent to dev work,” Beeri said. “They also proactively manage up to shield devs from the execs/stakeholders that are also standing in line to ask ‘when will it be done?’ five times a day.”
Bronsdon explained that it can be easy for a project manager to become frustrated if it seems like developers are dragging their feet on providing the manager with information or updates that are vital to their role.
Understanding that the challenges developers face are different from the manager’s own helps to create a path to reach a resolution that leaves everyone feeling heard and validated.
“This requires excellent communication skills and the ability to tailor that communication to your different audiences,” Bronsdon said.
Prioritizing the developer
When trying to foster open communication and understanding, it is important to also be mindful of the developers’ time.
Yishai Beeri, CTO of the developer workflow automation company LinearB, explained that oftentimes project managers fall into the trap of overloading their team with meetings in an attempt to facilitate communication. He warned that this is an almost-instant productivity killer.
“[Constant meetings] also give the project manager a feeling (some would say illusion) of control,” Beeri said. “Like ‘I know what’s happening and I know where we’re going,’ but great project managers are comfortable with uncertainty.”
He went on to say that a good project manager is one that centers their communication around risk areas and blockers as well as pushing context to the developers instead of pulling status updates from them.
According to Beeri, good project managers utilize asynchronous communication options wherever possible and only utilize synchronous avenues to tackle real problems.
This works to allow developers to be more in charge of their own time, fostering heightened productivity as well as a better relationship between team members and the manager.
He also stressed the importance of managing dependencies as a project manager. He warned not to fall back on old and anti-Agile habits such as trying to map out the dependencies and timeline in advance.
Rather, Beeri advised project managers to focus on gaining “local” visibility to current and near-term dependencies.
“[A good project manager should] suggest minor shifts in order of execution to resolve them, as well as focused over-communication to mitigate their impact,” he explained. “They also develop a nose for common dependencies/blockers down the line and proactively suggest steps to avoid them.” – Katie Dee
Accommodating a remote setting
Rocha also discussed how the transition to remote work has altered the role of the project manager. She said with less face-to-face opportunities, project managers have had to find new ways to tap into the working processes of their teams.
She said that in the beginning, project managers struggled with this and often tried to overcompensate for the distance and inject themselves too much into the work developers are doing, leading them to become overbearing with their teams.
Beeri also touched on this, saying that since going remote, offering developers high-level empathy has become a bigger challenge than ever.
He explained that because so much of a human being’s capacity for communication and empathy relies on non-verbal cues, the mediums of communicating in a remote working world have become a hurdle for project managers to overcome.
“Some of these non-verbal cues get lost in screen-based communication… And in some cases this also makes scheduling hard when you do have to synchronize people together,” Beeri said. “Getting everyone in the room together is obviously easier when we’re all in the same office, so those parts have become more difficult.”
Rocha went on to say that bringing in games and tools that add fun to arduous, but necessary, meetings and tasks has been useful. “I have seen the most successful project managers find their place in this new reality in techniques where they almost gamify a number of the processes that are core to a good and functioning team,” Rocha explained.
Rocha also emphasized the importance of approaching conversations with team members from the perspective of adding value for the end user.
She explained that this is a method that project managers should use in order to avoid falling into a helicopter style of managing because it contextualizes conversations and updates around something that is important to the developer, rather than it being a box on a checklist.
With this, Rocha stressed that the project manager should constantly be positioning themself as a helper rather than as merely a process guide.
“Especially building a new product from the ground up… a lot of the work that is happening for these products is very overarching and one of the things that will make you a rockstar project manager is if you are actually helping in the alignment across the many teams in a way that developers see as valuable,” she said. “Then they see that dependencies are better catered to, they can go faster, they are more productive, they are not stuck waiting on other teams.”
According to Rocha, this is the best way to be seen as an asset to the team rather than a blocker. The project manager should exist as an enabler that works to heighten the productivity of their developers.