In software engineering, continuous integration (CI) implements continuous processes of applying quality control — small pieces of effort, applied frequently. Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development.
– Source: Wikipedia
Build Software At Every Change
- Automate builds
- Separate build scripts from IDE
- Centralize software assets
- Use consistent directory structure
- Use a dedicated build machine
- Use a CI server
- Run integration builds
- Stage builds
Continuous Database Integration
- Automate database integration
- Use a local database sandbox
- Use version control for db assets
- Give developers access to modify db
- Make DBA part of dev team
Continuous Inspection
- Reduce code complexity
- Perform design reviews continuously
- Maintain code standards with code audits
- Reduce duplicate code
- Assess code coverage
Continuous Testing
- Automate tests: unit, component, functional
- Run faster tests first
- Write test for defects
- Make component tests repeatable
Continuous Deployment
- Release working software, any time
- Produce a clean environment
- Label each build
- Run all tests
- Create feedback reports
- Possess capability to roll back release
Book Recommendation
If you are interested in continuous integration, then I would highly recommend the book.
Hi Chad,
May I know what is the book name?
Thanks
Nikhildas
Hi Nikhildas,
Here’s the book title:
Continuous Integration: Improving Software Quality and Reducing Risk 1st Edition
http://amzn.to/2rLiOsZ