Dataset entry

Mdg Design Patterns Pack V0 1

DAMA mdg_byte mdg_design_patterns_pack_v0_1
Architecture patterns for SAP MDG / MDM programs covering Create, Update, Migration/Cutover, and Day-2 operations.

Attribution

Creator: Dzmitryi Kharlanau (SAP Lead).

Canonical: https://dkharlanau.github.io/datasets/DAMA/mdg_design_patterns_pack_v0_1.json

LinkedIn

JSON (copy / reuse)
{
  "id": "mdg_design_patterns_pack_v0_1",
  "type": "pattern_pack",
  "purpose": "Architecture patterns for SAP MDG / MDM programs covering Create, Update, Migration/Cutover, and Day-2 operations.",
  "version": "0.1",
  "patterns": [
    {
      "pattern_id": "pat_system_of_record_boundary",
      "title": "System-of-Record Boundary",
      "category": "foundation",
      "problem": "Teams change master data in multiple systems and then argue where the truth is; replication issues become endless.",
      "forces": [
        "Business needs speed",
        "Downstream systems have constraints and custom logic",
        "Auditability requires one accountable source"
      ],
      "solution": "Define for each attribute group a single System of Record and explicitly define what is allowed downstream (read-only copy vs local-only fields). Enforce 'no silent fixes' in targets.",
      "mdg_mechanics": [
        "AttributeGroup registry: canonical_source + replication_targets",
        "Governance policy: bypass forbidden unless exception",
        "Runbook for replication errors"
      ],
      "pitfalls": [
        "Not defining exceptions (people will bypass anyway)",
        "Leaving 'gray zones' where both systems can change the same fields"
      ],
      "evidence_metrics": [
        "bypass_rate",
        "manual_post_replication_fix_rate"
      ],
      "best_for": [
        "BP",
        "Material",
        "Reference Data"
      ]
    },
    {
      "pattern_id": "pat_attribute_group_tiering",
      "title": "Attribute-Group Tiering (Tier1/2/3) + Control Strength",
      "category": "governance_design",
      "problem": "Governance becomes heavy everywhere or weak everywhere. Both lead to bypass and drift.",
      "solution": "Tier attribute groups by risk/value and map tiers to control strength (error/warn/report), workflow strictness, and exception policy.",
      "mdg_mechanics": [
        "Tier drives validation severity and routing",
        "Tier1: blocking + owner decision + expiry exceptions",
        "Tier3: guidance + derivation + minimal approval"
      ],
      "pitfalls": [
        "Tiering by politics not by impact",
        "Too many Tier1 groups (capacity collapse)"
      ],
      "evidence_metrics": [
        "approval_cycle_time_p90",
        "bypass_rate",
        "exception_repeat_rate"
      ],
      "best_for": [
        "Scaling governance",
        "Reducing friction"
      ]
    },
    {
      "pattern_id": "pat_create_with_guided_entry",
      "title": "Create with Guided Entry (Prevent Rework)",
      "category": "create",
      "problem": "New master data creation creates rework loops and delays because requesters don’t understand what fields mean and what values are valid.",
      "solution": "Provide guided entry: glossary snippets, examples, allowed values, defaulting/derivations, and steward precheck before owner approval.",
      "mdg_mechanics": [
        "Steward checklist pre-routing",
        "Glossary term links on UI fields",
        "Derivations for low-risk fields"
      ],
      "pitfalls": [
        "Only adding validations (blocking) without guidance",
        "Letting AI invent values without LoV sources"
      ],
      "evidence_metrics": [
        "rework_loops_per_cr",
        "approval_cycle_time_p90"
      ],
      "best_for": [
        "BP onboarding",
        "Material creation"
      ]
    },
    {
      "pattern_id": "pat_change_request_funnel",
      "title": "CR Funnel: Triage → Decide → Improve (Not only Approve)",
      "category": "update",
      "problem": "Everything becomes an approval problem; repeated exceptions indicate the system is not learning.",
      "solution": "Treat CR stream as input to improvement: triage recurring issues, route to rule lifecycle review, and maintain a governance backlog (Run + Improve).",
      "mdg_mechanics": [
        "Ticket/CR taxonomy: data issue vs rule issue vs reference mismatch vs technical replication",
        "Weekly governance ops review",
        "Rule lifecycle (keep/kill/simplify)"
      ],
      "pitfalls": [
        "Approving exceptions forever",
        "No feedback loop from incidents to rules/definitions"
      ],
      "evidence_metrics": [
        "exception_repeat_rate",
        "rule_exception_concentration",
        "repeat_incident_rate"
      ],
      "best_for": [
        "Day-2 stability"
      ]
    },
    {
      "pattern_id": "pat_rule_lifecycle_kill_simplify",
      "title": "Rule Lifecycle: Keep / Kill / Simplify",
      "category": "rule_management",
      "problem": "Rules accumulate, block business, and nobody remembers why they exist.",
      "solution": "Every rule must have intent, owner, metrics, review date, and an explicit lifecycle decision. Concentration metrics identify top pain rules.",
      "mdg_mechanics": [
        "Rule Proposal Template (no template = no rule)",
        "Review cadence for top offenders",
        "Downgrade severity or move to derivation"
      ],
      "pitfalls": [
        "Rules without owners",
        "No metrics linked to rule intent"
      ],
      "evidence_metrics": [
        "blocking_error_rate_by_rule",
        "rule_exception_concentration",
        "bypass_rate"
      ],
      "best_for": [
        "Mature MDG programs",
        "Reducing friction"
      ]
    },
    {
      "pattern_id": "pat_reference_data_alignment",
      "title": "Reference Data Alignment (LoV / Customizing Mismatch Shield)",
      "category": "reference_data",
      "problem": "Replication fails or downstream rejects values because code lists/customizing differ across systems.",
      "solution": "Maintain reference data as a governed product: registry, ownership, value mapping, and reconciliation between MDG and consumers.",
      "mdg_mechanics": [
        "Reference Data ownership per value set",
        "Value mapping artifacts",
        "Reconciliation reports and thresholds"
      ],
      "pitfalls": [
        "Treating LoV as 'config' owned by IT only",
        "Not versioning code sets"
      ],
      "evidence_metrics": [
        "customizing_mismatch_rate",
        "replication_error_rate_by_category"
      ],
      "best_for": [
        "Sales Office, Payment Terms, Incoterms, Regions"
      ]
    },
    {
      "pattern_id": "pat_dual_maintenance_bridge",
      "title": "Dual Maintenance Bridge (Temporary) with Expiry",
      "category": "migration",
      "problem": "During migration/cutover, both legacy and new systems must run. Without governance, drift explodes.",
      "solution": "If dual maintenance is unavoidable, formalize it: define which attributes can change where, enforce expiry, and reconcile differences daily/weekly.",
      "mdg_mechanics": [
        "Temporary policy with end date",
        "Reconciliation process",
        "Exception template for unavoidable local changes"
      ],
      "pitfalls": [
        "Dual maintenance without expiry becomes permanent bypass",
        "No reconciliation ownership"
      ],
      "evidence_metrics": [
        "cross_system_mismatch_rate",
        "manual_post_replication_fix_rate",
        "bypass_rate"
      ],
      "best_for": [
        "Phased rollout migrations"
      ]
    },
    {
      "pattern_id": "pat_cutover_load_with_verification",
      "title": "Cutover Load with Verification Gates",
      "category": "migration",
      "problem": "Bulk loads succeed technically but business data is wrong; defects appear only after go-live.",
      "solution": "Use gated cutover: stage → validate → dry-run → reconcile → sign-off → load → post-load verification. Verification uses contracts + Tier1 checks.",
      "mdg_mechanics": [
        "Bulk Change Plan Template",
        "Verification checklist per attribute group",
        "Post-load reconciliation vs source extracts"
      ],
      "pitfalls": [
        "Only technical success criteria (job finished)",
        "No rollback plan or no sampling verification"
      ],
      "evidence_metrics": [
        "verification_mismatch_rate",
        "bulk_change_success_rate",
        "repeat_incident_rate"
      ],
      "best_for": [
        "Big migrations",
        "S/4 transformations"
      ]
    },
    {
      "pattern_id": "pat_delta_vs_full_load_strategy",
      "title": "Delta vs Full Load Strategy (Migration & Ongoing Feeds)",
      "category": "migration",
      "problem": "Repeated full loads are slow and risky; pure delta can miss corrections and cause inconsistency.",
      "solution": "Define load strategy per entity: initial full load + periodic reconciled delta + exception correction path. Treat deltas as governed events with traceability.",
      "mdg_mechanics": [
        "Load event logging",
        "Reconciliation checkpoints",
        "Exception path for missed deltas"
      ],
      "pitfalls": [
        "Deltas without stable keys and matching rules",
        "No backfill mechanism"
      ],
      "evidence_metrics": [
        "verification_mismatch_rate",
        "repeat_error_top10_share"
      ],
      "best_for": [
        "Ongoing integration streams"
      ]
    },
    {
      "pattern_id": "pat_replication_error_taxonomy_runbooks",
      "title": "Replication Error Taxonomy + Runbooks",
      "category": "operations",
      "problem": "Replication errors are treated case-by-case; mean time to recover is high; the same failures repeat.",
      "solution": "Classify errors into categories (semantic/technical/customizing) and attach runbooks with owners, steps, and escalation rules.",
      "mdg_mechanics": [
        "Interface registry + monitoring locations",
        "Error category mapping",
        "Ops cadence and SLA"
      ],
      "pitfalls": [
        "Everything goes to IT (business semantics ignored)",
        "No ownership for semantic errors"
      ],
      "evidence_metrics": [
        "replication_error_rate_by_category",
        "mean_time_to_recover",
        "repeat_error_top10_share"
      ],
      "best_for": [
        "Web services replication",
        "AIF/IDoc landscapes"
      ]
    },
    {
      "pattern_id": "pat_mass_change_risk_controls",
      "title": "Mass Change Risk Controls (Blast Radius Management)",
      "category": "update",
      "problem": "Mass updates can cause huge blast radius; teams avoid them and do manual fixes instead.",
      "solution": "Treat mass changes as governed operations: risk tier, dry run, sampling verification, rollback capability, and post-change metric gates.",
      "mdg_mechanics": [
        "Bulk Change Plan Template",
        "Approval by risk",
        "Verification gates + monitoring"
      ],
      "pitfalls": [
        "No rollback plan",
        "No post-change verification"
      ],
      "evidence_metrics": [
        "verification_mismatch_rate",
        "manual_post_replication_fix_rate"
      ],
      "best_for": [
        "Cleansing waves",
        "Cutover fixes",
        "Reference updates"
      ]
    },
    {
      "pattern_id": "pat_governance_release_management",
      "title": "Governance Release Management (Rules/Workflow Changes without Chaos)",
      "category": "change_management",
      "problem": "Rule and workflow changes break trust; users are surprised by new blocking validations.",
      "solution": "Classify governance changes by impact (low/medium/high), communicate intent + examples, and monitor adoption KPIs after release.",
      "mdg_mechanics": [
        "Change classification (low/medium/high)",
        "Release note template linked to rule IDs",
        "Post-release monitoring (tickets, bypass, rework)"
      ],
      "pitfalls": [
        "Silent deployments",
        "Big-bang redesign"
      ],
      "evidence_metrics": [
        "support_ticket_spike_after_change",
        "bypass_rate",
        "rework_loops_per_cr"
      ],
      "best_for": [
        "Day-2 governance evolution"
      ]
    }
  ],
  "recommended_next_actions": [
    "Pick 6–8 patterns that match your project reality (BP + migration + replication + ref data).",
    "For each pattern, create one Decision Block: decision question + controls + metrics + examples.",
    "Create a 'Migration Playbook' page that sequences patterns: SoR boundary → tiering → cutover gates → delta strategy → runbooks → day-2 cadence."
  ],
  "meta": {
    "schema": "dkharlanau.dataset.byte",
    "schema_version": "1.1",
    "dataset": "DAMA",
    "source_project": "cv-ai",
    "source_path": "DAMA/mdg_design_patterns_pack_v0_1.json",
    "generated_at_utc": "2026-02-03T14:33:32+00:00",
    "creator": {
      "name": "Dzmitryi Kharlanau",
      "role": "SAP Lead",
      "website": "https://dkharlanau.github.io",
      "linkedin": "https://www.linkedin.com/in/dkharlanau"
    },
    "attribution": {
      "attribution_required": true,
      "preferred_citation": "Dzmitryi Kharlanau (SAP Lead). Dataset bytes: https://dkharlanau.github.io"
    },
    "license": {
      "name": "",
      "spdx": "",
      "url": ""
    },
    "links": {
      "website": "https://dkharlanau.github.io",
      "linkedin": "https://www.linkedin.com/in/dkharlanau"
    },
    "contact": {
      "preferred": "linkedin",
      "linkedin": "https://www.linkedin.com/in/dkharlanau"
    },
    "canonical_url": "https://dkharlanau.github.io/datasets/DAMA/mdg_design_patterns_pack_v0_1.json",
    "created_at_utc": "2026-02-03T14:33:32+00:00",
    "updated_at_utc": "2026-02-03T15:29:02+00:00",
    "provenance": {
      "source_type": "chat_export_extraction",
      "note": "Extracted and curated by Dzmitryi Kharlanau; enriched for attribution and crawler indexing."
    },
    "title_inferred": true,
    "entity_type": "mdg_byte",
    "entity_subtype": "version:0.1",
    "summary": "Architecture patterns for SAP MDG / MDM programs covering Create, Update, Migration/Cutover, and Day-2 operations."
  },
  "title": "Mdg Design Patterns Pack V0 1"
}