Definition of Done
Acceptance Criteria
-
Have all acceptance criteria been met?
-
Do tests exist to cover the acceptance criteria?
-
For services, integration tests are preferred using the client with live or mocked service dependencies
-
Unit tests can be used to fill in gaps where integration testing can’t cover certain branches or for exception handling
-
Tests should cover both positive and negative scenarios, including but not limited to: errors documented in Swagger, security (with and without a JWT, with and without the correct role, resource, scope, etc.). Health indicator checks
-
Dependency & Plugin Updates
-
Minor version updates should also include dependency and plugin updates
-
If updating a dependency causes errors, update to the latest non-breaking version and notify the PO
-
-
Patch version updates should only update anything called out by the acceptance criteria
Successful Build
-
Builds locally, and when the feature branch is pushed, the branch builds in sandbox Jenkins
-
Address any build errors, compiler warnings, SCA
Changelog
-
Update the CHANGELOG.md with the story ID and a brief description of the changes
-
Include any new/changed Consul/Vault variables
-
Include framework updates (mobile-framework, ngss-maven-tiles)
-
Other Documents
-
If adding/changing/removing an endpoint, consult with the PO about SRVDD.md and diagram updates
Service Lint
-
Use the Service Lint tool to identify possible problems. Consult with the PO if unsure of what to do with the findings.