{"id":2577,"date":"2016-04-19T18:54:22","date_gmt":"2016-04-19T18:54:22","guid":{"rendered":"http:\/\/www.ckl.io\/?p=2577"},"modified":"2022-07-01T17:59:22","modified_gmt":"2022-07-01T17:59:22","slug":"working-virtual-team-7-best-practices","status":"publish","type":"post","link":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/","title":{"rendered":"Working with a virtual team: 7 best practices"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Working with virtual teams is a big trend in the software development industry, as the globalization of labor is the only viable way to scale the growth of the sector. New technologies in virtual reality, high-speed Internet connection and communication tools open exponential options for virtual collaboration, and will reformat what globalization looks like. In the future, you\u2019ll be able to sit in a meeting room anywhere in the world with whomever you\u2019ve organized that with. You might not be able to shake their hands, but here are the best practices &nbsp;&#8211; and tips &#8211; on how to best work with those virtual co-workers:<\/span><\/p>\n<p style=\"text-align: justify;\"><!--more--><\/p>\n<h2><b>1. Scope: go through all edge cases<\/b><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">When developing a product with a virtual (remote) team, it&#8217;s critical to make sure all parts are in <\/span><b>tight sync<\/b><span style=\"font-weight: 400;\"> before making big decisions. Since you don&#8217;t have the occasional chat &#8220;around the water cooler&#8221;, as Harvard&#8217;s Michael Watkins <\/span><a href=\"https:\/\/hbr.org\/2013\/06\/making-virtual-teams-work-ten\"><span style=\"font-weight: 400;\">cleverly explains<\/span><\/a><span style=\"font-weight: 400;\">, small misalignments \u2013 usually caused by team members having different understandings of how the product should behave in specific situations \u2013 grow at an extremely <\/span><b>fast pace<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-2606 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/arvores.png\" alt=\"arvores\" width=\"757\" height=\"502\"><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Make sure you and all the virtual collaborators understand what should happen in every situation that your product can go through. If you are, for instance, developing a mobile app, make sure that all buttons have clear and understandable actions. All the screens should gracefully deal with bad \u2013 or no \u2013 Internet connection at all. Your <\/span><b>features<\/b><span style=\"font-weight: 400;\"> should handle lack of permissions (from camera, GPS, address book, etc), and you should make sure that all screens are mocked-up \u2013 or at least wireframed \u2013 and that there won&#8217;t be anything that could block the developers from moving forward or, even worse, that could make them&nbsp;implement something incorrectly . Creating a <\/span><b>functional<\/b><span style=\"font-weight: 400;\"> flow of mobile and web apps in a tool like <\/span><a href=\"https:\/\/www.invisionapp.com\/\"><span style=\"font-weight: 400;\">Invision<\/span><\/a><span style=\"font-weight: 400;\"> or <\/span><a href=\"https:\/\/proto.io\/\"><span style=\"font-weight: 400;\">Proto.io<\/span><\/a><span style=\"font-weight: 400;\"> is a great way to have a nice shared understanding of the scope, and also allows usability tests to get started.<\/span><\/p>\n<p><img decoding=\"async\" class=\"size-medium wp-image-2607 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/quadrinhos.png\" alt=\"quadrinhos\" width=\"704\" height=\"216\"><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">The most important moment to pay attention to scope definition is when <\/span><b>kicking off<\/b><span style=\"font-weight: 400;\"> a new project or feature \u2013 or when creating\/reviewing quotes to start a virtual working <\/span><b>relationship<\/b><span style=\"font-weight: 400;\">. Make sure to have some initial estimates in hand \u2013 from <\/span><a href=\"https:\/\/estimatemyapp.com\/\"><span style=\"font-weight: 400;\">Estimate My App<\/span><\/a><span style=\"font-weight: 400;\"> for instance \u2013 since it&#8217;s often common for contractors to send cheap and fast estimates without making any questions regarding the project scope, just to close a deal quickly. At those moments, it&#8217;s great to remind ourselves about Admiral Ackbar, from Star Wars:<\/span><\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-2609 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/trap.png\" alt=\"trap\" width=\"480\" height=\"257\"><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">It&#8217;s impossible for someone not to have any questions, and it&#8217;s organic and <\/span><b>healthy<\/b><span style=\"font-weight: 400;\"> not only to solve them, but also to suggest changes when you disagree with the answers. You want a remote team that participates and gives its opinion, even if it isn&#8217;t exactly their area of expertise. For instance, engineers should question \u2013 and <\/span><b>brainstorm<\/b><span style=\"font-weight: 400;\"> with \u2013 UI\/UX designers and vice-versa. In the development-design brainstorms and discussions, it&#8217;s always great to check out tech stack directories, like <\/span><a href=\"http:\/\/stackshare.io\/stacks\"><span style=\"font-weight: 400;\">StackShare<\/span><\/a><span style=\"font-weight: 400;\">, to make sure your technical expertises and design expectations are well-aligned.<\/span><\/p>\n<p><img decoding=\"async\" class=\"size-medium wp-image-2608 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/stack.png\" alt=\"stack\" width=\"870\" height=\"393\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/stack.png 870w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/stack-768x347.png 768w\" sizes=\"(max-width: 870px) 100vw, 870px\" \/><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Last, but not least, when scoping design tasks \u2013 or simply explaining the product&#8217;s functionalities and UX&nbsp;\u2013 use lots of references. You&#8217;re expected to be an expert in the field \u2013 or in the most similar ones&nbsp;\u2013 that you are working at, and naming existing products is a great way to cross borders and reach the understanding of co-workers with different cultural backgrounds. When the references don&#8217;t cover your exact ideas, use platform ground rules to make sure you&#8217;re in the right track. Taking the mobile industry as an example, Apple&#8217;s <\/span><a href=\"https:\/\/developer.apple.com\/library\/ios\/documentation\/UserExperience\/Conceptual\/MobileHIG\/index.html\"><span style=\"font-weight: 400;\">iOS Human Interface<\/span><\/a><span style=\"font-weight: 400;\"> and Google&#8217;s <\/span><a href=\"http:\/\/developer.android.com\/design\/index.html\"><span style=\"font-weight: 400;\">Material Design<\/span><\/a><span style=\"font-weight: 400;\"> guidelines will provide almost all the content you need.<\/span><\/p>\n<h2><b>2. Communication:&nbsp;keep in touch<\/b><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">When communicating with virtual teams, <\/span><b>being available<\/b><span style=\"font-weight: 400;\"> is priority number one, as Prof. Sebastian Reiche describes in <\/span><a href=\"http:\/\/www.forbes.com\/sites\/iese\/2013\/06\/20\/managing-virtual-teams-ten-tips\/#271447f121d9\"><span style=\"font-weight: 400;\">his Forbes list<\/span><\/a><span style=\"font-weight: 400;\">. Since you won&#8217;t have someone sitting right next to you all the time,&nbsp;finding a communication channel that replaces&nbsp;this in-person interaction&nbsp;is key for the&nbsp;process to work well. Having an agile culture with fast iteration cycles is core to staying in sync. Using customizable communication tools, like <\/span><a href=\"http:\/\/slack.com\"><span style=\"font-weight: 400;\">Slack<\/span><\/a><span style=\"font-weight: 400;\">, to keep in touch with each other, while also automatically <\/span><b>aggregating<\/b><span style=\"font-weight: 400;\"> other apps (like <\/span><a href=\"http:\/\/github.com\"><span style=\"font-weight: 400;\">Github<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"http:\/\/trello.com\"><span style=\"font-weight: 400;\">Trello<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/jenkins.io\/\"><span style=\"font-weight: 400;\">Jenkins<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/travis-ci.org\/\"><span style=\"font-weight: 400;\">Travis CI<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"http:\/\/ifttt.com\"><span style=\"font-weight: 400;\">IFTTT<\/span><\/a><span style=\"font-weight: 400;\"> and so many others), is a great way to remove as much friction as possible when distributedly dealing with code development, task management, continuous integration and interfacing with other services and devices.<\/span><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"size-full wp-image-2613 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/imgres.jpg\" alt=\"imgres\" width=\"225\" height=\"225\"><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Regarding meetings, video chats are a great way to get closer to the person that is \u2013 or will be \u2013 working with you. Getting in touch with the virtual co-worker&#8217;s presence and understanding that person&#8217;s reality, how the <\/span><b>workspace<\/b><span style=\"font-weight: 400;\"> that they&#8217;re working at is, how the weather in their city is like\u2013 and so many other things \u2013 is an amazing way to create a more meaningful <\/span><b>relationship<\/b><span style=\"font-weight: 400;\">, be more productive together and build even greater solutions. Adding a meeting to <\/span><a href=\"https:\/\/calendar.google.com\/calendar\/render#main_7\"><span style=\"font-weight: 400;\">Google Calendar<\/span><\/a><span style=\"font-weight: 400;\"> makes sure that there isn&#8217;t any confusion regarding time zones and also creates a <\/span><a href=\"https:\/\/hangouts.google.com\/\"><span style=\"font-weight: 400;\">Hangout<\/span><\/a><span style=\"font-weight: 400;\"> link for everyone to meet at.<\/span><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"size-full wp-image-2614 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/google-hangout-effects.png\" alt=\"google-hangout-effects\" width=\"500\" height=\"301\"><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">When talking and getting to know foreigners, don\u2019t exaggerate on local expressions and articulate nice and <\/span><b>easy<\/b><span style=\"font-weight: 400;\">. Sharing meetings notes right after they&#8217;re over with conclusions, action items (and who&#8217;s responsible for each) and observations is effective in making sure no big idea was lost in <\/span><b>translation<\/b><span style=\"font-weight: 400;\">. In longer virtual working relationships, having an in-person chat \u2013 or a trip visit to work together for a week or so \u2013 is an awesome way of making sure all sides are aligned for future goals, and that the strategic plans are well spread throughout the team.<\/span><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2615\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/email1.png\" alt=\"email\" width=\"1056\" height=\"726\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/email1.png 1056w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/email1-768x528.png 768w\" sizes=\"(max-width: 1056px) 100vw, 1056px\" \/><\/p>\n<h2><b>3. Documentation:&nbsp;automate it<\/b><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">In the software development industry, especially when building web and mobile applications, it\u2019s common to have at least one interface protocol &#8211; usually <strong>Restful HTTP<\/strong>&nbsp;<strong>APIs<\/strong> &#8211; that dictates how an iOS app, for instance, communicates with a server that retains all information and connects it with the other platforms. It\u2019s critical to have all the <strong>APIs<\/strong> well-documented, at <\/span><a href=\"http:\/\/github.com\">GitHub<\/a><span style=\"font-weight: 400;\"> for instance, and even with mocked response payloads in a dummy server, like on <\/span><a href=\"https:\/\/apiary.io\/\">Apiary<\/a><span style=\"font-weight: 400;\">, so the teams that are building the client apps (e.g. web and mobile) don\u2019t get blocked.<\/span><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\" wp-image-2617 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/api.png\" alt=\"api\" width=\"425\" height=\"411\"><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Once it comes to interfacing with remote designers, using a software that creates a nice experience for developers to get information about sizes, colors and fonts from wireframes and mock-ups, as well as to automatically export all visual assets in different formats and resolutions, is a must-have. <\/span><a href=\"https:\/\/zeplin.io\/\"><span style=\"font-weight: 400;\">Zeplin<\/span><\/a><span style=\"font-weight: 400;\"> fits that profile by providing an interactive interface that displays all exported assets, together with the mock-ups in a nice and minimalist experience. <\/span><a href=\"https:\/\/zeplin.io\/\"><span style=\"font-weight: 400;\">Zeplin<\/span><\/a><span style=\"font-weight: 400;\"> works flawlessly with <\/span><a href=\"https:\/\/www.sketchapp.com\/\"><span style=\"font-weight: 400;\">Sketch<\/span><\/a><span style=\"font-weight: 400;\">\u2019s slices, so the designer has a nice and organized vectorized view while the dev dynamically interacts with informative mock-ups and also gets the assets in all necessary resolutions, in a click-to-download way.<\/span><\/p>\n<h2><b>4. Versioning:&nbsp;grow your project tree<\/b><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Building software products requires organized versioning repositories and processes, and to replace physical side-by-side code reviews and pair programming, it\u2019s great to have an organized <\/span><b>Gitflow<\/b><span style=\"font-weight: 400;\"> with pull requests and rebases. Screen-shared pull request reviews, together with virtual team members, are a good practice to align code styles and make sure everyone has a nice understanding of how the <strong>codebase<\/strong> is growing. Using <\/span><a href=\"https:\/\/bitbucket.org\/\"><span style=\"font-weight: 400;\">Bitbucket<\/span><\/a><span style=\"font-weight: 400;\"> and <\/span><a href=\"http:\/\/github.com\"><span style=\"font-weight: 400;\">GitHub<\/span><\/a><span style=\"font-weight: 400;\">&#8216;s in-code comments is a scalable way of keeping the review conversation alive when the real-time chats aren\u2019t needed.<\/span><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"size-full wp-image-2618 aligncenter\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/gitflow.png\" alt=\"gitflow\" width=\"631\" height=\"391\"><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Besides making sure you have a nice and clean versioning tree growing, <a href=\"http:\/\/www.github.com\">GitHub<\/a> allows creating <\/span><b>issues<\/b><span style=\"font-weight: 400;\"> (tasks) that can automatically be closed through special tags on commit messages, organizing those tasks into <\/span><b>milestones<\/b><span style=\"font-weight: 400;\"> (that are also dynamically updated when issues are finished), building wikis to better explain how to use and set up the codebase, integrating continuous integrations systems, and much more.<\/span><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2619\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/github.png\" alt=\"github\" width=\"928\" height=\"447\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/github.png 928w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/github-768x370.png 768w\" sizes=\"(max-width: 928px) 100vw, 928px\" \/><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Incorporating continuous integration solutions &#8211; like <\/span><a href=\"https:\/\/jenkins.io\"><span style=\"font-weight: 400;\">Jenkins<\/span><\/a><span style=\"font-weight: 400;\"> or <\/span><a href=\"https:\/\/travis-ci.org\/\"><span style=\"font-weight: 400;\">Travis CI<\/span><\/a><span style=\"font-weight: 400;\"> &#8211; to your versioning system is an efficient way of <strong>automatically<\/strong> running tests and creating builds when new commits are made, notifying administrators of failing tests, calculating test coverage percentages and even <strong>deploying<\/strong> your application to the App Store or the Play Store, using <\/span><a href=\"https:\/\/fastlane.tools\/\"><span style=\"font-weight: 400;\">Fastlane<\/span><\/a><span style=\"font-weight: 400;\">, for instance.<\/span><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2620\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/Jenkins.png\" alt=\"Jenkins\" width=\"900\" height=\"448\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/Jenkins.png 900w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/Jenkins-768x382.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/p>\n<h2><b>5. Task Tracking:&nbsp;prioritize the work<\/b><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">When tracking tasks with virtual teams, make sure to have one <strong>board<\/strong> &#8211; in <\/span><a href=\"https:\/\/trello.com\">Trello<\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/www.pivotaltracker.com\/\">Pivotal<\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/app.asana.com\/\">Asana<\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/www.atlassian.com\/software\/jira\">Jira<\/a><span style=\"font-weight: 400;\">, etc &#8211; with all the issues that everyone is working at. Making sure all bug fixes, polishes and fine-tuning are represented as tasks in the board is a nice way to guarantee that the virtual collaborators won\u2019t get confused in terms of tasks <strong>priorities<\/strong> and that &#8211; consequently &#8211; you\u2019ll meet the deadlines. Having an organized and prioritized list of tasks allows the project not to have co-workers blocked by trying to figure what should be done next, and this is essential with teams that are working in different timezones and might not be able to ask someone what\u2019s the next priority at a certain time of the day.<\/span><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2621\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/pivotal.png\" alt=\"pivotal\" width=\"941\" height=\"561\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/pivotal.png 941w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/pivotal-768x458.png 768w\" sizes=\"(max-width: 941px) 100vw, 941px\" \/><strong><br \/>\n<span style=\"font-weight: 400;\">Translating action items from meeting notes emails into tasks, connecting the task tracker <\/span><b>updates<\/b><span style=\"font-weight: 400;\"> to <\/span><\/strong><a href=\"https:\/\/slack.com\">Slack<\/a><strong><span style=\"font-weight: 400;\"> and also integrating them with <\/span><\/strong><a href=\"http:\/\/github.com\">GitHub<\/a><strong><span style=\"font-weight: 400;\"> commits, as described above, are ways to better interface the processes and reduce the possible <\/span><b>overhead<\/b><span style=\"font-weight: 400;\"> when organizing and writing down descriptions of what should be done. That way, the documentation content is created in phases, without bottlenecking any part of the process.<\/span><\/strong><\/p>\n<h2><b>6. Feedback:&nbsp;be thorough<\/b><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">When interfacing with virtual <\/span><b>beta testers<\/b><span style=\"font-weight: 400;\">, make sure the most amount of information is shared when a bug &#8211; or incorrect behavior &#8211; is provided. Using mobile development as an example, it is useful to know which device the tester had, which OS version was being used, what internet network s\/he was connected to, and &#8211; the most important &#8211; how to <\/span><b>reproduce it<\/b><span style=\"font-weight: 400;\">. By understanding how to reproduce a bug, the tester gets a better feel of how the implementation handles different environment variables and, with the detailed information, the developer is able to quickly fix and improve the codebase.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Using tools like <\/span><a href=\"https:\/\/www.ckl.io\/notificrash\/\"><span style=\"font-weight: 400;\">Notificrash<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/try.crashlytics.com\/\"><span style=\"font-weight: 400;\">Crashlytics<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"http:\/\/www.flurry.com\/\"><span style=\"font-weight: 400;\">Flurry<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/mixpanel.com\/\"><span style=\"font-weight: 400;\">Mixpanel<\/span><\/a><span style=\"font-weight: 400;\"> and <\/span><a href=\"http:\/\/www.google.com\/analytics\"><span style=\"font-weight: 400;\">Google Analytics<\/span><\/a><span style=\"font-weight: 400;\"> to <\/span><b>track<\/b><span style=\"font-weight: 400;\"> crashes, usage, installations, users and much more is a great help on making sure the development team can interface well with testers (and users). Make sure to add <\/span><b>meaningful<\/b><span style=\"font-weight: 400;\"> tracking <\/span><b>events<\/b><span style=\"font-weight: 400;\"> to the flow of your application to have better insights on how people are using it. Creating statistical funnels, heat-maps and scroll maps (<a href=\"http:\/\/www.crazyegg.com\/\">Crazy Egg<\/a> is great at doing that for web pages) is also important to validate theories about how users are expecting features to work, and what content should be presented at each stage of the product\u2019s experience.<\/span><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2623\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/crash.png\" alt=\"crash\" width=\"772\" height=\"501\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/crash.png 772w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/crash-768x498.png 768w\" sizes=\"(max-width: 772px) 100vw, 772px\" \/><\/p>\n<h2><b>7. Motivation:&nbsp;make it awesome<\/b><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">One of the biggest challenges of <\/span><b>nurturing<\/b><span style=\"font-weight: 400;\"> a healthy working virtual relationship is making sure that all co-workers are motivated with the company\u2019s vision and mission. In the short term, it is great to give extra compensations when milestones are reached with exceptional quality and productivity, and also to have periodic chats with all the team members, to align their personal goals with the company&#8217;s <\/span><b>strategic planning<\/b><span style=\"font-weight: 400;\">. Middle-term wise, having yearly wages updates based on 360-degree feedbacks and promotions will make sure all collaborators are learning new things and developing their professional skills. In the long run, it\u2019s critical for the collaborator to have some type of equity bond with the company, so that their desire for the organization\u2019s success lives long- and meaningfully.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">When it comes to virtual relationships between different companies, having <\/span><b>equity agreements<\/b><span style=\"font-weight: 400;\"> is still a valid option. Having a contracting company that owns stocks of the product is a big change in mentality when it comes to remote collaboration. The industrialist contracting model based only on hourly rates is broken in most of the cases. In the long run, it\u2019s common in most contracting projects for the code to become messy, the usage of legacy technologies to grow and non-scalable issues start to pop out. Once you have an equity relationship, the company developing the software will start having the <\/span><b>initiative<\/b><span style=\"font-weight: 400;\"> of using the coolest technologies and creating a solid codebase, and even being more participative in brainstorms. This happens because now they aren&#8217;t only worried about the short term hourly rate, but are indeed caring about the success of the product: they\u2019ve stopped being client and contractor, and have become <\/span><b>partners<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Working with virtual teams is a big trend in the software development industry, as the globalization of labor is the only viable way to scale the growth of the sector. New technologies in virtual reality, high-speed Internet connection and communication tools open exponential options for virtual collaboration, and will reformat what globalization looks like. In [&hellip;]<\/p>\n","protected":false},"author":65,"featured_media":2939,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,7],"tags":[],"class_list":["post-2577","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business","category-opinion"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Working with a virtual team: 7 best practices<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Working with a virtual team: 7 best practices\" \/>\n<meta property=\"og:description\" content=\"Working with virtual teams is a big trend in the software development industry, as the globalization of labor is the only viable way to scale the growth of the sector. New technologies in virtual reality, high-speed Internet connection and communication tools open exponential options for virtual collaboration, and will reformat what globalization looks like. In [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-19T18:54:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-01T17:59:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2076\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/\"},\"author\":{\"name\":\"Victor Oliveira\"},\"headline\":\"Working with a virtual team: 7 best practices\",\"datePublished\":\"2016-04-19T18:54:22+00:00\",\"dateModified\":\"2022-07-01T17:59:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/\"},\"wordCount\":2083,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg\",\"articleSection\":[\"Business\",\"Opinion\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/\",\"name\":\"Working with a virtual team: 7 best practices\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg\",\"datePublished\":\"2016-04-19T18:54:22+00:00\",\"dateModified\":\"2022-07-01T17:59:22+00:00\",\"author\":{\"@type\":\"person\",\"name\":\"Victor Oliveira\"},\"breadcrumb\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#primaryimage\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg\",\"width\":2076,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cheesecakelabs.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Working with a virtual team: 7 best practices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"name\":\"Victor Oliveira\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/10\/victor-300x300.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/10\/victor-300x300.jpg\",\"caption\":\"Victor Oliveira\"},\"description\":\"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/autor\/victor\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Working with a virtual team: 7 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:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/","og_locale":"en_US","og_type":"article","og_title":"Working with a virtual team: 7 best practices","og_description":"Working with virtual teams is a big trend in the software development industry, as the globalization of labor is the only viable way to scale the growth of the sector. New technologies in virtual reality, high-speed Internet connection and communication tools open exponential options for virtual collaboration, and will reformat what globalization looks like. In [&hellip;]","og_url":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2016-04-19T18:54:22+00:00","article_modified_time":"2022-07-01T17:59:22+00:00","og_image":[{"width":2076,"height":720,"url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg","type":"image\/jpeg"}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Written by":null,"Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#article","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/"},"author":{"name":"Victor Oliveira"},"headline":"Working with a virtual team: 7 best practices","datePublished":"2016-04-19T18:54:22+00:00","dateModified":"2022-07-01T17:59:22+00:00","mainEntityOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/"},"wordCount":2083,"commentCount":0,"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg","articleSection":["Business","Opinion"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/","url":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/","name":"Working with a virtual team: 7 best practices","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#primaryimage"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg","datePublished":"2016-04-19T18:54:22+00:00","dateModified":"2022-07-01T17:59:22+00:00","author":{"@type":"person","name":"Victor Oliveira"},"breadcrumb":{"@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#primaryimage","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/04\/remotework2-Recovered-copy.jpg","width":2076,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/cheesecakelabs.com\/blog\/working-virtual-team-7-best-practices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cheesecakelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Working with a virtual team: 7 best practices"}]},{"@type":"WebSite","@id":"https:\/\/cheesecakelabs.com\/blog\/#website","url":"https:\/\/cheesecakelabs.com\/blog\/","name":"Cheesecake Labs","description":"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","name":"Victor Oliveira","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/10\/victor-300x300.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/10\/victor-300x300.jpg","caption":"Victor Oliveira"},"description":"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.","url":"https:\/\/cheesecakelabs.com\/blog\/autor\/victor\/"}]}},"_links":{"self":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/2577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=2577"}],"version-history":[{"count":1,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/2577\/revisions"}],"predecessor-version":[{"id":10353,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/2577\/revisions\/10353"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media\/2939"}],"wp:attachment":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=2577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=2577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=2577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}