Everyone knows that project managers and developers don’t always to see eye-to-eye. In fact, some devs have had so many bad experiences they develop a bit of a hatred towards PMs. This isn’t good. Not for PMs, not for devs and certainly not for your projects.
Even if your official title isn’t PM, but you still perform managerial duties, you may find yourself lumped into the same group and experience the same tensions. In the eyes of a dev, if you’re overseeing the implementation of a software project, you’re a de facto PM.
So, what’s the beef?
To find out why devs aren’t fond of PMs, we headed to the cradle of modern life – Reddit and after poking around r/webdev, these were the most common PM grievances:
Everything’s a freaking priority with you guys
You’re obsessed with meetings…just too many meetings
You know less about the project than I do
You can’t take ‘no’ as an answer
You can’t say ‘no’ to clients
Sound familiar? If you’re a veteran PM, you’ve probably heard some of these before. It can be easy to take offence or dismiss these statements as surface level complaints, but they all point to one root problem – a severe disconnect between software engineers and project managers.
In this article, we’ll address some of the most common clashes between devs and PMs and how to best navigate these points of contention.
Project scope and requirements
Assessing a project’s scope and requirements ain’t easy, but it’s essential if you want to head off estimation issues. Before settling on a project’s scope, you need to ensure both project managers AND developers have a clear understanding of the client’s goals and objectives.
The developers are the powerhouses writing the code that will bring a client’s goals to fruition, so it’s vital that they’re involved in this early stage of project planning. When the people building the product have a better understanding of business goals, they can more accurately advise PMs about estimation times and minimise future miscommunications.
Once both parties understand the project goals, the client should be asked to prioritise features. It is then the PM’s responsibility to explain to clients the difference between must-have (features that are fundamental to a project’s success) and ‘nice-to-haves’ (which are secondary features). PMs need to attach dollar values and time allocations to all features to help clients prioritise and distinguish between what is essential and what is out of scope or over budget.
Project estimation
Estimation (or rather underestimation) is probably the biggest sticking point between developers and project managers. PMs are often under pressure to commit to firm deliverable dates, but software development is innately difficult to estimate accurately. Also, devs can’t be expected to work nights and weekends to overcome changing circumstances or meet unreasonable deadlines.
If you want to create more accurate estimations, you need to remove ego and emotion and just be practical. Start by breaking down the project into features, and then break those down into stories. Each story can then be estimated according to its complexity and your available resources.
If you’re dealing with clients who want exact estimates rather than ranges, estimate a range internally (in consultation with your devs of course) and then quote the client the upper end of that range. Be mindful that devs tend to underestimate, so it’s always best to include some wiggle room. A good rule of thumb is to multiply your estimates by a factor of 1.5 to compensate for overconfidence or unforeseen variables.
Don’t be afraid to tell a client ‘no’ if they insist on unrealistic timelines. It will save you and your team a lot of stress in the long run. Remember the PM proverb – under promise, over deliver.
Project meetings
Ah yes, the age old question – couldn’t this meeting have just been an email? Meetings are a huge contention point between PMs and devs. While you may see meetings as a valuable tool, you need to understand that developers hate being called into meetings for simple comms or updates that could have been shared via a PM tool, instant message, or email.
Status update meetings are both unnecessary and unproductive and will seriously frustrate your devs. To them, time spent in meetings is time not spent working on a project. That’s not to say meetings don’t have their place. Regular meetings are essential for keeping teams on track, uncovering issues, and keeping abreast of developments. Just don’t overdo them and make sure they’re necessary.
Every meeting needs to be clearly structured and time-boxed. Everyone should know in advance what questions they’ll be asked and what they need to report. You may choose to have a daily scrum meetings or weekly stand-ups, but either way focus on current issues, what’s up next in the pipeline and removing roadblocks impeding progress.
To help you avoid pointless meetings, you can use a task-ticketing system to organise your backlog and rank tasks. By using project management software, you can keep devs updated on task progress in real-time and eliminate unnecessary meetings.
Project ownership
When times get tough PMs feel the heat. Whether it’s scope creep, pressure from management or stretched deadlines, it can be tempting to blame everything on the devs! PMs…don’t be that person!
As a PM you’re the team leader and it’s your job to protect your team and put out fires. If management starts making demands and asking questions, don’t throw the devs under the bus. It’s your responsibility to field the tough questions so your developers can keep doing their job. If clients get pushy with deadlines or scope creeps, you need to push back!
While shielding your team can be a rough gig, you need to take ownership of the project. Keep all parties up to date on all updates, delays, and changes, make sure worklogs and time tracking are filled out, and consult with your devs if there are change requests from the client. If you’re struggling, you can use project management software to streamline the admin and facilitate communication.
PMs and devs CAN live together in harmony
No, it’s not a pipedream. With accurate assessments of project estimations, scope, and requirements, regulated meetings and strong project ownership, PMs and devs can coexist in peace and prosperity.
While it’s your job as PM to lead and shield the team from outside distractions, your contributions aren’t any more important than the rest of your team’s. While you might have different roles and approaches, devs should never be seen as rivals. They are valuable allies who are working with you towards a common goal.
Just remember this – developers and project managers don’t think in the same way and that’s okay! PMs should be focused on the big picture and keep the team on track, whereas devs should be focused on completing tasks and stories to help the team move forward.