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. https://intelvision.pro/services/dedicated-software-development-team/
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