Depending on your maturity in the software development lifecycle and your provider’s level of involvement, you will have to make a decision. Either you want to keep your operational processes and tools exclusively or you’re going to adopt your providers.
You’re reading Blog #5 of the Series about Finding the perfect tech partner for your software development needs. In this article, we will explain how a clear understanding of your processes and tools is crucial in your discussions with potential outsourcing providers. It will help you decide how the collaboration should work.
Typically, if you choose to transfer full project control to your outsourcing partner, you may want to adopt their practices and tools.
For example, tools to communicate with developers such as Slack or Skype, how they manage requirements like Jira, or their reporting processes like how they report the developer’s progress, 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 ownership of the project should lead with implementing these processes. Otherwise, you significantly increase the risk of failure. Now, even if you decide to leave your team’s management to your provider, you remain the real owner of the project. Thus, you should still oversee all your vendors’ processes. Make sure you’re well aware of their collaboration habits and practices, and that you’re comfortable with them. That way, both organizations will learn about what works better. For the other, a good 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, let’s talk about the two types of processes here.
Company-Wide Processes
1. Approach to New Collaboration
Asking your provider how they approach a new collaboration will guide you on how to prepare yourself for the transition. Both sides will certainly have to make some adjustments when the collaboration starts, of course. Still, we think it’s an excellent opportunity to put a few things into question and improve in some areas, if necessary.
- How do they approach your needs and what do they do to make sure that they understand them?
- How do they manage your project requirements?
- What do they expect you to provide to clarify your development needs?
Just a side note here, this is not just about you picking a service provider. Software development companies also put careful consideration into assessing future clients and deciding whether or not they want to proceed, which may depend on a huge number of factors. Like in any serious relationship, it’s a two-way process.
Your outsourcing initiative can 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.
Just a side note here, this is not just about you picking a service provider. Software development companies also put careful consideration into assessing future clients and deciding whether or not they want to proceed, which may depend on a huge number of factors. Like in any serious relationship, it’s a two-way process.
Your outsourcing initiative can 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. Senior architects and business analysts are usually able to help you clarify these things and smooth 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 high-level product roadmap to functionality standpoints. Also, make sure that all stakeholders have the same level of information to make the best possible decisions.
2. Hiring Processes and Scaling System
Hiring the right people is the heart of the 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.
Now, besides hiring the right skills, you also want to make sure that the provider can keep them working on your project for as long as possible, right? Since they gain valuable experience and knowledge about your project over time, you’d want the turnover to be as little as possible. For this, check out their attrition rate. That’s a good indicator of their ability to keep their staff happy and motivated.
Another consideration is: Your needs may evolve.
What is their time frame like when it comes to scaling up or down the team? If you plan to grow rapidly, make sure you understand 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.
Team-Wide Processes
1. Onboarding Process
Onboarding is one of the most exciting phases of 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 delicate moment where everything needs to be laid out as clearly as possible to avoid miscommunication 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.
2. Team Composition and Dynamics
All companies have varying degrees of maturity and skills in their team. Given the project objectives, you and your provider need to understand each other’s setup as well as strengths and weaknesses to make sure that you complement each other where there is a need. Sometimes, the provider can take 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 teams need to be, sometimes with Senior Architects leading the project along with some project managers. Most of the time at EZtek, 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. 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.
For over 10 years in the business, we have 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. The majority of your dedicated team members should be in the same office. This is important for communication, training, company culture, and control. In the next article, you will find out how to properly evaluate the communication and quality aspects when speaking with your potential provider. We promise you, it’s worth an entire article. If you’re serious about finding the best outsourcing partner for you, you don’t want to watch that part of the evaluation. See you then!