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.

Bitbucket object model Basic object model Bitbucket relationship model Basic relationship model Commit object Commit object File object File object Branch object Branch object Tag object Tag object Pull request object Pull request object

Uplay

An earlier example from my time at Ubisoft for their Uplay gaming platform.

User object User object Game object Game object Actions object Actions object Rewards object Rewards object Unit object Unit object Avatar object Avatar object Video 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 Billing inconsistencies between pure SaaS and site-based products Simplified per user billing across all products Simplified per-user billing across all products

Product architecture iterations

Initial product architecture Initial product architecture
Step towards a siteless architecture Step towards a siteless architecture Unified architecture and container model Unified architecture and container model Snippet from the blog share with Atlassian 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.

ORCA