Agile is basically the way most development teams work these days - it is a way for teams to communicate, distribute work and manage workloads. Many of our tools and techniques come from this, for example, Application Lifecycle Management, Kanban boards and Scrum meetings.

Agile came about in 2001, with the Manifesto for Agile Software Development. What needs to be understood is that Agile came about in the contexts of other methods that arose during the 1990s and were inflexible to the way developers actually work.
The point of Agile is to not get bogged down into the minutae of a process. It also recognises that conditions and requirements often change during the development lifecycle.

Agile was proposed as a more flexible and adaptive method, which emphasises people and communication above processes, adaptiveness above fixed plans, and working software above heavy documentation. It is also designed for project teams to continually assess and adapt to changes.

User Stories

A term commonly encountered, a 'user story' represents a feature to be implemented in a software product. Setting out the user stories of a software product is a method of breaking down the development into increments (AGILE ALLIANCE, 2015). In some ways user stories are essential to developing a product that meets the initial requirements. Individually they're also useful as work items, for tracking the tasks that need to be done.

User stories are typically composed in the following format:
As a (user)
I need/want/expect to (perform action)
So that (goal or result)
(HM Government, 2016)

User stories can be recorded, organised and tracked with a 'Kanban board', which has at least three columns: 1) backlog tasks, 2) tasks in progress and 3) completed tasks. Solutions incorporating this type of board include Team Services and Trello.

Incremental and Iterative Development

If the work is organised as user stories, the intended features should already be prioritised and the development team should have a working software project at an early stage. By using the incremental development method, the development team is thereafter always building on that working product. Each successive 'increment' is an improved version of the working product.
This follows through the maintenance stage of the application lifecycle, as feature requests are treated the same way.

Iterative development involves continual user interaction and feedback, and usually testing is performed during each iteration.

Scrum

A good introduction to the Agile methodology, this is a way for those involved in development (not necessarily just the developers) to communicate progress, changes in the plan and next steps.

Officially there are only three defined roles in Scrum: Product Owner, Team and Scrum Master.

The most common type of Scrum meetings encountered are the 15-minute standup, the Sprint Planning and Sprint Review. Often they involve developers, senior developers and test analysts.

References

AGILE ALLIANCE. 2015. Agile 101. [WWW]. https://www.agilealliance.org/agile101/. March 2017.

AGILE ALLIANCE. 2015. Glossary: User Stories. [WWW]. https://www.agilealliance.org/glossary/user-stories/. March 2015.

HM GOVERNMENT. 2016. GOV.UK Service Manual. Agile delivery: Writing user stories. [WWW]. https://www.gov.uk/service-manual/agile-delivery/writing-user-stories. 3rd April 2017.

RADIGAN, D. 2017. Atlassian. Kanban: The Kanban Methodology. [WWW]. https://www.atlassian.com/agile/kanban,/a>. 3rd March 2017.