If you have been observing the global IT outsourcing landscape for some time, you would know by now that it is ever-changing. OPD(Outsourced Product Development) is a term that has been making rounds for some time in the current IT scenario. For the unversed, OPD is defined as the process wherein an organization hires a third-party provider and outsources specific activities pertaining to the development of products and services. While cost reduction continues to be one of the top reasons for outsourcing the product engineering work, the relationship between a client and a product development partner is becoming more and more people and process-driven.
Have you ever wondered how certain businesses achieve stellar delivery excellence? The pivotal reason behind this could be pinned down upon the foolproof and effective PMO (Project Management Office) and Governance Process employed by the business.
However, achieving this is no cakewalk and it comes with its own set of challenges.
A common challenge CTO/CIOs or founders of product startups face when they outsource their product development initiative is tracking the performance of developers. Since you cannot really monitor the productivity of the outsourced team on a full-time basis, it is critical to know whether your investment in hiring a dedicated team of developers is justified. Moreover, product development activities today require companies to juggle various dimensions. Companies must ensure they are making the right use of limited resources, allocating people, time, and money to the projects that will best meet their short and long-term strategic goals.
That raises a crucial question: how should they measure the performance of their product development teams? Project metrics help you gain quantitative insights into your team’s performance and provide goals for your team that can be more easily measured. They also enable software teams to monitor productivity across workflow stages, access software quality, while introducing more clarity to the development process.
In this fast-paced delivery era, project quality management is pivotal in designing processes that completely satisfy the need for which the project is undertaken. It is important to measure what we are managing, and hence quality metrics are important to know the current health of the project. However, it is not just the metrics that help achieve software delivery excellence.
A very integral part of software delivery is undoubtedly the PMO process, and in order to streamline the PMO process, there are certain existing key practices. An efficient PMO process could help the organization to gain the utmost control and value of the project by adopting a strategic and tactical approach. What are the key practices that should be adopted to achieve a successful and efficient PMO process? You may ask!
In this whitepaper, we will walk you through the various aspects of the PMO process and also, based on our experience, we have put together a list of best practices to be followed to streamline your PMO process.
Some of the other questions that the Engineering Head of a product startup needs to ponder over before considering outsourced product development are:
Before we discuss the topic of a Project Management Office any further, it is essential to understand the team structure of the OPD team. Given below is an image depicting the team structure for an easier understanding of the process. A Project Management Office is the silver bullet for CEO/CXOs focusing on gaining maximum value from their projects. Simply defined, the project management office is a department within the organization that is responsible for maintaining the standards of project management within the organization and ensuring follow-through to improve productivity and quality. How do they add value to your business?
Project Governance plays an important role in these times when stakeholders are on the lookout for innovative solutions within a minimal time frame. If businesses increase the speed of the process without data-driven decision making, it could end up being a failure. Thus, it becomes imperative to share the project data with the stakeholders to satisfy their curiosity and also improve customer satisfaction. The data takes into account various aspects like the quality of the project, the timeline, and the utilization of the budget. The PMO will initiate effective project management and help provide a guideline by taking into consideration all such parameters that drive customer satisfaction. The project management office will provide dashboard data that could help with the decision making process. Also, it helps organizations to adhere to the business objectives while maximizing value from the investments.
PMO Challenges: It could be agreed upon that project management is not a walk in the park. If one does not proceed cautiously, teams could face certain challenges during their project management journey. It is crucial to anticipate these challenges and stay prepared for them to avoid project failure. Here is a list of key challenges that the team could face during the project.
Project Metrics is the next most important topic that falls under effective project management. A project team is predicted to yield better results when the project metrics are balanced. An organization could receive both positive and negative data from these metrics. While positive data helps recognize and reward accomplishments, negative data help organizations to monitor and continuously improve the project. What are the factors that determine strong development metrics?
Once the team identifies the strong development metrics, the next step should be that of measurement and reporting of the metrics. Take a look at the metrics measurement and reporting plan that could be used by the product development team.
Now having discussed various aspects of the project management office, let us discuss its workflow The workflow of the PMO is divided into four different phases:
Once the team identifies the strong development metrics, the next step should be that of measurement and reporting of the metrics. Take a look at the metrics measurement and reporting plan that could be used by the product development team.
The framework could be illustrated using the following diagram :
Once the team receives confirmation from the customer on starting the project, they should start gearing up for project execution. During this phase, the team decides on the project methodology, the sprint duration, coding standards, etc. What are the various aspects that need to be considered while making such decisions? Let us discuss:
Choosing a Project Methodology (Agile/Waterfall): The first step should be to decide on the project methodology for execution.
Setting Up and Sharing of Coding Standards: Next, share the coding standards document with the team. This document should include points to be considered to make the application Safe, Secure, Reliable, Testable, Maintainable, and Portable. Ensure that the coding standards and best practices are discussed and explained to all the members of the team. Also, decide the code review strategy to be followed – frequency of peer code review, frequency of external code review, and reviewer.
Deciding Code Branching and Code Merge Strategy: Having done that, move forward to decide the code branching to be followed. The branching strategy could be either one of the following:
Now, decide the code merge strategy to be followed. The available options are:
Drafting the Code Review Checklist: The next step should be to share the code review checklist to be used in the project. While drafting the checklist, consider questions like:
Tailor the organizational template for Project Plan, Risk Management, Scope and Change Management, Business Requirements Document, Code Review Analysis, Bug Analysis, Traceability, Unit Testing, Test Plan, Test Case, Weekly Status Report, and Design and Architecture Documents.
Creating the RACI Matrix: RACI Matrix could be defined as a responsibility assignment chart that describes every task/milestone of the project along with the participation by various roles in completing them. Communicate the RACI Matrix to the team members and relevant stakeholders. Let us take a look at a sample RACI Matrix.
Finally, identify license and certificate requirements of any tools to be used in the project. Document all decisions and processes to create an onboarding document to ease the onboarding of team members. List a few static code analysis tools that can be used and procure the leave plans from the team members so that those can be considered during the project planning.
Other points to keep in mind:
Once the team is done with the planning and preparation, they should move to the initiation phase. Before that, a project kick-off meeting should be held to align the expectations of the customer and the delivery team. Clear and regular communication and collaboration are required for this to happen, and that could be achieved by following the below-mentioned steps.
Efficient and Regular Communication: Agree upon the weekly status review call format and schedule to discuss high-level stories completed in the previous week, stories planned for the next week, discussion on risks and open items, holiday, and leave information for next week, etc. Also, agree upon the monthly governance call format and schedule. Project progress and timelines, cost burndown, open items and risks, other sprint metrics, feedback, etc can be discussed here. Decide a common platform for the team to communicate the daily progress, issues, clarifications with customers, and other vendor teams if any. Also, discuss the escalation plan.
Effective communication lays the groundwork for efficient project governance and management. A report by the Project Management Institute showed that companies with effective communication enjoyed a rate of 80% of projects successfully meeting their goals. However, the success rate of those with minimal communication was only 52%. In addition to the regular status calls, monthly/quarterly governance calls can be implemented to streamline project management. The existence of an appropriate project structure is important for the team to make decisions, exchange information, and identify and mitigate risks. Also, consistent communication between the decision makers, managers, engineers, and business owners ensures that the development and delivery are very much aligned with the business goals. This is very critical for the overall program to be successful. Thus, it becomes important to draft a communication plan to facilitate the same. The recommended plan for communication is as below
Selecting Project Management Tool: Some tools which can be considered are Trello, Azure DevOps, Jira, Asana, etc. Also, decide the code repository tools to be used. Some tools which can be considered are GitHub, BitBucket, and Assembla. Get information on the process to be followed to get access to the customer network and tools used in the project. Move on to discuss the license & certification requirements of tools to be used in the project.
Also, schedule a meeting with the technical team of the customer to discuss the expectations on the project-specific coding standards, code review checklist and check-in process, static code analysis tools to be used, setting up of the CI/CD process, etc.
Now that the stage has been set for action, the team should be ready for the execution phase. The steps that need to be taken care of during this phase are:
Implement Management Processes: Prepare a detailed BRD(Business Requirement Document) or user stories or use cases and UX screens for the confirmed requirements/flow/screens. Also, mention all nonfunctional requirements in the acceptance criteria for each user story. Consider the browser compatibility, device compatibility, performance, security, data volume, usability, validations aspects in user stories. The technical team should start with the architecture and high-level design documents. Once the user stories are approved, do the estimations and ensure that it is on par with the estimations given in the proposal. If there is a difference in estimations, keep the management and customer informed and action items identified.
During each of the development phases
During each sprint, there are specific parameters to be measured and action items to be taken to improve them. The parameters are as listed below:
Take a look at the following graphical representation of these parameters for further understanding.
Other important aspects to keep in mind during this phase include:
Start discussing the QA, UAT, Production setup at least a month before the expected release dates to these environments.
Make sure the UAT environment is ready at least 2 sprints before the UAT release.
Ensure that the Prod environment is ready at least a sprint before the production release.
Plan for data migration if required, at least 2 sprints before the UAT and production release.
During the UAT phase,
During this phase, the team should have completed the project and should receive the project closure email from the customer. It is important to prepare all the necessary documents and keep them ready during this phase. However, before the closure of the project, there is an important step that has to be followed named the ‘Project Review.’ Project Review is defined as a formal review of the different aspects of the project performance. Performed after the project completion, the internal review is usually executed internally, but can also be carried out by an external consultant. The recommended frequency for the project review is at the end of each sprint for a project. When considering the type of reviewer, it is best to have a combination of practitioners with an understanding of metrics, as opposed to pure metrics. This is to ensure that there is an operational view as opposed to a pure metric view. The internal review would reaffirm the project commitment of the team by reminding them that quality and project management performance are key focus areas that should be given due attention.
The main motive of a project management office is to ensure that the organization delivers IT projects on budget, on time, and on scope. Research by Gartner states that 68% of stakeholders consider their PMOs to be bureaucratic, and only 40% of projects meet their schedule, budget, and quality goals. This is why it is important to identify the best PMO practices and implement them for effective management and to achieve strategic goals. The above-mentioned processes, best practices, and quality metrics are derived from project execution experience.
Based on the nature of the project and customer expectations, the above processes can be modified to ensure on-time delivery with high quality. That said, it is important to understand that these processes will continue to modify and evolve as new project methodologies are adopted.