When working with an outsourced project, a project manager (PM) needs to focus on dozens of issues simultaneously. They need to facilitate the project remotely, ensure efficient communication, and keep an eye on project resource use. Headhunting and keeping such an experienced and skilled employee in-house may be challenging and costly, especially for small and medium-sized businesses.
Hiring an outsourced PM as part of the development team is a great alternative to establishing in-house project management. An outsourced PM can improve team management, ensure a transparent development process, reduce your budget, and bring many more valuable benefits.
In this article, we showcase the benefits having a PM on the development side brings to a team and share our approach to project management. We also analyze common concerns about outsourcing project management and explain how we address them at Apriorit.
Outsourcing software development has become an integral part of IT projects since it provides companies with numerous benefits:
- Access to a wide talent pool and niche expertise
- Fast augmentation of an in-house development team
- Cost savings
However, not everyone believes that hiring an outsourced project manager along with the development team can bring as many benefits as an in-house project manager. Usually, customers have such concerns of outsourcing project management:
- Lack of operational control. Control over day-to-day project activities is what a customer delegates to an outsourced project manager. Some customers believe this may result in losing their authority over the development process, decisions made on the project, and, ultimately, the project’s outcome.
How do we mitigate it? PMs at Apriorit do have more control over the development team than the customer does, which allows them to ensure that developers work to the best of their abilities. However, we always keep our customers updated on the project status and discuss critical decisions (development methodology, choice of technology, sprint goals, etc.) with them. Mostly, our PMs do this by producing daily or weekly status reports, facilitating regular online standups, and writing follow-up emails.
- Poor quality of the final product. Each company has its own approach and quality standards for software development. When outsourcing a project, it can be challenging to make sure a contractor is working to those standards and that the final product will meet all of the customer’s needs.
How do we mitigate it? At Apriorit, we have strict internal coding standards that help us build software of the highest quality. Second, during the project discovery phase, our business analysts and PMs elicit customer requirements to define the product’s goals and functionality. Thus, we ensure that the final product will meet all of the customer’s needs, expectations, and standards.
- Lack of data security and confidentiality. A customer may consider providing confidential information on their project to a third-party PM insecure and consider that data to no longer be confidential.
How do we mitigate it? While working on projects, our PMs and developers follow security best practices: they sign non-disclosure agreements, use secure credentials to access customers’ resources, audit the security of data forms and APIs, etc. We can perform a security audit on demand or involve an authorized third-party organization to do so to prove that we’re working to the highest security standards.
- Low level of involvement in the customer’s business. In-house project managers usually know all the details of a customer’s business and industry that are relevant to the project. Outsourced PMs need a considerable amount of time to figure all that out. If they don’t research the customer’s business thoroughly, they can overlook industry standards, valuable stakeholders, etc.
How do we mitigate it? At Apriorit, we have extensive experience delivering projects of various sizes to customers in various industries and countries. We generally assign PMs that have relevant knowledge and experience for particular projects. Also, our PMs constantly exchange experience and knowledge, which helps them be prepared for any challenge. If one PM has never worked with a particular type of business, they can always ask for advice from colleagues.
- Challenging communication. Outsourcing is often associated with communication issues related to time zone differences, cultural particularities, language, etc. Since a PM is the key communicator between the outsourced team, stakeholders, and in-house developers, challenges in interacting with them can affect the whole project.
How do we mitigate it? Our PMs negotiate specific time frames and communication channels convenient for both the customer’s team and the outsourced team. Vast experience working with customers from around the world has taught us to be flexible and adapt to any conditions.
- Additional costs. From the customer’s perspective, a PM may not appear as important as software developers — especially if the customer has in-house PMs with the same set of skills. In this case, hiring an outsourced PM may seem like an unreasonable project cost.
How do we mitigate it? In our experience, hiring an outsourced PM saves a project’s budget in the long run. We’ve seen our PMs successfully mitigate risks of miscommunication, unclosed requirement gaps, and insufficient risk analysis. Also, good knowledge of the team allows our PMs to efficiently manage team resources and detect issues faster than a customer’s in-house PMs usually do.
As a software R&D outsourcing company, Apriorit has extensive experience providing project managers to our customers as part of our core offer. We believe that team management on the side of the outsourcing provider is beneficial for both the provider and the customer. Now let’s find out how exactly an outsourced PM can facilitate development.
A project manager is a leader who should be able to prevent, tackle, and resolve any issues without breaking the deadlines. Moreover, as a leader, they play the role of a mentor, teacher, facilitator, and problem-solver for the team.
Our customers give us plenty of positive feedback on the performance of our PMs. Based on their reviews, we can outline these benefits of outsourcing project management as a part of the development team:
- High level of skills and experience. As they work with many customers in a variety of industries, outsourced companies usually have diverse experience in both project management and software development. Also, in an outsourcing company, the PM team is usually large enough to allow a customer to find a PM that has the relevant skills to successfully deliver their project.
- Efficient team and resource management. An outsourced PM shares the development team’s time zone, location, language, and corporate culture. Also, an outsourced PM knows each member of their team well enough to understand their strengths and weaknesses and efficiently use the team’s skills to deliver the project on time.
On one of our projects, a customer requested hiring more developers to quickly implement a range of additional features. Instead, the PM optimized the workload of the project team and paralleled some of the existing tasks to make sure the team would be able to handle new features without involving additional specialists. In this way, the PM saved the customer’s budget while meeting the deadlines.
- Saving the customer’s time during development. Solving small issues and managing day-to-day activities takes most of a PM’s time. When an outsourced PM is in charge of the project, the customer’s stakeholders and in-house PMs can focus on their internal business activities. This is especially useful for companies that don’t have any internal project managers. They’d need lots of time to organize the work of an outsourced development team by themselves. With a hired PM, they need only to answer the PM’s questions without studying the project management.
- Compliance with the schedule and budget. A PM’s core responsibility is to ensure that the development team meets the deadlines and doesn’t overuse project resources. Good knowledge of our developers, efficient resource management, and fast response to issues allow our PMs to lead projects to success within the estimated time and budget.
- Cost-effectiveness. Outsourcing is generally considered more cost-effective than keeping in-house employees. For PMs, this is also valid: hiring a project manager along with an outsourced development team is less costly than recruiting and training an additional in-house PM.
- A fresh perspective on your project. As someone from outside the project, an outsourced PM can look at it from a different angle and assess the project impartially. Such unbiased insights are crucial for evaluating risks and making business decisions.
To ensure that our customers feel all these advantages of outsourcing project management, our project managers have developed their own approach to handling projects. Let’s see how they do it.
Project managers at Apriorit have created a workflow that allows them to bring any project to a successful conclusion despite its size, industry, and possible challenges.
A PM’s activities start by collecting and estimating software requirements provided by the customer or elicited by a business analyst, then creating a statement of work. This document is a product specification that describes the software functionality and implementation plan that the customer and outsourcing development company have agreed upon. The statement of work is useful for both parties: the customer uses it to understand how the product will be implemented and how it will operate, and the development team uses it to plan how to develop and deliver the product within a specified timeframe.
After that, the PM chooses a development methodology for the project. This choice is based on several factors:
- Scope of work estimated and agreed between Apriorit and the customer
- Required delivery frequency
- Due dates
- Resource structure and availability
- Possible or planned future updates
At Apriorit, we prefer to use an Agile methodology for our projects as it allows for more flexibility and earlier delivery compared to other methodologies.
The next step is to choose relevant tools for several areas of the project:
- Project planning. These are tools that help us create and visualize project plans with critical path timeframes and thus evaluate project delivery dates. We usually create project maps in Microsoft Project. For the periodic planning of iterative projects, we estimate story points using planning poker.
- Status tracking and delivery control. Jira is our primary tool to track the status and progress of project activities. Also, we often employ bug trackers such as Asana and Azure DevOps. For comparatively long projects (three months and longer), we use earned value analysis to measure whether the project is being delivered successfully.
- Knowledge keeping. We create Confluence spaces to store information and project documentation. The whole team can share their knowledge, suggest ideas, or ask questions at any time. This helps us streamline project communication.
Although we have preferred tools for each PM activity, we always discuss them with the customer and development team to make sure everyone is comfortable with the PM’s choice.
When the most suitable methodology and tools are agreed upon, the PM creates a communication plan that defines:
- roles of stakeholders
- communication channels
- meeting and reporting frequency and format
This document is a must for long projects that involve at least several developers and stakeholders.
It’s also up to a PM to organize cooperation between the customer’s team and Apriorit’s team. We often work on projects with distributed teams, where our developers integrate into or augment the customer’s team. In this case, our PMs pay extra attention to ensuring a smooth flow of information and processing of tasks. To do that, they consult with team leaders, figure out the skillsets of both teams, and distribute tasks according to team members’ skills.
If the project team is distributed between several time zones, it’s up to the PM to plan communication and use the overlapping time in the most efficient manner. In our projects, we arrange meetings to discuss the most important issues that need the customer’s attention. For all other questions, we use emails and status updates that the customer can read any time they want.
Once the cooperation scheme has been discussed and agreed on, the PM creates a project plan. It includes:
- software requirements from the statement of work and elicitation sessions
- iterations (if an iterative methodology was chosen)
When all the preparations are finished and all the documents are signed, the development team starts working. From this point, the PM’s task is to coordinate the project team and control project progress. The PM manages risks during development, identifying and troubleshooting threats before they materialize.
Another important part of the PM’s job is ensuring that the customer receives a high-quality product. In our projects, we start testing products in the early development stages and conduct user acceptance testing when we finish implementing requirements from the specification. A PM coordinates the development and testing teams to make sure they produce software according to the client’s requirements and within schedule.
At Apriorit, PMs always add great value to our dedicated development teams. More than 18 years of experience in outsourcing software development have convinced us and our customers that having a project manager on site with the development team significantly benefits a project.
Experience managing hundreds of projects in many industries and communicating with customers from all over the world helps Apriorit project managers lead any project to success.
Over the years, we’ve formulated our own approach to outsourcing project management as a part of our services. Contact us to get a well-managed and skillful development team for your next project!