Skip to navigation

Definition of Done-(DoD)

A Product Backlog Item is Done only when all items below are satisfied with no exceptions.

1. Functional Completeness

  • All Acceptance Criteria defined in the PBI are fully implemented.

  • Business logic behaves exactly as described, including edge cases and error scenarios.

  • The change integrates correctly with dependent microservices (APIs, events, contracts).

  • No partially implemented functionality, feature toggles left unmanaged, or TODOs remain.

  • The PBI delivers the intended business value and does not rely on future work to function.

2. Code Quality & Engineering Standards

  • Code follows agreed coding standards, architectural guidelines, and microservice conventions.

  • No critical or high‑severity static analysis, lint, or quality gate violations remain.

  • Code is readable, maintainable, and appropriately modular.

  • Configuration is externalized (no hard‑coded environment values or secrets).

  • Service contracts (API schemas, events, DTOs) are versioned and backward‑compatible where required.

3. Testing Requirements

3.1 Unit Testing

  • Unit tests are written for new or modified logic.

  • Unit tests cover positive paths, negative paths, and edge cases.

  • All unit tests pass in the CI pipeline.

  • Minimum agreed code coverage threshold is met.

3.2 Integration Testing

  • Integration tests validate service‑to‑service communication.

  • API endpoints, message queues, or event streams are tested end‑to‑end.

  • All integration tests pass in CI/CD.

3.3 Regression Testing

  • Existing automated regression tests pass without failures.

  • The change does not introduce regressions in related functionality.

  • Manual regression testing is executed when automation is not feasible, and results are documented.

4. Acceptance Criteria Validation

  • Acceptance Criteria are explicitly validated through tests or demonstrations.

  • Evidence (test results, screenshots, logs, or recordings) is attached to the PBI where applicable.

  • The behavior matches intent, not just literal wording.

  • The Product Owner (or designated proxy) has reviewed and accepts the PBI.

5. Documentation Updates

  • Technical documentation is updated (README, service docs, ADRs, API specs).

  • API changes are reflected in OpenAPI/Swagger or equivalent contracts.

  • Configuration, deployment, or operational changes are documented.

  • Code is meaningfully commented where logic is non‑obvious.

  • Any new feature flags, environment variables, or toggles are documented.

6. Security & Compliance

  • No secrets, credentials, or tokens are committed to source control.

  • Security scans (SAST, dependency, container, or image scans) pass.

  • Authentication and authorization rules are correctly enforced.

  • Input validation and error handling prevent common vulnerabilities.

  • Compliance requirements (audit logging, data privacy, retention) are met where applicable.

7. Performance & Reliability

  • No significant performance degradation is introduced.

  • Resource usage (CPU, memory, connections) is within acceptable limits.

  • Timeouts, retries, and circuit breakers are configured appropriately.

  • Logging, metrics, and tracing are in place for new or changed functionality.

  • The service behaves correctly under expected load patterns.

8. Peer Review & Collaboration

  • Code has been peer‑reviewed by at least one qualified team member.

  • All review comments are addressed or explicitly resolved.

  • No self‑approved pull requests.

  • The change aligns with shared team and architectural standards.

9. Deployment & Release Readiness

  • Code is merged into the agreed target branch.

  • CI/CD pipelines complete successfully without manual intervention.

  • The PBI could be released to production at the end of the sprint.

  • Feature toggles are correctly configured for release strategy.

  • Rollback or mitigation strategy is understood if the change fails.

10. Environment & Configuration Changes

  • Required environment variables, secrets, or configuration values are defined.

  • Infrastructure‑as‑Code changes (if any) are applied and validated.

  • Changes are deployed and verified in the appropriate environment(s).

  • No manual, undocumented environment steps are required.

  • All environments remain in a deployable, consistent state.

Final Confirmation

  • No critical or high‑priority defects remain open.

  • The team agrees the PBI meets the Definition of Done without exceptions.

  • The increment is potentially shippable.