In choosing your software development outsourcing partner, the factors with which you evaluate service provider should not only be limited to the strict technical capabilities, but should also include the collaborative and operational aspects of the process. Why? Because at some point in the outsourcing process, you will have to decide whether you want to keep your own operational practices and tools, or adopt those of your provider. The decision would heavily depend on your maturity in the software development lifecycle, as well as on the provider’s proposed degree of involvement.
This article is all about explaining how a clear understanding of your own processes and tools is crucial in your discussions with potential outsourcing providers. This is key in helping you decide who to go with and how to proceed with the collaboration.
Are you traveling and would prefer a hands-free option from here on out? Watch the video below.
First off, there’s no one-fits-all configuration. Typically, if you choose to transfer full project control to your outsourcing partner, you may want to adopt their practices and tools. This includes tools for communicating with developers (such as Slack or Skype), managing requirements (like Jira), or for handling reporting (like how the developers give updates on their progress, their roadblocks, etc).
On the other hand, if you prefer to keep control of most processes (what we call a client-driven project), then your remote team will most likely adopt your existing tools and practices. Simply put, whoever takes control of the project should lead with implementing their processes. Otherwise, you significantly increase the risk of failure.
Now, even if you decide to leave your team’s management to your provider, remember that you remain the real owner of the project. You should be on top of things, overseeing all of your vendor's processes. Make sure you’re well aware of their collaboration habits and practices, and assess whether you’re comfortable with these.
That way, both organizations will learn about what works better for the other and for the project in general. A good outsourcing provider will hopefully teach you as much as they’re going to learn—about the process, tools, and the business side of the endeavor.
Now, when I say “processes,” I usually see two types:
- The company-wide processes — such as the vendor's approach to a new collaboration, as well as the hiring and scaling system.
- The project-wide processes — such as the onboarding procedure, the team composition, and overall dynamics.
Let's elaborate, shall we?
1. Company-wide processes
a. Approach to a new collaboration
Asking a potential provider how they approach a new collaboration will help you prepare for the transition if you decide to go with them. Of course, it’s pretty certain that both sides will have to make some adjustments when the collaboration starts. Still, I think a discussion early on about their approach to a new collaboration is an excellent opportunity to put a few things into question and improve in some areas, if necessary.
Some questions you can ask are: How would they approach your needs and what would they do to make sure that they have a clear understanding of these needs? How would they manage your project requirements? What do they expect you to provide to clarify your development needs?
Now just to clarify things, I’ll put in an important reminder here: this is not just about you picking a service provider. It’s also about them choosing a business partner. Software development companies put careful consideration into assessing future clients and decide whether or not they want to proceed, and that would depend on a huge number of factors. Like in any serious relationship, it’s a two-way process.
Your outsourcing initiative can’t be successful without a detailed scope of work, and a clear understanding of the role distribution within the team. So don’t overlook these aspects. As we say: failing to prepare is preparing to fail. This statement is so true in software development outsourcing.
If you’re not sure about the scope of work, your potential provider should guide you through it. Software development companies usually have on their roster senior architects and business analysts who would be able to help you clarify these things and smoothen the transition.
Having clear-cut requirements and processes in place is key to ensuring that everyone involved has a good view of what needs to be done, from a high-level product road map to functionality standpoints. Also, make sure that all stakeholders have the same level of information so they can come up with the most informed decisions.
b. Hiring process and scaling system
Hiring the right people is really the heart of the software development outsourcing business. How does the provider pick their developers though? Try to understand how the whole hiring process works, including the selection criteria and the vetting part. This would tell you a lot about how selective they are about their people, and boost your confidence (or not) in the team members you would be getting. For more information on this topic at large, check our blog post on how we attract and retain the best developers in the Philippines.
Now, besides hiring the right skills, you also want to make sure that the provider is able to keep them working in the company and consequently, on your project, for as long as possible, right? Developers gain valuable experience and knowledge about your products over time, so you'd want them to stay for as long as they are needed. To have some assurance of this, check out the company’s attrition rate. A low turnover is a good indicator of their ability to keep their staff happy and motivated.
Another consideration that you should discuss with them is that your needs may evolve over time. What is their time frame like when it comes to scaling up or down the team? If you plan to grow rapidly, make sure that they are well aware of this. Know more about how they manage their “bench” and at what pace they can hire from different locations.
Usually, scaling down also requires some planning for the provider. Just because you no longer need developers for your project, doesn’t mean the company will get rid of them. Traditionally, providers would require a heads-up on your prospective resource plans so they can arrange their hiring efforts accordingly.
2. Team-wide processes
a. Onboarding process
Onboarding is one of the most exciting phases when assembling a team. This is where everyone is looking forward to starting a collaboration and when the foundations are set. At the same time, it’s a very crucial moment where everything needs to be laid out as clearly as possible. This is to avoid miscommunication, which could lead to problems down the road.
After all, it’s not just about welcoming new developers to your team; it's also where you set clear-cut ground rules. After this, it should be clear to everyone what is expected of them in terms of reporting, quality standards, communication, specific expectations, and all other elements that fall into the project. I encourage you to read this article for more details on how you should assess their communication processes and standards of quality .
b. Team composition and dynamics
All companies have varying degrees of maturity and skills in their teams. Given the project objectives (which the provider should have a complete grasp of), you and your provider need to understand each other’s setup as well as strengths and weaknesses to ensure that you complement each other where there’s a need.
Sometimes, the provider can take it a step further and give you their assessment of your strengths and weaknesses, and explain how their team would be structured to support your organization. The less mature the client company is, the more experienced the outsourced team needs to be, sometimes with Senior Architects leading the project along with some project managers.
Most of the time at Arcanys, we have a setup where the client already has a CTO or a strong team of senior developers. In this situation, we complement their team with a senior lead and mid-level developers, along with some additional on-demand services whenever needed. But when the client has weak technical skills, then we step in with our CTO-on-demand service, where one of our Senior Architects will guide the technical team.
In most cases, we also recommend adding QA testers to the team to make sure that the quality of the deliverables is impeccable. Having been in the business for over 10 years, we’ve learned that it always works better with a second pair of eyes.
One last aspect to check in the team dynamics is their work environment and location. You need to know where the developers are primarily located, and ensure that the majority of your dedicated team members are in the same office. This is important for communication, training, company culture, and control.
Speaking of which, knowing how to properly evaluate the communication and quality aspects when speaking with your potential provider is a very significant factor that warrants an article-long discussion. If you’re serious about finding the best software development outsourcing partner for you, you don’t want to botch that part of the evaluation! Want to know more about how Arcanys works? Send us a message and one of our founders will contact you back.