There are many specific agile development methods. Most promote development, teamwork, collaboration, and process adaptability throughout the life-cycle of the project.
Agile Project Management is a method of delivering projects in a highly flexible and interactive manner. It is a variant of the iterative lifecycle where deliverables are submitted in stages. The difference between Agile and iterative development is that the delivery time in Agile is in weeks rather than months. Agile Management derives from Agile software development method of management in the sense that it follows the same standards defined in the Agile Manifesto in regards to collaboration and documentation.
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
Agile Project Management values the items on the left more than the ones on the right.
Agile Manifesto; the 12 principles:
- Customer satisfaction by rapid, continuous delivery of useful software.
- Working software is delivered frequently (weeks rather than months).
- Working software is the principal measure of progress.
- Even late changes in requirements are welcomed.
- Close, daily cooperation between business people and developers
- Face-to-face conversation is the best form of communication (co-location)
- Projects are built around motivated individuals, who should be trusted.
- Continuous attention to technical excellence and good design.
- Self-organizing teams.
- Regular adaptation to changing circumstances.
Agile methods break tasks into small increments with minimal planning and do not directly involve long-term planning. Iterations are short time frames (timeboxes) that typically last from one to four weeks. Each iteration involves a team working through a full software development cycle including planning, requirements analysis, design, coding, unit testing, and acceptance testing.
Agile methods emphasize face-to-face communication (face-to-face communication prevents problems from being hidden) overwritten documents and agile teams work in a single open office, which facilitates such communication. Team size is typically small (5-9 people) to help make team communication and team collaboration easier. Larger development efforts may be delivered by multiple teams working toward a common goal.
- Well-known agile software development methods include:
- Agile Modeling(AM)
- Agile Unified Process (AUP)
- Dynamic Systems Development Method (DSDM)
- Essential Unified Process (EssUP)
- Extreme Programming (XP)
- Feature Driven Development (FDD)
- Open Unified Process (OpenUP)
Agile may be great for professionals who know their duties, responsibilities and role within the team. However, it may be not the best method for inexperienced, non-professional team members.
For further information, then your best resources are :