Agile software development is an umbrella term for a set of methods and practices used in software development. These methods and practices are based on the values and principles defined in the Agile Manifesto. The Agile Manifesto was created to have a better approach to software development, and it includes four values and twelve principles.
The main idea of agile development is developing software incrementally with continuous delivery. This means that a product is not built in one go and each piece of software goes through a development cycle. Multiple times, if needed. This way possible flaws can be detected in an early stage and the development can be adjusted accordingly.
The agile approach presumes self-organising cross-functional teams who find solutions through collaboration. This means that the teams have free rein in finding a solution but they need to include members with appropriate skill sets to be able to implement that solution. However, they still need to have a manager, a product owner, who is responsible for delivering the business needs of the product to the team.
Find out more about the Agile Manifesto and its values and principles from here.