Continuous Integration (CI) definition
- Continuous Integration is a software development practice where Developers integrate and verify their work frequently, often multiple times each day to detect integration errors as quickly as possible.
Continuous Integration (CI) purpose
- The goal of Continuous Integration (CI) is to provide rapid feedback of build and test results so that if a defect is introduced into the code base, it can be identified and corrected as soon as possible.
Continuous Integration Benefits
- Broken builds are detected quickly
- Software is generally kept in a buildable state
- Short and Less intense integrations
- Reduced integration problems allowing one to deliver software more rapidly
- Increase visibility enabling greater communication
- Catching issues early
- Spend less time debugging and more time adding features
- Building a solid foundation
- Less waiting to find out if your code’s going to work
Continuous Integration (CI) practice
- Continuous Integration must be used in DevOps
- If code is continuously compiled and checked, conflicts can be identified when they are easy to manage.
- The purpose of Continuous Integration is to avoid last minute integration surprises and find code issues right away.
- In addition, the person who is in the context and knows what is happening is the best one to fix the failure.
- So, with any check in of new or changed code into version control, the build should be executed, newly checked-in code is built, integrated, and tested frequently, generally multiple times a day.
DevOps practices in the Scrum framework for Continuous Integration
- To support Continuous Delivery, the Scrum Team would add the following to the Definition of “Done” : “Deployed to Production” and “Ready to Release”.
- In case of Continuous integration Software Build Developments, the person who broke the build will be responsible for fixing it.
More informations for the Scrum PSD certification here.