It’s okay to feel a little reluctant when you first begin a collaboration with an outsourced development team, especially if we’re talking about React.JS gurus. Managing a team located hundreds of kilometers away can make you feel a little insecure, and that’s alright. But you want to build a product fast, maintain the quality of your product development high, and keep costs low, right? Let’s face it, putting together an in-house React.JS team takes time, patience, and of course, money.
This is where outsourced teams come in. Leaving aside that you’ll be working with someone in a different country and with a different time zone, there are ways to make you feel like they’re sitting at the end of the hallway. In this article, our main focus will be on the do’s and don’t of managing an outsourced React.JS development team. We’ll share some of our biggest no-no’s as well as some of our own best practices to help you get started.
Communicate - Choose Communication Channels Wisely
Developing a great product is all about understanding the needs, wants, and expectations of your client. Software developers - React.JS developers included - are often perceived as being natural-born introverts, easy-to-spot in any company because they wear headphones all the time while coding at the speed of light on a laptop. That being said, it is important to choose communication channels wisely, especially when managing your team remotely.
Prior to moving on to the actual development of your product, selecting between the pool of communication tools available is vital. Skype, Slack, Zoom, and email have proven to work beautifully for us. However, let’s not forget that every team should also have a product manager or product owner. That guy/gal is the “brain” of your team, or better said, the “ring bell” that wakes everyone up when it’s time to have a call.
Having a timetable in place for daily/weekly/monthly calls with the team goes hand in hand with your chosen communication channel. For example, Zoom is excellent for video conferencing. Seeing the people you work with matters a lot when managing an outsourced team because it helps put faces to the people you talk to.
Slack, on the other hand, is better suited for group communication, as well as one-on-one chatting. Teams usually have a dedicated channel that includes the whole team and the client, but also a private channel where they share thoughts or work progress, and exchange ideas to ensure the actual development of the product goes as smooth as possible.
Our approach: We believe communication goes beyond choosing a tool to have a conversation. It’s equally important for us to have a high-end audio-video system in place for everyone to be heard and seen. Believe it or not, we’ll make you believe we’re sitting at the end of the hallway and not thousands of kilometers away. As for our in-house conference rooms, we have about 5 different rooms, each one equipped with a massive flat-screen TVs - so you can see us all - and of course, a tablet at the door linked to one of our favorite scheduling apps, Robin Powered. Managing an outsourced React.JS development team has never been easier provided that are parties involved commit to communicating regularly to build rapport.
Pro tip: Treat your outsourced team like a partner and they will become one.
Build a Relationship Based on Trust
Contrary to popular belief, long-distance relationships do exist in the software development realm. To make it work, all parties involved must commit to nurturing that relationship; a relationship that will only work if it is based on trust. With the rise in popularity of different tracking tools and communication channels, it’s no wonder that remote working in IT has boomed in the past 10 years.
Following your decision to hire an outsourced React.JS team to build your next million-dollar product, the next step should be to settle on a strategy that works both ways. For example, start with scheduling daily calls in the incipient phase of product development to get to know the people working with you. As the team gets a good understanding of your needs and wants, it’s safe to switch to weekly calls. This will enable your team to enjoy a bit of freedom, work at their own pace within a given timeline, and focus on what needs to be done.
Trust has to be earned, and although there’s no way of knowing you’ve made the right choice it pays to give people the benefit of the doubt; especially if they have a good reputation of working remotely. Don’t hesitate to ask about past projects completed, deadlines, and challenges faced and fixed.
Pro tip: Dig deeper into your potential team’s company culture. If they’re allowed to work from home, it means their own company trusts them. Why shouldn’t you?
Our approach: One of our favorite ways of building trust is based on quarterly face-to-face visits to the client and vice-versa. It is an opportunity for us to get out of our comfort zones as well as a unique chance to demonstrate that we rock React.JS development in person, too. Face-to-face meetings allow us to build a closer connection with the client; and by getting to know the client in person, we can develop a better perspective of the product under development as well. Read more about our Canopy case study where we went the extra mile for a product we believe in.
Refine Product Backlog - Leverage the Power of Sprints
Agile, productive teams are essential to client satisfaction, regardless of location. Managing an outsourced team of React.JS developers can be done successfully when quality is delivered on budget and on time. This is where sprints and product backlog refinement enter the scene. Both communication and collaboration lie at the heart of an offshore scrum and agile team. Regular meetings to clarify requirements, refine the backlog, and reevaluate estimates are essential because they allow team members to keep track of the work done and have a clear picture of what matters the most to the client.
Also known as product backlog “grooming”, the method is a basic Scrum process where team sprints are followed by reviews. These review sessions are critical, and you should definitely join in because it is an opportunity to watch your team present their progress and talk about the next steps. One very important aspect of the whole product backlog refinement is feedback. Your team will want to know if the work done so far lives up to your expectations. During spring reviews you’ll have the chance to speak your mind.
Pro tip: Try not to confuse the power of sprints with micromanagement. It’s one thing to participate in spring reviews and provide feedback, but it’s a totally different thing to be present in all sprints and make your team feel uncomfortable with unrealistic demands.
Our approach: We believe in agile-driven software development done SMART: specific to the needs and wants of the client, but also measurable, achievable, realistic, and timely. Yearly roadmaps and sprints every two weeks enable us to constantly review and assess what we’re developing. Here’s how Scrum product “grooming” happens at Thinslices: the team, including the product owner, meets for a weekly/bi-weekly session of product backlog grooming, where we remove irrelevant stories, create new stories, reassess priorities, assign and correct estimates.
Managing an outsourced team of React.JS developers - or any other remote team in any other industry - may not be for you if managing people on your own makes you feel secure and confident. In this scenario, hiring freelancers might work better. From the very beginning, an outsourced team already has a manager - also known as the product owner, PM or team lead. As a client - and not an employer - you are more than welcome to work closely with the product owner to make sure your project is being developed according to the development roadmap. During sprint reviews, everyone gets involved to share the progress, receive feedback from your side on project demos, and plan for the future. However, micromanagement has no place in agile software development.
Stop Thinking You Know It All! You Don’t.
Not trusting your team to do a good job is yet another huge no-no. Always remember there’s a team lead keeping them united. Just because you haven’t checked their progress in a week doesn’t mean they’re somewhere on a beach drinking margaritas all day long. Assuming your chosen outsourced team has somehow managed to gain your trust, a “know-it-all” attitude is yet another problem.
Believe it or not, your vision for a perfect product may not be realistic. That’s why agile matters so much. Committed teams strive to add extra value with new features, relevant solutions and tweaks you never thought were possible in the first place. All you have to do is to allow them to get creative. Listen more, judge less.
Stop Believing in Telepathy. It Doesn’t Work.
Communication and collaboration are fundamental when managing an outsourced development team. Great products can only be masterfully crafted when the client speaks up. Whatever you’re thinking, just say it. Telepathy doesn’t work in the world of software development. If you don’t share expectations, thoughts, ideas, and demands your team won’t be able to develop accordingly. Therefore, having a detailed project plan in place is critical. Sticking to that plan, discussing progress on a regular basis, talking about challenges while fixing them along the way, matter just as much.
Managing an outsourced React.JS development team is totally doable. But then again, finding your dream team is easier said than done. We, at Thinslices, have a holy handbook we cherish that helps us paint a clearer picture of our company culture from the perspective of our people. Working remotely has proven to work and we’ve tested this methodology over and over again. It’s OK to want to from your pyjamas, take an emergency day off, or escape completely for a week and enjoy some learning days. We believe clients should look beyond a fancy resume of technical skills when choosing their outsourced development team. Truth be told, what you see is not always what you get.
Editor's Note: This is a guest post by Paula Clapon, Marketing & Employer Branding Specialist at Thinslices. Thinslices is a full-service product development agency, working on high-intensity development projects with corporate innovation groups and startups.