Not having all of their people working for them under the same roof still scares many business owners. They can’t imagine a reality where they can’t control every step that their employees/contractors take. But that’s not real leadership - that’s micromanagement, and it’s been proven time and again, this approach does not work well in the 21st century.
We get it, sometimes it is SO HARD to trust someone with your business & money but look at the bright side - if you find the right people they can take your company to the next level. Using their experience, they can guide you through the whole development process to make managing an outsourced Ruby on Rails team from a distance smooth and easy.
We at Railwaymen are exactly like that, we specialize in delivering custom software in the Ruby on Rails technology to offshore companies like appleseeds! Based on our experience with projects like this, we’re sharing our do’s and don’ts on how to manage your outsourced development team to receive the highest quality Ruby on Rails output.
The Do’s of Managing an Outsourced Ruby on Rails Team
1. Have a clear vision
Before talking to the software house (or houses) you choose to get a quotation from, it’s important to first have a clear vision of what you want to accomplish. This will reduce the time it takes to research relevant development teams and help pre-determine things they may not understand. At this phase, it’s not about the technicals, but the business side of the project, is the goal to sell some product through your app or make your enterprise work-flow more efficient? If you’re not sure, then it’s worth considering a Discovery Phase to find the best commercial needs for your business.
2. Do your research
Research similar projects to your own to get a rough idea of how much it’s likely to cost. If you have a very limited budget it will be hard to deliver “the next Facebook”. Sure, you could always start with an MVP, but to be honest with you, in this phase, it will become clear what you get for your money, and how much it will cost to meet your ambitions.
3. Try to be specific during the calls
When having calls (weekly, monthly, daily), be specific on the information you provide and at the same time honest about everything. If you know that you need some time to raise some extra funds or the concept of the app dramatically changes - just mention it, don’t hide those details as it can potentially make the challenges it causes even worse.
4. Stay on the topic
If the dev team asks you specific questions about a feature, provide the specific answer only for that. The face to face communication process is complicated enough, and it gets even more complex while being away from each other. With this rule, it’s easy to avoid any unnecessary confusion.
5. Trust your Project Manager
Offer a vote of confidence to the Project Manager and the team on the development process. These are the people that will be delivering the project and trying to solve problems throughout. They always have your best interest at heart as they know that a successful partnership based on mutual understanding and trust makes cooperation much more beneficial to both sides.
6. Try new methodologies
Try to be open to working in the latest project control methodologies. We understand that you might be used to emails but there are tools that offer a more convenient way of managing an outsourced Ruby on Rails development team.
7. Trust your tech team
When the tech lead of the team is explaining to you a technical functionality, trust in his knowledge on how he would like to develop it. I know that you’d ideally want to understand everything in your app project but sometimes, it is just not possible. The same goes for the tech lead - he will never be able to fully understand the commercial side of the business. Trusting in each other’s competences is the best way to work efficiently.
8. Use tickets
If the team requires you to test or use a ticketing environment, please do use it or at least have a person in your business to take care of it. This way, you will avoid a lot of time lost on extra explanations around why and how something happened from the development team.
9. Communicate any changes to the Project Manager
If your clients ask you to deliver something out of the necessary time scope, please communicate with the Project Manager before making a decision and giving information to the client. Ruby on Rails is a Model-View-Controller framework, so in other words, if you need to enhance your app with new features or business logic, you won’t have any barriers to overcome. But only if you tell that to the development team as soon as possible.
The Don’ts of Managing an Outsourced Ruby on Rails Team
1. Try to get more on fixed budget
If you have a fixed budget, don’t try to cut more slack on it because this often creates further challenges. In fact, this is one of the biggest reasons projects fail. Business owners want to “save” some money on testing, design or security of their app, to fit as many functionalities as they can in their limited budget, but then this often leads to failure as a result. Usually, it is better to start with something less advanced, and then grow steadily over time.
2. Undermine the team intelligence
Do not try to diminish or minimize the intelligence of the team, even if you are having a rough time with them. We are all humans, we have emotions, sure. But personal attacks won’t get you very far.
3. Drift away from the topic
When having calls, try to not give extra info of things you want to develop in further phases of the project, even if they are related to the conversation. There will be plenty of time for this later. This again helps with avoiding confusion.
4. Demand too much in a limited time
Don’t push the development team to the limit all the time. Developers are people who work hard mentally to develop and deliver what you are asking for. Their work is very creative and also draining, so even if you think that what they did seems easy on the front side of the app trust me - on the back end, the real magic happened.
5. Get mad for issues caused by technological changes
Keep in mind that Ruby on Rails is inseparable from Ruby. The trends associated with the language may affect the framework and vice versa. Don’t be nervous if it happens - if you decide for an experienced team of developers, they will find a way to adjust to the changes.
6. Try to speed up the development process
Please, be patient on development processes, the team will deliver everything on-time as standard. If not, the Project Manager will take responsibility and look for a solution to the problems that and caused slight project timeline changes.
7. Repeat yourself over and over
Do not go in circles discussing the same subject around a specific problem/situation. If after the first explanation from the development team you are not so sure about the answer, it is better to stop the development process, and ask again, until everything becomes clear.
Now it’s time for something a little bit harsh but you should hear it: don’t critique the development costs involved with Ruby on Rails. Believe me, there are tools/technologies in the market that are far more expensive than Ruby on Rails. For example conventional web development tools that can achieve the same output typically cost a small fortune, and your company would have to cover licensing costs. In this situation, Rails is a really good option since it is free to use for both individuals and companies. Moreover, if you combine the framework with other free and open-source databases, servers, operating systems and miscellaneous tools, you will get an outstanding development package, so your company framework can adapt faster to it.
As you see now, managing an outsourced Ruby on Rails Development Team is not as complicated as you may think. It’s really based on two fundamentals: finding the right people and trusting that they will deliver you a product of the highest quality. If you do that and throw an extra sprinkle of mutual respect and recognition their way, you will get a recipe for a perfect business partnership and achieve full cooperation with your offshore software development team.
Outsourcing your app idea offers many benefits including: a project optimised by a highly experienced dedicated Ruby on Rails developers, increased business revenue thanks to the custom software and most importantly - extra capacity internally, afforded by the support of the external team.
Editor's Note: This is a guest post by Cesar Hermon, Project Manager at Railwaymen. Railwaymen has successfully delivered over 100 projects for clients from more than 20 countries and have been named Top Ruby on Rails Developers 2019 by Clutch.co. When it comes to industries, they have experience in construction, fintech, education, healthcare and much more.