For many years I have been touting the legitimacy, and even advantages, of "Virtual Agility" only to be stonewalled by the dogmatic "co-locationists" in the Agile community.
Nothing is as effective as having everyone in the same room. I get it. War rooms, Scrum rooms, and operations centers have become the normal hive of agility for those organizations that prize the value of co-location. Well, that's great for teams who are in the same geography. But, my reality is virtual. The teams I work with are distributed, remote and dispersed throughout the globe. We have had to adapt our Agile practice for a virtual world. In fact, we have found ways to thrive virtually, untethered from the constraints of the physical workspace, and to exploit the opportunities of a timeless and borderless virtual working environment.
For starters, we source talent from anywhere. We don't have to hire from a limited pool of local candidates. For many products and projects, we assembled our ideal mix of talent and skill from the entire pool of qualified workers. And in some cases, we found better talent at cheaper rates.
But, when your team is distributed across several time zones, bringing everyone together for the same workday is challenging. So, don't do it. Let your team members design their own working schedules and find a sliver of time that overlaps on everyone's calendar for stand-ups and other ceremonies.
If you must have specialists and a workflow, design it to flow from East to West, so that your daily iterations progress from the early-risers onto the late-nighters. In the utopian virtual agility world, you could even run several Scrum teams around the clock with overlapping stand-ups in-between shifts, and redline your daily velocity.
Of course when you don't have physical, in-person interactions, you will need to substitute their effectiveness with good tools. Our tool stack is primarily web-based and ubiquitous, so that our teams can work from virtually anywhere, at any time, and from any device. Since we have no war room, no Scrum room, no operation center- everything must be in the cloud. The tools we selected for our production line are cloud-based or hosted on a virtual machine. Our DevOps is more like a "VirtOps", or a virtualized ecosystem of software development and distribution tools.
While we don't see each other's happy faces every day, we do see the laser-focused, high quality, high-throughput work that each other produces every minute. Our communication rallies around tools such as Slack, that aggregate and log pertinent discussions with notifications fed from the integrated telemetry of our VirtOps ecosystem. In real-time, as it happens, we can very clearly see the decisions made and resultant actions of our agile teams. Literally managing teams by watching a channel, and following the posts in our daily iterations as they go from stand-up plans to peer reviews, to check-ins, to build notifications, to test results and ultimately feedback. We place a much greater emphasis on showing us your work online and in channels rather than telling us about it in a meeting.
We have proven time and time again that we can be just as agile, and even more agile, than co-located teams. We have found clever ways to use our virtualization to promote our own agility. In our virtual agile world, we have removed travel and time as impediments to our responsiveness. We have replaced in-person interactions with robust digital communication tools and broad information aggregators. In the end, "we have [uncovered] better ways of developing software by doing it" remotely, and "have come to value" Virtual Agility.