Agile software development is a methodology that favors short measurable increments of work over planning and engineering for longer time horizons. Its aim is to fulfill the goals of adaptability, transparency, simplicity, and unity. In software development, this term has a more formal meaning in adhering to a specific process, but retains its colloquial definition. To be agile means to be able to change to market conditions faster and at less cost.
Agile development breaks functionality and work increments into time periods called "sprints." Sprints are commonly two weeks, but can be anywhere from 1 to 4 weeks. Short daily meetings, called scrums, keep team members in touch with each others progress and challenges. The end of each sprint produces some working set of functionality, which is demoed before starting the next sprint.