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.
Continuous Delivery (Release on Demand)
More informations for the Scrum PSD certification here.