An approach to software development (Dev) and IT operations (Ops) that aims to shorten development cycles, make them more predictable, and improve iteration time and reduce bugs and defects. As an iterative approach, DevOps approaches are complementary to Agile methodologies. DevOps generally consists of two components:
Development
- Facilitating creation of development assets
- Facilitating the planning of development activities
- Facilitating the packaging of development assets for use
- Facilitating the testing and verification of development assets
IT Operations
- Facilitating the release of developed assets into production
- Facilitating the configuration and operation of IT systems
- Monitoring IT systems as related to the development assets
DevOps aims to facilitate Continuous Development, Continuous Integration, Continuous Planning, Continuous Deployment, Continuous Monitoring, Continuous Testing, Continuous Releasing, and Continuous Operations in frequent, iterative, and connected loops.