I’ve spent the last several years building and improving existing design systems at various companies with varying levels of design maturity. I’ve developed processes and workflows to bridge design and engineering teams and lead efforts to implement better design systems practices.
I’ve studied and worked with several existing systems. While I have learned and adopted insightful approaches and workflows, no system I found encompassed the entire product development process. As a result, delivery resulted in confusion between design and engineering teams, tedious annotation practices, and missed opportunities to design a scalable approach.
I’ve worked collaboratively with engineering teams to build processes and methods that bridge design and development workflows. I’ve coached designers, engineers, and product managers on adoption approaches and helped roadmap workflows for system implementation.
As I began to build my own system, I saw ways to use a systems thinking approach to solve problems that exist elsewhere in the software development process. I approached building a design system as a universal framework that can be applied and adapted in any environment.
These tools provide transparency for feature grooming and roadmapping and can make cross-team collaboration more efficient by creating a single language for multiple needs.
A design approach that isn’t intertwined with any design or tech stack. Logic and architecture patterns defined can be applied to current, and future, technical requirements.
Everything element has one job. Components are nested and levels are defined meaning we can, and know how to, target any piece that needs to be changed.
An emphasis on object oriented design means we can model design components with product rules that translate into live product architecture.
The work shared here is an architectural, systems thinking approach that serves as the foundation for not only how I build systems, but for how I approach working with any existing system.