Traditionally, development used the 'waterfall' project management style. First they would start with the scope, then do the design, and then build it. But this left little flexibility in projects which almost always needed frequent alterations.
Agile project management is an alternative. It allows development to be done within a feedback loop.
At the beginning of the project we define the project's tasks, then we estimate the size of each task. Tasks are then grouped and completed over periods of 1/2 weeks. After a group has been completed the team recalibrates, makes changes to the plan and starts work on the next group of tasks, allowing a chance to change direction when needed.
Not only does it provide flexibility, but estimating time can become more accurate. Using BurnDown charts we can predit the length of a project, park tasks if a deadline will be missed or add tasks if we're moving faster than expected.