Continuous Integration
Definition: A development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. (https://www.thoughtworks.com/continuous-integration)
Traditional ("waterfall") SDLC
Requirements --> Build --> Deploy --> Maintain --> Decommission
Building occurs after requirements are complete
Traditionally no transparency during development
Business requirements / needs can change before delivery of product.
Agile SDLC
Gather enough requirements to start development --> Iteration 1 --> Feedback --> Iteration 2 -- Feedback -- etc.
Goal is to deliver usable piece of project
Frequent deployments
User feed-back driven
Requirements placed into prioritized 'backlog'
About CI
By-product of the XP (Extreme Programming) methodology and TDD (Test Driven Development)
Aimed at preventing 'Integration Hell' at release time
Automated Testing
Testing performed on 'Clones of Production'
Developers only need to commit and push code -- automated build and deploy
Last updated