The Role of a Project Manager in a Software Development
October 15, 2019 / Bryan ReynoldsThe project manager role has taken on a greater amount of prominence in the past decade. This is true across numerous industries, including the software development industry. Still, there is plenty of confusion about what a project manager does, as well as about what project management is—and isn’t.
In this article, we’re going to look in detail at the role of a project manager in a software development project. But before we dive into what a project manager does in a specific scenario (software development), let’s look at the project manager role a little more broadly.
The Role of a Project Manager, Generally
Part of the mystery surrounding the project manager role has to do with the name. Project manager sounds generic and straightforward—it must be the person managing the project, right?
And of course that’s true, but it goes much deeper. Projects have been around as long as modern business has, and people have been coordinating, leading, and managing those projects just as long. While informal project management is a real thing that happens every day, that’s not what most businesses are talking about when they use the term.
Project Management as a Discipline
Project management in its formal sense became a discipline and distinct job role in the middle of the 20th century. Today, the Project Management Institute (PMI) is one of the leaders in the industry, offering the go-to certificate program, known as the Project Management Professional or PMP certificate.
Project management, as PMI defines it, is “the application of knowledge, skills, tools, and techniques to project activities to meet the project requirements.” The project manager, then, is the individual tasked with doing those things.
Clear as mud, right? Probably not yet, and that’s OK. Because project management works across an exceedingly broad spectrum of industries, the terminology is necessarily a bit broad. Allow us to bring further clarity.
What Project Managers Do
Project managers are responsible for specific projects in an organization and are tasked with planning, monitoring, and reporting on the project as it progresses. In many cases they also handle budgeting for the project as well as working the approval process with upper management. The project manager often acts as liaison between the project team and company management, too.
Another way to look at it is this. The project manager is responsible for all the work that needs to take place so that the actual project work can take place and succeed. The project manager is also responsible for shepherding the project work (and the team members) as they do their tasks.
Project managers are also agents of change. They require a good dose of people skills as they work with team members to change difficult behaviors and as they collaborate on schedules, juggling competing priorities.
PMI categorizes all processes related to project management into five groups: initiating, planning, executing, monitoring/controlling, and closing.
Common Misunderstandings about Project Managers
Project managers get a bad rap in a lot of organizations for a wide range of reasons. First among them is that the project manager is most often the individual tasked with solving conflicts amid project team members over time and resources. This is a process bound to make a few enemies along the way.
Another false criticism lobbied at project managers is that they don’t do any real project work anyway, so how can their work be that important? There is a tiny sliver of truth to this. Project managers don’t do the actual work of the project. Instead, their work sets up for success those doing the project work. Good project management makes it possible for the actual project work to succeed and to be completed on time.
An Illustration of the Project Manager’s Responsibilities
Say your organization needs to develop a training manual for new hires. This kind of project involves all sorts of people who don’t usually work together. Someone needs to write the content. Someone else needs to edit it. HR is certainly going to be involved in deciding what the content is, as will department managers. You’ll need a graphic designer to create visuals, and someone with some degree of publishing experience will need to lay out the document. On and on the list goes. This group of people is the project team.
Here’s the part that seems odd to some team members: the project manager won’t do any of those tasks. He or she may not even be qualified to do any of them. Nevertheless, the project manager’s work is crucial.
The project manager (PM for short) initiates the project by setting up a budget and a timeline. In some environments, the PM also selects members of the project team. (Personnel are externally defined in some settings.) Next, the PM builds out a detailed schedule, using a GANTT chart or some similar tool. Then, as the various project team members complete tasks (or fail to complete them), the PM logs what’s done and checks in on what isn’t. The PM monitors the project from start to finish, watching for things that don’t go according to schedule and controlling the pace of work. Finally, when a project is finished, the project manager closes out the project.
these are crucial tasks, even if they don’t resemble the work of the project itself.
OK, we’ve given you a crash course in project management as a discipline. If you’d like to learn more, check out PMI’s introductory articles, What is Project Management? and Who are Project Managers?
Once you’re ready, let’s dive into how this all looks in a software development project context.
The Role of a Project Manager in a Software Development Project
What does the role of a project manager in a software development project look like, then?
There are a decent number of ways to define the role. At a high-level overview, the role of a project manager in a software development project has four components: creating the schedule, managing the team itself, managing the scope of the project, and resolving the inevitable issues that come up along the way. Let’s look at each of these areas in greater depth.
Creating the Schedule
Software developers are great people. They are highly creative, and they’re often overflowing with technical knowledge. It’s unfair to expect them to build a complex, nuanced schedule that works for all parties involved. This is the project manager’s job. The project manager uses his or her project management tools to create a schedule that allows for effective time management on the software project.
Other elements common to the project manager role (such as defining the project and creating cost estimation) can fall in this category as well.
Managing the Team
In addition to needing a schedule, team members also need direction. Project managers provide this as they manage the team. If all the specialists on the team simply set about doing whatever seems most urgent, chaos ensues. The project manager ensures that tasks are done in the right order and that team members know when the project is ready for them to do their part.
Put another way, the project manager is the person most responsible for maintaining the big-picture view. We don’t expect every developer to understand the entirety of the project and know with certainty his or her place in it. (Though we’re glad for whatever big-picture understanding we do get from team members!) This kind of big-picture view is the project manager’s job.
Managing Project Scope
Preventing uncontrolled scope creep is a key area for project managers. If the enemy of the good is the perfect, then the enemy of successful project completion is uncontrolled scope creep.
Scope creep is when the project’s initial parameters change. The project manager built a schedule and set a budget based on specific parameters (namely, desired outcomes). If the parameters change, the budget and schedule are at risk.
Of course, it’s natural in the course of software development for the scope to change. Clients will discover needed functionality they didn’t ask for at the start. Developers will see opportunities to innovate and improve that similarly weren’t planned for.
These changes to the scope of a project are sometimes necessary, but every single one requires an adjustment to project parameters. The project may need more resources, more time, an increased budget, or some combination of those.
The project manager must stay on top of project scope, saying “no” or reformulating the plan when necessary.
Resolving Issues
The last major area project managers must deal with is resolving the wide variety of issues that come up over the course of the project. All sorts of issues threaten a project timeline. Your lead designer could quit. A vendor you can’t succeed without may become difficult to work with. A software or OS update could break needed tools. Not to mention, people will be people, and sometimes they won’t get along.
In all these areas, the project manager is called upon to help find a solution to the issue. PMs may need to track complex solutions as they are implemented, similar to the way they track the project as a whole. People skills are essential, as are communication skills, because the PM will carry much of the burden of resolving interpersonal disagreements between members of the team.
Why Is a Project Manager Necessary in Software Development Projects?
There are plenty of reasons to involve a project manager in software development projects. We’ll cover just a few today.
To Negotiate Complexity
The main reason you need a project manager in most software development projects boils down to a single word: complexity. In all but the simplest projects, software development is sufficiently complex that it’s unfair to expect individual project team members to have the entire process well in hand, start to finish. Every team member’s individual job is itself too complex and too involved to allow the capacity to see all the necessary details in the big picture.
But someone needs to see both those details and the big picture. That person is the project manager. In any software development project of any size, you need someone that’s somewhat outside the process and somewhat separate from the “real work” to do the (also real) work of initiating, planning, executing, monitoring/controlling, and (eventually) closing out that software development project.
Without this kind of leadership and oversight, software development projects are bound to have overruns in cost, resources required, or schedule.
To Function as Liaison
All project teams can have communication issues. Software development teams are especially prone to them because of project complexity, the rapid pace of development, and the way team members specialize into roles. If upper management were to poll a typical software development team, they would easily get eight or more different answers about how the project is going or what the greatest needs are.
The project manager can bring order to chaos by acting as liaison between the team and any other interested parties. With the big-picture view in mind, project managers can bring focus to the most important concerns and communicate them clearly among various groups.
Is your business interested in learning more about how a project managed software development workflow can improve outcomes? Or perhaps you’re looking for a firm that can conduct software development for you. In either situation, Baytech Consulting is here to help. Contact us today to get started.