Use this checklist from planning to implementation and release.
Define the feature outcome in one sentence (business + user value).
Write clear acceptance criteria (Given/When/Then style).
List non-functional requirements: performance, security, accessibility, localization.
Identify dependencies (APIs, auth roles, feature flags, analytics, external systems).
Confirm rollout strategy (dark launch, phased rollout, kill switch).
Choose feature boundaries: module/route/domain ownership.
Decide state strategy (signals/store/component state) and data flow.
Define API contracts and error model (happy path + failures + retries).
Design loading/empty/error/offline states.
Validate cross-cutting concerns: i18n, a11y, logging, observability.
Capture trade-offs and final ADR-level decision.
Split work into thin vertical slices (UI + state + API + tests).
Define DoR/DoD for each slice.
Estimate risk items and mitigation (spikes, fallback paths).
Align on coding conventions and review rules for this feature.
Create feature shell (standalone components/routes as applicable).
Keep components presentational where possible; move logic to services/facades.
Use strict typing everywhere (DTOs, forms, API responses).
Prefer OnPush + signal/computed/effect patterns where appropriate.
Manage subscriptions safely (takeUntilDestroyed, async pipe, signals).
Handle errors explicitly; show user-safe messages.
Guard auth/permissions at route and UI levels.
Add telemetry events (view, action, failure, latency).
Unit tests for core logic, services, and edge cases.
Component/integration tests for user flows and state transitions.
Contract/API tests (if applicable).
Accessibility checks (keyboard nav, ARIA, contrast, focus management).
Performance checks (change detection impact, bundle size, lazy loading).
Security checks (XSS-safe rendering, input validation, authz paths).
Feature flag wired and tested.
Migration/backward compatibility validated.
Release notes and operational runbook updated.
Monitoring dashboards/alerts ready.
Rollback steps confirmed.
Verify analytics/events match expected adoption funnel.
Monitor errors, latency, and user feedback in first 24-72h.
Remove temporary toggles/technical scaffolding after stabilization.
Run a short retro: what to standardize for next feature.