Outsource Vendor Management Best Practices: How to Manage Your Outsource Vendor?
You should keep your finger on the pulse of the software development process all the time.
Once you have selected a suitable development team among all the outsourcing companies considered, and described to them your project requirements, you may think that all you have left to do is to wait till the software release date. But it’s a dangerous common misconception which, if followed, will almost certainly lead even the most promising project to fail.
Here are our outsource vendor management best practices and tips on how to avoid the risks of outsourcing.
Gain clarity with your project!
From the very start of your cooperation, define the vendor’s commitment with as many details as possible regarding the following three aspects:
- Find out how much it costs to build a certain feature. This cost estimation may be based on work breakdown structure (WBS) which includes a list of all features to be built.
- Define the expected costs per team member. Usually the vendor presents it as a resource plan.
- How long will it take to complete the project? It’s hard to predict the exact date, but you certainly should know the duration in terms of months and weeks.
- Ask for the project roadmap, so you know how much time is estimated per certain feature implementation. It may be presented in a Gantt view for more transparency and convenience.
- Scope. The software development scope should be clarified from different perspectives, including
It’s a good idea to begin with a project discovery phase, as it clarifies and defines all the above-mentioned aspects.
Split the overall commitment into smaller milestones, e.g. a 𝞫-release, MVP, etc. You can plan in detail for 2 or 3 months ahead. Yet, you will most likely need to adjust a plan for a longer milestone timeline to take into account the preceding results and findings. Thus you will always be prepared for the next milestone while allowing for the agility and flexibility of software development.
Shape your production scope
People often overload the first app version which delays the production release. They want to present the fullest implementation of their app idea. Another dangerous misconception is that when all the features are ready, the app is bound to succeed.
But it doesn’t work that way. The chances of post-release overnight success are close to zero.
To make your app really useful and convenient for your target audience, you need to collect their feedback. Then, step by step, you should work on improving your application. It takes several iterations to approach the much desired perfect solution. You need to think in a long-term perspective to avoid frustration and to actually give life to your idea.
That’s why try to make the initial app version as small as possible. Implement just the necessary main app features in order to faster present your product concept to the market and clients.
On average, it takes 2-4 years of iterative improvements to the software. In this long-term perspective, the feature list for the initial release doesn't matter so dramatically. So, accomplish 1-2 milestones for the production release.
Clarify the roles and responsibilities
In case there are a few people on your team, define one person who will have the authority to present the app requirements. It is important for the consistency of the information you provide to the outsource development team. For the outsource vendor, in their turn, it’s crucial to have a single “source of truth.”
For productive outsource software development, you should know the role and responsibilities of each person on your outsourced team.
When hiring app developers, it’s necessary that you, or someone who represents your interests, have a (semi)technical background. As the app features will be developed gradually, make sure you check them on your side and provide your feedback to the QA engineer in a regular and timely manner. For the best software development result, it’s crucial that you and the QA engineer share a single product vision.
The roles and responsibilities should also be detailed and clarified in the software development contract. Make sure you do read it carefully.
Organize the delivery process
Losing control of project development and getting generalized feedback may result in your misunderstanding at which stage of app implementation you currently are. Moreover, the timeline will definitely get stretched. It’s absolutely necessary to receive the “fresh” feedback for good project dynamics.
- Set up weekly or bi-weekly meetings with the team members, usually including a project manager, a solution architect, a business analyst, etc. Keep a strong agenda for those meetings. Make sure that you and the team have a common vision for the project. For better understanding repeat what the desired outcome is and who the end-users are.
- Make sure that you are getting the reports from the outsource team in the agreed format before these meetings. For example, they can inform
- What percent of the overall budget is spent
- Approximately what percent of scope is completed
- What the team has been working on for the last 2 weeks
- What the active risks are
- What blockers there exist.
Thus you will be aware of the latest progress, ready to analyze commitments and discuss any concerns.
- It’s a good idea to have demo meetings to introduce the developed functionality to its (future) users, especially when they have no technical background, and to get their feedback for further improvements.
Analyze the project progress regarding the milestones
There may be deviations from the planned timeline. To minimize them you need to define and address their causes. Some of the questions you need to answer include
- How far are we from initial commitments?
- What explanations are there?
- What risks were defined and predicted by the team?
- What risks were missed?
Work with people
For successful outsource management, take time to explain your goals and desired outcomes. It’s something that may be introduced in half an hour, but getting understood indeed is a long-term process. Be open to communication when the team needs your input. Build relationships with each team member.
Tech tips to minimize the risks of outsourcing
Here are a few things you or your CTO should keep in mind.
- Make sure you have access to all the tools and services used during your project development, including
- Servers, e.g. AWS
- 3rd-party tools and services, e.g. Google Maps
- Apple Store and Google Play Store.
- Decrease the impact of a human factor with automated testing.
- Use SonarQube or its alternatives to double check the output code quality and highlight possible risks and issues, e.g. regarding app security, logic, etc.
Mutual understanding and responsibility, built trust, process transparency are the important keys to your successful partnership with the outsource development team.