Before building our design system it is essential that the team is aligned on the shared goal we are working toward. Our goals definitely will evolve over time & we will realign priorities based on that, which is very normal. We need to ensure that these changes are communicated through the design system’s purpose and shared values. This will let us make better decisions & most importantly trade-offs to achieve the one purpose we have set out for our product.
Then the principles will be set such that the outcomes favor the purpose.
A purpose should be able to picturise a few things -
- User - Who are we solving this for, what sort of persona we are building the product for.
- Value - What is the value we want to create for the user.
- Uniqueness - How are we different from others offering similar value.
Based on Manish’s memo on Dgraph Cloud, I am summarising the purpose as follows -
We want to enable application developers to focus on application development by ridiculously simplifying backend development with zero management using a simple developer-friendly interface.
User - Application developers, frontend developers & full-stack developers who want to ship faster, iterate more, and focus on product growth over managing infrastructure.
Value - More time for app development, enable faster iterations, less time spent on building a scalable infrastructure.
Uniqueness - Zero learning curve. You don’t need a workshop or a tutorial to set this up running. Just sign up and launch your GraphQL backend in one-click. It’s self-serve.
Note - If you feel the essence in purpose is not reflecting the memo, do feel free to comment