Dataset entry
AMS Contracts That Don’t Lie: SLAs, SLOs, and Penalties With Teeth
Classic SAP AMS uses SLAs like makeup. Modern AMS uses measurable reliability targets tied to business flows — and penalties that punish the right behavior.
Attribution
Creator: Dzmitryi Kharlanau (SAP Lead).
Canonical: https://dkharlanau.github.io/datasets/ams/ams-010.json
JSON (copy / reuse)
{
"id": "ams-010",
"title": "AMS Contracts That Don’t Lie: SLAs, SLOs, and Penalties With Teeth",
"hook": "Classic SAP AMS uses SLAs like makeup. Modern AMS uses measurable reliability targets tied to business flows — and penalties that punish the right behavior.",
"idea": "Penalties should not force ticket games. They should force prevention, fast detection, and clean changes. The contract must reward stability, not activity.",
"sap_scope": {
"what_we_measure": [
"Incident handling (restore service)",
"Problem elimination (remove recurrence)",
"Change delivery (safe speed)",
"Availability of critical business flows (not just system uptime)",
"Interface health (queues, error rates, delays)"
],
"what_we_do_not_measure": [
"Ticket count closed",
"Hours logged without outcome",
"SLA met while users still blocked"
]
},
"definitions": {
"sla": "Response/restore promises (service desk mechanics).",
"slo": "Reliability objectives for business flows (what the business actually feels).",
"error_budget": "Allowed failure capacity per period; when spent, you stop risky change and do stability work."
},
"slo_catalog_examples": [
{
"flow": "OTC: Order → Delivery → Billing",
"slo": "99.x% flow success during business hours",
"signals": [
"Backlog of stuck documents",
"Billing failures by error cluster",
"Interface delay if external tax/pricing involved"
]
},
{
"flow": "P2P: PR/PO → GR → Invoice",
"slo": "Invoice posting success rate + max delay thresholds",
"signals": [
"IDoc/EDI queue delays",
"MIRO error clusters",
"GR/IR reconciliation drift"
]
},
{
"flow": "MDM/MDG replication",
"slo": "Replication latency and error rate thresholds",
"signals": [
"Replication backlog velocity",
"Failed mappings / value translations",
"Delta vs expected volumes"
]
}
],
"contract_design_rules": [
"Every SLA must map to a measurable user impact, not an internal timestamp game.",
"Penalty triggers must be based on verified business impact or SLO breach, not on 'someone complained'.",
"Include a prevention clause: repeated issues reduce vendor score more than one big outage.",
"Protect the landscape: when error budget is burned, non-critical changes pause automatically."
],
"penalties_that_work": {
"good_penalties": [
"SLO breach penalties (flow downtime minutes, replication delay beyond threshold)",
"Repeat-incident penalties (same root cause returns within 30/60 days)",
"Change-induced incident penalties (regression from deployments)",
"Missing evidence penalties (RCA without proof, changes without test traceability)"
],
"bad_penalties": [
"Punishing slow response for low-impact noise",
"Penalizing honest escalation",
"Penalizing automation that reduces ticket volume"
],
"balancing_mechanisms": [
"Force majeure / upstream dependency clauses (vendor, network, SAP cloud outage)",
"‘Quality credits’: vendor earns back points by eliminating demand drivers",
"Joint root-cause ownership for cross-team issues"
]
},
"governance": {
"cadence": [
"Daily: 15-min triage (only decisions, no storytelling)",
"Weekly: stability + top demand drivers review",
"Monthly: scorecard + penalties/credits settlement + roadmap reset",
"Quarterly: contract/SLO recalibration to business priorities"
],
"decision_gates": [
"Emergency change gate (requires: impact, rollback, verification checks)",
"Normal change gate (requires: blast radius + test evidence)",
"Problem gate (requires: RCA + prevention action with deadline)"
]
},
"coordination_model": {
"roles": [
{
"name": "Incident Commander",
"purpose": "Owns timeline, comms, and recovery plan (not necessarily the fixer)."
},
{
"name": "Domain Owner",
"purpose": "Owns diagnosis and permanent fix for a functional area (OTC/P2P/etc.)."
},
{
"name": "Change Captain",
"purpose": "Owns safe delivery, test evidence, rollback readiness."
},
{
"name": "Interface Steward",
"purpose": "Owns integration contracts, mappings, monitoring and backlog health."
}
],
"cross_team_handshake": [
"Upstream/downstream ownership clearly defined per interface.",
"Escalations must include: evidence, hypothesis, and requested action.",
"No ‘ping-pong’: one accountable owner holds the issue until resolution."
]
},
"automation": {
"copilot_moves": [
"Convert incidents into an impact timeline automatically (what happened when).",
"Calculate SLO breach minutes from signals, not from human estimates.",
"Draft penalty/credit evidence packs (logs, incident clustering, change links).",
"Suggest when error budget is burned and which changes should pause."
],
"controls": [
"Audit trail for every metric and how it was computed",
"Masking rules for sensitive data",
"Human approval for penalty attribution when dependencies are shared"
]
},
"metrics_bundle_for_scorecard": {
"stability": [
"SLO compliance per critical flow",
"MTTD / MTTR",
"Repeat incident rate",
"Change-induced incident rate"
],
"flow": [
"Lead time to change",
"Backlog age distribution",
"Escalation quality (evidence completeness)"
],
"economics": [
"Cost-to-serve per domain",
"Top 10 demand drivers share (%)",
"Automation/self-service deflection rate"
],
"learning": [
"Problem backlog burn-down",
"KB freshness (articles updated in last 90 days)",
"Runbook coverage for top signals"
]
},
"anti_patterns_to_kill": [
"Contracts that reward ticket volume",
"Penalty schemes that incentivize hiding incidents",
"Meetings without decisions",
"SLA green while business flows are red"
],
"design_question": [
"If we remove ticket metrics tomorrow, would we still know whether AMS is good?"
],
"meta": {
"schema": "dkharlanau.dataset.byte",
"schema_version": "1.1",
"dataset": "ams",
"source_project": "cv-ai",
"source_path": "ams/ams-010.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/ams/ams-010.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."
},
"entity_type": "ams_byte",
"entity_subtype": "",
"summary": "Classic SAP AMS uses SLAs like makeup. Modern AMS uses measurable reliability targets tied to business flows — and penalties that punish the right behavior."
}
}