Be effective
- remote first teams have expansive talent pools & add resiliency and flexibility to your organization – Assume everyone will be remote at some point.
- result-oriented groups, strive for results, deliverables regardless of time, mode or location of each individual – Embrace diversity in the way each person works best.
- technology-enhanced companies choose the best tools at hand to collaborate, i.e., reliable, easy to learn and use.
- integrated and social spaces enable remote teams – the virtual water cooler– to be social, integrate better, and take healthy breaks.
Managers
- Misunderstandings will happen often, be ready to clarify, expand, coordinate, gauge communications across tools and channels.
- Give all workers a fair chance to participate, realize hand raising or puzzled faces are more difficult to notice remotely.
- Support people whenever you can and level the field whenever is possible (remote, in-site members meet online via camera)
Tools
+ Communication
Slack
Dash
Hangouts
Screen capture & annotation tools
Creately
Whimsical
Loom
Email
+ Collaborative documents
GSuite: Gmail, Docs, Sheets, Tasks, Drive
Dropbox & Paper
Notion
Calendars
Google calendars
Calendly
Design
Balsamiq
Figma
InVision
origami.design
+ Engineering
Github
Bitbucket
Gitlab
Continuous Integration Server: Jenkins, CircleCI
Functional testing: Selenium
+ Project management
Attlassian: Bitbucket, Jira, Confluence
Pivotal Tracker
Basecamp
Float
Asana
Trello
+ DevOps
Bamboo
Docker
Vagrant
HipChat
SmartBear
Monitoring tools: Nagios, New Relic, Pager Duty, Pingdom
Essential skills
- Communication
- Organization
- Understand your schedule
- Grit & Drive – sense of urgency
- Autonomy
- Track record of success
Cultural hurdles
- Vaguely defined process: less communication, not good to have room for interpretation, be specific
- Bad version control standards and poorly written code: Implement protocols that allow true independent distributed work on the same code base
- Inter team dependencies: Roadblocks often happen if work isn't structured properly to avoid unneeded waits
- Uncoordinated teams: Multiple teams have different speeds, communication is important
Delineate each process and define member's role in the each part of the process
Building trust
- Each team member knows how to do the work
- Team members keep each other accountable
- Given the circumstance, each team member does their best work
Be available and open to have conversations (virtual open door policies), create sense of community (breaks, regular useful team meetings, see each other's faces and allow everyone to speak). It is best to communicate too much than too little. Make clear to each member what is expected from them and what are responsible for in order to avoid wasted work.
Hire right: Independent + trustworthy
+ Match teams/timezons
Leverage collaborative tools
-----------------------------------
Gettin the job done
Building a remote team
Be empathetic to teams across time zones, look for self-starters, independent employees that know how to prioritize and are enthusiastic. Add a candidate has:
- Great communication skills
- The ability to use latest technology
- a result oriented attitude
- drive and self-motivation while being focused
- a background that matches the needs of the role
The work description
Present relevant aspects of your company, such as mission, culture, vibe, business goals to increase the likelihood of a good match. For the candidate, be as specific as possible above the work responsibilities and the prerequisites such as experience and skills.
- Search widely
- Filter out candidates based on top qualities
- Interview them and assess their communication skills
Questions about workflows
- What kind of types of tasks, workflows, or projects will occur?
- How does prioritization, collaboration, reviews, and approvals happen?
- How to scale up or down?
- How to avoid roadblocks, dependencies and improve self-sufficiency?
Onboarding
- Done via the teammates when possible
- Provide them introduction material
- Join in the communication tools, e.g, channels, conversations
- If possible, get them onsite to soak in the culture
- Pair up with another remote team member
- Access to documentation in case of doubts (continuously improving)
New team activities
- Prepare a team meeting to clarify responsibilities and instill collaboration
- Set clear goals and expectations
- Make sure the tools are available and known to operate seamlessly
- Provide opportunities to advance and incentivize members
Hiring remotely
Fill the talent gap (and tap to global talent pools) with good communication skills, team player, skills for the job. Look for flexible and humble candidates. It benefits the employee in the long run to have the opportunity to work under the conditions they prefer. It benefits the company as they can hire the best remote workers in the world at an overall lower cost.
- Aim to hire the best, anywhere
- Communication and collaboration (synchronous and asynchronous)
- Overlap availability
- Ensure remote members are valued
Interviewing
Gauge remote candidates have grit and drive, and have a sparing match of ideas to understand their communication skills (ideas not as important). Standardize the process whenever possible.
Common misconceptions
- Outsourcing is bad: Not the same as distributed work. Treat remote members correctly then results will be satisfactory,
- Slower delivery: Hiring happens faster due to the flexibility and online information about candidates
- Trust issues will arise: Proximity is no guarantee of trustworthiness.
Maintaining relationships
To make the relationship last make sure it is clear to both parties that a longer relationship is mutual interest, do this by making know to members that their valued as well as keeping them motivated and engaged.
Making clear the expectations and work related to a role is the best way to create a long-lived engagement with other members and make people join in such organization. It is the lead task to provide as much information as possible for this decision. Remote workers are as valuable as local ones, therefore must be provided with relevant information, share the successes and failures in the organization and maintaining collaboration during the project using a priority system and allowances.
- Attempt to get the best talent
- Communicate and collaborate
- Stay persistent and know there is a learning curve
- Create overlapping availability between members (morning)
- Use technology for asynchronous and synchronous communication and collaboration
- Follow advice to make remote members as valued as on-site.
+ Format meetings + Informal meetings
- Large groups - Scrum, daily standups
- Structured agendas - Do micro-communications
- Chance for all to speak - Video when possible
- Q&A stage
- Records and notes
Managing teams
- Delegate if possible.
- Colocate team members when it makes sense, e.g., timezones, areas
- Strike a balance between remote and local members for collaboration
- Find a balance of overlap hours for scrums, stand-ups etc.
- There is always a central hub but should coexist with satellite teams.
- "Follow the sun" model makes sense in 24/7 operations, e.g., reliability team
Tips
- Make clear the basics from the beginning. Clarify schedules and know whose available when.
- Communicate in a simple and natural way. Use the right tool combination to achieve this. Overcommunicate in most instances.
- Be transparent about progress & update task status often.
- Meet afterwards only when relevant (team concerns).
- Be available to one-on-one meetings, improves morale.
- Keep it fun and social whenever possible
- Progress and iteration are key.
Best practices
Trust, cooperations, frequent communication, right tools, clear reachable goals, fair control, appreciation, feedback both ways, in-person when possible.
Respect developers down time or focus time as it is fundamental to their work a.k.a The headphones rules
Upwork's distributed engineering team tips
- Hub and spoke models
- Group people when it makes sense, such as by functions or time spread
- Document interactions using tools such as slack channels
- Enforce non-core teams' overlap time (~3 hours)
Agile
It is challenging for remote teams to converse over code, have timely responses (due to timezones), promote interactions, deal multicultural differences, and bulding rapport within an distributed Agile team. Thus consider for each stage:
Sprint planning
Requires an extra level of planning to make sure the people involved in a task are available to others. Use tools to enable collaboration and task tracking.
Standups or Scrum
Provide perspective (in a short time) about the work being done and any issues that might be occurring. Helps keep focus on the team.
Spring review
Include scrum master and product owners to reflect on the work done and deliverables also about challenges faced during the iteration. Keep it informal, cordial, and collaborative.
Spring retrospective
Another moment to reflect on feedback and improvement opportunities, team dynamics, and the workflow. Focus on process and continuous improvement.
Dealing with challenges
Remote position preparation
- Setup environment
- Clarify your availability
- Remote friendly in structure (not always full-time or overlap)
- Improve your communications (written, slack, email) - be effective. Video (use it to build rapport)
- Do a bit of small talk, if comfortable
Overcoming difficulties
- Keep timezones to a minimum
- Maintain all people in the loop
- Use the right channels
- Track progress
- Work on inclusion and respect to others' time (work/life balance)
- Set expectations. Select off hours communication rules.
Managing stress and anxiety
- Schedule time for extra communication
- Monitor sources and find solutions
- Be considerate to members with children or different conditions, be flexible
- Show care for the relationship long term
Long term advice
- Not an overnight change, small steps
- Think in terms of smaller self-contained innovative teams
- Look at technologies and processes
- Make some function central and standard, e.g., hiring
- Shift mindsets company wide
- Stay agile, flexible, and adaptive
- Collaborate! in a hybrid way, using right tools
Scaling
- Hubs aren't scalable, but there is a tendency to use them. Empower the team.
- Improve and adopt technologies as they emerge and make sense
- Specialized teams within teams to enable growth
Conclusion
Look at your organization model and leverage distributed teams and access to talent to achieve more innovation and collaboration