There are a lot of different roles in software development, and not all of them are technical. In Agile teams, Product Managers oversee the development of software products, and Project Managers are responsible for specific aspects or elements of those products. While technical skills can come in handy, these roles are mainly responsible for ensuring software functions as it should and provides value for its users — which requires a blend of leadership, communication, collaboration, and other soft skills.
Ahead we’ll break down the traits and skills that make a successful Project Manager. If you want to start learning the key project management frameworks and organizational strategies, check out our Introduction to Project Management course.
What is a project manager?
In the video below, Web Developer Pat DePuydt breaks down a Project Manager’s role.
As he explains, Project Managers have three main focuses:
- Translating priorities into day-to-day tasks
- Managing resources
- Maintaining a project’s momentum
These can apply to a variety of elements, like managing dev teams, marshaling resources, and helping Product Managers and corporate executives set and track reasonable deadlines and goals.
Project Managers take high-level objectives and break them into smaller, achievable tasks to be completed by the project’s deadline. This involves bringing elements of the software from “epic” stage to “story” stage in Agile development terms.
Epics are higher-level tasks with general end goals, while stories are subsets of epics that get more specific about the steps required to build the product.
To set the stage for day-to-day tasks, Project Managers first perform “priority translation” — turning high-level directions from Product Managers into step-by-step instructions for developers, designers, and engineers to follow. The results of priority translation should fit into Agile development cycles which typically last between one week to one month.
This aspect of project management includes time, development staff, and design resources. The Project Manager breaks down the work into parts, then figures out what’s most important and urgent. This helps their team decide which foundational parts of the software to build first first and ensure that “urgent” parts are ready by their deadline. Everyone involved in a software project needs the important things to get done, while urgent items might be priorities for specific team departments or stakeholders.
A project’s deadline can vary, depending on factors like:
- The marketing department could have an announcement planned concerning the software launch.
- There could be a trade show where the company wants to showcase the new software.
- The company could be trying to get more funding to continue development, and needs for example, a beta version, to show investors that there is progress.
Teams face these kinds of situations all the time, so they often face tight deadlines. Project Managers help keep the ship running smoothly by organizing tasks into iterations that make as progress as possible when time and other resources are limited.
Project Manager’s are also responsible for a project’s momentum. There are two levers they can use to harness momentum: blocking and unblocking.
Blocking means deciding that team members should stop their specific work to wait for the completion of elements. These elements may be built by other teams to support or interact with other elements in the overall product. A Project Manager may need to block a process so that parallel processes can be completed and fed into the next process or element — or linked together in the software.
Unblocking refers to freeing up resources or securing new resources for the dev team. This might include asking a senior team member to help their colleague work through a difficult problem or finish a task by its deadline.
Working with project teams
Along with these overall focus areas, Project Managers also lead scrums — Agile frameworks dev teams use to check progress — and manage stakeholders expectations.
Scrums are a hallmark feature of Agile development. In scrums (or “daily standups”) team members share what they’re working on and any blocks they’ve encountered that need to be removed. When blockers arise, Project Managers have to know how to resolve them.
In short, scrums help Project Managers keep track of a project’s progress.
Project Managers need to keep Product Managers and other stakeholders informed of their team’s progress. Sometimes, this might involve asking for more time or resources.
Product and Project Managers work closely together to keep product development on course and respond appropriately if any issues arise. But it’s not all bad. Along with any challenges or budget for those concerns, Project Managers also share team accomplishments — like when someone finds an innovative solution or finishes a task ahead of schedule.
Making customers happier
Project Managers can also get involved on the ground level by working with users to learn more about their needs and preferences. This can involve:
- Determining common pain points
- Identifying new features (or improvements to existing features)
- Delegating builds of relevant features to the team members who can construct them.
The Project Manager documents these items and to whom they’re assigned using “story tickets,” which refer to specific parts of the software to be built. In other words, Project Managers take their understanding of why a user is dissatisfied and respond with a plan to address those issues, complete with actionable steps.
What is a project manager’s role?
Now that we’ve covered some of a Project Manager’s basic responsibilities, let’s learn more about the specifics of their role.
Leader, liaison, mentor
A Project Manager for software development plays multiple roles. They must be a leader, liaison, and mentor all at once.
As a leader, a Project Manager directs the team by setting out roles and expectations to team members. They also need to ensure their teams are well-trained and up to the task at hand.
At the same time, Project Managers also act as liaisons between their teams and other stakeholders. This involves keeping everyone informed of the project’s goals and progress with regular updates.
Lastly, a Project Manager serves as a mentor to their teams. The best way to ensure the success of a project is to ensure everyone is well-equipped to complete their assigned goals and tasks.
What a Project Manager does all day
Planning usually starts long before development officially begins. Within their day-to-day focus, Project Managers have several tasks:
- Scope definitions: Defining the user, the need the software addresses, and the operational requirements.
- Activity schedules: The lists of jobs that need to be done, who they’re assigned to, and the tasks within each job.
- Gantt charts: Time frames to complete the tasks included in the activity schedules.
- Reacting to risks: Emergencies often arise, whether something breaks or the client asks for a significant change, and Project Managers need to be prepared for anything. They also need to mitigate the risks caused by incorrect cost estimates, disputes between team members, and unexpected delays.
Along with monitoring these day-in, day-out items, Project Managers also set goals for the project, manage the time of all the team members, set budgets, and keep everything running on schedule.
How to become a Project Manager
Project Managers have a ton of responsibility, and leadership skills are a must as they need to manage various teams and stakeholders. They also require an instinct for risk management, professional interpersonal relationship skills, aptitude for gauging the pace of a project, and creative thinking to overcome issues. And while they’re not required, many Project Managers for software teams also have some technical skills. (You can learn the basics of programming in our Code Foundations skill path).
Some Project Managers get certifications to prove they’ve got the right skills. The Project Management Institute offers the PMP certification globally, and in the U.K., there’s the PRINCE2 certification.
Soft skills you need to be a successful Project Manager
Scott Stiner, founder of UM Technologies and a general manager for Albireo Energy, a building automation and energy services company, led software development teams as a Project Manager. He developed management principles that go beyond the roles and tasks previously described.
- Cover non-development work: A Project Manager with coding experience can write tests to allow their teams to focus on development.
- Use successes to motivate others: Share successes that team members have had with the rest of the team.
- Don’t alter tasks mid-stream. Changing the work after it’s already been assigned undermines the team’s confidence.
- Create your strategy early. Have a plan in place and goals for the project before assigning any work to the team.
- Preach organization. Set an example by making sure you are well organized. This includes knowing specifications, goals, deadlines, and short and long-range tasks.
- Master delegation. Identify your teams’ interests and passions, and assign parts of the project accordingly, if possible.
- Promote time management. Break down tasks and work into daily lists.
Melissa Keenan, formerly a Project Manager for Unosquare, a Belfast-based Agile software engineering company, cites qualifications, planning, and risk management as key elements for success in a software Project Manager role.
Keenan says that Project Managers should sit down with all stakeholders to define the scope of their project and the requirements for success. The project’s sponsors, team, and Project Manager should all sign off on project documentation that everyone has agreed upon. Success could mean launching the software in an app store, or it could be defined by a milestone like reaching a certain number of software downloads. A strategy should be agreed upon before work starts.
Planning is important, but the flexibility to manage changes as work progresses is necessary.
“Not all projects are the same,” Keenan writes. “You cannot use the same management style for every project, and you need to be flexible.” A Project Manager who has a good understanding of their stakeholders needs can adjust processes on the fly to keep the original project timeline.
Before starting a software project, a Project Manager needs to identify any risks that may arise and create contingency plans to deal with them. Then, they can proactively mitigate those risks instead of waiting for them to happen.
Risk management skills tend to improve with experience. If a Project Manager has already encountered an issue before, they’re likely to understand how to better respond when a similar problem arises.
Project Managers need to keep relevant stakeholders included in the ongoing discussion. These stakeholders often include other departments, like marketing, finance, and customer support, along with higher-ups like Product Managers, Chief Marketing Officers, and Chief Technologists. That means they need great interpersonal communication skills, as well as the ability to filter relevant information up and down the chain of command.
Project Managers are the glue that helps keep the development team (and the company as a whole) together and cohesive. Being the closest to the development team’s work, they have a deep understanding of their teams’ challenges and how to overcome them.