Metamodeling in Phaset
Phaset uses a metamodel to organize software across multiple dimensions. Instead of forcing everything into a single hierarchy, the metamodel lets you describe software from different perspectives simultaneously—business context, technical architecture, and team ownership.
Think of it as adding tags to your software, but structured tags that answer specific questions.
The Three Organizational Layers
Section titled “The Three Organizational Layers”Every Record in Phaset can be associated with three types of metadata:
| Concept | Question it answers | Purpose | Example |
|---|---|---|---|
| Domain | What business area? | Business context | E-commerce, Payments, Analytics |
| System | What capability? | Technical grouping | Checkout Flow, User Management |
| Group | Who owns this? | Team ownership | Platform Team, Data Engineering |
These aren’t nested—they’re orthogonal. A single Record can belong to one of each:
- Domain: E-commerce (business area)
- System: Checkout Flow (technical capability)
- Group: Payments Team (owning team)
Why Multiple Dimensions Matter
Section titled “Why Multiple Dimensions Matter”Different people care about different views of your software:
- Business stakeholders think in Domains: “How’s our E-commerce platform doing?”
- Architects think in Systems: “What’s the health of our Checkout Flow?”
- Engineers think in Groups: “What does the Payments Team own?”
- Executives think in all three: “Which team owns the Checkout capability in E-commerce, and how’s it performing?”
The metamodel lets everyone ask questions in their own language while looking at the same software.
How It Works in Practice
Section titled “How It Works in Practice”When you create a Record for a service, you can assign:
Record: Payment Gateway API├─ Domain: E-commerce (optional)├─ System: Checkout Flow (optional)└─ Group: Payments Team (optional)Now you can:
- Filter by Domain to see all E-commerce software
- Filter by System to analyze the Checkout Flow
- Filter by Group to see what Payments Team maintains
- Combine filters to see Payments Team’s work on E-commerce
Not a Strict Hierarchy
Section titled “Not a Strict Hierarchy”Unlike traditional org charts or folder structures, Phaset’s metamodel doesn’t force strict parent-child relationships:
- One System can span multiple Domains
- One Group can maintain Records across many Systems
- Records can exist without being assigned to any Domain or System
This flexibility matches reality: software doesn’t neatly fit into boxes, and forcing it to creates artificial constraints.
Key Principle: Records Are Primary
Section titled “Key Principle: Records Are Primary”Records are the foundation. Domains, Systems, and Groups exist to organize and contextualize Records—not to replace them.
You always work with Records. The metamodel just helps you:
- Find the right Records faster
- Understand their context
- Analyze them in meaningful groups
Metamodel in Action
Section titled “Metamodel in Action”Imagine a completely realistic and plausible scenarion: You work at a large e-commerce company and your payment system starts acting up, being slow during checkout. What do you do if you have to find out more about the system and the people behind it?
Without a metamodel, you’d have to browse, quite possibly, hundreds of services hoping to find the right ones.
With a metamodel it’s much simpler:
- Filter by Domain: E-commerce → a dozen services
- Filter by System: Checkout Flow → half a dozen
- Filter by Group: Payments Team → one or a few
You went from hundreds of possibilities to the most relevant services in seconds.
Getting Started
Section titled “Getting Started”- Start with Records (what you have)
- Add Groups (who owns it)
- Add Systems when you have enough Records that grouping makes sense
- Add Domains if business context matters to your stakeholders
Don’t over-engineer it upfront. The metamodel grows with your organization.