Meet Steve. Steve is a CEO of a SaaS product startup. He has an in-house team of 5 engineers that develop the app for him and maintain it. The team is lead by a CTO/Project Manager Mike. They are planning to release a new big feature by the end of the year and they already know that they need more development capacity to be able to meet the deadline of all the programming work that is required. They need a few extra developers to boost the pace of the development. Therefore, they partner up with a software development agency and lease 2 developers to help them out over the next 6 months. The budget is tight (when isn’t it tight?!) and there is a lot to do, therefore Steve and Mike want to get as much value out of this collaboration as possible. Offered to have a project manager assigned to them, they thought that it’s a waste of money and decided to manage all the work and communication with the external developers internally - Mike is going to do it. They want their whole budget to be used on man-days of work of developers.
Visible vs invisible value
Speaking of value, obviously the main purpose of every project is to fulfill its goals. In this case, the main aim of this collaboration is to build the software that Steve and Mike need and to do it on time. However, there are also some additional goals to it, that are not as tangible as the code to be written, but are very important too and are related to the main goal. We don’t just want to produce as much code as possible, as quick as possible. We want the software to reflect our business needs as accurately as possible, we want to make sure that the resources are utilised wisely, we want developers to collaborate with each other smoothly and we want to be able to overcome problems that might occur along the way - this is what project management is all about.
Project Manager on the client’s end only
Mike is leading the in-house dev team and is responsible for planning and scheduling work, defining tasks, assigning developers to them and managing all the communication and potential risks. He is right next to his developers, he knows them, speaks to them and supports them on a daily basis. If he does so with his in-house team, he can work the exact same way with the additional leased developers with no problems - they will just join the team, absorb its rules and adjust to its processes. In some cases - it's a good idea! If the communication required in the project is very straightforward, all the tasks are clear and well-defined, there is not much support needed, nor are there any potential risks in sight - all the project management operations can be done internally.
When is a PM on the agency's end needed then
It’s not always the case though. When a project is complex and there is a lot of unknowns, it might be very useful to have someone at the agency’s end leading the external team and being a point of contact for you. There are certain issues that are be hard to address remotely. Those can be such trivial things like making sure that developers have all the right accesses and equipment they need, e.g. licenses to tools that they need to perform their work or testing devices that the project requires, or organizational matters like scheduling meetings, writing up progress reports or communicating developer’s leaves etc. You wouldn’t want a developer to waste too much of their time on organizational matters while they could focus on what they do best, would you?
Management overkill vs unstructured chaos
In Steve and Mike’s case, when the dev team consists of 7 engineers all together and, let’s say, 3 of them working together on a very specific feature that is well defined and planned out, we wouldn’t want to overkill the management of the project and formalize the flow too much. Mike can be in direct contact with the developers from the agency on Slack, speak to them on a daily basis and manage their work. An additional Project Manager on the agency's end can serve more as an Account Manager overseeing if everyone is happy and step in occasionally when assistance is needed. However, the larger the company, the more complex are its processes. The more complex the processes, the more formalized are all it’s operations. Larger companies or corporations might require more Project Manager’s involvement in the daily operations. Things like reporting the progress, final acceptance of the project’s milestones or dealing with things like unexpected absences and blockers popping up might require a lot of work from the agency. Splitting these tasks between developers and not having a dedicated person responsible for all the supporting procedures could cause a lot of chaos and make the workflow impossible to run smoothly.
We approach every project individually and assess every client’s requirements and abilities individually. Mature companies with experienced leaders aboard usually require less of our involvement in terms of leading our developer, and they deal perfectly fine managing the workflow on their own. In other cases, it happens that there is no way to go without a project manager on each end to make the work run smoothly, with our PM supporting, leading and managing our developers.