November 8, 2022
Today, when technology changes at a breakneck pace, the old dilemma of “hire developers or lease them” seems a bit academic. Having in-house all competencies necessary to keep up with the market is simply impossible, and sticking to the well-known legacy solutions is a quick recipe for becoming forgotten. Therefore, and let's say it out loud, the question is how to manage outsourcing to benefit from it the most.
Table of Contents
Software development outsourcing is a must-have. Yes, there are some exceptions, but - generally - your company can save money and accelerate development with the help of the right partners. It is especially vital when you seek support in developing solutions built in a market-proved tech stack like Ruby on Rails. External developers specialized in RoR are likely to get the job done way faster than the in-house team, whose attention must be divided into multiple core areas.
First, hiring developers is extremely time- and cost-consuming; second - it is difficult for the organization to retain and keep the greatest talents; third - you may have to switch the technology you currently use for a more compatible one any time soon.
Even if you might want to have the core development capabilities in-house, you will not avoid outsourcing at some point in your growth. No one can.
Most of the fastest-growing tech companies work with an IT outsourcing firm to combat talent shortages, resonate with the market trends, expand and shrink as needed, respond to changes fast, and bring products and services to market quickly.
Collaboration with the external developer team gives entrepreneurs maximum flexibility.
There is still a widespread belief that the developers' team is the company's heart, and replacing them with external specialists is bizarre; that the external team is not loyal to the company or brand, and their knowledge is limited to one project; that it can be biased or deliver recommendations detached from the leading company's goal, despite being highly involved.
And yet, as we mentioned above, today's reality doesn't give us much choice. Companies must also be agile regarding employment policy to keep up with the market. Thus, there is a need to properly establish collaboration with external developers to reduce the potential friction.
There are several advantages of outsourcing, e.g.:
There are rumors that Ruby on Rails is in agony, but these claims are made almost entirely due to its relatively modest media buzz.
Today's iteration can be extended with multiple available libraries, is constantly updated, and has received many new features, focused on incorporating elements needed to keep web apps going for years. And yes, RoR cannot be applied to any project; it has some severe strengths and limitations as any other tech stack, but claiming it is "dying" is still highly far-fetched.
These days it is used as a base for prototyping and content management systems, and - what is more - its popularity remains even though Node is breaking into its territory. Many argue that RoR is still the most reasonable choice while working on a quick MVP.
Read more about Why Ruby on Rails Is Still a Good Choice.
When it is handled by an in-house team with several tasks on the plate, software development takes a long time, which basically ruins the MVP concept.
Then, hiring external RoR developers is the answer - they already have all the needed skills, are up to date with all tools that streamline the development process, and work based on their market-proven experience.
Working with an external Ruby on Rails agency is similar to working with agencies specializing in other languages or technologies. The general rules are the same and involve setting down precise requirements, methodology, communication rules, mutual respect, and transparency.
Nonetheless, there are some RoR-specific dos and don'ts, which we will try to mark below.
You've got several collaboration models to choose from when it comes to working with external software houses:
When considering team extension or project outsourcing you must establish your vision, goals, and requirements. The more detailed you describe them, the better. Remember, you pay for devs working hours, so don't let them wonder what you expect.
When you need consultancy services, you must establish the problem you need to resolve. Don't dive into technicals; describe what part of your operations needs improvements. To be as clear as you can, you might reach out to the template and adjust it for your needs.
Your idea may be currently developed by another company, there might be a product similar to yours. Maybe you missed some ready-to-use solutions and hastily jumped into custom-making. Please do your homework and check whether it is the right moment to kick off the product development process.
If so, create a shortlist of 10-20 companies with outstanding performance and excellent skills in a chosen area. You can cherry-pick them by checking their websites, reading testimonials, and analyzing portfolios. Then, send them at least a short version of a Request for Proposal and schedule interviews. After talking, you will probably know the vibe you like, but don't be hasty - compare and analyze the bids and find the golden mean between the offer and cost.
While scanning the portfolio of RoR agencies, you might ask some questions that help you find out whether you are dealing with the experts focused on this particular tech.
Set the communication rules
Pick up the one person responsible for contacting the developers - the project owner, the project manager, or any other person whose organization skills are as good as communication. They will gather feedback, schedule improvements, monitor the course of work, and determine further development directions. Also, choose the communication tools and working hours, mainly when your client works in a different time zone.
Don't Disturb the Development Team
During the product development process, there is no space for micromanaging. The agency you hired wants your app to succeed as much as you do, so let them do their job. When the requirements are clear, communication transparent, and understanding - mutual, there is a chance for a successful partnership. Experienced software dev partners have all processes set down to deliver the projects much easier.
Don’t Force the Process
Ruby on Rails is quick. It is way faster than its competitors, such as Python or PHP, making it perfect for developing MVP, yet it is not a magic wand. The development process has to take some time. If you are facing tough deadlines from investors, communicate it to RoR partners and together, with them, set clear timelines.
Did you manage to finalize the project? Was it a bumpy road? It might have been, as - even when you did the pre-work correctly - the agency you've chosen may not be not the love of your life. In this case, cutting the relationship and seeking happiness elsewhere is easy. Still, we would advise evaluating the collaboration honestly to avoid the same challenges with the next partner.
Take some time to understand your role and ensure that you’re not creating any roadblocks for your vendors, as it is your money to spend or save.
It is good to gain an in-depth understanding of the strengths and shortcomings of the collaboration with an external dev team before starting it with a new partner.
SuitePad, a digital platform for the hospitality industry, was struggling with the tech-talent shortages during the post-pandemic peak and looked for a partner able to cover them with its expertise. The main challenge was to take care of the integration backend-wise and assist with coordinating the process with the PMS vendors, and - and it was a company's core business - the chosen model of collaboration was team extension.
The partnership started with two senior-level experts from Monterail: a backend developer specialized in Elixir and RoR, and a project manager. They both became an integral part of the team and participated in all important meetings, which allowed them to notice an opportunity for more structured testing and then suggested adding a QA Engineer to the team.
Finally, what started as a simple team extension went beyond it, and led to improving overall product quality.
Read more about this team extension case study.
The other example of collaboration in the project outsourcing model is a collaboration with Merck DORA, a web-based healthcare application centered on helping fight diabetes in African countries.
Merck DORA needed to overhaul and improve its existing web-based application, emphasizing performance boosting. Monterail was picked for delivering projects as its developers are fluent in various tech stacks, and this particular job involved using both Vue.js and RoR.
The involvement with the DORA app resulted in further collaboration with Merck on three further projects: Merck Unite, Merck Life Science, and the Fertility Online Risk Assessment.
A long time ago, IT outsourcing stopped being a tool to cut costs and became a tool for boosting growth, enabling companies to focus on the core business and use the highest-quality skills in the most niche technologies from the market.
However, to minimize the risk of disruptions during the collaboration with external development agencies, the client should always conduct a detailed assessment of considered partners and - above all - thoroughly establish their requirements, expectations, and timelines.
Working with the RoR dev team is no different. The key success factors involve setting clear expectations, and has nothing to do with a particular tech stack; still it is important to find a partner who is actually experienced in given technology by asking some tech-specific questions and checking the portfolio.