Why Companies are Adopting GraphQL
This article is the first in a three-part series:
- Introduction: “Introducing the GraphQL Survey Series: Insight from Successful GraphQL Adopters”
- Part 1: “Why Companies are Adopting GraphQL”
- Part 2: “What Experienced Teams Want You to Know about Migrating to GraphQL”
- Part 3: “How Companies Are Using GraphQL & What They Migrated From”
Follow us on Twitter to get notified when the upcoming articles are published.
As a team of full-stack developers, it’s relatively easy for us to list out the benefits of adopting GraphQL here at Novvum. However, after witnessing the exponential growth of GraphQL recently, we wanted to take the time to gather insights on why companies choose to switch and what outcomes they experience.
To figure this out, we sent a survey to engineers at companies of different sizes asking them why they chose to use GraphQL and how it lived up to their expectations.
We found that development velocity was the main reason why companies started using GraphQL, and nearly all of the companies felt GraphQL delivered on their expectations.
To measure what attracted companies to GraphQL, we asked them to rank each of these reasons on a scale from 1–6, 1 being the highest and 6 being the lowest.:
- Development Velocity: How quickly the team can introduce changes and add new features.
- Scalability: How easily teams can modify their code base to make a change or add something new.
- Modularity: How organized the team’s infrastructure is.
- Performance: How quickly the API responds to client requests. GraphQL is not designed to be much more performant than its incumbents, but it does reduce the number of round trips that clients have to make.
- Reliability: How many client errors have resulted from changes made to the API.
- Security: How secure user information is protected from unauthorized access. GraphQL makes no assumptions regarding security, and it is up to the teams to establish a security protocol that suits their needs.
To measure the benefits teams experienced from using GraphQL, we asked them to indicate how strongly they agree or disagree with the following statements:
- “We were able to speed up our development using GraphQL.”
- “We were able to scale our projects faster with GraphQL.”
- “It was easier to unify our APIs (e.g., Microservices, legacy endpoints, third-party services, etc.).
- “There has been an increase in performance using GraphQL.”
- “Our architecture is more stable, with decreased downtime, and fewer errors.”
We grouped our survey responses based on team size because a team with 10 engineers is very different than a team with 100 engineers. This allowed us interpret the results by comparing the characteristics of different sized companies.
Here are our findings for the reasons why teams switch to GraphQL:
Here are the improvements that teams experienced after their switch:
X-Large Teams (100 or more engineers) and Large Teams (50–100 engineers)
Wanted: Faster development speed, better scalability, better modularity
Got: Faster development, better scalability
Companies with engineering teams larger than 50 engineers are usually well-established and have a number of protocols in place to help workflow and productivity amongst team members. The most popular reasons teams of this size chose to use GraphQL was to help them develop software faster, have better scalability, and better modularity. These teams also reported that GraphQL was successful at helping them accomplish these goals.
GraphQL is primarily designed to improve developer productivity because it lets the client decide what type of data they need and eliminates the back-and-forth communication between frontend and backend engineers. Large companies are able to use these features to their advantage to speed up and improve their development velocity.
Medium Teams (10–50 engineers)
Wanted: Better modularity, higher performance
Got: Faster development, better infrastructure
Medium sized engineering teams have different characteristics than large or x-large teams. These companies are often in a transition phase from building things quickly with a small number of engineers to getting more organized and growing their team. The most popular reasons these companies started using GraphQL was to increase their modularity and performance. These companies did not experience a huge improvement to their performance after using GraphQL, but were able to speed up their development process and found it easier to unify their APIs.
GraphQL can help teams unify their existing infrastructure because it provides a way to define a single schema to incorporate different APIs and services. This can help companies of all sizes, but can be particularly useful for medium sized teams who are expanding and would benefit from putting more streamlined processes into place.
Small Teams (10 or less engineers)
Wanted: Faster development, better modularity
Got: Faster development, better scalability
Small engineering teams are often looking to find a product-market-fit and need to be very agile and adapt to change. These characteristics were reflected in our survey results, which concluded that development velocity and modularity were the two most popular reasons that small teams use GraphQL. These teams were successful, and reported quicker development speeds and scalability after switching to GraphQL.
GraphQL helps teams scale their projects because it provides a lot of flexibility. This helps small teams, which often have changing business goals, to be as adaptable as possible.
If you are considering switching to GraphQL, these results should be reassuring that companies of all sizes are getting what they hoped for out of the technology. The GraphQL community is growing rapidly, and more engineers are joining all the time. If you are planning on making the switch and need some guidance, we are here to help.