Introducing GraphQL Schema Storming
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.
Let us help you on your journey to Quality Faster
We at Xolvio specialize in helping our clients get more for less. We can get you to the holy grail of continuous deployment where every commit can go to production — and yes, even for large enterprises.
Feel free to schedule a call or send us a message below to see how we can help.
orBook a call
Event Storming: The Visual Requirements Facilitation Technique to Accelerate Software Design and Development
An introduction to the fun and effective workshop technique that unlocks heightened levels of collaboration across silo and specialization boundaries.
Escape and Xolvio Introduce GraphQL Security Review and Remediation Services
Announcing our official partnership with Escape to help teams secure their GraphQL APIs.
How to Move from BFFs to GraphQL Federation
This tutorial and code repo demonstrate an optimal migration path of a scaled BFF architecture to a federated Apollo GraphQL API.