Choosing an Outsourcing Solution
When choosing an outsourced solution, there are different options for how teams will be distributed geographically. The challenge in outsourcing is providing the customer with a solution that is not only cost-effective but faster and of higher quality than what a local market or internal hiring process can provide, with less risk and other benefits that come from finding the right strategic partner.
Where these teams and team members are physically on any given day is mostly invisible to the customer and decision-makers. The evolution of communication platforms in all formats – text, audio, video – has led to a world in which physical location is largely ubiquitous for the majority of tasks we perform. However, some activities in software development benefit significantly from physical proximity for immediate communication, building a team culture and trust and collaborative exercises, like whiteboard sessions.
In Remote versus Co-Located Work, Martin Fowler states the benefits of distributed teams but falls short of endorsing virtual or remote teams. But he also recognizes that he is influenced by his own experience. His generation was not born into a world in clouds and containers technology, Slack, GitHub and a myriad of other tools and platforms that can be accessed from anywhere. Also, his argument is based on his (well-informed) opinion more than any data or metrics. I would argue that the ubiquity of location itself makes this very challenging to study or track. VPNs allow us to securely access network resources while hiding our location with a new IP address.
Having spent the better part of a decade working remotely, I am a proponent of its benefits. Control over your time and working environment mean you can configure it to be most productive without losing any time in commuting. Costs are significantly reduced for both the company and the worker. Unless your business is real estate, then maintaining a physical office is not directly adding value to your core business. But that does not mean that you might not need custom real estate software development.
Critics would argue that a remote workforce adds risk – how can you trust your employees to be productive if you cannot actually see them? How do you know they are working? Are they able to organize themselves? Are they working in secure locations?
My answer to these questions is very simple. The highest performers will mitigate these risks for you.
A high performer will want to maximize both her productivity and her time spent doing things she enjoys. By allowing her the autonomy to organize, you are maximizing output. Having worked in virtual teams, I can guarantee you that this is a huge incentive. So if there are specific security or productivity concerns, there is more incentive to address them.
But regardless of where someone physically sits, if someone does not perform, I do not think an office environment will significantly improve their performance. Yes, you can look over their shoulder and keep track of coffee breaks, but then you need to question whether you want team members like this in the first place.
Highly skilled remote workers also tend to over-communicate – they know how crucial this is, and seek to optimize communication to overcome physical distance. Critics often say that there is nothing as effective as face-to-face communication between team members, to which I would say, you’re right! But what they do not recognize is that different activities may have distinctly effective forms of communication, just like different people have different communication styles.
For example, a project kick-off. Team members meet for the first time, engage in planning and design activities, transfer knowledge and establish the culture and rules of engagement for a project. In my experience, this is best done in-person, over a one or two week period. There is no virtual substitute as effective.
But we do not kick off projects or having whiteboard sessions on a daily basis. Once the epics and stories are written and assigned to sprints, most of the activity a team engages in is implementation. An interruption-free environment is vital for maintaining the deep focus required to perform the majority of these tasks.
A hybrid approach bringing remote workers together for some activities, then working virtually for others, allows us to optimize physical location. The cost savings in maintaining large office spaces and infrastructure pays the short-term travel expenses. With the rise of co-working spaces and low-cost airlines, the business case for this model of working in teams practically writes itself.
Humans live based on routines, and it will take years to break the mental habit that causes us to associate going to a physical office with productivity. When choosing team composition and location, I recommend that you separate your concerns as much as possible to best optimize your resources. Generally speaking, these concerns are:
Never have we had so many tools available to measure productivity. When establishing the ground rules for your project, make processes as clear as possible, setting expectations based on well-defined metrics. This should be done with any project, but particularly with virtual teams. You may be surprised that these team members quickly exceed your expectations and begin demanding more work to be done! This is also common in my experience and pushes everyone to improve, especially with maintaining a well-organized backlog of tasks for these teams.
Creating policies and procedures for remote access is a valuable information security exercise. If your organization does not have these solidly in place and regularly audited, revisiting them to support remote work is an opportunity. Provide virtual teams with exact requirements for hardware, software and network access prior to on-boarding. If teams need to access sensitive data, put in place the proper controls so that this data cannot be copied or downloaded. For most software development and testing tasks, I have found that obfuscating and creating sample data sets often removes any real need to access sensitive data.
On the other hand, I am often surprised by how little attention is paid to these same policies and controls once you are inside a physical office. As a remote worker, I protect my home office because it is also part of my home, physically and virtually. You will find that skilled remote workers are more security conscious for this same reason, and have a deeply vested interest in complying with your organization’s standards and policies.
Effective communication, like productivity metrics, must be established, agreed upon and documented when beginning any project. Failure in team communication and misalignment can occur when people sit next to each other in a shared space. Like security, working with virtual teams obliges us to add discipline in our projects. If there are no network issues, virtual teams communicate with the same immediacy as co-located teams, and often it is easier to Slack someone than get up from your desk and walk across a room. But established rules and expectations should be respected. For example, response to specific email subjects or Slack channel messages should have timing based on urgency and priority that teams will respect.
Also, do not forget that different activities may require different kinds of communication, and having remote teams meet up for specific rituals or milestones is always an option and a cost balanced by the value you get from creating virtual teams.