Core Platform - Definition of Done
Please note that all items in checklist marked with [M] are mandatory.
Acceptance criteria for DevOps tasks are here: https://dev.folio.org/guides/devops-verify-task-acceptance/
Checklist | Feature/User Story | Sprint Demo/Review | Release |
[M] Unit tests (backend: jUnit, RestAssured, frontend: BigTest) are written and are passing. At least 80% code coverage is expected and 100% is preferred for critical code. | Y | ||
[M] Sample and reference data is updated to match the feature or schema change. Any configuration and/or build scripts are updated and tested. | Y | ||
[M] Interface version (for backend modules) and module implementation version (for backend (pom.xml) and UI (package.json)) is updated according to the versioning procedure: https://dev.folio.org/guidelines/contributing/#version-numbers. The fixVersion field in JIRA is updated to match the version that ships the feature/bugfix. | Y | ||
[M] All dependencies (both Okapi/FOLIO module dependencies and NPM deps) are updated to release dependencies (no pre-releases). | Y | ||
[M] UI Regression tests (https://github.com/folio-org/stripes-testing) are updated and pass on the local development machine. | Y | ||
[M] Peer code review is performed and at least one developer from Core: platform; code can be merged to master only when building passes and after peer approval. TODO: Establish review criteria | Y | ||
[M] Build deployed successfully to folio-snapshot-stable environment (test, integration etc.). In the case of unresolved but unrelated integration testing issues, the feature will be accepted on folio-snapshot. | Y | ||
[M] QA is performed and issues resolved: folio-snapshot-stable OR folio-snapshot (in case of unrelated integration test failures) - The feature is tested against acceptance criteria - Tests on supported browsers/devices/platforms pass (UI) | Y | ||
[M] Feature implemented meets acceptance criteria defined by PO/Lead | Y | ||
[M] Feature is accepted by PO - Move the story to “in Review” and assign it to PO who will review and move it to Done if acceptable | Y | ||
[M] Only backend modules: if feature blocks a UI module feature, the new version of the module is released (see https://dev.folio.org/guidelines/release-procedures/) | Y | ||
[M] No open critical bugs on any user stories | Y | ||
[M] DoD of each user story, included in the demo are met | Y | ||
[M] All demo-able features are demoed from the same shared environment – folio-snapshot-stable OR folio-snapshot (in case of unrelated integration test failures) | Y | ||
[M] Installation and deployment scripts are updated | Y | ||
[M] Performance tests are created and pass – Example: All end user interactions < 2 seconds for 95 percentile or no degradation in response time for existing functionality | Y | ||
[M] All bugs reported by QA, manual testing, UAT, PO etc and labelled for the release (e.g "q4-2018") are fixed | Y | ||
[M] Release notes are created | Y | ||
[M] User documentation updated (deployment documentation, scripts/packaging etc.) | Y | ||
[M] Migration script added in case of schema update. (see https://github.com/folio-org/raml-module-builder/blob/master/DB-schema-migration.md) | Y |