1. No failing unit tests allowed.
Unit tests ensure that all functions, methods, and classes are behaving as expected by testing the individual pieces of code against a set of predetermined inputs and outputs. If a unit test fails, it indicates that there is an issue with the code itself or with its integration into the overall system. Properly written unit tests are essential for ensuring the accuracy and reliability of the system.
2. Code coverage must be 80 percent.
Code coverage measures how much of a program's source code is actually tested by unit tests. Achieving an 80% code coverage rate ensures that most of the code has been tested, helping to uncover any potential issues before they become problems in production.
3. No violations of static code rules.
Static code analysis tools such as lint or SonarQube analyze the source code of a system and check it against predefined coding standards and best practices. Non-compliance with these standards can lead to errors, security vulnerabilities, or even performance degradation. It is important to ensure that all static code rules are properly adhered to in order to maintain the quality of the system.
4. All code must be reviewed.
Code review is an important step in the software development process, as it allows a team of developers to ensure that all code follows coding standards and best practices, is secure, efficient, and reliable. A proper code review should include both formal (automated) and informal (manual) components for maximum effectiveness.
5. Testcases must pass.
A testcase is a set of instructions designed to test a particular feature or functionality from end to end. It typically involves setting up a given scenario, executing a series of steps that simulate user actions, and verifying that the expected results are achieved. It is important to ensure that all testcases pass in order to guarantee the correctness of a system.
6. Acceptance criteria must be checked off.
Acceptance criteria are a set of conditions or requirements that must be met in order for a task or project to be considered complete. Having an acceptance criteria checklist helps stakeholders stay on the same page and ensures that all expectations are being met before declaring success.
7. Definition of Done must be met.
The Definition of Done (or DoD) is a document that outlines exactly what needs to be accomplished in order for a given task or project to be considered finished. Requirements, tasks, deliverables, deadlines, and other related information should all be included in the DoD so that all stakeholders can be on the same page.
8. No more than one bug per user story.
A user story is a piece of software that describes a feature from the perspective of an end user. A single-user story should have no more than one bug, as this could cause errors or performance issues down the line. It is important to ensure that each user story is thoroughly tested and debugged before moving forward with development.
9. Story must be tested by users in acceptance environment.
The acceptance environment is where end-users test and validate the system's functionality prior to launch. All stories should be properly tested in this environment to ensure that they meet all requirements and expectations set by the project stakeholders.
10. Documentation must be updated.
Documentation is an essential part of any software system, as it provides users with information on how to use the system, any known issues, and other relevant details. It is important to ensure that all documentation is kept up to date throughout the development process in order to provide accurate information for end-users.