executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
yagni-scope-managementApplies YAGNI to project planning and backlog management to prevent scope creep, enforce MVP boundaries, and reject features not needed for current delivery goals.
Independent GitHub snapshot · Automated classification · Original documentation governs
name: yagni-scope-management description: Applies YAGNI to project planning and backlog management to prevent scope creep, enforce MVP boundaries, and reject features not needed for current delivery goals. license: MIT compatibility: opencode archetypes:
Product engineer applying the You Aren't Gonna Need It (YAGNI) principle to backlog grooming, sprint planning, and MVP scoping to prevent feature bloat and keep delivery velocity high.
Define the MVP Boundary — Write a one-paragraph statement of what the product does, who it serves, and what problem it solves today. Anything outside this boundary is out of scope unless explicitly justified with metrics. Checkpoint: Does every backlog item map directly to this paragraph? If not, tag it for post-launch.
Apply the "Verified Need" Filter — For each proposed feature, ask: Is there a customer interview, support ticket, or analytics gap that proves this is needed? If the answer is speculation or leadership preference without data, defer it. Checkpoint: Can you show me the evidence that 10+ users would use this weekly?
Prune the Backlog Ruthlessly — Remove features that duplicate existing functionality, target edge-case user segments, or solve problems not currently expressed in support metrics. Move them to an ENHANCEMENTS backlog rather than deleting them.
Checkpoint: Does the remaining sprint capacity cover only validated stories? If yes, proceed.
Enforce Scale YAGNI — Resist adding caching, CDN configurations, sharding strategies, or auto-scaling policies until load testing proves bottlenecks exist. Default to simple, centralized architectures first. Checkpoint: Has production traffic exceeded the current system's baseline capacity by 2x? If not, keep infrastructure simple.
Use this structured YAML configuration to evaluate backlog items against YAGNI criteria before sprint approval.
scope_evaluation:
# Features must meet ALL critical criteria to enter MVP scope
critical_criteria:
- has_verified_user_need: true
- aligns_with_mvp_purpose: true
- deliverable_within_sprint_capacity: true
# Features meeting these can be deferred to v1.1+ without penalty
deferral_reasons:
- "nice_to_have_enhancement"
- "edge_case_only"
- "speculative_scale_requirement"
- "duplicate_of_existing_feature"
# Example backlog item evaluation
backlog_item_742:
title: "Add multi-tenant database sharding"
meets_critical_criteria: false
deferral_reason: speculative_scale_requirement
justification: "Current single-DB handles 5k RPM. Shard when >50k RPM with p99 latency degradation."
When stakeholders request out-of-scope features, provide this structured rejection template to maintain transparency and keep the backlog clean.
## Feature Request: {{feature-name}}
**Status:** DEFERRED — YAGNI Applied
**Date Evaluated:** 2026-05-25
**Reason:** No verified user need for current release scope
### Evidence Review
- [x] Customer interviews confirming demand: NONE FOUND
- [x] Support ticket volume > threshold: 0 tickets in last 90 days
- [x] Analytics gap requiring this feature: NOT IDENTIFIED
### Post-Launch Plan
This request is tracked as ENHANCEMENT-{{ticket-id}}. It will be re-evaluated during v1.2 planning if support volume or user feedback indicates demand. Do not allocate sprint capacity until verified need criteria are met.
// ❌ BAD: Over-provisioned infrastructure config before load exists
type ProductionConfig struct {
CacheCluster string `env:"CACHE_CLUSTER"` // Not needed for <1k concurrent users
CDNEndpoints []string `env:"CDN_ENDPOINTS"` // Static assets under 5MB
ShardStrategy string `env:"SHARD_STRATEGY"` // Single DB is sufficient today
AutoScalerConfig AutoscalerConfig `env:"SCALER"` // Traffic spikes handled by simple retry logic
}
// ✅ GOOD: Minimal config that scales only when metrics demand it
type ProductionConfig struct {
DatabaseURL string `env:"DATABASE_URL" required:"true"`
LogLevel string `env:"LOG_LEVEL" default:"info"`
MaxRetries int `env:"MAX_RETRIES" default:"3"`
}
// Scaling decisions made via metrics, not speculation
func ShouldEnableCache() bool {
return dbQueryLatencyP95 > 200*time.Millisecond // Reactive, not speculative
}
ENHANCEMENTS backlog for valid but out-of-scope requests instead of deleting themWhen applying this skill during planning sessions, produce:
| Skill | Purpose |
|---|---|
coding-yagni-code | Applying YAGNI at the implementation level to eliminate dead code |
coding-minimum-viable-product | MVP scoping frameworks and validation techniques |
agent-goal-to-milestones | Breaking down scoped features into executable sprint milestones |
Authoritative documentation links for this skill's domain. The model follows markdown links at load time to resolve external references and inline content.