If you've been reading me for a while, you know that I take particular care in giving tech-led companies all the insights and tools they need to take full advantage of outsourcing. I've written a lot lately about the various factors that should be considered when evaluating software development firms—the attributes that make one provider more suitable for your particular needs than the other, and the elements that make for a fruitful collaboration. In this article, let’s tackle two of the most decisive aspects: the provider’s communication processes and standards of quality.
Establishing communication processes and collaboration tools
Needless to say, communication is a critical component for the success of any collaboration. Thus, it should never be underestimated, and should always be crystal clear. While communication can be easily straightforward in many other situations, for software development, it’s a very broad term with different components.
Now, there are five main areas in communication that you’ll have to handle with your teams. Be familiar with each of them and understand your prospective provider’s approach to each one:
1. Project and task management
What are your workflows like? In our experience, the #1 software development tool for agile teams is JIRA. It's a full-featured task management, team collaboration, and reporting tool that you can use to manage your Kanban boards, Scrum boards, and other projects. JIRA is very flexible and allows for unique workflows and processes so that you can use a configuration that really works for you and your team.
Also, how does your team control their code? Do they use DevOps lifecycle tools such as Gitlab or Github? Clarify how your team should work in terms of project planning, source code management, version control, etc., and get your partner onboard with this.
Make sure you understand how they manage communication flows and frequency around these tools, and in which framework they operate. Most of the providers should be very well-versed in using Agile/Scrum methodologies, which is the gold standard process of the software development industry.
2. Daily interactions
How will you communicate daily updates with your local and distributed teams? Where do you share feedback and assignments? This should also be determined beforehand so that no team member gets left out in the communication loop.
There’s a huge number of messaging apps available, like Slack, Skype, Microsoft Teams, Zoom, or even email. See if you and your inhouse personnel are comfortable with whichever app the outsourcing vendor uses for day-to-day interactions between teammates, or you could also opt to have them adapt to the tools that you’re using. The vital thing is that the entire team gets to communicate efficiently and effectively.
3. Cultural awareness
The invisible part of communication is the cultural difference. Find out if your potential provider has had cultural awareness campaigns or trainings for their staff, and even for their clients. This is important because you want to make sure that the people you will work with understand and respect diversity in the workplace.
If they don’t share your organization’s understanding of the differences between individuals and their respective backgrounds, problems that go beyond technical aspects could crop up later. This is why at Arcanys, we constantly promote a heightened awareness of cultural sensitivity to both our clients and employees.
4. Progress report and team status update
Communication efforts should also include reports on your team’s progress. Ask what their practices are in terms of hour logging, project monitoring, and progress reporting. Make sure you’re always aware of what has been done, by whom, and for how long. Get yourself up-to-date on what the next steps are, the respective timetables for these, and other similar information.
This is super important in terms of accountability and transparency with your team members. For example, at Arcanys, we provide daily and weekly reports for every single personnel. This helps the client keep abreast of the team and the project developments.
5. Escalation process
In any collaboration, problems could always arise and the process of dealing with such issues should also be established from the start. How does their Escalation Policy (if they have any) work? Is it acceptable to you? How do they document issues? How long do they attend to an issue before deeming it unsolvable? These are a few essential questions that you and your provider may also need to address before going further.
Determining standards of quality
Before the collaboration can start, both parties need to agree on the expected quality of work. In particular, find out what their take is on the essential industry standards. For example, what does the provider think about commenting code? How do they ensure high quality, legible code? Do they adhere to clean code principles to control the quality of what they produce? How about testing the code? Also, what are their feedback processes for quality, developers, and others? The way an outsourcing provider implements these quality control measures would indicate how they also view and practice quality standards in general.
Now, don’t forget to evaluate the expertise of the developers as well. What are their respective education levels, credentials, and previous work experiences? How does the provider pick the right candidates and ensure that those individuals continuously upgrade their skills?
Once you get your answers, all these factors say a lot about the type of company you’re dealing with, especially in how they uphold standards of quality in whatever aspect.
If you’re satisfied with a potential provider’s means and tools for communication as well as their approach to code quality, feedback processes, and picking their developers, then perhaps you’ve found a reliable partner. But then again, there are several other processes, tools, and standards we could talk about. You’ll find out what these are in this comprehensive software development outsourcing guide. Got more questions as you prepare your business for outsourcing? Just ask.