November 2, 2023

Introducing GraphQL Schema Storming

Author

How to annotate user experiences in a collaborative fashion to facilitate and accelerate GraphQL schema design.

Somewhat ironically, while breaking monoliths into microservices solves the problems of scalability, maintainability, and team autonomy, it also creates a new challenge—the distributed data need to be brought back together again to populate user experiences.

In highly complex, enterprise environments, federated GraphQL APIs are the definitive solution to said challenge. But how do you even get started with creating a unified API ecosystem that spans across your entire engineering organization? How do you collaborate on the supergraph between numerous teams, both internal and external, distributed across multiple time zones?

At Xolvio, we believe that requirements gathering is the most challenging aspect of software delivery. That's why we employ visual requirements facilitation techniques such as event storming to bring teams together and ensure everyone is working in the same direction, despite the complexity.

In the spirit of uncovering better ways of developing software, through our extensive collaboration with numerous enterprise clients, we discovered that, with a few modifications, event storming can be adapted to federated GraphQL schema design. Thus, schema storming was born.

What is schema storming?

Essentially, schema storming is a workshop technique that visualizes demand-driven schema design by annotating UI elements to map the demand for data in a given user journey. These annotations act as a bridge between the experience and the GraphQL schema.

This simple yet powerful concept facilitates healthy discussions and speeds up schema design. Consequently, schema storming helps overcome analysis paralysis, so often associated with large-scale upfront design.

While schema storming is rooted in the demand-oriented approach to schema design, it is perfectly compatible with a code-first implementation. For example, backend teams can use the schema as a test case and leverage code-first tools without sacrificing the streamlined schema-first workflow.

At GraphQL Summit 2023, Sam Combs, Senior Software Engineer at Xolvio, introduced schema storming to a wider audience. Watch his session below and discover:

  • How to quickly design a GraphQL schema using schema storming
  • How to evolve your schema as your experiences change
  • How to leverage code-first classes and resolvers to test your schema at scale

Let me know if you have any questions or thoughts in the comments below.

Keep reading