5 insights on GraphQL adoption in the enterprise
Or what I learned from the Humans in the Graph roundtable at the GraphQL Summit.
GraphQL seems to be leading the charge in what some call the API revolution. At the very least, it definitely looks like it’s gaining popularity among enterprises. According to a recent DZone survey GraphQL accounts for 22.7% of application integrations, which is rather impressive considering the fact that the first stable release of this API architecture came only in 2018.
That’s no wonder though when you consider the reasons for GraphQL adoption cited by the survey’s respondents: faster app performance, faster client development, wanting to support multiple clients with one API, and unifying customer experiences across different clients/business segments.
Despite these great benefits, enterprise GraphQL adoption is no easy feat due to the change in mindset and in approach to team collaboration this technology requires. During the last GraphQL Summit, engineers from Netflix, Expedia Group, and Zillow Group sat down to discuss their experiences in company-wide adoption of this query language and shared invaluable tips for those embarking on the transformative journey that is incorporating GraphQL.
Here are 5 insights I put together from that discussion panel:
1. Overcoming the fear of the unknown
Technologists like to think of themselves as rational and objective. However, the truth is that we’re all just humans that carry evolutionary “baggage”, so to speak, which inevitably governs our reactions on an emotional level.
If you take a social neuroscience perspective, a lot of human behavior is motivated by the drive to minimize threats. There are trigger areas in that regard, such as fairness, certainty, or autonomy. All of these can be observed to surface in response to technical proposals. For example, introducing a new technology at an organization can make people uncertain about how it's going to impact them or if their skills are going to be made obsolete.
A unified graph in particular might threaten the idea of a team's autonomy. Now, because areas like certainty or autonomy are identified by the amygdala, a survival mechanism is triggered that tells us to run away from this technical proposal. Due to this hard-wired human reaction to new technology, friction and conflict are inevitable in the process of GraphQL adoption.
How do you overcome that then? One way to do it is to shift focus from the solution (GraphQL) to the outcome—what you’re trying to achieve using this technology. This helps establish a common ground that contributes to building trust. Such an outcome focus can help minimize friction when all parties agree the current state is unacceptable. Coming to that conclusion together can mitigate the fear of change.
2. Instigating a collaborative company culture
The fear of the unknown should be called out explicitly with teams to help normalize it as a natural human reaction. Once they feel sympathized with and can come to grips with their emotions, it’s time for education.
However, it’s not enough to just throw tutorials and code samples at people, and hope for the best. Learning an entirely new thing can be discouraging to some. Again, they need to be sympathized with and encouraged to approach it in a one-step-at-a-time fashion.
Training aside, in the case of Zillow Group, the GraphQL champions fostering adoption also paired with teams when necessary to move forward. What’s interesting is that this led to the champions learning from those teams’ experience which in turn helped them refine their vision for GraphQL at the company.
This may have not been possible if not for Zillow Group’s core value of ''better together”, which assumes learning from others all the time. It fostered a positive, collaborative culture that, combined with a solid dose of empathy, helped promote GraphQL adoption.
3. Employing GraphQL to solve stakeholder problems
When Zillow Group was to federate their monolithic graphs, their GraphQL champions faced a challenge to generate trust in the vision they had across the company and with their senior leadership. The way they approached this was to talk in terms of the other person's interests. This meant figuring out what those stakeholders and those partners really cared about and talking to them in their language.
In some cases it was all about focusing on their objectives and key results, which was in line with the mechanism the company uses for setting goals and tracking progress. Other times they explicitly linked their goals to the company's mission, or demonstrated how the graph will be instrumental in high profile projects and initiatives.
Similarly to Zillow Group, GraphQL champions at Expedia Group needed to empathize with teams across the company to advocate for adoption. They did this by adopting a product mindset towards GraphQL in order to figure out the pain points experienced by the respective teams which could be tackled through the technology.
Consequently, they focused on listening tours combined with education and were able to pile up small wins across the organization, eventually getting universal buy-in.
“The technology is pretty straightforward. The key to GraphQL adoption is in using it to solve people’s problems.”
Jim Gust, Expedia Group
4. A chance to improve architecture
On the one hand, Graph QL is just a query language. On the other hand, however, implementing GraphQL enables one to rethink their architecture. Since technical architecture and organizational structure are closely connected, it also gives an opportunity to reshape how teams interact with one another.
Still, this requires a change in mindset. At Netflix, this mindset change was turning to API-first product development. This meant a cross-functional team (backend + frontend) focused on a feature could work together on the API upfront. While this may be a big shift, it does pay off, because it allows for rapid iteration.
5. Picking areas that promise the biggest gains
It’s important to accommodate for the fact that some people may embrace the new mindset quicker than others. That’s okay. It makes little sense to expect otherwise and try to bring everyone along quickly. However, the crucial thing is to pick the areas where adoption pays off the most.
This means focusing on opportunities to simplify architecture, improve customer experience, and increase developer velocity. That’s where one needs to invest more resources and partner more closely with teams to help them embrace the GraphQL mindset. Ultimately, the overall gain from this will be freeing up people so that they have more time to work on and solve interesting problems, delivering more value for the business.
Final words
Something that seemed to pop up again and again in the Humans in the Graph roundtable was the necessity to embrace small wins. Adopting GraphQL in a big company doesn’t happen overnight. It’s a process that involves numerous people and requires a great deal of empathy and emotional intelligence skills.
That said, not everyone can nor should be a people-influencing GraphQL champion. Someone that's unqualified or uncommitted to this great task shouldn’t be in a position to evangelize others, and instead should do what they’re good at. Nonetheless, they can still work on small wins towards adoption, which accumulate over time to make the big change happen.
Getting internal alignment and buy-in on GraphQL can be tough. However, this can be greatly facilitated with external help. At Xolvio, we boast enterprise-grade experience working on GraphQL implementations with the likes of Audi or Wayfair.
Our GraphQL professional services go well beyond software engineering and include internal alignment support across the organization. We have been part of Apollo GraphQL’s journey from the very beginning, so you can count on us to get absolute confidence in your graph using Apollo’s best-in-class tooling.
Let me know if you have any questions or thoughts in the comments below.