Folijet - Definition of Done

Please note that all items in the checklist marked with [M] are mandatory.


Checklist

Feature/User Story

Sprint Demo/Review

Release

[M] Unit tests are written and are passing. At least 80% code coverage is expected and 100% is preferred for critical code.

Y



[M] Pull request is created following existing templates for mod and ui in folio.org and contain a .gif of feature implemented where it's appropriate

Y



[M] Peer code review is performed and at least one developer from EBSCO, if possible, and at least two, better three developer from Folijet team are requested for code review; code can be merged to master only when build passes and after peer approval

Y



[M] Fix reported code smells, security vulnerabilities, lint errors that are reported by Sonarqube and other tools in CI pipeline before merging code to master

Y



[M] Existing API tests (backend modules) and Integration tests (UI modules) are maintained/improved and pass

Y



Microservice contract tests(pact) are created and integrated into CI pipeline – future requirement TBD

Y



[M] Any configuration and/or build scripts are updated and tested by DevOps

Y



Schema upgrade scrips are updated and tested 


[M] Build deployed successfully to the hosted-reference environment (test, integration, etc.) 

Y



[M] QA is performed and issues resolved

- Test cases are created/updated in Testrail against acceptance criteria

- Tests on supported browsers/devices/platforms pass 

- Feature is tested on one of the reference environments using data import limited permission user (use username/password = data-import/data-import credentials to login), or similar. 

Y



[M] Feature implemented meets acceptance criteria defined by PO/TL

Y



Regression tests pass – future requirement TBD

Y



[M] Verify that PII stored is encrypted

Y



[M] verify compliance with GDPR – future requirement

Y



[M] Feature OK’ed by UX and complies with:

- https://ux.folio.org/docs/guidelines/

- WCAG 2.0 Level AA accessibility compliance
- Validate with Kimie Kester, Filip Jackobsen and/or John Coburn before coming with new design patterns in UX that’s not consistent with Stripes

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] Localization is taken care of in application code

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 demoable features are demoed from the same shared environment – For most demos, this will be FOLIO integration environment


Y


[M] Releases are created following https://dev.folio.org/guidelines/release-procedures/



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 - TBD



Y

[M] All P1, P2 bugs reported by QA, manual testing, UAT, PO, etc. are fixed



Y

[M] Release notes are created



Y

[M] User documentation updated (deployment documentation, scripts/packaging etc.)



Y

[M] User documentation is localized - TBD



Y

Making data migration scripts mandatory going forward if there are breaking schema changes

Y
Create possible integration tests (Karate) in https://github.com/folio-org/folio-integration-tests/ repo for new functionality Y