Business & Finance Outsourcing

How To Tune Up Effective Remote Work With Your Development Team

If you have no previous experience of working with a remote software development team, it doesn't have to stop you from trying.
If you learn enough about tuning up effective work from the beginning, you'll be able to strengthen the pros (you hire a team that has all the necessary management, experience and equipment, and costs tons less than an in-house team) and avoid or reduce the cons (distance and lack of transparency).
But it's quite possible to overcome - otherwise remote teams wouldn't deliver countless popular software products.
Let's see how it's done.
Project Manager: The Link Between The Business And The Technical • There is no effective remote work without a dedicated project manager (PM), unless you have the skills and time to fully dive into daily management.
If you have little to no time for daily calls, if you need to concentrate on your core business tasks, you need to provide this person with the background.
The PM will overtake all the responsibilities of communicating with team members.
• The PM is your representative in the software company you've chosen.
This person is the 'translator' of your words into requirements for designers, developers, and QA engineers.
For example, the widespread 'social network integration' can have many meanings, and if you are uncertain about the precise actions (say, one-tap sharing of an edited image to Instagram), this is the person to help you - unless you are a technical person able and having enough time to review requirements yourself.
• The PM receives requirements, creates stories in issue tracking systems (e.
g.
Redmine, Pivotal Tracker, Jira), divides it into tasks and assigns them to team members.
If you carry out the project on a freelance marketplace (e.
g.
Elance, Guru, oDesk), you receive screenshots of developers' screens as the verification of worked hours.
Tuning Up The Communication Here we need to know whether you have the wish and time to be actively involved in the process - and whether you are a technical person or not.
• The best effect is brought by face-to-face conversations, which are impossible by outsourcing.
But your team must have all the means to bring meetings as close to face-to-face as possible.
This can be a Skype videocall between you, your PM, possibly several other team members.
There must be an opportunity to share screenshots and other documents, and edits/discussions on the go.
If videocalls cause discomfort for some reason, voice calls can work just as well.
Then comes chatting on Skype, Google Hangouts, etc.
• The least effective communication is limited to emails and issue tracking systems.
It limits your interactions to question-and-answer scheme - when a PM studies your documents, discusses them with the team, and makes up a list of questions, in order to get the most out of mailing.
It's not perfect, and if you have no time for daily calls, you may do it after each iteration (once in two weeks generally) to discuss the results and provide further requirements, if any.
• If you don't have technical background and your requirements are rather vague and disjoint, the task of a good PM is to make them consistent, to understand what you want to receive.
Again, prepare beforehand with any possible documentation, descriptions of features and sketches.
Each discussed and approved task will proceed to a selected team member.
• It will be good to describe features from the user's point of view.
The simplest example: adding a filter to the photo: ''The user must have an option of selecting a photo from the gallery, then selecting a filter, and by tapping OK the filter must be applied.
'' Meanwhile your team will be able to divide it into technical tasks: investigate existing libraries, which contain the required filters, customize the library, implement the selection of a photo from the gallery etc.
• You can have access to the issue tracker, which contains tasks and bugs related to your project.
And if you are a technical person, there you can write down requirements in tasks and stories yourself.
You can have developers participating in daily calls.
They will directly tell you what's been done and what is to be done - and whether they have questions as for their tasks.
• You can take part in planning stories (say, integration of sharing), which are divided into tasks: API research; design of the required element on the screen, such as sharing icon; then implementation, etc.
Staying On The Right Frequency • Daily calls usually last 15-30 minutes - use Google Calendar and reminders to keep up with it all.
Each new task is opened, requirements are discussed with the PM and, if needed, team members.
Then updates are made where necessary, and the team can start handling the approved tasks.
Regardless of time zones, you set the appropriate time for calls, convenient for you.
• After each call your PM makes a summary on what's been decided, task by task, and approves it with you via email.
Thus you avoid misunderstandings.
• Demos can be presented to you after each iteration.
The team implements the scope - after 2 weeks they are ready to show the results, how the system works.
Is it the way you wanted to? If yes, proceed further.
If you want to change something, adjustments are made during the next iteration.
• Don't overdo.
Generally you should receive finished builds of your product after each iteration (once in 2 weeks).
It may seem that you'd have more strict control while the team delivered another new build daily.
But it's quite unhealthy and time-consuming - let's see why.
• There is no fresh software that comes out straight away without bugs.
Developers are not as good as QA engineers at testing software.
Thus daily builds will contain bugs that would be found by QA and eliminated at the end of iteration.
You'll simply lose plenty of time on daily meetings discussing and criticizing things you just wouldn't see after proper testing.
This puts both you and the team under unreasonable tension - meanwhile efficiency falls.
• Differ effort and duration.
Effort is how many hours are required to perform a task.
But it may be that the developer would not be able to dedicate full 8 hours each day, but 4 instead.
Thus the duration of a 32-hour task grows from 4 days to 8.
It should also be noted that 2 developers don't fulfill the task twice as fast - here you should add time for communication between them.
2 Useful Tips For Improving Remote Work • Be clear about things you don't like.
If you hire a trustworthy team, don't neglect trust.
Be transparent and let them be transparent.
This simple truth often comes unnoticed.
But it saves time, efforts, and brings you much closer to receiving what you want - and it brings the team to satisfying your demands and expectations.
• Meet in person.
If you choose a team that's only a couple of flight hours away from you, why not visiting them a couple of times a year.
They would surely be glad to welcome you.
You may even get together with your company's top execs at IT events.
This is a closer step in establishing firm and friendly relationships and strengthening your confidence.
That's the way it works for good software companies and clients who care for efficiency of communication.
Contact us to discuss your project and we'll be able to put this scheme to practice together, tuning up your remote work from the very beginning.


Leave a reply