Are you really doing Continuous Integration?
Here are a few questions that’ll help determine if a team is really doing Continuous Integration or CI.
- Can anyone on the team check out the latest code and build it in 1 easy step?
- Do team members check in product code and test code multiple times a day?
- Are code changes checked in to 1 main line branch?
- Are code changes built as soon as they are checked in?
- Do unit tests run with every build?
- Are changes deployed to a test environment with every successful build?
- Do automated integration tests run in the test environment with ever successful deploy?
- If there are any failures in the builds (compile errors, unit test failures, deployment issues or integration test failures), does fixing the build issue become the top most priority?
- If a major issue is discovered when deploying to production, can you quickly roll back to the previous version?
- If a defect is found in production, can you easily fix the defect on the version that is deployed to production and also merge the fix into the current main line branch?