06 May 2022
Remote management: CTO’s guide to IT outsourcing in 2022
When you hear “remote management”, you may think that it’s nothing new. Obviously, you’re right, but still – there are plenty of CTOs, Product Owners, managers, and different team leaders who have never had to manage their teams remotely. At all. There are also plenty of them that are still only starting out – it’s getting hard to find people (especially in software development) that are willing to work in-office only in the post-pandemic world. This is simply a new way of working, and some CTOs and leaders might have a tough time adjusting.
For some senior managers, handling their teams and work process remotely is just business as usual, and yet it remains a hard nut to crack for others. So, whether you have experience in this matter or it’s still completely new to you – here we come with a guide to IT outsourcing with some tips regarding successful remote management and applying it to an outsourced team.
The idea of this article is to present some good practices and useful tools which may be helpful when you have to outsource your software development and manage the team remotely. However, the vast majority of the issues mentioned below apply to other remote management cases and outsourcing models – not only to IT outsourcing.
If you are considering software development outsourcing, or if you already have a plan to look for external providers for your project, I’ll present some of the good practices and battle-tested tools we recommend and that have worked for us in the past as a company that works on outsourced projects on the day-to-day.
What is remote management in software development outsourcing?
The presented ideas can be split into two groups. I’ll start with some good practices we’ve developed over the course of our multiple co-operations with CTOs at companies of all sizes from all around the world. Then, I’ll describe the tools that we have found useful in the past for managing a dedicated team and keeping our outsourcing services manageable and easy to understand for the outsourced team and client alike.
Good practices in remote work management
Here is a list of good practices for all companies who outsource – not only for software services. It’s a tried and true list based on experience.
The very first thing and probably the most crucial part of successful cooperation is setting clear expectations. Of course, some elements of your project may change between sprints, but still, it’s important to provide a clear vision and information about your project and the cooperation with your chosen vendor. This will help you avoid many different kinds of problems in future communication with people who work remotely with you. And just a hint: it’s best to write them down in an outsourcing contract before you start! Some of the things the outsourcing company should discuss when setting expectations are:
- What constitutes a successful delivery?
- What are your business drivers?
- How will you measure success?
- How will you know there is agreement and commitment?
- What is the definition of successful communication?
Honesty and transparency
It’s also important to be honest and transparent throughout the process – it applies to both parties, of course. If anything concerns you, make sure to communicate it to the remote Project Manager or any other point of contact on the vendor’s side. Also, understand that challenge is a part of a fruitful cooperation.
That means if you find something not satisfying enough, make sure to communicate it as soon as possible and don’t hesitate to challenge the team which is working remotely. This way you can make sure it’s resolved quickly and doesn’t develop into a bigger problem. On the other hand, it’s good to be open to a challenge from the development team. If they have any objections regarding the cooperation, talk to them honestly.
Empathy, honesty, and regular communication will help you avoid problems during development, and these make your cooperation healthy and more effective. A dedicated team model is based on the same principles.
Another important thing is to remember about regular engagement. In a perfect scenario, it’s good to meet your remote team face-to-face from time to time. In most cases, however, this is rather unlikely.
That’s why it’s good to try some different channels of communication with your remote team on a daily basis. Day-to-day communication with your remote employees may be really helpful in managing remote teams successfully. Also, it’s good to invest some time (5-10 minutes) for some casual conversation once the official part of the meeting is over.
Chatting about hobbies, movies, TV series or sports can build a stronger interpersonal bond between you and the external team. Regarding the communication channels themselves: I’ll focus a bit more on what communication tools work perfectly for us and our clients at The Software House.
If you are unable to meet for dailies, establish a strong communication routine and stick to it come rain, earthquakes, or anything short of an emergency.
See also: How to avoid the risks of outsourcing?
Designating a reliable point of contact on your side
A good thing is to designate a single point of contact on your side: a reliable, trusted employee who can be the only intermediary between your business and the external vendor. It’s important to establish their scope of responsibility clearly. Again, it’s best to write it down at the very beginning part of the project development process, where all roles and expectations should be clearly defined by the outsourcing providers and the partner company.
Set the exact areas of cooperation in which the person can make a binding decision on your behalf without having to consult with you every time. Obviously, there may be some areas you may want to make decisions on your own, so that’s why it’s important to set a clear border and stick to that.
Trusting the chosen vendor
Another good practice is connected to the previous one. It’s about trust. But this time, it’s about trust in the chosen vendor. When you were looking for a software development company to outsource your project, you probably considered a number of factors before making the final call. So, if the chosen vendor is the effect of your research and analysis, you should have the confidence that the partner you found is trustworthy. Outsourcing is about trust, really.
See also: Is building trust in a software team a waste of time?
Being patient and focused on results
The aforementioned honesty and transparency along with trust are key factors of fruitful cooperation. However, there is one more important aspect: patience. As a CTO or Product Owner, you want your product to be of top quality and that’s more than obvious. You pay for that, so you have some expectations, and want the next phases of the project to be delivered on a set deadline and without any setbacks.
Nonetheless, it’s good to focus on some milestones and the final goal rather than on particular sprints. It may happen that a few of the first sprints will end disappointingly. In most cases, that’s because the project team simply has to adjust and get used to the new project. It will help them with gaining the necessary momentum and provide you with what you expect in the later phases of the development. If you have chosen a certain partner from a variety of available vendors and decided to cooperate with them, it’s likely because they proved to be the best choice for you. You’ll see that trust and patience will pay off in the long run.
Using tools to enhance teamwork
The last but not least thing on the list of good practices is using reliable, battle-tested tools. Obviously, there are loads of tools available and certainly, it’s a subject for a separate article.
In fact, we’ve published one recently, so you can read about 10 remote working tools to optimize your software outsourcing. Check it out if you’d like to go deeper into infrastructure solutions for better teamwork. But now, I’ll present the most useful tools and mention a few which may not be as commonly used.
Useful tools for remote management
Basically, the areas you need to cover when managing a team remotely are:
- time/work management,
- and the progress/effects tracking system.
At The Software House, we’ve managed to create our own approach to fruitful cooperation with our clients, by using some of the following tools.
For instant messaging within development teams, as well as for day-to-day communication with a client, we normally use Slack, which proved to be the best solution.
To be sure that all the interested parties are included, we normally create at least three separate Slack channels. One is for the development team and is used to discuss the current issues over development.
The other is for the internal management, to be sure the project is properly managed on our side. And the third one is for all the people engaged in the project from both TSH’s and client’s side, to make sure everyone is on the same page.
Slack can be used for chatting, but also for video conferences, sharing documents, quick voice clips, and integrating other tools like your calendar or Google Drive. There are other tools that can be used for this, and it’s absolutely necessary that you find one that suits you – it’s a must even if you have an internal IT department only!
For some bigger, scheduled video conferences there are multiple options, but again, we normally use and recommend three tools (depending on what channel of communication we agree with our clients).
It may be Slack, as it offers chat video functionality and we definitely prefer this solution for one-to-one meetings. Alternatively, we can use Zoom, which gains more and more popularity these days.
We also organize video conferences via Google Hangouts. All those options are widely-used and popular. The most important thing, however, is to choose the communication channels both parties are comfortable with.
For management purposes and task control, we highly recommend Atlassian’s Jira. You can read more about this complex tool in our article about writing good User Stories using Jira. For file management, we normally stick to Google Drive or Confluence. Both are popular and reliable.
Now, a few words about the less obvious tools that are worth trying and are connected to the effects tracking system. Namely, Miro and Reetro. The first one is an online collaborative whiteboard platform, which can help systemize internal work, and share the plan and schedule with a client. The latter is a great tool for retrospective meetings that are held after every sprint. It offers a lot of functionalities, such as giving the client or Product Owner remote access to join the online meeting. These are definitely great tools for any Agile team which makes remote administration way more effective.
Obviously, the final call regarding the tools you will use when cooperating with the selected vendor is your decision. These examples are just the ones we use for quite a long time. We find them reliable and definitely worth recommending.
See also: 5 software development outsourcing scenarios for CTOs
The final piece of advice is to prepare for cooperation and plan everything with an excellent onboarding process. Do you know how first impressions are important? This is the one that can’t be screwed up!
If you’re outsourcing software development, you might already know that the devil is all in the process and the project management.
Let your IT outsourcing partner really know who you are
Invite your remote team for a tour – sometimes it’s actually possible in person, especially if you happen to be a European company outsourcing elsewhere in the EU. This can also be set up remotely, with careful consideration of both timezones.
Why meet with the whole team? It’s your chance to make them care about your product – the product that they will be working on with you. Your remote software development team will need to take ownership of this project, and want everything to work out on a more personal level. Do you care about what you do? Make them see why! This takes us to…
Ownership is created by a sense of responsibility and making each member of the team feel that they are an integral part of the project.
Set your software development lifecycle plan early
For more, read our article on the Software Development Lifecycle – it’s an excellent resource for those curious about how to tackle remote team ownership issues, the types of project management styles that are available to you, and how you can use pre-project workshops to your advantage.
We have discussed this in slight detail above, but it’s definitely worth it to read more on the subject – especially from the point of view of someone used to offshore outsourcing and complex projects.
Summing up: successful remote management is based on four main pillars – trust, honesty, transparency, and patience. Bearing that in mind, and adding some of the good practices and reliable tools (for example those mentioned above), you may be sure that your remote cooperation will go smoothly.
This makes you feel that you have control over the development process from sprint to sprint. And at the end of the day, you’ll get the high-quality product you need. It meets the requirements you expect. And it’s delivered by the development team which appreciates coworking with you. Sounds great, doesn’t it? 😉
Have any more questions about software development outsourcing? I’ll highly recommend reading our free e-book, “Developing your software abroad”. You’ll find there some additional insights, thorough analysis, and other useful content about software development outsourcing. If any more questions appear after reading the e-book – feel free to contact us. We’ll be more than happy to discuss your ideas and any concerns you may have.