Simple Ownership Model
The CMDB Champion
For a Basic CMDB, you need one person responsible for data quality. This doesn't need to be a full-time role - typically 5-10% of someone's time.
CMDB Champion Responsibilities:
- Weekly data quality check (5 minutes)
- Onboard new team members to CMDB
- Handle data quality questions
- Decide when to upgrade to larger schema
Ideal CMDB Champion Profile:
- IT team member with broad visibility
- Detail-oriented
- Already uses JSM Assets
- Typically: IT Manager, Senior Sysadmin, or DevOps Lead
Object Type Ownership
| Object Type | Default Owner | Backup |
|---|---|---|
| Person | CMDB Champion | IT Manager |
| Server | Senior Sysadmin | CMDB Champion |
| Application | IT Manager | CMDB Champion |
RACI Matrix (Simplified)
CI Lifecycle
| Activity | CMDB Champion | IT Team Member |
|---|---|---|
| Create Person | R, A | - |
| Create Server | A | R |
| Create Application | A | R |
| Update any record | I | R |
| Delete/Retire record | A | R |
| Weekly quality check | R, A | I |
Legend: R = Responsible, A = Accountable, I = Informed, C = Consulted
Basic Data Quality Rules
Person Quality Rules
| Rule ID | Rule | Check Query |
|---|---|---|
| P-001 | All persons have email | objectType = "Person" AND Email IS EMPTY |
| P-002 | No duplicate emails | Manual review of Person list |
| P-003 | Inactive persons documented | objectType = "Person" AND Active = "Inactive" |
Server Quality Rules
| Rule ID | Rule | Check Query |
|---|---|---|
| S-001 | All servers have hostname | objectType = "Server" AND Hostname IS EMPTY |
| S-002 | Production servers have owners | objectType = "Server" AND Environment = "Production" AND "Managed By" IS EMPTY |
| S-003 | No duplicate hostnames | Manual review or objectType = "Server" ORDER BY Hostname |
| S-004 | Operational servers updated in 90 days | objectType = "Server" AND Status = "Operational" AND updated < now(-90d) |
Application Quality Rules
| Rule ID | Rule | Check Query |
|---|---|---|
| A-001 | All apps have names | objectType = "Application" AND "Application Name" IS EMPTY |
| A-002 | Production apps have owners | objectType = "Application" AND Environment = "Production" AND "Managed By" IS EMPTY |
| A-003 | Operational apps linked to servers | objectType = "Application" AND Status = "Operational" AND "Runs On" IS EMPTY |
Data Quality Scoring
Simple Scoring System
Calculate your weekly quality score:
| Check | Points |
|---|---|
| All production servers have owners | 25 |
| All production apps have owners | 25 |
| All active apps link to servers | 25 |
| No stale records (90+ days) | 15 |
| No inactive owners on active assets | 10 |
| Total | 100 |
Score Interpretation
| Score | Status | Action |
|---|---|---|
| 90-100 | Excellent | Maintain current practices |
| 70-89 | Good | Address gaps when convenient |
| 50-69 | Needs Work | Schedule time to fix issues |
| Below 50 | Critical | Prioritize CMDB cleanup |
Review Cadence
Weekly Quick Check (5 minutes)
Every Monday morning, run these queries:
1. Unowned production servers:
objectType = "Server" AND Environment = "Production" AND "Managed By" IS EMPTY
2. Unowned production apps:
objectType = "Application" AND Environment = "Production" AND "Managed By" IS EMPTY
3. Apps without servers:
objectType = "Application" AND "Runs On" IS EMPTY AND Status = "Operational"
Action: If any return results, create a task to fix within the week.
Monthly Review (30 minutes)
First Monday of each month:
- Calculate quality score using the scoring system above
- Review stale records
- Check for departed people
- Count records (People, Servers, Applications)
- Decision point: Is it time to upgrade to a larger schema?
Quarterly Review (1 hour)
Full data validation:
- Export all records to CSV
- Review for duplicates
- Verify all relationships are correct
- Update any outdated information
- Archive truly retired records
Handling Common Situations
When Someone Leaves
- Find their assets:
objectType = "Server" AND "Managed By".Name = "Departing Person"
objectType = "Application" AND "Managed By".Name = "Departing Person"
- Reassign ownership to their replacement or manager
- Update Person Active to "Inactive" - don't delete
- Document the transition date in notes if needed
When a Server is Decommissioned
- Check for applications:
objectType = "Application" AND "Runs On" = "server-hostname"
- Migrate applications to new servers first
- Update server status to "Non-Operational"
- Keep the record for historical reference
When Bad Data is Found
- Document the issue - what's wrong and how you found it
- Fix the data - correct the record
- Consider prevention - could a validation rule prevent this?
- No blame - focus on fixing, not fault-finding
Governance Checklist
Weekly (5 min)
- Run ownership check queries
- Fix any gaps found
- Note any new servers/apps needed
Monthly (30 min)
- Calculate quality score
- Review stale records
- Check departed people
- Count total records
- Assess upgrade need
Quarterly (1 hour)
- Full data validation
- Remove true duplicates
- Verify relationships
- Update outdated info
- Growth assessment
Schema Forge