Agile project management is an incremental and iterative project management methodology. Its main characteristic is that the end product's features and project lifecycle are not clearly defined at the beginning. Instead of that, the work is carried out through a few iterative phases called "sprints". Each sprint is composed of many tasks and has a small part of the end product as its output. Agile project management allows project managers to constantly gather feedback and refine the requirements between two iterations.
When using this methodology, project responsibilities are divided among three roles:
- The Product Owner - handles setting project goals, handling the tradeoff of schedule versus scope, adapting to changing project requirements and setting priorities for product features.
- Scrum Master - guides the team to prioritize their tasks and removes impediments to handling their tasks.
- Team Members - directly handle most of the task assignment, daily detail management, progress reporting and quality control for the product.
Agile methodology is very flexible and allows easy scope changes, which is best for service-oriented projects such as software development and graphic design. However, this methodology is not good for projects with strictly defined requirements and scope.