Files
acdl/docs/presentations/the-developer-experience-talking-points.md
T
Jon Chery 06dea7a176 docs(review): P1 fixes — sync slide-count metadata + README directory layout
Review of P71 (v1.13) flagged 2 P1 documentation-metadata drift items:
1. Source .md length headers undercounted by 1 (excluded Appendix TOC slide)
2. README.md drifted — missing 12 new asset files + stale slide/section counts

Fixes:
- how-the-platform-works.md: 18 -> 19 slides (10 main + TOC + 8 appendix)
- the-developer-experience.md: 17 -> 18 slides (10 main + TOC + 7 appendix)
- both *-talking-points.md companion headers updated to match
- README.md directory layout: added 6 new .mmd + 6 new .png files
- README.md appendix convention: "10 main + 6 appendix (17 total)" ->
  per-deck counts (A1-A8 platform, A1-A7 developer, both with TOC)
- README.md current-decks table: slide counts updated to 19/18
- README.md talking-points structure: "10 main + 7 appendix" -> TOC-aware

No factual/capability claim changes. 16 docs tests pass.

---ci---
project: acdl
phase: 71
milestone: v1.13
status: verify
lessons:
  - P1 fix: sync slide-count metadata across source .md, talking-points, README
---/ci---
2026-07-29 14:51:27 +00:00

15 KiB

The Developer Experience — Talking Points

Companion to: the-developer-experience-marp.md (10 main + Appendix TOC + 7 appendix = 18 slides) Content source: the-developer-experience.md (full source of truth with speaker notes) Purpose: Presenter-ready cues — 3-6 talking points per slide + the one key takeaway the audience should remember. Audience: Senior Leadership — CTO, Head of Cloud, Head of Infrastructure, Head of DevOps


Slide 1 — Title

Talking points:

  • Brief introduction — this deck covers who uses the platform and how fast/safe they ship, not the internal mechanics (that's the companion deck)
  • Set the frame: velocity without sacrificing safety, and security/observability/compliance as platform defaults rather than per-team effort
  • v1.12 re-verification: every "Testing" claim in this deck is now Verified — 22/22 capabilities via the v1.11 lifecycle pipeline (see A7)

Key takeaway: The consumer surface is intentionally tiny. The platform's surface is large and opinionated.


Slide 2 — Two consumer paths, one safety envelope

Talking points:

  • This is the scope-boundary slide — here's who uses the platform, and here's where ACDL's responsibility starts and stops
  • Two consumer paths converge on the same contract: technical developer writes the contract directly; citizen developer declares intent and an AI agent produces a contract that passes the same safety envelope
  • Upstream is anything — your IDE, an agentic SDLC, or vibe coding on a laptop. ACDL doesn't care how the contract was produced
  • ACDL is infrastructure only — it provisions and governs AWS resources. Application deployment is upstream of the contract
  • The two surfaces are parallel, not a progression. A citizen developer doesn't "graduate" to the developer surface. There is no "citizen developer mode" with weaker checks

Key takeaway: Two consumer paths, one safety envelope. ACDL is infra only — anything upstream is fair game.


Slide 3 — Three things. The entire consumer surface.

Talking points:

  • Hold this slide — the audience should sit with how small the consumer surface is. Three things: app code, a contract, a one-line CI definition
  • The contract is a single YAML file: module, environment, inputs. That's the entire consumer-facing interface to production
  • The contract example shows infrastructure inputs (cpu, memory, desired_count, port) — not an image: field. The consumer declares capacity and shape; the platform resolves the rest
  • Walk the "does not" list quickly — no infrastructure modules, no platform repo cloning, no cloud credentials, no state backends. Every item is a category of toil the platform removes
  • For the Head of DevOps: this is the lever for throughput — the bottleneck moves off the platform team's ticket queue

Key takeaway: Three things. That's the entire consumer-side surface. Everything else is the platform's job.


Slide 4 — See what the platform does, in real time

Talking points:

  • This directly answers "but developers hate platforms that hide what they're doing" — the platform is opinionated about what runs, not opaque about that it runs
  • Streamed output by default — the plan, policy results, and each check record flow to stdout
  • PR comments after every successful pipeline stage — a developer always knows where they stand without refreshing a dashboard
  • Connection strings posted as PR comments — human-readable, no hunting. Runtime secrets go to encrypted Parameter Store (KMS-encrypted, namespaced), never to logs
  • The "errors become GitHub issues" point is a DX win that also helps the platform team — every consumer failure is a tracked, queryable artifact, not a lost log line
  • Clear, explainable halt reasons — a policy violation, an insufficient confidence signal, or a missing attestation. Never an opaque debugging exercise

Key takeaway: The platform closes the feedback loop — streamed output, PR comments, clear halt reasons, no secrets in logs.


Slide 5 — Pick from pre-built, security-reviewed blocks

Talking points:

  • The catalog is what makes "declare intent" practical — you can only declare a module that exists
  • For leadership: the catalog is the leverage. One well-reviewed module serves every consumer; a fix to the module serves every consumer on the next run. This is the compounding asset
  • Primitives are single-purpose resources (S3, VPC, ECS, IAM, ALB, ECR, CloudFront, WAF, RDS) — each with documented inputs/outputs and versioning
  • Modules are composed patterns — a static site with CDN + WAF; a microservice with VPC + ECS + ALB + ECR
  • Validated examples per module (simple.yaml + complex.yaml) are validated against the contract schema in CI — examples cannot drift from the schema silently
  • Auto-promotion of patterns (after 3 observed usages) and compliance extension points (GDPR, SOX, SOC2, DORA) are on the roadmap

Key takeaway: You don't author infrastructure — you pick from pre-built, security-reviewed building blocks. The catalog is the compounding asset.


Slide 6 — The bar rises automatically with sensitivity

Talking points:

  • Promotion is a workflow choice, not a contract edit — a promotion can be reviewed as a diff in the workflow, not as a rewritten contract
  • The DX win: the contract stays stable across environments; the safety win: the platform raises the threshold and attestation bar automatically based on the target environment
  • The consumer can't bypass the gates — they pick which environment to target, and the platform applies the right bar
  • No staging environment — the design deliberately removes the "staging is basically prod but not really" anti-pattern. Dev is the only autonomous environment
  • Separation of duties is enforced — the QA approver cannot be the prod approver
  • Be honest about maturity: dev is tested and pilot-ready; qa/prod/dr wiring is planned

Key takeaway: The bar rises automatically with sensitivity. The consumer picks the environment; the platform applies the right gate.


Slide 7 — Tearing down is as gated as deploying

Talking points:

  • The counter-argument to "deletion protection makes cleanup impossible" is this slide. Decommission is a first-class, gated, two-approval flow — not a lock with no key, and not an ungated terraform destroy
  • The CMDB validation means decommission is auditable, not just possible — the platform queries the CMDB and asserts the CR is approved and matches the consumer repo
  • Two SRE human-attestation gates: disable protection → SRE approves → zero all counts + destroy → a second SRE approves
  • The per-stack encryption key enters a grace window (default 30 days) so encrypted data remains recoverable during decommission
  • For the Head of Infrastructure: this is what makes deletion protection safe to ship by default — cleanup is a deliberate, gated path, not an impossible one

Key takeaway: Tearing down is as deliberate as deploying — two SRE attestation gates + CMDB-validated change request.


Slide 8 — You control when you absorb improvements

Talking points:

  • This is the "no surprise upgrades" story. Leadership hears two things: (1) consumers aren't forced to chase the platform, (2) the platform isn't forced to support N forks of every workflow
  • Floating MAJOR + MINOR tags (e.g. @v1.12) — a consumer automatically receives patch updates within the line
  • Semantic versioning with a clear contract: interface → MAJOR, behavior → MINOR, lifecycle → PATCH
  • A consumer can pin to an exact version for maximum stability, or float on MAJOR only (@v1) to absorb new features on their own cadence
  • Unversioned references (@main, bare) are discouraged — the versioned tag is the only immutability lever a consumer has
  • The automated release job computes the next semver on merge to main, creates the tag, and updates the floating tags

Key takeaway: You control when you absorb platform improvements — no surprise upgrades, no forced forks.


Slide 9 — Fails gracefully, not opaquely

Talking points:

  • This looks like a small thing; it's actually a cultural one. The platform's posture is "help me get started," not "you should have known"
  • For the Head of DevOps: this is what drives adoption. Platforms that fail opaquely on first run get routed around
  • When no environment is bound, the platform emits a user-friendly onboarding prompt — not an opaque failure
  • The prompt tells the consumer: no environment bound, what the platform will provision, expected turnaround, how to request an environment
  • The pipeline then exits without attempting a deployment — no partial state, no confusing errors
  • The citizen developer onboarding path is planned

Key takeaway: The platform fails gracefully, not opaquely — first impressions are made when it fails for the first time.


Slide 10 — The desired outcomes

Talking points:

  • Close on the strategic frame. The platform is not "a CI/CD tool" — it is the organizational lever for shipping safely at the pace the business demands, with the security and audit posture the regulators require
  • Velocity without sacrificing safety: speed is in the ergonomics (a simple contract, a one-line uses:); safety is in the gates the consumer cannot bypass
  • Security, observability, and compliance as platform defaults — not per-team effort, not post-hoc remediation
  • Auditability as a byproduct, not a project — every production change is traceable to a human attestation and a tamper-evident evidence event
  • The bottleneck moves off the platform team's ticket queue — a merged change progresses through lower environments without a platform engineer joining a thread
  • A path to the citizen developer: the same safety envelope serves a senior engineer and a non-technical consumer
  • Invite questions; the companion deck ("How the Platform Works") covers the internal mechanics in more depth

Key takeaway: Ship safely at the pace the business demands, with the security and audit posture the regulators require.


Appendix TOC — Appendix

Talking points:

  • These are backup slides for Q&A. Use them when the audience asks for the detail behind a main-slide claim
  • Don't walk through them in the main talk unless time permits
  • The appendix is indexed to match the Marp deck's A1-A7 structure

Key takeaway: Backup slides for Q&A — pull the relevant appendix slide when asked.


A1 — The Citizen Developer Experience

Talking points:

  • Be honest about maturity: the mechanism (agent → contract → same pipeline) is designed and the stub was proven in the v1.0 demo; the full skill catalog and real agent runtime are planned
  • The "vibe coding on a laptop" framing is intentional — it meets the citizen developer where they already are, but every submission still passes the same safety envelope
  • The design point matters to leadership now: we are building for a world where more of the org can ship safely, not where more of the org has to become a platform engineer
  • Guardrails: skills are versioned, signed, reviewed for sensitive data; agents are stateless; the platform trusts and always verifies
  • The agent's trace and submission confidence are captured in the contract (profile: agentic) for review

Key takeaway: A non-technical consumer ships by declaring intent — same pipeline, same safety envelope, no weaker checks.


A2 — No Platform Code, No Cloning

Talking points:

  • The Head of Cloud cares about this: there is no "platform code in every consumer repo" problem
  • The version-pinned uses: line is the only coupling, and it's a coupling that updates itself within the line
  • The runner checks out the consumer repo, then checks out the platform repo into the workspace — the consumer never clones the platform repo
  • The platform installs its own runtime dependencies — the consumer installs nothing
  • When the platform ships a fix, every consumer on a floating tag gets it on their next run — no per-repo upgrade project

Key takeaway: The consumer never touches platform internals. The versioned uses: line is the only coupling.


A3 — Local Reproducibility

Talking points:

  • This is the "no surprises before you push" story. A consumer can validate their contract offline, run the plan offline, and only push when they're confident
  • scripts/run_ci.sh mirrors the CI pipeline locally — the same three stages (lint → test → check-only) in sequence
  • scripts/run_platform.sh --check-only runs the platform offline — no AWS, no policy engine, no outbox required
  • The same declarative contract drives both the local tooling and CI — there's no "works on my machine, fails in CI" gap

Key takeaway: The entire CI pipeline runs from the shell — no surprises before you push.


A4 — The Road to the North Star

Talking points:

  • This is a proposed phasing, not a formally committed plan — call that out explicitly
  • Phase 1 is what's tested and Verified today (22/22 capabilities, torn down to zero-cost)
  • Phase 2 is the next milestone (qa/prod/dr wiring)
  • Phase 3 introduces the agentic surface (skill catalog + agents)
  • Phase 4 is the north star: citizen developer GA on the same safety envelope
  • Use this only when an audience member asks "how do you get from here to there"

Key takeaway: Proposed phasing — Phase 1 Verified, Phase 4 is the North Star (citizen developer GA).


A5 — Glossary

Talking points:

  • Keep this slide in your back pocket for the audience member who asks "what does ABAC actually mean?"
  • Don't read it aloud
  • All acronyms used in the deck are defined here

Key takeaway: Reference slide — don't read aloud.


A6 — Operating Model & Cost

Talking points:

  • The headline for the Head of Cloud / Finance: less than one cent over 8 days of active development; zero BAU cloud spend
  • The lifecycle pipeline defaults to plan-only so the PR-time cost is zero; ACDL_LIFECYCLE_MODE=full overrides for milestone verification
  • The pre-mortem is the credibility slide — we already asked "how does this fail?" and the mitigations are structural
  • The v1.10 decay incident is disclosed honestly, not hidden — that disclosure IS the mitigation
  • Cost drivers are spike-scoped: Terraform plan reads (free), S3 state storage (cents), DynamoDB outbox (cents). No running infrastructure between milestones

Key takeaway: Zero BAU cloud cost. Pre-mortemed failure modes with structural mitigations.


A7 — Verified by Construction

Talking points:

  • This is the deep-dive slide for the Head of Engineering / Architecture — the two pillars answer "how do you keep the decks honest?"
  • The adapter is simple enough to reason about (a stateless assembler); the lifecycle pipeline is the automated verification that backs every "Testing" claim
  • The v1.10 lesson is the negative space: a 918-line adapter with type-specific branches decayed silently because the VERIFY gate was diff-scoped
  • The ~80-line stateless adapter + the milestone regression gate are the structural fix
  • The plan-only default (v1.12) means verification runs on every PR at zero cost, with the full apply→destroy gated behind a CI variable override

Key takeaway: "Verified" is a structural property, not a claim — the stateless adapter + lifecycle pipeline make it so.