Our standard delivery model at Devbridge employs the tools, infrastructure, and practices necessary to efficiently facilitate distributed work–that’s how we’ve been operating for over twelve years across our five global offices. In the past several weeks, we’ve added additional tools and capabilities to facilitate virtual workshops, guaranteeing that requirements, project kickoffs, and retrospectives can take place online for the whole distributed team. Anticipating school closures, we have requested employees to work from home, and the transition was effortless. In this article, I’ll share the framework we use to enable our team of close to five hundred employees to deliver results for our clients.
An obvious category, here are the tools necessary to do work in not only a distributed but also a cross-functional team. Tools provide the means for the team to reduce ambiguity, clearly articulate priorities, collaborate, as well as track performance.
- Virtual meetings - we use Zoom to facilitate meetings, Agile rituals, and other sessions. Zoom allows us to record sessions as well as automatically transcribes what has been discussed. Using video in sessions is a must.
- Story mapping and requirement gathering is done with Miro, enabling the team to facilitate lean requirements workshops remotely, run ideation, story mapping, and other discovery activities.
- Backlog and documentation reside in the Atlassian suite of products–Jira and Confluence specifically. Jira is used to distribute work inside the team, capture acceptance criteria, share artifacts, and more.
- Source code is stored in Bitbucket, Git, and a variety of other repositories depending on client requirements.
- Communication is facilitated by the de facto standard, Slack. Collaboration, chat, and social interactions all flow through a myriad of administered channels. Project-specific channels and company channels distribute necessary announcements.
- Organizational and project metrics flow through a suite of homebrew applications such as PowerUp, DevBooks, DevRevenue, TeamApp, DBTV, and others.
Technically some of the items in this list are not infrastructure, but I see all of the items as foundational requirements that an organization needs to have in place to enable an individual to contribute outside of the physical office space.
- All employees work on dedicated company laptops.
- A VPN connection is used when internal network resources are necessary. The majority of products are SaaS offerings; the on-prem footprint is intentionally minimized.
- Dual-factor authentication is used across tools.
- Mobile device management is implemented on company devices to guarantee timely delivery of updates, security patches, remote wipes, encryption, etc.
- Microsoft OneDrive is the selected file repository, providing the necessary permissions control across accounts and projects.
- Microsoft Office 365 is used for core business functionality such as email, word processing, etc.
- Azure, AWS, and other environments are configured and set up based on client-specific requirements. Tunnels are set up between necessary endpoints if remote access is needed.
Outside of infrastructure and tools, process (I’m being liberal in what I call process here) is the glue that holds distributed people working together. Teams that work remotely have to put in extra effort to communicate, lower availability barriers, and set expectations around online meetings. Some of these best practices are taken care of by following Scrum ceremonies, others are the responsibility of the team and should be embedded in working contracts.
- Empathy and cultural awareness. Distributed teams work across multiple time zones, in various geographies (and thus cultures). It’s important for the team to establish rules of the road in terms of convenient times for everyone to collaborate. For example, the practice in North America is to schedule daily rituals from 7 AM CST to 10 AM CST so that our colleagues in Europe end work at a reasonable time. All participants are required to use video during rituals and refrain from doing other work during the session. There are agreed upon “off” hours to give ample time for recovery and avoid the invasion of family life.
- Communication. Communicate a lot. We think of communication as a multi-layer practice that initiates peer to peer and then elevates to the team, squad, office, and organizational level. As I wrote in my transparency article, we invest time to communicate using 360 feedback, monthly office “Let’s talk” events, practice updates, quarterly performance updates, video updates, as well as daily standups, and other Scrum rituals.
- The Secret Source. This is what Devbridge calls our discovery, design, and delivery process which is built on top of a Scrum framework. Laura, Managing Director at Devbridge, wrote a great article on remote workshops, which is the ingestion phase of any new engagement. Once requirements are defined, research performed, we switch to typical Scrum rituals such as planning sessions, refining, standups, demos, retrospectives, and more. We use State of the Union sessions with our clients to reflect on larger bodies of work and establish longer-term strategies. All of these activities are performed using online meetings via Zoom.
Starting this week, all of our teams are working from home, doing what we’ve done for over twelve years in the comfort (or discomfort) of a kitchen, playroom, den, or couch. On our daily video calls, we break the ice by mocking people who hoard toilet paper and then get on with business–doing our part to keep this economy going. I'm sure we'll miss hanging out in the kitchen and reflecting on war stories with our clients at the bar, but this is temporary. For now, stay healthy, stay responsible, work from home, and binge watch Netflix at night. We’ll get through this in no time!