http://www.developer.com/

Back to article

Anatomy of a Software Development Role: Project Manager


August 10, 2005

The Project Management role is the first role in the software development process that isn't on the main line. The project manager isn't a person doing "real work." The project management role is one that is designed to help ensure that the software development process works as it is intended. The project management role works closely with the development management role in order to facilitate, encourage and prioritize the process.

The project management role is perhaps the most clearly defined role within the software development process due to the development of project management as a profession. (If you've not been following the series, you might want to read Cracking the Code: Breaking Down the Software Development Roles.)

While the software industry is nascent, the project management industry is enjoying the advancement of a powerful organization in the Project Management Institute . They have assembled a guide to the body of knowledge for the project management profession that is often referred to as the PMBOK Guide. This organization has developed a widely recognized certification, Project Management Professional (PMP), which has both practical experience requirements as well as traditional testing requirements.

What's the Project Manager role?

The PMI's PMBOK Guide defines the project management role via definition of a project manager by defining what project management itself is. Their definition is:

"Project management is the application of knowledge, skills, tools and techniques to project activities to meet project requirements. Project management is accomplished through the application and integration of the project management processes of initiating, planning, executing, monitoring and controlling, and closing. The project manager is the person responsible for accomplishing the project objectives."

You can go to the PMI website (pmi.org) to download sample content from the PMBOK Guide, buy a copy of the guide, or sign up to become a PMI member.

Within the context of the software development process the project management role is responsible for driving the work through the process and to completion. Starting with the earliest requirements discovery sessions and ending after the training has been completed, the project manager is the one role that should be consistent throughout. Project managers work with both the development team and with business stakeholders to ensure that what is being built will match what the customer expects and that this development occurs within the expected time frame. Click here to see how the Project Manager role fits within the full organizational chart.

In that the project manager is often intimately involved with the business stakeholders they are often working closely with the functional analyst during the early stages of a project. The functional analyst is focused on getting the details of what the system must do and the project manager is focused on determining what the success criteria are and helping to educate the stakeholders about how the process works.

The project management role is generally responsible for status reports, which are frankly more tools about instilling a sense of urgency and demanding definite answers than they are a process for generating reports. They expose resource and scheduling issues as well as provide a communications vehicle for issues as they begin to occur. The project management role is typically spreads across several projects and potentially development teams. The project manager is frequently working on more than one project at one time - unlike many of the other roles in the project who may be dedicated. The project manager need not be an IT specialist, although this is helpful. The nature of their role is to provide broad based oversight.

In the software development process, the project manager is one part prodding and one part smoothing over problems in the process. They're there to make sure that the process goes forward and they use a variety of processes, meetings, and documents (artifacts) to ensure continued forward progress and to identify problems as soon as possible.

The project management role must be capable of executing details with regular consistency. They must also be able to take a step back from those details to look at the big picture to evaluate things like risk and the accuracy of time estimates. All of this takes a measure of restraint and good listening skills. The restraint prevents the project manager from jumping in before it's time and the listening helps to ensure that the real problem is eventually understood - and can be disseminated to everyone.

Project managers are the keepers of the process. Whatever the process is they're responsible for making sure that it executes well. In some organizations this includes the software development methodology. The project manager is the one that makes sure that the process is adhered to so they can get the predictable results they desire.

Getting Started as a Project Manager

Being a project manager more often happens out of necessity than it does out of design. More often than not the project manager becomes a project manager because they see and understand the challenges that are being faced by the software development team and believe that they have the ability to help prevent them. This is the spark that generates an interest in taking a project management path.

One of the paths that can lead to the project management role is the functional analyst. The functional analyst bridges the gap between the business and the software development team. This is a critical skill for the project manager as well. The other skills, such as being able to generate the status reporting and communications, are necessary to maintain control of the project but they can be taught and learned with some coaching.

The project management role is one that is sometimes split into senior project managers and junior project managers. This allows the more senior staff to work on larger, more mission critical tasks, while monitoring the smaller projects through junior staff. If your organization has a project management mentoring process with junior and senior project managers getting started is best handled by approaching a senior project manager and asking what you can do to help. If no such structure exists within your organization then you'll just have to volunteer for tasks that are traditionally project management focused such as taking meeting notes and circulating them to verify consensus.

The preparation that you should do to become a project manager includes reading the Project Management Guide to the body of knowledge (PMBOK) as well as developing your own set of templates and processes which can be leveraged in the management of a process. Templates such as a project charter, which indicate an overall vision for the project and an agreement to get started, are a standard tool that should become second nature to you.

Ultimately getting into a project management role can be easy, in the case where no one is really filling that role or where there's a structured mentoring process, or it can be difficult where there are strong people leading the role of project management but who do not have a mentoring structure in place. If project management is important, you may need to prepare by reading the appropriate material and developing the appropriate templates and then make a change that allows you to try out your new learning.

Occasionally, getting started as a project manager is done completely by accident. A solution architect, development lead, or developer gets noticed for adherence to process or the desire to move the project forward and are encouraged to seek the position. This can be a problem for those who still want their hands on the code.

What's in their Toolbox?

Each project manager, it seems, manages projects slightly differently. They have their own specific way of making sure that it will work. However, there are many common themes that run through the project manager's toolbox. Here are a few:

  • Project Management Software - Project Management software, like Microsoft Project and Microsoft Project Server are important tools for the project manager who must keep tight control of timelines and budget. Project management software helps document dependencies and status so it's clear where a project is and what impact someone missing a deadline has. Most, if not all, project management software is capable of generating Gantt charts (timelines), and PERT diagrams (dependencies). These are essential tools in their own right.
  • PMI Membership - Most serious project managers are a member of the Project Management Institute. Their membership magazine and local PMI chapters have a great deal of value in their ability to demonstrate new ideas and provide connections to others when you need advice on a problem.
  • PMIBOK Guide - The Guide to the Project Management Body of Knowledge provides foundational knowledge that is important for all project managers and can provide sometimes not so gentle reminders when you're project isn't on track as to why it's not.
  • Templates and Processes - Project management can become overwhelming with the amount of artifacts (documentation) that is created. Having tools to ensure that the process itself is as efficient as possible is in every project manager's toolbox.

Where's the position heading anyway?

The project management role has gained a lot of ground over the past five to seven years. It's become well recognized within IT circles that project management is a necessary discipline that is a necessary catalyst to keep the software development process running. With the hard work of the PMI the role is becoming more standardized and can therefore be more readily purchased by business users.

In short, the future looks bright for the project management role. As more organizations realize the need for a dedicated project manager and due to the continuing need for software development project managers are dearly needed.

Because of the dual role that the project manager has in managing the software development process and managing the expectations of the business customers there are often two project managers. One who works with the software development team in whatever geographic location they are in and another project manager who is more closely positioned with the business stakeholders. Sometimes the role of the project manager on the development team side is filled by a solution architect or development lead. However, this still means that there should always be project management positions wherever you are.

The Good, the Bad, and the Ugly

The project management role, like other roles has its high point and its low points. Here are some of the key things that this role has to offer both positive and negative.

  • Good: High Visibility - The project management role is a high visibility role. Because it has a part in so many different projects the role is often involved in reporting to executive management in an organization so it has the potential to demonstrate good work to important people.
  • Good: Key Role - The project management role is a key role to the project -- one that can have a great impact on the overall success or failure of the software development process. If you like influence this is a role for you. Additionally, the project manager is often considered the person within IT that owns and is responsible for the project.
  • Good: Sense of accomplishment - Because a project management role is one which works with a large number of people there's constantly progress being made. When a project gets shipped or even when the first beta comes out there can be a great sense of accomplishment in that the project was moved forward because of the role that you played.
  • Bad: Tight timelines - The project management role is at its most crucial when the project has gone awry or when the timelines are too tight. Unfortunately with the pace of business accelerating it seems like every project has a tight timeline and doing what is necessary to ensure that timelines are met often creates a high degree of stress.
  • Bad: Overworked - The value that project management can bring to the software development process can't be understated nor can the amount of work that it takes to create this value. The artifacts that drive consensus also require time to create. However, there's not a solid understanding of the amount of work that is required to create the value and because of this project managers often find themselves stretched too thin across too many projects.
  • Ugly: Politics and People - Perhaps the most frustrating thing about the project management role is that it is focused on fixing political turf wars, keep people working with teach other and moving forward. This means that there's a heavy dose of pop-psychology that must go on to get the project done. The drain caused by so many whining people can be overwhelming at times.
  • Ugly: The project manager is the one that may have to make the decision to have people work extra hours to meet deadlines.
  • Ugly: The project manager is the one that has to maintain a projects scope - what will or won't be included. They are often caught in the middle when decisions need to be made on what can be completed within the given time frames.

Conclusion

The project management role isn't for everyone. A strong ability to adapt to an ever changing environment and the ability to work through internal politics are critical for success in this role. However, the ability to right a project that has gotten off track is a much sought after and highly valuable skill.

About the Author

Robert Bogue, MCSE (NT4/W2K), MCSA:Security, A+, Network+, Server+, I-Net+, IT Project+, E-Biz+, CDIA+ has contributed to more than 100 book projects and numerous other publishing projects. Robert works with Crowe Chizek in Indianapolis as a strategic consultant. He was recently honored to become a Microsoft MVP for Microsoft Commerce Server and before that Microsoft Windows Servers-Networking. Robert blogs at http://www.thorprojects.com/blog You can reach Robert at Rob.Bogue@thorprojects.com.

Sitemap | Contact Us

Thanks for your registration, follow us on our social networks to keep up-to-date