How to Prepare to Work With an External RoR Development Agency in 2023

Kaja Grzybowska

How to Prepare to Work With an External RoR Development Agency in 2023

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.

Outsourcing to an External Development Agency

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.

Cta image

Why Work With an External Development Agency?

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.:

  • reducing fixed costs
  • speeding up development
  • hiring skilled developers fast
  • better risk management by keeping core capabilities in-house and delegating the others
  • fast covering the needed competencies

Why Outsource RoR Development?

There are rumors that Ruby on Rails is in agony, but these claims are made almost entirely due to its relatively modest media buzz.

Compared to the hot JavaScript frameworks that used to pop in and out almost quarterly in the last years, Ruby on Rails is a web development framework that has been a strong presence in the TIOBE index Top 20 for over 15 years.

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 aboutWhy 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 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.

Best Practices

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.

1. Pick The Right Collaboration Model

RoR_collaboration model

You've got several collaboration models to choose from when it comes to working with external software houses:

  • Team extension (also called body leasing) lets you add members to an existing IT team to support it in delivering specific milestones. It is agile, as you don't need to perform the headhunting processes and you avoid the long-term contracts, and cost-effective, especially while handling short-term projects (in the long run, it can be expensive)

  • Project outsourcing involves hiring the whole IT team for a specific project. You get an end-to-end service covering everything from design through development and testing. All you need to do is to explain what you expect to receive. Compared to team extension, it is less agile but more convenient when you seek a comprehensive IT delivery service. It is crucial to establish the requirements within that model, as they affect the overall pricing.

  • Besides product development, IT consultancy (custom IT services) means identifying the business challenge you are tackling and designing, developing, and maintaining the custom solution to respond to it.

Read more: Old Ruby Codebase - When to Update, What to Consider (Checklist)

2. Set a Clear Vision

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.

3. Do the Market Research

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.

RoR Tips

Ruby_On_Rails_Logo.svg

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.

  1. What are the RoR design patterns?
  2. What are the libraries and frameworks that might smooth out working with RoR?
  3. What are the most common Rails mistakes that interfere with the performance?
  4. What are their preferred deployment tools?
  5. Can you mention examples of successful RoR projects you ran?
  6. Do you have specialized RoR developers or only generalists?

During The Collaboration: What To Do (and Avoid)

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.

RoR Tips

Ruby_On_Rails_Logo.svg

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.

After The Collaboration: What To Do (and Avoid)

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.

Real Case Scenarios

Team extension case study

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.

Project outsourcing

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.

Cta image

Working With an External RoR Development Agency - Summary

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 experienced in given technology by asking some tech-specific questions and checking the portfolio.

Cta image