22 April 2020
Remote management: CTO’s guide to IT outsourcing
When you hear “remote management”, you may think that it’s nothing new. Obviously, you are 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. The recent turn of events and lockdown changed it completely, making people stay at home, adjust to the new reality and work remotely. For some, managing their teams remotely is just business as usual, for the others – a hard nut to crack. So, whether you have experience in this matter or it’s completely new to you – here we come with a guide to IT outsourcing with some tips regarding successful remote management.
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 all remote management cases – not only to IT outsourcing.
If you are considering software development outsourcing, or you suddenly have to outsource a project because of the pandemic – below, I’ll present to you some of the good practices and battle-tested tools we recommend.
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 mention and briefly describe some of the tools we find really useful on a day-to-day basis.
Good practices in remote work management
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 to your chosen vendor. Thanks to that, you can avoid many different kinds of problems in future communication with people who work remotely with you.
Honesty and transparency
Also, it’s 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, the challenge is a part of fruitful cooperation. So, 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.With that, you can make sure it’s resolved quickly. 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 transparently. Empathy, honesty and regular talks may help you avoid problems during development, and these make your cooperation healthy and more effective.
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.
See also: How to avoid the risks of outsourcing?
Designating 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. Set the exact areas of cooperation in which the person can make a binding decision on your behalf without having to consult it 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 the clear border and stick to that.
Trusting 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.
Being patient and focused on results
The aforementioned honesty and transparency alongside 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 cooperation tools
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 optimise your software outsourcing. 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 communication, 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.
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. Also, we organise 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 effects tracking system. Namely, Miro and Reetro. The first one is an online collaborative whiteboard platform, which can help systemise 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 the remote access to join the online meeting. These are definitely great tools for any Agile teams which make 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.
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. Thanks to that, you can 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? 😉
Having 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.