EGOS Methodology For Managing Design Systems
I've met about a hundred different design system teams since starting in the industry. Through work, social outings, through Arcade selling design token management software and now through Hermae selling design system intelligence software.
Through selling, we have to start with a discovery phase, where we learn as much as we can about our potential customer. These are almost always design system teams, and even today, I'm shocked by how unique each of these teams are. Everyone has the same job titles, but each team is in a drastically different position than the next. Some are in a great position to succeed, but believe it or not, most aren't. Perhaps that's why they come to me.
After years of these discovery calls, I've noticed a few patterns that the most successful teams employ. They might not call it by the same term, but they express the same sentiments.
Below I outline a methodology derived from my learnings over the years, a methodology that I believe fosters a powerful design system team (or frontend infrastructure, frontend platform, foundations, whatever you call it...).
I present: EGOS. Efficiency, Guidance, Observability, and Synchronization. The very best teams exemplify these qualities. I believe by following these four pillars as closely as possible, any team, no matter what position they're in, can transform into a powerhouse unit within their organization.
Efficiency
A good system team remembers that their first priority is to enable organizational efficiency. They are the stewards of product craftsmanship, consistency, and speed, and they provide the tools to accomplish those goals. They avoid unnecessary complexity. They enable an organization to scale rapidly with confidence. They implement solutions and their work does not cause headaches for others.
Guidance
A good system team understands they're leaders in the organization. They implement foundational patterns and best practices to guide the rest of the team. They strive to deliver a remarkable experience for others using the system. This includes excellence in onboarding, instruction, documentation, peer-programming, supplemental material, and mentoring.
Observability
A good system team knows that their product is not perfect, and their work is never finished. They know what is being used and what is not being used. They have tools to know where and what to optimize, where the system succeeds and where the system fails. They collect data and generate reports on different metrics that define system health and performance. They quantitatively understand how their system impacts the business and organization as a whole, and understand how to use this information to improve the system.
Synchronization
A good system team knows that their work is not performed in a silo, but is a coordinated effort that supports multiple entities across an organization. They know their system will evolve over time, and it's their responsibility to keep people and output in sync with their system. They communicate regularly about system efforts and changes. Synchronization between design and engineering is a top priority, with neither outpacing the other.
Does your team follow these principles? Is there something important you think I'm missing? Let me know.