At its core, Agile Development includes software development methodologies that use this flexible concept. These include:
- Feature-Driven Development (FDD)
- Extreme Programming (XP)
- Dynamic Systems Development Method (DSDM)
- Lean Development
What these practices all have in common is that they focus on short feedback cycles, small batches, continuous value delivery, error proofing, continuous learning, and system-wide optimization.
Constant revision is key to the Agile process
Rather than the traditional (or “old school”) methods of managing a project, where what was done could not be undone, as it was discovered too late in the project, Agile takes a constant look at the scope and obstacles a software implementation has and bends to accommodate it in a reasonable manner. Planning, testing and integration throughout the project are key.
The Team’s Role
Rather than the old school method where the project manager took the helm, ran the meetings and barked out orders, Agile allows teams to collaborate. Decisions are made as a group to ensure transparency and open communication.
Past, Present and Future
Agile has been slow to be implemented in software system development worldwide, although certain components have been utilized for some time. As more businesses see the dollars and time wasted in using a more rigid project management approach, more are turning to Agile methodologies and practices as a way to stay current, circumvent pitfalls and keep projects on time and under budget.