Agile development is an approach to software and IT services creation that aims for short, fast development cycles during which developers and product managers closely collaborate and management overhead is kept to a minimum. The goal for each of these iterative Agile development cycles – commonly called "sprints" – is to create usable functionality that’s desired by the current marketplace. The Agile approach first emerged more than a decade ago as a reaction against the failings of the lumbering, overhead-heavy "waterfall" software development model, and has become increasingly popular.
Agile DevOps – or simply DevOps – takes Agile’s emphasis on speed, responsiveness, and inter-team collaboration and extends it to include the operations team. In an Agile DevOps environment, developers and operations engineers cooperate to accelerate the application delivery cycle and produce frequent releases of new and improved features. Agile DevOps collaboration takes the form of developers taking production concerns into account as they write and test code; developers supporting operations staff in deploying and troubleshooting production systems; and operations engineers employing development-type skills – scripting and coding – in order to automate system deployment, change, and maintenance processes.
Through a combination of attitude shifts, process changes, and utilization of Agile development tools and DevOps tools, Agile and DevOps aim to dramatically accelerate the pace of IT service delivery while keeping up or even elevating service quality. By updating and enhancing applications more frequently, application vendors are better able to respond to ever-changing user demands and preferences. In fast-moving markets, vendors that employ Agile or DevOps methodologies are able to get the jump on slower-moving competitors.
The progression from waterfall to Agile to DevOps has been particularly aggressive and powerful in internet service markets like e-commerce, social media, and cloud. Remarkably, some leading internet and cloud companies successfully release multiple service enhancements each day.
A key success factor for Agile and DevOps is the use of the right tool sets, ranging from continuous integration systems to automated provisioning and configuration management systems, to systems for DevOps monitoring. Dynatrace, the market leader for DevOps monitoring tools, supports Agile and DevOps by integrating automated application performance monitoring at critical points throughout the application lifecycle: