Disclaimer
In this article I don’t intend to list and explain all that is expected of a project manager. Furthermore, nowadays it becomes very difficult to identify the role of the ‘traditional’ project manager inside an agile organization. It might happen that the project manager is also the ScrumMaster or the ProductOwner of a project. We believe that the project manager role makes sense even in an agile environment. This article focuses on the topics that usually are of more interest to developers inside a team.
Motivation
As a former programmer, I usually tend to overlook project management. It’s not that I don’t see the value in it, I just keep remembering those times when a project manager just asked for the job to be done. And I know I don’t need a person to tell me what to do, I have a calendar, checklists and other tools to do that.
So, what are project managers for? What do they bring to a project or organization that is worth their pay?
The answer lies in between the lines. It’s not what they bring to a project, it’s what they bring together in a project. In other words, their labor is not part of the solution that is developed, but it helps that solution to happen the right way, at the right time.
So, how is that accomplished?
Well, sometimes project manager roles are described as superhero roles, because they seem to describe someone that doesn’t exist, that is able to accomplish many different things at once!
I really don’t believe a project manager can be perfect at everything. Like a programmer, you have all kinds, and each person might have his/her own style, but like the programmer should assure quality, tested, well structured, documented code, the project manager should assure well managed, happy, profitable, on-time, useful projects.
If you asked me how it is done, I would say that project management is like driving a car: you must, always, be aware of what is going on and continuously control and adapt. It’s not about controlling the steering, or the accelerator, or the rear-view mirror, it’s about doing that and more, all at the same time. If you only have to drive the car in the parking lot and the parking lot is empty, driving can be very easy, but if you’re late, some roads are jammed, it’s dark, foggy and rainy and you have a baby crying in the back seat, then maybe you’ll have to have good driving skills!
For more specialized information about project management ( 😀 ), check out ‘The Scandinavian Flick’:
Controlling scope, effort and time
You don’t want to end up implementing twice the functionality initially planned and being in a state where the project isn’t finished, right? But it happens a lot.
The project manager should understand the real needs of a client and then have them addressed in a fulfilling way. Sometimes this means scratching some requirements/user stories, have new ones written or having to take decisions.
In order to do that, he/she might take into consideration the user’s perception, the technical quality of deliverables and the effort and time needed to achieve them and have that balanced with the investment made in the project.
Sometimes projects need to be changed, sometimes they might even need to be canceled. And the project manager should be able to understand that, so that the team doesn’t end up in deep trouble, having all the stakeholders losing value on the project.
Having the right perspective
Prioritizing what brings value first to your client. That’s one thing a Project Manager should do. Or a Product Owner, if you’re working in Scrum.
Finding ways to have an interesting flow of new features coming up so that the whole machine is working (all stakeholders and development team have something to work on) and value is maximized.
Understanding the perspective of developers is also very important for a project manager. Sometimes project managers ignore that aspect as they are only interested in the client’s perspective. The truth is that all perspectives are relevant.
Technical debt and team effort
Scrum has this rule that every piece of software that is shown and delivered is supposed to be production ready. That means it is well structured, documented, reasonably scalable and so on. Even if we’re not using Scrum, it’s important to understand the difference between functional prototypes and production ready features. One is much simpler to achieve than the other. A good project manager will not only care about having the result shown to the client, but also about the underlying details. One can build something quickly that works and looks good, but if you keep pushing the team to its limits, you’ll probably have low quality results and end up losing more time than making it straight from the beginning.
For a vision about the difference in different deliverables see a picture of a team working in a full-size clay model of an automobile:
And a picture of a car concept clay model in full size:
It does look good, doesn’t it? But it doesn’t work… That’s why it is called a concept!
Managing risk
Identifying risks and taking actions to make them smaller or turn them into opportunities
The position in which Project Managers find themselves in allows them to take actions on risks. Developers sometimes are confined to a specific scope and don’t have the means to change the rules of the game. Say, for instance, you are working as a developer in a project and you find out that a certain feature is not directly available as a standard pattern in the programming language you’re working with. You would have to code it from scratch if you really wanted it to happen. In that situation, your Project Manager might have had the visibility to know if you really need to code it from scratch or not and even have it changed if needed, negotiating it with your client. That depends on a lot of context from your project, how the project was sold, if the client preferred that time invested in another much more useful feature, etc.
Communicating
Have you ever had the feeling that you were being set aside on a project and that you were only relevant to deliver new features?
It’s part of a Project Manager’s job to keep everyone informed and part of the process. Sometimes that involves choosing the right way to communicate with the team, even the right way to talk to one another.
Reporting information to stakeholders and back to the team. Having information flowing within the team.
Understanding Tribes
Unless your client is itself an IT company, you’ll see that each tribe has its own peculiarities. If you’re working with lawyers, maybe you shouldn’t mention a mistake or a bug, but rather ‘incoherencies’, because these people are used to work with law and are very careful with words. Handling different sensitivities is part of a project manager’s job.
In the same way, using technical jargon can be challenging. For a developer it’s usually easier to use the terms in which programming is made (an API, a class, an operation, etc.) rather than it’s equivalent in your client’s terms. I’ve been in meetings where it seemed impossible to come to an agreement on what was expected for a certain requirement because our client didn’t have the flexibility to understand our words. It’s up to the Project Manager to translate and be able to speak in different languages, that is, lawyer talk, tax talk, banking talk, audit talk, artist talk, programmer talk and so on.
Facilitating and orchestrating
John is a newcomer in your development team. He is about 35, an experienced developer, but most of the programming languages he learned in college are now obsolete. James is 23 and he is the unofficial leader of the development team. James is trying to show that he can accomplish complex tasks without support from the older, more senior members. John doesn’t want to overshadow James, but at the same time, he also needs to show what he’s capable of. At a meeting, James starts to show off his abilities in the new state of the art technology. The meeting becomes a show case of his latest accomplishments.
It’s part of your project manager’s job to take care of this and have this meeting managed and have John and James motivated so that they can show off their abilities.
- What are your motivations for working on this project?
- What does your organization look for in your work?
- What does your client seek for in this project?
These are subjects that should be assessed by the project manager, in order to manage different roles, personalities and individual goals mediating the group towards a solution, having open debates within the team that are useful to the project.
In a certain way, people are like instruments. Sure, most of the instruments can play different notes, but there are some notes that are more beautifully played by certain instruments. This has to do with career management, project management, growth and motivation. I think that each one of us, at a certain time can achieve levels of perfection above normal, that is, of excellence. It’s part of a project manager to see that potential and have developed that talent so that it reaches its maximum glory at the right time. We can call it orchestration, because instruments sound better when played together in an orderly yet individually special way.
Leadership and vision
Setting a vision for our project is very important. Sometimes it’s the difference between winning or losing. The project manager leads the team with a vision that feeds the team’s will to achieve.
This involves keeping a balance between comfort and challenge, goals, deliveries, team member stress, sponsor value and other variables. In other words, leading is not straightforward, it’s an adaptative behavior that a project manager should develop to help the team go through the best route to victory.
But, in my opinion, it’s important that the project manager is somehow part of the team, in the sense that he/she goes through the process of development, being accountable for it, not only involved. For the difference between involvement and commitment, see the business fable of “The Chicken and the Pig” as described in a Agile/Scrum context: https://en.wikipedia.org/wiki/The_Chicken_and_the_Pig .
Setting a pace that can achieve the desired result for all members is sometimes hard, both for the project manager and the team. It feels right to just keep things going, but sometimes it takes more than that: it’s part of a project manager’s job to check if we are under or overachieving and adjust if needed.
Pushing the limits
As an extreme measure, sometimes the leader pushes the team all the way into the boundaries of reasonability, achieving what seemed to be impossible. Imagine you are at the last mile of a marathon and you just keep thinking about the pain. The best way to win in this situation is to keep thinking about the goal and forgetting the pain. Sometimes project managers act as personal trainers, pushing the limits. This is, however, very dangerous, as described in the technical debt and team effort part of this article. This should only be done in very special occasions, when the team and project manager are totally committed and trusting each other, otherwise the interaction between the project manager and the team becomes truly toxic.
As we can see in the movie called ‘Men of Honor’ (https://www.imdb.com/title/tt0203019/), the man in a diving suit (Carl) is incentivized by the one wearing a tie (Billy) to walk 12 steps in a 290 pound deep sea diving suit, but this happened in a context where both of them were willing to push the limits and the lives of the two characters were depending on this result, as Billy had lost most of his reputation in the process. In short, the man giving orders is a ‘pig’ in the process.
As a leader, in a collaborative organization, usually it’s better to call for one’s will (and energy) to achieve than to impose your will to the other members. And that’s what Billy was doing with Carl, he was calling for Carl’s will to win!
For more information about Scrum, please check the Scrum Alliance web site at https://www.scrumalliance.org/ .
For more information about Project Management, please check the International Project Management Association web site at https://www.ipma.world/ .