What do project managers do? What are they good for, anyways? I am sure, if you have worked in the software industry, then you must have asked this question multiple times to yourselves. I don’t blame you either, since most of the time project managers are not that technical, and sometimes they don’t understand very specific details of an engineering problem. But that doesn’t mean that they are not important at all. Project managers often bring lot of skill-sets, which an engineer or engineering manager might not have. Thus, in this blog post I am going to educate all of you engineers on the specifics of what exactly project managers do, and why they are an irreplaceable part of the software development life cycle.
Provides the focus: Software development is a creative work, and hence, sometimes engineers can’t constrain themselves to focus on the priorities (or project scope). For example: If you don’t know how big is the space in your kitchen, how can you buy a refrigerator that can fix in your house? Even if you find an ideal refrigerator, which satisfies all of your needs, but if it is slightly bigger than the space in the kitchen, then it won’t work out for your house. Project managers resolve these kind of issues by project planning, project monitoring, and helping the team to deliver what the customer wants. For an engineer, it’s easy to get sidetracked during a project, since they might come up with better solutions or additional problems to solve, which usually cost more, take longer, and can potentially kill the project with overruns. Re-arranging your pantry while preparing food for a dinner party could result in hungry guests. A project manager will avoid these kind of disastrous situations by looking at the big picture, and prioritizing all the tasks.
Provides planning: Some software projects grow up too quickly, and become too complex within a short period of time. Due to this changing scope, without a clear-cut plan, engineers can’t concentrate on one thing at a time, and they can get pulled in every direction. When you look at the big picture, you will realize that the needs of a marketing department is different from the needs of the sales team, while these needs might not even connect to the reality in any form or shape. Sales team can sell a dream software, which might be unbuildable, or it might require constant changes to the existing product to deliver that dream software. Project managers make these tasks easier by scheduling, planning, budgeting and controlling all the tasks associated with the product. They also uncover most of the needs and issues up front, and if changes do occur during the software development life cycle, they change the project plan to make it easier to adjust the course of the project.
Though it is desirable to hire a technical savvy project manager, it is not practical to do so every time. Finding a project manager with management and software development skills is hard to get. And hence, sometimes your project manager might not understand the specifics of your software development issue, but that doesn’t mean that they are good for nothing. Project managers are, and always will, be the critical part of the software development life cycle.
So, next time when you think that your project managers don’t understand your engineering issues, then try to educate them, instead of blaming them to be dumb and stupid.
Thanks – Bhavin Gandhi