- What role does project management play in software development?
- A model project manager?
- Project management has to be flexible
- Industry-specific project management
What role does project management play in software development?
Let’s start with the basics and explain why exactly project management is so crucial. If we had to keep it short, we’d say:
“It ensures the project is completed within the budget, timeframe, and in line with the initial idea”
The entire idea is fairly straightforward. But to actually make that happen, there are quite a lot of aspects to take care of. So let’s get into details.
1. Communication and Collaboration Between All Participants
I wouldn’t be far off saying that communication is the be-all and end-all of project management. Every single element that comes next relies on efficient communication and understanding. In just a moment, we’ll talk about budgets, risks, deadlines, potential changes throughout the project, and many more aspects that must be managed.
By a project manager.
And all of them require constant communication between different groups that may include:
- software developers
- product owner
- UX/UI designers
- CXOs and board members
- local government officials
- your elementary school principal
- Elmo from Sesame Street
Pardon the joke, but if you worked long enough as a project manager, you’d probably understand that it’s only partially a joke. It can be a truly challenging job to make the collaboration between so many people efficient. And it often is.
But if you manage to get everyone working towards the same goal.
The process, scope, requirements, and goals have to be defined as early and as accurately as possible. It’s a project manager’s responsibility for establishing good communication between stakeholders and gathering the necessary information regarding the project. The end result should be the plan that includes the project's timeline, milestones, deliverables, and resource allocation. More specifically, it should define how many developers, designers, and testers will be required and what exactly they need to complete the job.
And, of course, it has to verify what project management methodology will be the right one. But we’ll talk about that a bit later.
3. Budget, Time, and Resource Management
A project manager has to create a fine mixture out of those three crucial elements. The goal is to identify what and who exactly is needed to get the job done within the budget and deadline. The planning phase is essential for this process. It has to give us the necessary information regarding the scope, technology, infrastructure, and all the other possible elements of the project.
But, of course, no plan is perfect, and not everything can be foreseen. So, a PM has to control costs, track the project’s progress, and manage resources throughout the project. If anything is not going according to the plan, we have to react as soon as possible to prevent a more significant loss.
On the same note, let’s move to the next responsibility of a PM.
4. Risk Management
In a vast majority of software projects, it’s possible to identify risks, including technical challenges, scope creep, and a variety of external influences, including direct competition breathing down our necks. Project managers have to be prepared for those risks, assess their potential impact, and have a plan ready in case they come to fruition.
5. Change management
In a perfect world, a project goes smoothly from start to end. That means the initially assigned team has all it needs to finish the project, there are no external factors that influence the workflow, and no changes to the scope, deadline, or budget.
But we are not in a perfect world. As in life, change is the only constant in business. The possibility that key project requirements can change has to be factored in the process from the day one. And that’s why agile methodologies are so popular, because they create an environment that makes those changes more manageable.
So, it has to be in the back of our heads that things happen and circumstances change. And it’s the project manager’s role to ensure those changes don’t affect the progress too much (or at all, if possible).
Whether that’s a sudden team extension or a need to change the scope in a significant way, a project manager has to ensure that every participant is well informed about the change and knows how their role changes.
6. Quality Assurance
While it’s mandatory for every participant in the project to keep the quality according to standards, it’s a PM’s job to make sure this actually happens. We make sure of that with reviews, testing, and consultations. And it doesn’t mean we’re assuming someone lacks the skills or diligence to do their job correctly. It’s more about a perspective and a big-picture view of the entire project.
That’s why a project manager is just the perfect role for that. As a person who focuses on collaboration between every party, they have the most comprehensive view on the entire subject, and they often see things that may be easily overlooked by people firmly focused on a single element.
7. Project Closure and Evaluation
After a project is finished or has to be handed over to another development team, a project manager has to take care of the entire process and make sure it goes smoothly.
That includes formalities, such as ensuring that project documentation is perfectly intact and up-to-date, preparing final reports and conclusions, and evaluating the overall project’s success. But there’s also a bunch of less formal stuff that usually takes place, such as a retro with project members to gather feedback, a celebratory meeting, and all the other necessary communication with remaining stakeholders.
A model project manager?
By listing all those competencies and responsibilities, it’s easy to create a profile of a perfect skill set for that role. So, a good project manager is a well-organized analyst, planner, and leader. However, above all, a person in that role must be a very efficient communicator with good understanding and empathy.
The last one is often overlooked, but it can truly make a difference. Let me explain why. As project managers, we have to create an environment of trust, commitment, and a sense of responsibility. While facilitating collaboration between the client, product owner, developers, designers, and all other stakeholders, we have to ensure that everyone’s on the same page at all times.
And how would that be possible if we couldn’t understand all the different ways people communicate, their emotions and drives? Well, it wouldn’t.
Understanding between all project participants is a foundation of trust and teamwork, which leads to much better efficiency and results. In one of our recent articles, Bartosz elaborates a bit more on that topic:
Project management has to be flexible
In my 10+ years of experience as a project manager, I had a chance to work on a variety of projects for different types of companies and industries. I worked both on massive global-scale projects for companies such as Nokia or GlaxoSmithKline and much smaller projects. And if there’s one thing I learned during all that time, it’s that there’s no blueprint that would work in every type of project.
The traditional waterfall method is not just a relic of the past that should be buried and forgotten. At the same time, scrum is not a Swiss Army knife that will answer all our needs in software project management. Just like a simple lawnmower is a perfect tool for your backyard, you probably need something more complex for a bigger piece of land.
In the initial planning phases, we have to gather as much information as possible to determine the best approach to a project. We’re always looking for what’s best for the project, not the other way around.
For example, a key takeaway from my experience that I feel it’s fair to point out is that the budget’s treated very differently depending on the company. Of course, no matter the project, we always try to do all we can to stay within the budget. But the reality is more forgiving in the case of massive projects by big corporations. The delivery is the most important, and if there’s a need to find funds for a few extra weeks of work, it’s usually possible. It’s far more difficult with startups and bootstrapped companies.
Industry-specific project management
Generally speaking, project management is indifferent to the industry or a type of project. The process, more or less, stays the same, no matter if we’re building an IoT app for the energy industry or an education app for children. A project manager still has to deal with the budget, scope, communication, and everything we talked about in this article.
However, it doesn’t mean that a software team's and a PM's experience in a given industry has no value. Quite the contrary. A team that knows its stuff about a specific subject will be able to find answers to the most significant questions much faster. Experienced specialists can often find solutions to problems you didn’t even know you had.
And why am I mentioning it?
- Because we’re not just a general-purpose software house.
- There has to be a CTA at some point.
So, as a software house strongly focused on the energy industry, IoT tech, we can help you deliver those kinds of projects in a super-efficient manner.