Stakeholder Collaboration Basics
10 examples to get you started with Product & Stakeholders - 7 basic and 3 intermediate.
Search across all documentation pages
10 examples to get you started with Product & Stakeholders - 7 basic and 3 intermediate.
These patterns help embedded Go tech leads write specs, estimates, and status updates that product owners, design, and executives can act on without reading go.mod.
go version) when examples reference modules or go fix.docs/) for specs stakeholders can comment on.Frame a feature in outcome language before any API detail.
## Export reports (Q3)
**Outcome:** Paid users download PDF reports within 2s p99.
**Scope:** Existing billing customers; max 50MB PDF.
**Out of scope:** Scheduled email delivery (Q4).
**Engineering owner:** @alex (payments-api, Go/chi).Related: From Requirements to Go Service Specs - full spec workflow
Rewrite vague stories into verifiable checks.
**Story:** As a billing admin, I export an invoice PDF.
**Acceptance:**
- Given a paid invoice ID, when I GET /v1/invoices/{id}/pdf, then HTTP 200 and `application/pdf`.
- Given an unpaid invoice, when I export, then HTTP 403 with stable error code `invoice_unpaid`.
- p99 latency ≤ 2s at 100 RPS in staging.Stakeholders skim paths; engineers implement against fields.
paths:
/v1/invoices/{id}/pdf:
get:
summary: Download invoice PDF
parameters:
- name: id
in: path
required: true
schema: { type: string, format: uuid }
responses:
"200": { description: PDF bytes, content: { application/pdf: {} } }
"403": { description: invoice_unpaid }Give product a range, not a false single number.
| Size | Calendar | Assumptions |
|------|----------|-------------|
| S | 3-5 days | Reuse existing PDF lib; no new tables |
| M | 2 weeks | New async job + S3 storage |
| L | 4+ weeks | Unknown third-party SDK; spike required |Attach named risks stakeholders can accept or mitigate.
**Risks:**
1. `github.com/jung-kurt/gofpdf` unmaintained - may need replace directive (2d).
2. Staging lacks production-like PDF load - perf risk until load test (1d).
**Buffer:** +20% on M estimate until spike #1 closes.One screen for mixed audiences.
## Payments API - week of 2026-07-14
**Shipped:** Invoice PDF export behind feature flag `export_pdf` (staging).
**Next:** Load test 100 RPS; enable 10% canary prod Thu.
**Blocked:** Legal review on stored PDF retention (waiting 3d).
**Risk:** None new; on track for Jul 21 GA if legal clears Mon.Explain a technical choice without a language tutorial.
**Decision:** Async PDF job instead of synchronous HTTP.
**Why:** p99 target 2s; generation takes 5-15s for large invoices.
**Trade-off:** Users poll or receive webhook; slightly more complex UX.
**Go note:** Worker uses existing `cmd/worker` binary; no new deployable.Platform tasks get the same rigor as features.
| Work item | Effort | Dependency |
|-----------|--------|------------|
| Bump `go` to 1.26 across 4 modules | 3d | CI image update |
| `go fix` + second pass | 2d | devs on 1.26 locally |
| `govulncheck` remediation | 1-5d | security triage |
| Canary 10% + GC metrics | 2d | SRE dashboard |
**Total:** 8-12d engineering + 3d calendar soakRelated: Planning Go Version Upgrades Across a Monorepo - rollout playbook
Communicate breaking platform changes to service owners.
# Platform release: shared/auth/v3
**Effective:** 2026-08-01
**Action required:** Bump require to v3.1.0; run `go test ./...`
**Breaking:** `AuthClient.Verify` now requires `context.Context`
**Migration:** `go fix` not available; see snippet in appendix
**Support:** #go-platform office hours Tue 10amRelated: Release Notes for Internal Go Platform Changes - full template
Make competing work visible in one view.
| Initiative | Customer impact | Risk if deferred | Vote |
|------------|-----------------|------------------|------|
| Export PDF (feature) | High - renewal blocker | Medium | Ship Jul |
| Go 1.26 upgrade (platform) | Low direct | High - CVE window | Ship Aug wk1 |
| Lint baseline (platform) | None direct | Medium - review drag | Q4 |
**Recommendation:** Parallel track: 1 engineer platform Aug wk1; feature team unchanged.Related: Prioritizing Features vs Platform Work in Go - negotiation patterns
Stack versions: This page was written for Go 1.26.x (Green Tea GC default, go fix modernizers - verify patch at build), chi (latest - verify at build), gin (latest - verify at build), echo (latest - verify at build), google.golang.org/grpc (latest - verify at build), sigs.k8s.io/controller-runtime (latest - verify at build), kubebuilder (latest - verify at build), tinygo (latest - verify board targets at build), wazero (latest - verify at build), and golangci-lint (latest - verify linter set at build).
Reviewed by Chris St. John·Last updated Jul 19, 2026