Agile development tools are tools that support the Agile methodology for developing software. Agile development is characterized by close collaboration between product managers and developers through an ongoing series of brief, iterative development cycles, each of which aims to create production-ready software. In contrast to the long-horizon, high-overhead "waterfall" development model, Agile development moves swiftly to deliver software features that users truly want.
In recent years the Agile approach – originally focused on the interaction between product managers and developers – has expanded to include operations staff. Agile DevOps, or simply DevOps, emphasizes collaboration between the development and operations teams in an effort to accelerate the software release cycle while maintaining or improving the quality and reliability of releases. Accordingly, today’s Agile development tools support the whole application delivery lifecycle from coding through to production support.
Organizations wanting to adopt the Agile approach should bear in mind that Agile development tools by themselves do not make an Agile software team. Changes in mindset, processes, and incentive structures may be required in order to integrate product management, development, and operations teams and get everyone oriented toward rapid, high-quality releases that keep pace with shifting market demands and opportunities.
But while not sufficient in and of themselves, Agile development tools are certainly a requirement for software shops looking to adopt the Agile or DevOps approach. One key area where agility is required is the ability to scale development assets up or down on demand, and thus Agile shops often utilize cloud-based tools and platforms such as Amazon EC2 for infrastructure or Github for source control. Automation – with the aim of increasing speed and predictability at various points in the application delivery lifecycle – is another critical tooling area, and thus we see Agile development tools like Jenkins, Bamboo, or Maven for continuous integration and build management; and Puppet, Chef, or Ansible for package deployment and configuration management.
Another key role for Agile or DevOps tools is application performance monitoring. In the area of DevOps monitoring tools, the most advanced and complete solution is the Dynatrace Digital Performance Platform.
The Dynatrace Digital Performance Platform provides an end-to-end DevOps monitoring solution for monitoring and managing application performance throughout the entire delivery lifecycle: