In a Remote-First World, Strategic Developer Alignment is More Crucial Than Ever
Recent research from Coding Sans reveals that nearly 98% percent of tech companies allow their developers to work remotely. In addition to obvious pandemic-related reasons, the rationale for embracing remote work is that it helps attract and retain top talent from a wider candidate pool. Still, according to Coding Sans, the ubiquity of remote work has introduced a serious problem: It’s now more difficult for developers to communicate with one another.
I’d argue that remote developers are communicating with one another well enough. Slack, Jira, GitHub issues and Wikis, Google Docs and Zoom calls work just fine for discussing small problems and simple fixes asynchronously. But as Erin Blaskie astutely blogged, most remote communication is so very transactional. It’s become all about “the zeros and ones, the inputs and outputs.”
How can technical leaders communicate complex, multi-stage, strategic goals across teams of developers spanning the globe? This is the real communication challenge we’re facing in a remote-first world: Keeping developers aligned and creatively engaged with strategic technical objectives.
Don’t Discount the Operational and Financial Consequences
As goals for technical agility become more complex, and development teams become increasingly distributed, it’s incredibly difficult to communicate and respond quickly to changing, strategic priorities. Maintaining fidelity of information across sprawling platforms and via different interfaces is a challenge even for the most well-staffed teams. And knowing where and when to look for strategic information isn’t easy for developers, no matter how many alerts we enable.
Misunderstanding requirements and failing to communicate effectively across development, security, QA and UX teams results in the wrong work being done and poor quality of delivery. It’s also why nearly 50% of developers feel the most challenging trade-off they face is improving structural quality (a strategic technical goal) vs. delivering features faster, according to a survey we’ve been conducting.
When it comes to code-specific alignment issues, Stripe reports that the average developer spends almost half their work week on debugging and refactoring alone. Alarmingly, they also found that developers devote nearly four hours a week to “bad code,” which equates to nearly $85 billion in annual lost opportunity costs.
Complex Topics Require New Ways of Sharing Knowledge
A likely culprit driving these staggering lost productivity costs is the fact that complex, technical topics require a different level of information sharing to get everyone to the same depth of understanding and alignment. The more complex the topic, the more context everyone needs to get on the same page. Otherwise, we’re all working from different mental models built from our own vantage points – which may or may not be anywhere near the truth. And this information sharing can’t just happen once. It must be made inescapable so developers always remain aligned and don’t veer off course.
The truth is, so many technical issues go unaddressed simply because they’re too burdensome to document and describe, draw attention to and rework. Too often, we end up relying on individual initiative to shed light on lurking issues requiring rework, or it takes a major public screw-up to identify areas where design and innovation investment are desperately needed. Case in point: 66% of the developers we surveyed said it takes a “critical event” like a security breach to trigger an audit of structural software quality.
Information Needs to be Woven into Existing Workflows
This is why it’s more crucial than ever to weave decisions, directives, architectures, priorities and metrics into existing developer communication and workflows. The nature of remote software development demands that individuals be able to self-adjust and realign independently – without the burden of needing to hunt for information on their own.
This is what we’re working to provide with AppMap: A way for developers to consistently add value by bringing strategic, technical information TO them where they already work. By delivering big and small picture views directly to developers’ code editors, AppMap removes the need to constantly context switch between different websites and applications. Our goal is for AppMap assets to serve as a source of trust that developers can take with them wherever they work and communicate, whether it’s across Slack, GitLab, GitHub and/or Jira.
What Do You Use to Strategically Align Devs?
Is AppMap a fix-all for developer misalignment and communication woes? Certainly not. This is too big of a problem for one tool to solve on its own. In fact, our own team augments AppMap data with daily standups, ad-hoc Slack and Zoom calls, and weekly in-person AMA meetings with team leaders.
It’s not easy scheduling face-to-face time together and we’re careful not to litter each other’s calendars with meetings, but sharing information is very different than communicating. In a remote-first world, it’s not enough to just share an AppMap, a user-test report or a slew of performance metrics. To get our team participating strategically vs. transactionally, we’ve learned that we also need to discuss whatever data we share via multiple forms of communication. Because we’re human beings! We need more than just asynchronous, transactional communication to do our best work.
What about you? How are you working to strategically align and engage your distributed development team? What’s working, what’s not? Send me a note if you’re willing to share.