DevOps influences the application lifecycle throughout its plan, develop, deliver, and operate phases. Each phase relies on the others, and the phases are not role-specific. In a true DevOps culture, each role is involved in each phase to some extent. In the plan phase, DevOps teams ideate, define, and describe features and capabilities of the applications and systems they are building. The develop phase includes all aspects of coding—writing, testing, reviewing, and the integration of code by team members. Delivery is the process of deploying applications into production environments in a consistent and reliable way. The operate phase involves maintaining, monitoring, and troubleshooting applications in production environments.
Agile is a software development approach that emphasizes team collaboration, customer and user feedback, and high adaptability to change through short release cycles. Teams that practice Agile provide continual changes and improvements to customers, collect their feedback, then learn and adjust based on customer wants and needs. Agile is substantially different from other more traditional frameworks such as waterfall, which includes long release cycles defined by sequential phases. Kanban and Scrum are two popular frameworks associated with Agile.