Systems thinking
Summary
This page collects systems thinking methods and artifacts I’ve developed over the years to understand complex products and domains quickly.
📫 Want to learn more about my methods or go deeper on a case study? Get in touch.
Object models
Object models provide x-ray vision into the structure and relationships between primary objects within a system. They’re invaluable for onboarding to new product areas and often unlock innovative product experiences that might otherwise be missed.
Use this method when you need to:
- Quickly understand a new product or domain
- Accelerate kickoff and initial designs for new products
- Generate novel ideas for displaying objects or views
- Build alignment with developers
Credit: Much of this method comes from former mentor and stellar designer Guillaume Thoreau.
Bitbucket
These object models were created early in my Bitbucket tenure. What made them unique was defining not only the primary objects and relationships within our product, but also how they relate to Git’s native objects.
Basic object model
Basic relationship model
Commit object
File object
Branch object
Tag object
Pull request object
Uplay
An earlier example from my time at Ubisoft for their Uplay gaming platform.
User object
Game object
Actions object
Rewards object
Unit object
Avatar object
Video object
Billing models
During Atlassian’s push to deliver Enterprise plans, we struggled with complex, inconsistent product architecture and billing systems. Atlassian had a mixed product portfolio: pure SaaS products billed per-user (like Bitbucket and Trello) and products belonging to multi-product sites (like Jira and Confluence). The site-based model was a remnant of Atlassian’s server-side origins.
These models simplified the problem space and proposed a path forward: unified per-user billing and dissolution of the site-based model. While it took years to achieve, Atlassian eventually aligned on this direction.
Billing model diagrams
Billing inconsistencies between pure SaaS and site-based products
Simplified per-user billing across all products
Product architecture iterations
Initial product architecture
Step towards a siteless architecture
Unified architecture and container model
Snippet from blog shared with Atlassian
Object-oriented UX
Certification
I recently completed the Object-Oriented UX strategist certification. Following the ORCA (Objects, Relationships, CTAs, Attributes) process, OOUX offers a repeatable, pragmatic approach to delivering high-quality, consistent experiences by focusing on nouns before verbs. Having integrated the ORCA process into recent client work, I’m excited to share this approach with in-house product teams.