{"id":8439,"date":"2017-11-28T10:48:58","date_gmt":"2017-11-28T18:48:58","guid":{"rendered":"https:\/\/www.backerkit.com\/blog\/?p=8439"},"modified":"2017-11-29T18:20:35","modified_gmt":"2017-11-30T02:20:35","slug":"developers-guide-distributed-teams","status":"publish","type":"post","link":"https:\/\/www.backerkit.com\/blog\/distributed-teams","title":{"rendered":"Developer&#8217;s Guide to Successful Distributed Teams"},"content":{"rendered":"<span class=\"cb-itemprop\" itemprop=\"reviewBody\"><p class=\"p1\"><span class=\"s1\">Working as a distributed team can be tricky, but if you do it right, it can be great. I\u2019ve been a remote developer at BackerKit for three years. It\u2019s been a great ride. In this post, I\u2019m going to share some of the things I&#8217;ve learned, and what product teams can do to make it all work.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"><b>It&#8217;s\u00a0important to reduce friction wherever possible<\/b>. Just because a team member is remote, doesn\u2019t mean it has to feel that way. Remote team members can feel like full team-members, and the on-site workers can feel as though they aren\u2019t slowed down by the fact that other people are remote. Being thoughtful of the five modes of operation will go a long way when finding the best ways to communicate. Those modes are:<\/span><\/p>\n<ol>\n<li style=\"text-align: left;\"><span class=\"s1\"><b>Holding efficient distributed meetings<\/b><\/span><\/li>\n<li style=\"text-align: left;\"><span class=\"s1\"><b>Maintaining a permanent telepresence portal\u00a0<\/b><\/span><\/li>\n<li style=\"text-align: left;\"><span class=\"s1\"><b>Effectively remote pairing<\/b><\/span><\/li>\n<li style=\"text-align: left;\"><span class=\"s1\"><b>Leveraging digital organization tools<\/b><\/span><\/li>\n<li style=\"text-align: left;\"><span class=\"s1\"><b>Embracing casual interactions<\/b><\/span><\/li>\n<\/ol>\n<p class=\"p1\"><span class=\"s1\">Each of these modes are important in their own way, and each involve different considerations to optimize interactions between team members. The omnipresent challenge in each of these modes is\u00a0<b>reducing the friction<\/b>\u00a0that the distance creates. With a little thought and a little attention to establishing effective habits and protocols, the telepresence technology can blend into the background, and remote-teams can be incredibly effective.<\/span><\/p>\n<h2>Holding Efficient Distributed Meetings<\/h2>\n<p>Being remote doesn\u2019t mean being absent. Things get better when remote workers are fully present at meetings. Being a remote participant at a meeting is familiar to most professionals, <a href=\"https:\/\/www.youtube.com\/watch?v=z_tiqlBFjbk\" target=\"_blank\" rel=\"noopener\">as is the friction that can go with it<\/a>. Reduce that friction.<\/p>\n<p>For small-ish teams, keep it simple. What works for BackerKit is a simple Google Hangout sessions with a high quality microphone. We use the <a href=\"https:\/\/www.jabra.com\/business\/speakerphones\/jabra-speak-series\/jabra-speak-410\" target=\"_blank\" rel=\"noopener\">Jabra Speak 410<\/a> for smaller meetings and the <a href=\"https:\/\/www.jabra.com\/business\/speakerphones\/jabra-speak-series\/jabra-speak-810\" target=\"_blank\" rel=\"noopener\">Jabra Speak 810<\/a> for larger ones.<\/p>\n<p>At BackerKit, we\u2019ve established the convention that the person who is the organizer of the meeting in the calendar makes sure to have a computer pointed at the Hangout before the meeting begins. <a href=\"https:\/\/support.google.com\/a\/answer\/4362302?vid=0-543498674114-1509465047177\" target=\"_blank\" rel=\"noopener\">Google makes it easy<\/a> to attach Hangout URLs to Google Calendar meeting events, and you can even <a href=\"https:\/\/support.google.com\/a\/answer\/6188027?hl=en\" target=\"_blank\" rel=\"noopener\">configure your GoogleApps domain to add Hangouts to new appointments automatically<\/a>, making it all routine and thoughtless. Each meeting is also linked to a GoogleDoc with a meeting agenda and notes (more on that later).<\/p>\n<p>Once we decided what our meeting telepresence setup looks like, we realize the details aren\u2019t as important as the clarity of the decision. Like so many things, what is <em>actually<\/em> decided isn\u2019t as important as the fact that it <em>is<\/em> decided. And that decision has to be\u00a0known by everyone. Friction has been reduced.<\/p>\n<h2>Maintaining A Permanent Telepresence Portal<\/h2>\n<p>It&#8217;s also important to be accessible outside of meetings. For smaller teams with less structure, and with fewer formal meetings, this is especially important.<\/p>\n<p>First, it is important that remote team members be full team-members, and be as accessible as the on-site folks. It\u2019s natural to choose the path of least resistance, and if there is more friction in speaking with a remote team-member, people in the office will always look for an on-site team member first.<\/p>\n<p>At BackerKit, we have an open office plan, and in our development corner, we have an always-on video chat set up. Remote developers are expected to be accessible there when not pairing, in meetings, or purposefully absent to deep-focus on something. Presenting the remote team members as friendly faces in the office with an <strong>always-on, static location<\/strong> lowers friction, and opens doors to a conversation that would otherwise not happen. Reducing the friction can almost make the distance disappear. When people don\u2019t have to fiddle with headphones and microphones, it works wonders for making remote workers feel truly present.<\/p>\n<p>Having an always-on connection provides the remote team members with <strong>ears in the room<\/strong>. When remote developers are not pairing, it\u2019s great to be able to not only participate, but also just overhear all of the casual conversation that happens in the developer&#8217;s corner. Having just a bit of reference to what the team has been talking casually about gives remote workers the important context they need to tackle assignments, and to effectively participate in more formal conversations at later meetings.<\/p>\n<p>Having an always-on connection also provides the remote team members <strong>eyes in the room,<\/strong> which, it turns out, reduces friction further because remote devs don\u2019t have to wonder who is currently pairing, who is at lunch, if the project manager is available, which developers might be available for a quick chat, and so on.<\/p>\n<p>At BackerKit, we use the <a href=\"https:\/\/hardware.daily.co\/pluot-tv\" target=\"_blank\" rel=\"noopener\">Pluot\/Daily service <\/a>for our always-on connection. It\u2019s simple and affordable. They provide dedicated little Linux appliance which can be connected to a monitor or TV via HDMI or DisplayPort, and a decent USB speakerphone. We configure the appliance to always join our static conference room and leave the thing on all the time so that remote developers can drop in with no friction, using their own dedicated hardware or via a free browser.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9063 size-full\" src=\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/developers-distributed-teams-beackerkit.jpg\" alt=\"John Randall working from home on a distributed team\" width=\"680\" height=\"431\" srcset=\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/developers-distributed-teams-beackerkit.jpg 680w, https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/developers-distributed-teams-beackerkit-300x190.jpg 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<h2>Effectively Remote Pairing<\/h2>\n<p>Pair programing is an esoteric art, and remote-pair programming has its own challenges. It&#8217;s important to have an established routine to set expectations, synchronize schedules, and help reduce setup friction. At BackerKit, developers are expected to come to stand-up having already breakfasted and caffeinated, and be ready to pair one minute after standup. We rotate pairs, and we don\u2019t close our five minute stand up until we know who is pairing with who for the day.<\/p>\n<p>We have our sharing technology worked out (Screenhero*) and it is fired up and ready to go right after standup. Remote devs don\u2019t drop out of the standup Pluot\/Daily room until they are joining a pairing Screenhero connection so there is no time lost in transitioning between portals. Having these expectations settled and routines established helps pairs get up and running quickly.<\/p>\n<p>*<a href=\"http:\/\/blog.screenhero.com\/post\/166784491566\/screenhero-is-now-built-into-slack\" target=\"_blank\" rel=\"noopener\">Screenhero has merged with Slack<\/a>. The stand-alone Screenhero software will shut down on Dec 1, 2017. Most of the functionality of Screenhero is now available in paid versions of Slack.<\/p>\n<h2>Leveraging Digital Organization Tools<\/h2>\n<p>If you want to enable remote-work, consider remaining just a tad more organized than you think you need to be as your team grows. Organized knowledge repositories and well-defined asynchronous workflows become more important as more people are involved. It eventually becomes impossible for a Product team to hold all the acquired knowledge in their heads, and tools become necessary just to understand what everyone is working on. Fairly standard product team organizational tools and best-practices can be leveraged to address these challenges. These tools and practices provide additional value to distributed teams because they foster information transfers into modes that aren\u2019t dependent on co-location and synchrony.<\/p>\n<p>Organization is always a work in progress, but at BackerKit, we try to have a place for everything and everything in its place. Notably, we\u2019ve had some discussion about where this information should live. We\u2019ve considered separate repositories on GitHub, Google Docs, and other wikis. We aren\u2019t in love with the GitHub wiki in particular, but we\u2019ve realized that having a clearly dedicated place is a better approach than delaying organizational decisions. We can always move the information to a different platform if we change our minds. Again, clarity of process is far more important than the process itself.<\/p>\n<p>BackerKit is a fully agile shop, and we\u2019ve always broken our work into stories and tracked them in <strong>Pivotal Tracker<\/strong>. As our team has grown, we\u2019ve found the need to include more and more information about stories in Tracker, but having verbose stories really helps the remote developers who may have slightly reduced access to casual conversations with our product manager and designers.<\/p>\n<p><strong>Use a messaging system that isn\u2019t email.<\/strong> It makes communication better and is especially helpful for remote team members who have reduced access to conversations and the sticky-notes you would otherwise be putting up on the wall. We use <strong>Slack<\/strong> (and Hipchat before it). If something is important or needs to go to the whole team, it goes in our Dev\/Product Slack channel. Unlike conversations, Slack can include links. Unlike conversations, Slack persists and is still there when people who are absent return. And unlike conversations, Slack doesn\u2019t disrupt the paired-development.<\/p>\n<p><strong>We have specified times for certain types of discussions.<\/strong> These include morning standup, weekly retros, weekly 1-1 meetings with team leaders, monthly developer&#8217;s technical discussions, and security reviews. Having a time-and-place for these things is generally a great idea because it helps keep designers and developers focused on the task at hand \u2013 allowing them to prioritize more easily, and rest-easy knowing that there will be a forum to discuss issues that crop up during work.<\/p>\n<p><strong>Every standing meeting has a living GoogleDoc attached to a calendar appointment.<\/strong> Each one has a living agenda on it and team members are free to dump things into that agenda during the work intervals between meetings.<\/p>\n<p>Corralling conversation this way is not only a great way to organize thoughts for growing teams, but it goes a long way in keeping remote folks in the loop. As much as our always-on Pluot connection provides ears in the room, remote-workers will inevitably miss a non-trivial amount of the casual conversation. By trying to corral non-urgent substantive discussion into formal meetings, remote-workers have the ability to more-fully participate.<\/p>\n<p>Having semi-formal documentation of knowledge-earned and work-to-be-done serves a primary function of allowing larger teams to work together. It also works wonders for bridging the distance and working asynchronously.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9064 size-full\" src=\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/developers-distributed-teams-backerkit.jpg\" alt=\"Krista Nelson working on a distributed team in office\" width=\"680\" height=\"453\" srcset=\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/developers-distributed-teams-backerkit.jpg 680w, https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/developers-distributed-teams-backerkit-300x200.jpg 300w, https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/developers-distributed-teams-backerkit-360x240.jpg 360w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<h2>Embracing Casual Interactions<\/h2>\n<p>Establishing deep relationships takes face-time and downtime \u2013 and there are no fully effective shortcuts. Distributed teams need to be especially cognizant of allowing space for casual interactions, and they also need to get together in meatspace sometimes.<\/p>\n<p>Having remote workers feel \u2018present\u2019 means carving out spaces to be social and allowing relationships to breathe. This supports team members to be empathetic human beings and helps build trust. This can be the most difficult challenge for distributed teams. Establishing rapport, especially with the non-developers, is hard. <a href=\"https:\/\/startwithwhy.com\/\" target=\"_blank\" rel=\"noopener\">Simon Sineck<\/a> says it well in his <a href=\"https:\/\/www.ochen.com\/transcript-of-simon-sineks-millennials-in-the-workplace-interview\" target=\"_blank\" rel=\"noopener\">\u201cMillennials in the Workforce\u201d talk<\/a>:<\/p>\n<blockquote><p>There should be no cellphones in conference rooms\u2026. \u201cWhen sitting and waiting for a meeting to start \u2026 everyone should be focused on building relationships. We ask personal questions, \u201cHow\u2019s your dad? I heard he was in the hospital.\u201d \u201cOh he\u2019s really good thanks for asking. He\u2019s actually at home now.\u201d \u201cOh I\u2019m glad to hear that.\u201d \u201cThat was really amazing.\u201d \u201cI know, it was really scary for a while there.\u201d &#8212; That\u2019s how you form relationships. \u201cHey did you ever get that report done?\u201d \u201cNo, I totally forgot.\u201d \u201cHey, I can help you out. Let me help you.\u201d \u201cReally?\u201d &#8212; That\u2019s how trust forms. Trust doesn\u2019t form at an event in a day. Even bad times don\u2019t form trust immediately. It\u2019s the slow, steady consistency and we need to create mechanisms where we allow for those little innocuous interactions to happen.<\/p><\/blockquote>\n<p>Remote folks can consider being a few minutes early to meetings or staying online for a few minutes afterward to create opportunities for casual non-work conversation. This is another reason why having the telepresence-tech well established is so important.<\/p>\n<p>But this still won\u2019t be enough for distributed teams. There is absolutely nothing (yet) that can replace full face-to-face interaction. As great as the various telepresence solutions are, they are not high-bandwidth-enough to establish deep relationships.<\/p>\n<p>At BackerKit, our remote developers spend more than four weeks a year on-site. This includes an annual 3-5 day corporate retreat where the entire company is offsite, where the agenda gives a generous amount of downtime. These times are essential. The telepresence in-between keeps the relationships alive, but meatspace is usually where they are built and evolve.<\/p>\n<p>Remote workers should try to visit often, especially with rapidly growing teams with lots of new faces. It\u2019s the moments of down-time and non-work time where real trust and empathy are built. Remote folks need to go to the office often to share in that, break-bread, and share beverages (caffeinated or otherwise).<\/p>\n<h2>Notes on Distributed Teams and Company Growth<\/h2>\n<p>BackerKit has grown significantly in the past two years, and each stage posed significant but overcome-able challenges. We&#8217;ve learned a lot, below are just a few of the highlights.<\/p>\n<p>Small distributed teams don\u2019t have to think too hard about it in the beginning, but once a team reaches a certain size, they will need to decide if they are willing to commit to making the \u2018distributed\u2019 thing work. Remote workers can\u2019t make it happen alone. Even with the simplest telepresence setups, someone will need to be in the office to turn them on. But with a little thoughtfulness on both-sides, it can work well.<\/p>\n<p>Three years ago, having a distributed team as a small company was easy. Location wasn\u2019t very important. The conversations were always small enough that remote workers were able to fully participate, either via A\/V telepresence or our main HipChat room. Hearing everyone was easy, and microphones weren\u2019t an issue. The lone remote-developer (me) of our six-person company was always either pair programming, or on the always-on Google Hangout in the small office room. We were not incredibly organized, but we didn\u2019t need to be. It worked.<\/p>\n<p>As BackerKit grew larger, distributed work got harder. Being big enough to need a procedure, but not big enough to have it all worked out, was a hard time for us to be distributed. Conversations became more fragmented. Everyone was doing the start-up scramble, meetings were sometimes ad-hoc, and we often didn\u2019t have the patience to work out the telepresence technology. Not everyone on the company needed to be on every thread, and it took a lot more thought and attention to make sure that remote workers were part of the conversations they needed to be in.\u00a0 At these early growth stages, it was essential to have a guardian angel for the remote-workers in the office\u2013 someone who was always willing to restart the Google Hangout and own the telepresence technology. (<a href=\"https:\/\/www.backerkit.com\/blog\/behind-the-scenes-meet-backerkits-head-designer\/\">Thanks Kaz!<\/a>)<\/p>\n<p>As we grew larger and decided that we were committing to being organized and being thoughtful, being distributed got much easier. Once we had two or three pairs of developers working in our code-base, we quickly developed the infrastructure and procedure we needed to keep our work organized. We solidified our organizational procedures and culture, started using google-calendar religiously, and started to cross-reference everything. It became easier for a remote team member to plug into our process, see the landscape for the week\/month, and contribute. We also took on an office manager (Thanks Annie!) who worked wonders to get our technology needs worked out and make the rooms work for remote team-members.<\/p>\n<h2>Making it all work<\/h2>\n<p>Be thoughtful. Define your different types of team interactions and optimize them. Reduce the friction wherever possible, and don&#8217;t forget to be human.\u00a0The BackerKit Product Team is proof that having remote developers can work well.<\/p>\n<\/span>","protected":false},"excerpt":{"rendered":"<p>Working as a distributed team can be tricky, but if you do it right, it can be great. I\u2019ve been a remote developer at BackerKit for three years. It\u2019s been a great ride. In this post, I\u2019m going to share some of the things I&#8217;ve learned, and what product teams can do to make it [&hellip;]<\/p>\n","protected":false},"author":34,"featured_media":8936,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[45],"tags":[],"class_list":["post-8439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering"],"acf":[],"yoast_head":"\n<title>Developer&#039;s Guide to Successful Distributed Teams | BackerKit<\/title>\n<meta name=\"description\" content=\"Working as a distributed team can be tricky, but if you do it right, it can be great. BackerKit developer John Randall shares his best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Developer&#039;s Guide to Successful Distributed Teams | BackerKit\" \/>\n<meta name=\"twitter:description\" content=\"Working as a distributed team can be tricky, but if you do it right, it can be great. BackerKit developer John Randall shares his best practices.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png\" \/>\n<meta name=\"twitter:creator\" content=\"@johntrandall\" \/>\n<meta name=\"twitter:site\" content=\"@backerkit\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Randall\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/\"},\"author\":{\"name\":\"John Randall\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/#\/schema\/person\/d4b8781682d50c3621901a678cd37b7c\"},\"headline\":\"Developer&#8217;s Guide to Successful Distributed Teams\",\"datePublished\":\"2017-11-28T18:48:58+00:00\",\"dateModified\":\"2017-11-30T02:20:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/\"},\"wordCount\":2531,\"publisher\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png\",\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/\",\"url\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/\",\"name\":\"Developer's Guide to Successful Distributed Teams | BackerKit\",\"isPartOf\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png\",\"datePublished\":\"2017-11-28T18:48:58+00:00\",\"dateModified\":\"2017-11-30T02:20:35+00:00\",\"description\":\"Working as a distributed team can be tricky, but if you do it right, it can be great. BackerKit developer John Randall shares his best practices.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#primaryimage\",\"url\":\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png\",\"contentUrl\":\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png\",\"width\":1558,\"height\":748,\"caption\":\"john randall backerkit distributed teams\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.backerkit.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Developer&#8217;s Guide to Successful Distributed Teams\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/#website\",\"url\":\"https:\/\/www.backerkit.com\/blog\/\",\"name\":\"Crowdfunding Blog &amp; Resources | BackerKit\",\"description\":\"The BackerKit crowdfunding blog provides expert advice and success stories to help you plan, manage, and deliver a successful crowdfunding campaign.\",\"publisher\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.backerkit.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/#organization\",\"name\":\"BackerKit\",\"url\":\"https:\/\/www.backerkit.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/02\/BackerKit-logo.png\",\"contentUrl\":\"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/02\/BackerKit-logo.png\",\"width\":1200,\"height\":345,\"caption\":\"BackerKit\"},\"image\":{\"@id\":\"https:\/\/www.backerkit.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Backerkit\/\",\"https:\/\/x.com\/backerkit\",\"https:\/\/www.instagram.com\/backerkit\/\",\"https:\/\/www.linkedin.com\/company\/backerkit\",\"https:\/\/www.youtube.com\/channel\/UC3gch2VsESfv0XW36W7BBQg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/#\/schema\/person\/d4b8781682d50c3621901a678cd37b7c\",\"name\":\"John Randall\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.backerkit.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70116b7bc2182a3e2b71b7701e26c5976f74c1dafa9386f62094e3d008455646?s=96&d=monsterid&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70116b7bc2182a3e2b71b7701e26c5976f74c1dafa9386f62094e3d008455646?s=96&d=monsterid&r=pg\",\"caption\":\"John Randall\"},\"sameAs\":[\"https:\/\/x.com\/johntrandall\"],\"url\":\"https:\/\/www.backerkit.com\/blog\/author\/john\/\"}]}<\/script>\n","yoast_head_json":{"title":"Developer's Guide to Successful Distributed Teams | BackerKit","description":"Working as a distributed team can be tricky, but if you do it right, it can be great. BackerKit developer John Randall shares his best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/","twitter_card":"summary_large_image","twitter_title":"Developer's Guide to Successful Distributed Teams | BackerKit","twitter_description":"Working as a distributed team can be tricky, but if you do it right, it can be great. BackerKit developer John Randall shares his best practices.","twitter_image":"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png","twitter_creator":"@johntrandall","twitter_site":"@backerkit","twitter_misc":{"Written by":"John Randall","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#article","isPartOf":{"@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/"},"author":{"name":"John Randall","@id":"https:\/\/www.backerkit.com\/blog\/#\/schema\/person\/d4b8781682d50c3621901a678cd37b7c"},"headline":"Developer&#8217;s Guide to Successful Distributed Teams","datePublished":"2017-11-28T18:48:58+00:00","dateModified":"2017-11-30T02:20:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/"},"wordCount":2531,"publisher":{"@id":"https:\/\/www.backerkit.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png","articleSection":["Engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/","url":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/","name":"Developer's Guide to Successful Distributed Teams | BackerKit","isPartOf":{"@id":"https:\/\/www.backerkit.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#primaryimage"},"image":{"@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png","datePublished":"2017-11-28T18:48:58+00:00","dateModified":"2017-11-30T02:20:35+00:00","description":"Working as a distributed team can be tricky, but if you do it right, it can be great. BackerKit developer John Randall shares his best practices.","breadcrumb":{"@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.backerkit.com\/blog\/distributed-teams\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#primaryimage","url":"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png","contentUrl":"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/11\/Developers-Guide-to-Successful-Distributed-Teams.png","width":1558,"height":748,"caption":"john randall backerkit distributed teams"},{"@type":"BreadcrumbList","@id":"https:\/\/www.backerkit.com\/blog\/distributed-teams\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.backerkit.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Developer&#8217;s Guide to Successful Distributed Teams"}]},{"@type":"WebSite","@id":"https:\/\/www.backerkit.com\/blog\/#website","url":"https:\/\/www.backerkit.com\/blog\/","name":"Crowdfunding Blog &amp; Resources | BackerKit","description":"The BackerKit crowdfunding blog provides expert advice and success stories to help you plan, manage, and deliver a successful crowdfunding campaign.","publisher":{"@id":"https:\/\/www.backerkit.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.backerkit.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.backerkit.com\/blog\/#organization","name":"BackerKit","url":"https:\/\/www.backerkit.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.backerkit.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/02\/BackerKit-logo.png","contentUrl":"https:\/\/www.backerkit.com\/blog\/wp-content\/uploads\/2017\/02\/BackerKit-logo.png","width":1200,"height":345,"caption":"BackerKit"},"image":{"@id":"https:\/\/www.backerkit.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Backerkit\/","https:\/\/x.com\/backerkit","https:\/\/www.instagram.com\/backerkit\/","https:\/\/www.linkedin.com\/company\/backerkit","https:\/\/www.youtube.com\/channel\/UC3gch2VsESfv0XW36W7BBQg"]},{"@type":"Person","@id":"https:\/\/www.backerkit.com\/blog\/#\/schema\/person\/d4b8781682d50c3621901a678cd37b7c","name":"John Randall","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.backerkit.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/70116b7bc2182a3e2b71b7701e26c5976f74c1dafa9386f62094e3d008455646?s=96&d=monsterid&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70116b7bc2182a3e2b71b7701e26c5976f74c1dafa9386f62094e3d008455646?s=96&d=monsterid&r=pg","caption":"John Randall"},"sameAs":["https:\/\/x.com\/johntrandall"],"url":"https:\/\/www.backerkit.com\/blog\/author\/john\/"}]}},"_links":{"self":[{"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/posts\/8439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/comments?post=8439"}],"version-history":[{"count":0,"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/posts\/8439\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/media\/8936"}],"wp:attachment":[{"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/media?parent=8439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/categories?post=8439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.backerkit.com\/blog\/wp-json\/wp\/v2\/tags?post=8439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}